xfe-1.44/0000755000200300020030000000000014023353055007205 500000000000000xfe-1.44/xfi.10000644000200300020030000000131713501733230007774 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.44/intl/0000755000200300020030000000000014023353055010153 500000000000000xfe-1.44/intl/bindtextdom.c0000644000200300020030000002611013501733230012555 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.44/intl/config.charset0000755000200300020030000004702613501733230012724 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.44/intl/vasnprintf.h0000644000200300020030000000557513501733230012447 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.44/intl/localcharset.c0000644000200300020030000003427513501733230012713 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.44/intl/Makefile.in0000644000200300020030000004553113501733230012145 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.44/intl/os2compat.h0000644000200300020030000000302613501733230012151 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.44/intl/dgettext.c0000644000200300020030000000337313501733230012072 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.44/intl/log.c0000644000200300020030000000667013501733230011026 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.44/intl/loadmsgcat.c0000644000200300020030000012550713501733230012364 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.44/intl/dcngettext.c0000644000200300020030000000351413501733230012410 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.44/intl/xsize.h0000644000200300020030000000674413501733230011416 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.44/intl/gmo.h0000644000200300020030000001150513501733230011025 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.44/intl/printf-args.c0000644000200300020030000001165713501733230012502 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.44/intl/relocatable.h0000644000200300020030000000561513501733230012525 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.44/intl/plural-exp.c0000644000200300020030000001044113501733230012325 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.44/intl/dcigettext.c0000644000200300020030000014726013501733230012412 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.44/intl/loadinfo.h0000644000200300020030000001232713501733230012041 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.44/intl/relocatable.c0000644000200300020030000003670713501733230012526 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.44/intl/hash-string.c0000644000200300020030000000323513501733230012466 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.44/intl/localcharset.h0000644000200300020030000000261313501733230012707 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.44/intl/intl-exports.c0000644000200300020030000000273013501733230012706 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.44/intl/intl-compat.c0000644000200300020030000000667313501733230012477 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.44/intl/libgnuintl.h.in0000644000200300020030000003412713501733230013024 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.44/intl/VERSION0000644000200300020030000000005013501733230011133 00000000000000GNU gettext library from gettext-0.16.1 xfe-1.44/intl/printf.c0000644000200300020030000002342413501733230011543 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.44/intl/export.h0000644000200300020030000000023513501733230011562 00000000000000 #if @HAVE_VISIBILITY@ && BUILDING_LIBINTL #define LIBINTL_DLL_EXPORTED __attribute__((__visibility__("default"))) #else #define LIBINTL_DLL_EXPORTED #endif xfe-1.44/intl/vasnprintf.c0000644000200300020030000010310513501733230012426 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.44/intl/plural.c0000644000200300020030000014755013501736404011555 00000000000000/* A Bison parser, made by GNU Bison 3.0.4. */ /* Bison implementation for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2015 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 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, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* 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. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "3.0.4" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 1 /* Push parsers. */ #define YYPUSH 0 /* Pull parsers. */ #define YYPULL 1 /* Substitute the variable and function names. */ #define yyparse __gettextparse #define yylex __gettextlex #define yyerror __gettexterror #define yydebug __gettextdebug #define yynerrs __gettextnerrs /* Copy the first part of user declarations. */ #line 1 "plural.y" /* yacc.c:339 */ /* 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 120 "plural.c" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus # define YY_NULLPTR nullptr # else # define YY_NULLPTR 0 # endif # endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 0 #endif /* In a future release of Bison, this section will be replaced by #include "plural.h". */ #ifndef YY__GETTEXT_PLURAL_H_INCLUDED # define YY__GETTEXT_PLURAL_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif #if YYDEBUG extern int __gettextdebug; #endif /* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { EQUOP2 = 258, CMPOP2 = 259, ADDOP2 = 260, MULOP2 = 261, NUMBER = 262 }; #endif /* Tokens. */ #define EQUOP2 258 #define CMPOP2 259 #define ADDOP2 260 #define MULOP2 261 #define NUMBER 262 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { #line 51 "plural.y" /* yacc.c:355 */ unsigned long int num; enum operator op; struct expression *exp; #line 180 "plural.c" /* yacc.c:355 */ }; typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif int __gettextparse (void); #endif /* !YY__GETTEXT_PLURAL_H_INCLUDED */ /* Copy the second part of user declarations. */ #line 57 "plural.y" /* yacc.c:358 */ /* 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); } #line 270 "plural.c" /* yacc.c:358 */ #ifdef short # undef short #endif #ifdef YYTYPE_UINT8 typedef YYTYPE_UINT8 yytype_uint8; #else typedef unsigned char yytype_uint8; #endif #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; #else typedef signed char yytype_int8; #endif #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else typedef unsigned short int yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif ! defined YYSIZE_T # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned int # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(Msgid) dgettext ("bison-runtime", Msgid) # endif # endif # ifndef YY_ # define YY_(Msgid) Msgid # endif #endif #ifndef YY_ATTRIBUTE # if (defined __GNUC__ \ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C # define YY_ATTRIBUTE(Spec) __attribute__(Spec) # else # define YY_ATTRIBUTE(Spec) /* empty */ # endif #endif #ifndef YY_ATTRIBUTE_PURE # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) #endif #ifndef YY_ATTRIBUTE_UNUSED # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) #endif #if !defined _Noreturn \ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) # if defined _MSC_VER && 1200 <= _MSC_VER # define _Noreturn __declspec (noreturn) # else # define _Noreturn YY_ATTRIBUTE ((__noreturn__)) # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) #else # define YYUSE(E) /* empty */ #endif #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ _Pragma ("GCC diagnostic pop") #else # define YY_INITIAL_VALUE(Value) Value #endif #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN # define YY_IGNORE_MAYBE_UNINITIALIZED_END #endif #ifndef YY_INITIAL_VALUE # define YY_INITIAL_VALUE(Value) /* Nothing. */ #endif #if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's 'empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss_alloc; YYSTYPE yyvs_alloc; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) # define YYCOPY_NEEDED 1 /* 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_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) #endif #if defined YYCOPY_NEEDED && YYCOPY_NEEDED /* Copy COUNT objects from SRC to DST. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(Dst, Src, Count) \ __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) # else # define YYCOPY(Dst, Src, Count) \ do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (Dst)[yyi] = (Src)[yyi]; \ } \ while (0) # endif # endif #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 9 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 54 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 16 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 3 /* YYNRULES -- Number of rules. */ #define YYNRULES 13 /* YYNSTATES -- Number of states. */ #define YYNSTATES 27 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 262 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM as returned by yylex, without out-of-bounds checking. */ static const yytype_uint8 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, 2, 6, 7, 8, 9, 11 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint8 yyrline[] = { 0, 152, 152, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196, 201 }; #endif #if YYDEBUG || YYERROR_VERBOSE || 0 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "'?'", "'|'", "'&'", "EQUOP2", "CMPOP2", "ADDOP2", "MULOP2", "'!'", "NUMBER", "':'", "'n'", "'('", "')'", "$accept", "start", "exp", YY_NULLPTR }; #endif # ifdef YYPRINT /* YYTOKNUM[NUM] -- (External) token number corresponding to the (internal) symbol number NUM (which must be that of a token). */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 63, 124, 38, 258, 259, 260, 261, 33, 262, 58, 110, 40, 41 }; # endif #define YYPACT_NINF -10 #define yypact_value_is_default(Yystate) \ (!!((Yystate) == (-10))) #define YYTABLE_NINF -1 #define yytable_value_is_error(Yytable_value) \ 0 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int8 yypact[] = { -9, -9, -10, -10, -9, 8, 36, -10, 13, -10, -9, -9, -9, -9, -9, -9, -9, -10, 26, 41, 45, 18, -2, 14, -10, -9, 36 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. Performed when YYTABLE does not specify something else to do. Zero means the default is an error. */ static const yytype_uint8 yydefact[] = { 0, 0, 12, 11, 0, 0, 2, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 13, 0, 4, 5, 6, 7, 8, 9, 0, 3 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { -10, -10, -1 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { -1, 5, 6 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule whose number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_uint8 yytable[] = { 7, 1, 2, 8, 3, 4, 15, 16, 9, 18, 19, 20, 21, 22, 23, 24, 10, 11, 12, 13, 14, 15, 16, 16, 26, 14, 15, 16, 17, 10, 11, 12, 13, 14, 15, 16, 0, 0, 25, 10, 11, 12, 13, 14, 15, 16, 12, 13, 14, 15, 16, 13, 14, 15, 16 }; static const yytype_int8 yycheck[] = { 1, 10, 11, 4, 13, 14, 8, 9, 0, 10, 11, 12, 13, 14, 15, 16, 3, 4, 5, 6, 7, 8, 9, 9, 25, 7, 8, 9, 15, 3, 4, 5, 6, 7, 8, 9, -1, -1, 12, 3, 4, 5, 6, 7, 8, 9, 5, 6, 7, 8, 9, 6, 7, 8, 9 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { 0, 10, 11, 13, 14, 17, 18, 18, 18, 0, 3, 4, 5, 6, 7, 8, 9, 15, 18, 18, 18, 18, 18, 18, 18, 12, 18 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { 0, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 5, 3, 3, 3, 3, 3, 3, 2, 1, 1, 3 }; #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 yyerrorlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY) \ { \ yychar = (Token); \ yylval = (Value); \ YYPOPSTACK (yylen); \ yystate = *yyssp; \ goto yybackup; \ } \ else \ { \ yyerror (YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (0) /* Error token number */ #define YYTERROR 1 #define YYERRCODE 256 /* 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) /* This macro is provided for backward compatibility. */ #ifndef YY_LOCATION_PRINT # define YY_LOCATION_PRINT(File, Loc) ((void) 0) #endif # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) /*----------------------------------------. | Print this symbol's value on YYOUTPUT. | `----------------------------------------*/ static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) { FILE *yyo = yyoutput; YYUSE (yyo); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # endif YYUSE (yytype); } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) { YYFPRINTF (yyoutput, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep); YYFPRINTF (yyoutput, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) { int yybot = *yybottom; YYFPRINTF (stderr, " %d", yybot); } YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ static void yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) { unsigned long int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yystos[yyssp[yyi + 1 - yynrhs]], &(yyvsp[(yyi + 1) - (yynrhs)]) ); YYFPRINTF (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyssp, yyvsp, Rule); \ } while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #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 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ static YYSIZE_T yystrlen (const char *yystr) { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; } # 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 * yystpcpy (char *yydest, const char *yysrc) { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message about the unexpected token YYTOKEN for the state stack whose top is YYSSP. Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is not large enough to hold the message. In that case, also set *YYMSG_ALLOC to the required number of bytes. Return 2 if the required number of bytes is too large to store. */ static int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken) { YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); YYSIZE_T yysize = yysize0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ const char *yyformat = YY_NULLPTR; /* Arguments of yyformat. */ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per "expected"). */ int yycount = 0; /* There are many possibilities here to consider: - If this state is a consistent state with a default action, then the only way this function was invoked is if the default action is an error action. In that case, don't check for expected tokens because there are none. - The only way there can be no lookahead present (in yychar) is if this state is a consistent state with a default action. Thus, detecting the absence of a lookahead is sufficient to determine that there is no unexpected or expected token to report. In that case, just report a simple "syntax error". - Don't assume there isn't a lookahead just because this state is a consistent state with a default action. There might have been a previous inconsistent state, consistent state with a non-default action, or user semantic action that manipulated yychar. - Of course, the expected token list depends on states to have correct lookahead information, and it depends on the parser not to perform extra reductions after fetching a lookahead from the scanner and before detecting a syntax error. Thus, state merging (from LALR or IELR) and default reductions corrupt the expected token list. However, the list is correct for canonical LR with one exception: it will still contain any token that will not be accepted due to an error action in a later state. */ if (yytoken != YYEMPTY) { int yyn = yypact[*yyssp]; yyarg[yycount++] = yytname[yytoken]; if (!yypact_value_is_default (yyn)) { /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. In other words, skip the first -YYN actions for this state because they are default actions. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yyx; for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR && !yytable_value_is_error (yytable[yyx + yyn])) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; break; } yyarg[yycount++] = yytname[yyx]; { YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; yysize = yysize1; } } } } switch (yycount) { # define YYCASE_(N, S) \ case N: \ yyformat = S; \ break YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); # undef YYCASE_ } { YYSIZE_T yysize1 = yysize + yystrlen (yyformat); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; yysize = yysize1; } if (*yymsg_alloc < yysize) { *yymsg_alloc = 2 * yysize; if (! (yysize <= *yymsg_alloc && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; return 1; } /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ { char *yyp = *yymsg; int yyi = 0; while ((*yyp = *yyformat) != '\0') if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyformat += 2; } else { yyp++; yyformat++; } } return 0; } #endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) { YYUSE (yyvaluep); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YYUSE (yytype); YY_IGNORE_MAYBE_UNINITIALIZED_END } /*----------. | yyparse. | `----------*/ int yyparse (void) { /* The lookahead symbol. */ int yychar; /* The semantic value of the lookahead symbol. */ /* Default value used for initialization, for pacifying older GCCs or non-GCC compilers. */ YY_INITIAL_VALUE (static YYSTYPE yyval_default;) YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); /* Number of syntax errors so far. */ int yynerrs; int yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* The stacks and their tools: 'yyss': related to states. 'yyvs': related to semantic values. Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ yytype_int16 yyssa[YYINITDEPTH]; yytype_int16 *yyss; yytype_int16 *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs; YYSTYPE *yyvsp; YYSIZE_T yystacksize; int yyn; int yyresult; /* Lookahead token as an internal (translated) token number. */ int yytoken = 0; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; #if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; yyssp = yyss = yyssa; yyvsp = yyvs = yyvsa; yystacksize = YYINITDEPTH; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ 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 (yyss + yystacksize - 1 <= yyssp) { /* 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; yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); if (yystate == YYFINAL) YYACCEPT; 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. */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yypact_value_is_default (yyn)) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = yylex (&yylval); } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yytable_value_is_error (yyn)) goto yyerrlab; yyn = -yyn; goto yyreduce; } /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token. */ yychar = YYEMPTY; yystate = yyn; YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END 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 garbage. 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]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 2: #line 153 "plural.y" /* yacc.c:1646 */ { if ((yyvsp[0].exp) == NULL) YYABORT; ((struct parse_args *) arg)->res = (yyvsp[0].exp); } #line 1365 "plural.c" /* yacc.c:1646 */ break; case 3: #line 161 "plural.y" /* yacc.c:1646 */ { (yyval.exp) = new_exp_3 (qmop, (yyvsp[-4].exp), (yyvsp[-2].exp), (yyvsp[0].exp)); } #line 1373 "plural.c" /* yacc.c:1646 */ break; case 4: #line 165 "plural.y" /* yacc.c:1646 */ { (yyval.exp) = new_exp_2 (lor, (yyvsp[-2].exp), (yyvsp[0].exp)); } #line 1381 "plural.c" /* yacc.c:1646 */ break; case 5: #line 169 "plural.y" /* yacc.c:1646 */ { (yyval.exp) = new_exp_2 (land, (yyvsp[-2].exp), (yyvsp[0].exp)); } #line 1389 "plural.c" /* yacc.c:1646 */ break; case 6: #line 173 "plural.y" /* yacc.c:1646 */ { (yyval.exp) = new_exp_2 ((yyvsp[-1].op), (yyvsp[-2].exp), (yyvsp[0].exp)); } #line 1397 "plural.c" /* yacc.c:1646 */ break; case 7: #line 177 "plural.y" /* yacc.c:1646 */ { (yyval.exp) = new_exp_2 ((yyvsp[-1].op), (yyvsp[-2].exp), (yyvsp[0].exp)); } #line 1405 "plural.c" /* yacc.c:1646 */ break; case 8: #line 181 "plural.y" /* yacc.c:1646 */ { (yyval.exp) = new_exp_2 ((yyvsp[-1].op), (yyvsp[-2].exp), (yyvsp[0].exp)); } #line 1413 "plural.c" /* yacc.c:1646 */ break; case 9: #line 185 "plural.y" /* yacc.c:1646 */ { (yyval.exp) = new_exp_2 ((yyvsp[-1].op), (yyvsp[-2].exp), (yyvsp[0].exp)); } #line 1421 "plural.c" /* yacc.c:1646 */ break; case 10: #line 189 "plural.y" /* yacc.c:1646 */ { (yyval.exp) = new_exp_1 (lnot, (yyvsp[0].exp)); } #line 1429 "plural.c" /* yacc.c:1646 */ break; case 11: #line 193 "plural.y" /* yacc.c:1646 */ { (yyval.exp) = new_exp_0 (var); } #line 1437 "plural.c" /* yacc.c:1646 */ break; case 12: #line 197 "plural.y" /* yacc.c:1646 */ { if (((yyval.exp) = new_exp_0 (num)) != NULL) (yyval.exp)->val.num = (yyvsp[0].num); } #line 1446 "plural.c" /* yacc.c:1646 */ break; case 13: #line 202 "plural.y" /* yacc.c:1646 */ { (yyval.exp) = (yyvsp[-1].exp); } #line 1454 "plural.c" /* yacc.c:1646 */ break; #line 1458 "plural.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires that yytoken be updated with the new translation. We take the approach of translating immediately before every use of yytoken. One alternative is translating here after every semantic action, but that translation would be missed if the semantic action invokes YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an incorrect destructor might then be invoked immediately. In the case of YYERROR or YYBACKUP, subsequent parser actions might lead to an incorrect destructor call or verbose syntax error message before the lookahead is translated. */ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* 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 - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*--------------------------------------. | yyerrlab -- here on detecting error. | `--------------------------------------*/ yyerrlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if ! YYERROR_VERBOSE yyerror (YY_("syntax error")); #else # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ yyssp, yytoken) { char const *yymsgp = YY_("syntax error"); int yysyntax_error_status; yysyntax_error_status = YYSYNTAX_ERROR; if (yysyntax_error_status == 0) yymsgp = yymsg; else if (yysyntax_error_status == 1) { if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); if (!yymsg) { yymsg = yymsgbuf; yymsg_alloc = sizeof yymsgbuf; yysyntax_error_status = 2; } else { yysyntax_error_status = YYSYNTAX_ERROR; yymsgp = yymsg; } } yyerror (yymsgp); if (yysyntax_error_status == 2) goto yyexhaustedlab; } # undef YYSYNTAX_ERROR #endif } if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval); yychar = YYEMPTY; } } /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) goto yyerrorlab; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (!yypact_value_is_default (yyn)) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[yystate], yyvsp); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEMPTY) { /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ yytoken = YYTRANSLATE (yychar); yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval); } /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif return yyresult; } #line 207 "plural.y" /* yacc.c:1906 */ 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.44/intl/textdomain.c0000644000200300020030000001101713501733230012410 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.44/intl/ngettext.c0000644000200300020030000000367613501733230012112 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.44/intl/explodename.c0000644000200300020030000000724313501733230012543 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.44/intl/dcgettext.c0000644000200300020030000000342313501733230012231 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.44/intl/ref-add.sin0000644000200300020030000000210513501733230012103 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.44/intl/version.c0000644000200300020030000000173113501733230011723 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.44/intl/l10nflist.c0000644000200300020030000003014013501733230012046 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.44/intl/finddomain.c0000644000200300020030000001452613501733230012354 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.44/intl/printf-args.h0000644000200300020030000000576613501733230012513 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.44/intl/localealias.c0000644000200300020030000003023613501733230012511 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.44/intl/gettext.c0000644000200300020030000000355613501733230011731 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.44/intl/hash-string.h0000644000200300020030000000256613501733230012501 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.44/intl/eval-plural.h0000644000200300020030000000627413501733230012476 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.44/intl/vasnwprintf.h0000644000200300020030000000335213501733230012625 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.44/intl/osdep.c0000644000200300020030000000174113501733230011351 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.44/intl/dngettext.c0000644000200300020030000000355713501733230012254 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.44/intl/printf-parse.h0000644000200300020030000000425113501733230012655 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.44/intl/gettextP.h0000644000200300020030000001773613501733230012063 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.44/intl/langprefs.c0000644000200300020030000001164413501733230012223 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.44/intl/ref-del.sin0000644000200300020030000000203013501733230012114 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.44/intl/localename.c0000644000200300020030000014263213501733230012344 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.44/intl/locale.alias0000644000200300020030000000512613501733230012346 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.44/intl/lock.h0000644000200300020030000007567113501733230011211 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.44/intl/lock.c0000644000200300020030000006077013501733230011176 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.44/intl/ChangeLog0000644000200300020030000000011113501733230011633 000000000000002006-11-27 GNU * Version 0.16.1 released. xfe-1.44/intl/plural.y0000644000200300020030000001646113501733230011571 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.44/intl/wprintf-parse.h0000644000200300020030000000432113501733230013042 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.44/intl/os2compat.c0000644000200300020030000000563413501733230012153 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.44/intl/printf-parse.c0000644000200300020030000004521313501733230012653 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.44/intl/plural-exp.h0000644000200300020030000001027113501733230012333 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.44/config.h.in0000644000200300020030000004176013655734757011206 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.44/AUTHORS0000644000200300020030000000033513501733230010173 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.44/Makefile.in0000644000200300020030000010635213655740037011213 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 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 distdir-am 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@ FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ FREETYPE_LIBS = @FREETYPE_LIBS@ 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@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ 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@ XFT_CFLAGS = @XFT_CFLAGS@ XFT_LIBS = @XFT_LIBS@ 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@ 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@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ 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@ x11_xcb_CFLAGS = @x11_xcb_CFLAGS@ x11_xcb_LIBS = @x11_xcb_LIBS@ xcb_CFLAGS = @xcb_CFLAGS@ xcb_LIBS = @xcb_LIBS@ xcb_aux_CFLAGS = @xcb_aux_CFLAGS@ xcb_aux_LIBS = @xcb_aux_LIBS@ xcb_event_CFLAGS = @xcb_event_CFLAGS@ xcb_event_LIBS = @xcb_event_LIBS@ 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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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) | eval GZIP= gzip $(GZIP_ENV) -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) | eval GZIP= gzip $(GZIP_ENV) -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*) \ eval GZIP= gzip $(GZIP_ENV) -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*) \ eval GZIP= gzip $(GZIP_ENV) -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.44/compile0000755000200300020030000001624513501733230010510 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.44/xfp.svg0000644000200300020030000007214313501733230010447 00000000000000 image/svg+xml XFP xfe-1.44/xfe.spec0000644000200300020030000000550514023353045010567 00000000000000Name: xfe Version: 1.44 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.44/xfp.10000644000200300020030000000126413501733230010004 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) xfe-1.44/README0000644000200300020030000004473213654505367010035 00000000000000 XFE, X File Explorer File Manager Copyright (C) 2002-2020 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 - HiDPI monitor 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. HiDPI support =-=-=-=-=-=-= Starting with version 1.44, Xfe supports HiDPI monitors. All users have to do is to manually adjust the screen resolution using the Edit / Preferences / Appearance / DPI option. A value of 200 - 240 dpi should be fine for Ultra HD (4K) monitors. 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 24 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: 6/05//2020] xfe-1.44/st/0000755000200300020030000000000014023353055007633 500000000000000xfe-1.44/st/win.h0000644000200300020030000000200713501733230010515 00000000000000/* See license terms in x.c */ enum win_mode { MODE_VISIBLE = 1 << 0, MODE_FOCUSED = 1 << 1, MODE_APPKEYPAD = 1 << 2, MODE_MOUSEBTN = 1 << 3, MODE_MOUSEMOTION = 1 << 4, MODE_REVERSE = 1 << 5, MODE_KBDLOCK = 1 << 6, MODE_HIDE = 1 << 7, MODE_APPCURSOR = 1 << 8, MODE_MOUSESGR = 1 << 9, MODE_8BIT = 1 << 10, MODE_BLINK = 1 << 11, MODE_FBLINK = 1 << 12, MODE_FOCUS = 1 << 13, MODE_MOUSEX10 = 1 << 14, MODE_MOUSEMANY = 1 << 15, MODE_BRCKTPASTE = 1 << 16, MODE_NUMLOCK = 1 << 17, MODE_MOUSE = MODE_MOUSEBTN|MODE_MOUSEMOTION|MODE_MOUSEX10\ |MODE_MOUSEMANY, }; void xbell(void); void xclipcopy(void); void xdrawcursor(int, int, Glyph, int, int, Glyph); void xdrawline(Line, int, int, int); void xfinishdraw(void); void xloadcols(void); int xsetcolorname(int, const char *); void xsettitle(char *); int xsetcursor(int); void xsetmode(int, unsigned int); void xsetpointermotion(int); void xsetsel(char *); int xstartdraw(void); xfe-1.44/st/x.h0000644000200300020030000000024313501733230010167 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.44/st/arg.h0000644000200300020030000000202413501733230010470 00000000000000/* See license terms in x.c */ #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][0] == '-'\ && argv[0][1];\ argc--, argv++) {\ char argc_;\ char **argv_;\ int brk_;\ if (argv[0][1] == '-' && argv[0][2] == '\0') {\ argv++;\ argc--;\ break;\ }\ int i_;\ for (i_ = 1, brk_ = 0, argv_ = argv;\ argv[0][i_] && !brk_;\ i_++) {\ if (argv_ != argv)\ break;\ argc_ = argv[0][i_];\ switch (argc_) #define ARGEND }\ } #define ARGC() argc_ #define EARGF() ((argv[0][i_+1] == '\0' && argv[1] == NULL)?\ ((exit(EXIT_FAILURE)), abort(), (char *)0) :\ (brk_ = 1, (argv[0][i_+1] != '\0')?\ (&argv[0][i_+1]) :\ (argc--, argv++, argv[0]))) #define ARGF() ((argv[0][i_+1] == '\0' && argv[1] == NULL)?\ (char *)0 :\ (brk_ = 1, (argv[0][i_+1] != '\0')?\ (&argv[0][i_+1]) :\ (argc--, argv++, argv[0]))) #endif xfe-1.44/st/st.h0000644000200300020030000000535713501733230010361 00000000000000/* See license terms in x.c */ #include #include /* 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 BETWEEN(x, a, b) ((a) <= (x) && (x) <= (b)) #define DIVCEIL(n, d) (((n) + ((d) - 1)) / (d)) #define DEFAULT(a, b) (a) = (a) ? (a) : (b) #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 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)) 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 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; #define Glyph Glyph_ typedef struct { Rune u; /* character code */ ushort mode; /* attribute flags */ uint32_t fg; /* foreground */ uint32_t bg; /* background */ } Glyph; typedef Glyph *Line; typedef union { int i; uint ui; float f; const void *v; } Arg; void die(const char *, ...); void redraw(void); void draw(void); void printscreen(const Arg *); void printsel(const Arg *); void sendbreak(const Arg *); void toggleprinter(const Arg *); int tattrset(int); void tnew(int, int); void tresize(int, int); void tsetdirtattr(int); void ttyhangup(void); int ttynew(char *, char *, char *, char **); size_t ttyread(void); void ttyresize(int, int); void ttywrite(const char *, size_t, int); void resettitle(void); void selclear(void); void selinit(void); void selstart(int, int, int); void selextend(int, int, int, int); int selected(int, int); char *getsel(void); size_t utf8encode(Rune, char *); void *xmalloc(size_t); void *xrealloc(void *, size_t); char *xstrdup(char *); /* config.h globals */ extern char *utmp; extern char *stty_args; extern char *vtiden; extern char *worddelimiters; extern int allowaltscreen; extern char *termname; extern unsigned int tabspaces; extern unsigned int defaultfg; extern unsigned int defaultbg; xfe-1.44/st/x.c0000644000200300020030000013400113501733230010162 00000000000000/* MIT/X Consortium License © 2014-2018 Hiltjo Posthuma © 2018 Devin J. Pohly © 2014-2017 Quentin Rameau © 2009-2012 Aurélien APTEL © 2008-2017 Anselm R Garbe © 2012-2017 Roberto E. Vargas Caballero © 2012-2016 Christoph Lohmann <20h at r-36 dot net> © 2013 Eon S. Jeon © 2013 Alexander Sedov © 2013 Mark Edgar © 2013-2014 Eric Pruitt © 2013 Michael Forney © 2013-2014 Markus Teich © 2014-2015 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 * - upgraded to st 0.8.2 * - added the _XOPEN_SOURCE directive to remove a compilation warning * - 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 x.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 * - removed unused selclean() function * - changed terminal name to "Xfe" */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static char *argv0; #include "arg.h" #include "st.h" #include "win.h" /* types used in config.h */ typedef struct { uint mod; KeySym keysym; void (*func)(const Arg *); const Arg arg; } Shortcut; typedef struct { uint b; uint mask; char *s; } MouseShortcut; 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 */ } Key; /* X modifiers */ #define XK_ANY_MOD UINT_MAX #define XK_NO_MOD 0 #define XK_SWITCH_MOD (1<<13) /* 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 zoom(const Arg *); static void zoomabs(const Arg *); static void zoomreset(const Arg *); /* config.h for applying patches and the configuration. */ #include "config.h" /* XEMBED messages */ #define XEMBED_FOCUS_IN 4 #define XEMBED_FOCUS_OUT 5 /* macros */ #define IS_SET(flag) ((win.mode & (flag)) != 0) #define TRUERED(x) (((x) & 0xff0000) >> 8) #define TRUEGREEN(x) (((x) & 0xff00)) #define TRUEBLUE(x) (((x) & 0xff) << 8) typedef XftDraw *Draw; typedef XftColor Color; typedef XftGlyphFontSpec GlyphFontSpec; /* Purely graphic info */ typedef struct { int tw, th; /* tty width and height */ int w, h; /* window width and height */ int ch; /* char height */ int cw; /* char width */ int mode; /* window state/mode flags */ int cursor; /* cursor style */ } TermWindow; typedef struct { Display *dpy; Colormap cmap; Window win; Drawable buf; GlyphFontSpec *specbuf; /* font spec buffer used for rendering */ Atom xembed, wmdeletewin, netwmname, netwmpid; XIM xim; XIC xic; Draw draw; Visual *vis; XSetWindowAttributes attrs; int scr; int isfixed; /* is fixed geometry? */ int l, t; /* left and top offset */ int gm; /* geometry mask */ } XWindow; typedef struct { Atom xtarget; char *primary, *clipboard; struct timespec tclick1; struct timespec tclick2; } XSelection; /* Font structure */ #define Font Font_ typedef struct { int height; int width; int ascent; int descent; int badslant; int badweight; short lbearing; short rbearing; XftFont *match; FcFontSet *set; FcPattern *pattern; } Font; /* Drawing Context */ typedef struct { Color *col; size_t collen; Font font, bfont, ifont, ibfont; GC gc; } DC; 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 xclear(int, int, int, int); static int xgeommasktogravity(int); static void xinit(int, int); static void cresize(int, int); static void xresize(int, int); static void xhints(void); static int xloadcolor(int, const char *, Color *); static void getdpi(int *, int *); static int xloadfont(Font *, FcPattern *); static void xloadfonts(char *, double); static void xunloadfont(Font *); static void xunloadfonts(void); static void xsetenv(void); static void xseturgency(int); static int evcol(XEvent *); static int evrow(XEvent *); static void expose(XEvent *); static void visibility(XEvent *); static void unmap(XEvent *); static void kpress(XEvent *); static void cmessage(XEvent *); static void resize(XEvent *); static void focus(XEvent *); static void brelease(XEvent *); static void bpress(XEvent *); static void bmotion(XEvent *); static void propnotify(XEvent *); static void selnotify(XEvent *); static void selrequest(XEvent *); static void setsel(char *, Time); static void mousesel(XEvent *, int); static void mousereport(XEvent *); static char *kmap(KeySym, uint); static int match(uint, uint); static void run(void); 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, /* * PropertyNotify is only turned on when there is some INCR transfer happening * for the selection retrieval. */ [PropertyNotify] = propnotify, [SelectionRequest] = selrequest, }; /* Globals */ static DC dc; static XWindow xw; static XSelection xsel; static TermWindow win; /* 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; static char *usedfont = NULL; static double usedfontsize = 0; static double defaultfontsize = 0; static char *opt_class = NULL; static char **opt_cmd = NULL; static char *opt_embed = NULL; static char *opt_font = NULL; static char *opt_io = NULL; static char *opt_line = NULL; static char *opt_name = NULL; static char *opt_title = NULL; static int oldbutton = 3; /* button event on startup: 3 = release */ void clipcopy(const Arg *dummy) { Atom clipboard; free(xsel.clipboard); xsel.clipboard = NULL; if (xsel.primary != NULL) { xsel.clipboard = xstrdup(xsel.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, xsel.xtarget, clipboard, xw.win, CurrentTime); } void selpaste(const Arg *dummy) { XConvertSelection(xw.dpy, XA_PRIMARY, xsel.xtarget, XA_PRIMARY, xw.win, CurrentTime); } void numlock(const Arg *dummy) { win.mode ^= MODE_NUMLOCK; } void zoom(const Arg *arg) { Arg larg; larg.f = usedfontsize + arg->f; zoomabs(&larg); } void zoomabs(const Arg *arg) { xunloadfonts(); xloadfonts(usedfont, arg->f); cresize(0, 0); redraw(); xhints(); } void zoomreset(const Arg *arg) { Arg larg; if (defaultfontsize > 0) { larg.f = defaultfontsize; zoomabs(&larg); } } int evcol(XEvent *e) { int x = e->xbutton.x - borderpx; LIMIT(x, 0, win.tw - 1); return x / win.cw; } int evrow(XEvent *e) { int y = e->xbutton.y - borderpx; LIMIT(y, 0, win.th - 1); return y / win.ch; } void mousesel(XEvent *e, int done) { int type, seltype = SEL_REGULAR; uint state = e->xbutton.state & ~(Button1Mask | forceselmod); for (type = 1; type < LEN(selmasks); ++type) { if (match(selmasks[type], state)) { seltype = type; break; } } selextend(evcol(e), evrow(e), seltype, done); if (done) setsel(getsel(), e->xbutton.time); } void mousereport(XEvent *e) { int len, x = evcol(e), y = evrow(e), button = e->xbutton.button, state = e->xbutton.state; 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, 0); } void bpress(XEvent *e) { struct timespec now; MouseShortcut *ms; int snap; if (IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) { mousereport(e); return; } for (ms = mshortcuts; ms < mshortcuts + LEN(mshortcuts); ms++) { if (e->xbutton.button == ms->b && match(ms->mask, e->xbutton.state)) { ttywrite(ms->s, strlen(ms->s), 1); return; } } if (e->xbutton.button == Button1) { /* * If the user clicks below predefined timeouts specific * snapping behaviour is exposed. */ clock_gettime(CLOCK_MONOTONIC, &now); if (TIMEDIFF(now, xsel.tclick2) <= tripleclicktimeout) { snap = SNAP_LINE; } else if (TIMEDIFF(now, xsel.tclick1) <= doubleclicktimeout) { snap = SNAP_WORD; } else { snap = 0; } xsel.tclick2 = xsel.tclick1; xsel.tclick1 = now; selstart(evcol(e), evrow(e), snap); } } void propnotify(XEvent *e) { XPropertyEvent *xpev; Atom clipboard = XInternAtom(xw.dpy, "CLIPBOARD", 0); xpev = &e->xproperty; if (xpev->state == PropertyNewValue && (xpev->atom == XA_PRIMARY || xpev->atom == clipboard)) { selnotify(e); } } void selnotify(XEvent *e) { ulong nitems, ofs, rem; int format; uchar *data, *last, *repl; Atom type, incratom, property = None; incratom = XInternAtom(xw.dpy, "INCR", 0); ofs = 0; if (e->type == SelectionNotify) property = e->xselection.property; else if (e->type == PropertyNotify) property = e->xproperty.atom; if (property == None) return; do { if (XGetWindowProperty(xw.dpy, xw.win, property, ofs, BUFSIZ/4, False, AnyPropertyType, &type, &format, &nitems, &rem, &data)) { fprintf(stderr, "Clipboard allocation failed\n"); return; } if (e->type == PropertyNotify && nitems == 0 && rem == 0) { /* * If there is some PropertyNotify with no data, then * this is the signal of the selection owner that all * data has been transferred. We won't need to receive * PropertyNotify events anymore. */ MODBIT(xw.attrs.event_mask, 0, PropertyChangeMask); XChangeWindowAttributes(xw.dpy, xw.win, CWEventMask, &xw.attrs); } if (type == incratom) { /* * Activate the PropertyNotify events so we receive * when the selection owner does send us the next * chunk of data. */ MODBIT(xw.attrs.event_mask, 1, PropertyChangeMask); XChangeWindowAttributes(xw.dpy, xw.win, CWEventMask, &xw.attrs); /* * Deleting the property is the transfer start signal. */ XDeleteProperty(xw.dpy, xw.win, (int)property); continue; } /* * 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) && ofs == 0) ttywrite("\033[200~", 6, 0); ttywrite((char *)data, nitems * format / 8, 1); if (IS_SET(MODE_BRCKTPASTE) && rem == 0) ttywrite("\033[201~", 6, 0); XFree(data); /* number of 32-bit chunks returned */ ofs += nitems * format / 32; } while (rem > 0); /* * Deleting the property again tells the selection owner to send the * next data chunk in the property. */ XDeleteProperty(xw.dpy, xw.win, (int)property); } void xclipcopy(void) { clipcopy(NULL); } 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 = xsel.xtarget; XChangeProperty(xsre->display, xsre->requestor, xsre->property, XA_ATOM, 32, PropModeReplace, (uchar *) &string, 1); xev.property = xsre->property; } else if (xsre->target == xsel.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 = xsel.primary; } else if (xsre->selection == clipboard) { seltext = xsel.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, 1, 0, (XEvent *) &xev)) fprintf(stderr, "Error sending SelectionNotify event\n"); } void setsel(char *str, Time t) { if (!str) return; free(xsel.primary); xsel.primary = str; XSetSelectionOwner(xw.dpy, XA_PRIMARY, xw.win, t); if (XGetSelectionOwner(xw.dpy, XA_PRIMARY) != xw.win) selclear(); } void xsetsel(char *str) { setsel(str, CurrentTime); } 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) mousesel(e, 1); } void bmotion(XEvent *e) { if (IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) { mousereport(e); return; } mousesel(e, 0); } void cresize(int width, int height) { int col, row; if (width != 0) win.w = width; if (height != 0) win.h = height; col = (win.w - 2 * borderpx) / win.cw; row = (win.h - 2 * borderpx) / win.ch; col = MAX(1, col); row = MAX(1, row); tresize(col, row); xresize(col, row); ttyresize(win.tw, win.th); } void xresize(int col, int row) { win.tw = col * win.cw; win.th = row * win.ch; XFreePixmap(xw.dpy, xw.buf); xw.buf = XCreatePixmap(xw.dpy, xw.win, win.w, win.h, DefaultDepth(xw.dpy, xw.scr)); XftDrawChange(xw.draw, xw.buf); xclear(0, 0, win.w, win.h); /* resize to new width */ xw.specbuf = xrealloc(xw.specbuf, col * sizeof(GlyphFontSpec)); } ushort sixd_to_16bit(int x) { return x == 0 ? 0 : 0x3737 + 0x2828 * x; } int 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 int loaded; Color *cp; if (loaded) { for (cp = dc.col; cp < &dc.col[dc.collen]; ++cp) XftColorFree(xw.dpy, xw.vis, xw.cmap, cp); } else { dc.collen = MAX(LEN(colorname), 256); dc.col = xmalloc(dc.collen * sizeof(Color)); } for (i = 0; i < dc.collen; 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 = 1; } int xsetcolorname(int x, const char *name) { Color ncolor; if (!BETWEEN(x, 0, dc.collen)) 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; } /* * 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_name ? opt_name : termname, opt_class ? opt_class : termname}; XWMHints wm = {.flags = InputHint, .input = 1}; XSizeHints *sizeh; sizeh = XAllocSizeHints(); sizeh->flags = PSize | PResizeInc | PBaseSize | PMinSize; sizeh->height = win.h; sizeh->width = win.w; sizeh->height_inc = win.ch; sizeh->width_inc = win.cw; sizeh->base_height = 2 * borderpx; sizeh->base_width = 2 * borderpx; sizeh->min_height = win.ch + 2 * borderpx; sizeh->min_width = win.cw + 2 * borderpx; if (xw.isfixed) { sizeh->flags |= PMaxSize; sizeh->min_width = sizeh->max_width = win.w; sizeh->min_height = sizeh->max_height = win.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; } /* 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); } int xloadfont(Font *f, FcPattern *pattern) { FcPattern *configured; FcPattern *match; FcResult result; XGlyphInfo extents; int wantattr, haveattr; /* * Manually configure instead of calling XftMatchFont * so that we can use the configured pattern for * "missing glyph" lookups. */ configured = FcPatternDuplicate(pattern); if (!configured) return 1; FcConfigSubstitute(NULL, configured, FcMatchPattern); XftDefaultSubstitute(xw.dpy, xw.scr, configured); match = FcFontMatch(NULL, configured, &result); if (!match) { FcPatternDestroy(configured); return 1; } if (!(f->match = XftFontOpenPattern(xw.dpy, match))) { FcPatternDestroy(configured); FcPatternDestroy(match); return 1; } if ((XftPatternGetInteger(pattern, "slant", 0, &wantattr) == XftResultMatch)) { /* * Check if xft was unable to find a font with the appropriate * slant but gave us one anyway. Try to mitigate. */ if ((XftPatternGetInteger(f->match->pattern, "slant", 0, &haveattr) != XftResultMatch) || haveattr < wantattr) { f->badslant = 1; fputs("font slant does not match\n", stderr); } } if ((XftPatternGetInteger(pattern, "weight", 0, &wantattr) == XftResultMatch)) { if ((XftPatternGetInteger(f->match->pattern, "weight", 0, &haveattr) != XftResultMatch) || haveattr != wantattr) { f->badweight = 1; fputs("font weight does not match\n", stderr); } } XftTextExtentsUtf8(xw.dpy, f->match, (const FcChar8 *) ascii_printable, strlen(ascii_printable), &extents); f->set = NULL; f->pattern = configured; 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 = DIVCEIL(extents.xOff, strlen(ascii_printable)); return 0; } void xloadfonts(char *fontstr, double fontsize) { FcPattern *pattern; double fontval; int dpix, dpiy; double floor(double); if (fontstr[0] == '-') pattern = XftXlfdParse(fontstr, False, False); else pattern = FcNameParse((FcChar8 *)fontstr); if (!pattern) die("can't open font %s\n", 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 (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; } if (xloadfont(&dc.font, pattern)) die("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. */ win.cw = ceilf(dc.font.width * cwscale); win.ch = ceilf(dc.font.height * chscale); FcPatternDel(pattern, FC_SLANT); FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ITALIC); if (xloadfont(&dc.ifont, pattern)) die("can't open font %s\n", fontstr); FcPatternDel(pattern, FC_WEIGHT); FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_BOLD); if (xloadfont(&dc.ibfont, pattern)) die("can't open font %s\n", fontstr); FcPatternDel(pattern, FC_SLANT); FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN); if (xloadfont(&dc.bfont, pattern)) die("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 xinit(int cols, int rows) { XGCValues gcvalues; Cursor cursor; Window parent; pid_t thispid = getpid(); XColor xmousefg, xmousebg; 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 */ win.w = 2 * borderpx + cols * win.cw; win.h = 2 * borderpx + rows * win.ch; if (xw.gm & XNegative) xw.l += DisplayWidth(xw.dpy, xw.scr) - win.w - 2; if (xw.gm & YNegative) xw.t += DisplayHeight(xw.dpy, xw.scr) - win.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, win.w, win.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, win.w, win.h, DefaultDepth(xw.dpy, xw.scr)); XSetForeground(xw.dpy, dc.gc, dc.col[defaultbg].pixel); XFillRectangle(xw.dpy, xw.buf, dc.gc, 0, 0, win.w, win.h); /* font spec buffer */ xw.specbuf = xmalloc(cols * sizeof(GlyphFontSpec)); /* 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, mouseshape); XDefineCursor(xw.dpy, xw.win, cursor); if (XParseColor(xw.dpy, xw.cmap, colorname[mousefg], &xmousefg) == 0) { xmousefg.red = 0xffff; xmousefg.green = 0xffff; xmousefg.blue = 0xffff; } if (XParseColor(xw.dpy, xw.cmap, colorname[mousebg], &xmousebg) == 0) { xmousebg.red = 0x0000; xmousebg.green = 0x0000; xmousebg.blue = 0x0000; } XRecolorCursor(xw.dpy, cursor, &xmousefg, &xmousebg); 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); win.mode = MODE_NUMLOCK; resettitle(); XMapWindow(xw.dpy, xw.win); xhints(); XSync(xw.dpy, False); clock_gettime(CLOCK_MONOTONIC, &xsel.tclick1); clock_gettime(CLOCK_MONOTONIC, &xsel.tclick2); xsel.primary = NULL; xsel.clipboard = NULL; xsel.xtarget = XInternAtom(xw.dpy, "UTF8_STRING", 0); if (xsel.xtarget == None) xsel.xtarget = XA_STRING; } int xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x, int y) { float winx = borderpx + x * win.cw, winy = borderpx + y * win.ch, xp, yp; ushort mode, prevmode = USHRT_MAX; Font *font = &dc.font; int frcflags = FRC_NORMAL; float runewidth = win.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 = win.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, 1, 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, 1); 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); if (!frc[frclen].font) die("XftFontOpenPattern failed seeking fallback font: %s\n", strerror(errno)); 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)yp; 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 * win.cw, winy = borderpx + y * win.ch, width = charlen * win.cw; Color *fg, *bg, *temp, revfg, revbg, truefg, truebg; XRenderColor colfg, colbg; XRectangle r; /* Fallback on color display for attributes not supported by the font */ if (base.mode & ATTR_ITALIC && base.mode & ATTR_BOLD) { if (dc.ibfont.badslant || dc.ibfont.badweight) base.fg = defaultattr; } else if ((base.mode & ATTR_ITALIC && dc.ifont.badslant) || (base.mode & ATTR_BOLD && dc.bfont.badweight)) { base.fg = defaultattr; } 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_BOLD_FAINT) == ATTR_FAINT) { colfg.red = fg->color.red / 2; colfg.green = fg->color.green / 2; colfg.blue = fg->color.blue / 2; colfg.alpha = fg->color.alpha; XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colfg, &revfg); fg = &revfg; } if (base.mode & ATTR_REVERSE) { temp = fg; fg = bg; bg = temp; } if (base.mode & ATTR_BLINK && win.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 + win.ch + ((winy + win.ch >= borderpx + win.th)? win.h : 0)); } if (winx + width >= borderpx + win.tw) { xclear(winx + width, (y == 0)? 0 : winy, win.w, ((winy + win.ch >= borderpx + win.th)? win.h : (winy + win.ch))); } if (y == 0) xclear(winx, 0, winx + width, borderpx); if (winy + win.ch >= borderpx + win.th) xclear(winx, winy + win.ch, winx + width, win.h); /* Clean up the region we want to draw to. */ XftDrawRect(xw.draw, bg, winx, winy, width, win.ch); /* Set the clip region because Xft is sometimes dirty. */ r.x = 0; r.y = 0; r.height = win.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(int cx, int cy, Glyph g, int ox, int oy, Glyph og) { Color drawcol; /* remove the old cursor */ if (selected(ox, oy)) og.mode ^= ATTR_REVERSE; xdrawglyph(og, ox, oy); if (IS_SET(MODE_HIDE)) return; /* * Select the right color for the right mode. */ g.mode &= ATTR_BOLD|ATTR_ITALIC|ATTR_UNDERLINE|ATTR_STRUCK|ATTR_WIDE; if (IS_SET(MODE_REVERSE)) { g.mode |= ATTR_REVERSE; g.bg = defaultfg; if (selected(cx, cy)) { drawcol = dc.col[defaultcs]; g.fg = defaultrcs; } else { drawcol = dc.col[defaultrcs]; g.fg = defaultcs; } } else { if (selected(cx, cy)) { g.fg = defaultfg; g.bg = defaultrcs; } else { g.fg = defaultbg; g.bg = defaultcs; } drawcol = dc.col[g.bg]; } /* draw the new one */ if (IS_SET(MODE_FOCUSED)) { switch (win.cursor) { case 7: /* st extension: snowman (U+2603) */ g.u = 0x2603; case 0: /* Blinking Block */ case 1: /* Blinking Block (Default) */ case 2: /* Steady Block */ xdrawglyph(g, cx, cy); break; case 3: /* Blinking Underline */ case 4: /* Steady Underline */ XftDrawRect(xw.draw, &drawcol, borderpx + cx * win.cw, borderpx + (cy + 1) * win.ch - \ cursorthickness, win.cw, cursorthickness); break; case 5: /* Blinking bar */ case 6: /* Steady bar */ XftDrawRect(xw.draw, &drawcol, borderpx + cx * win.cw, borderpx + cy * win.ch, cursorthickness, win.ch); break; } } else { XftDrawRect(xw.draw, &drawcol, borderpx + cx * win.cw, borderpx + cy * win.ch, win.cw - 1, 1); XftDrawRect(xw.draw, &drawcol, borderpx + cx * win.cw, borderpx + cy * win.ch, 1, win.ch - 1); XftDrawRect(xw.draw, &drawcol, borderpx + (cx + 1) * win.cw - 1, borderpx + cy * win.ch, 1, win.ch - 1); XftDrawRect(xw.draw, &drawcol, borderpx + cx * win.cw, borderpx + (cy + 1) * win.ch - 1, win.cw, 1); } } void xsetenv(void) { char buf[sizeof(long) * 8 + 1]; snprintf(buf, sizeof(buf), "%lu", xw.win); setenv("WINDOWID", buf, 1); } void xsettitle(char *p) { XTextProperty prop; DEFAULT(p, opt_title); Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle, &prop); XSetWMName(xw.dpy, xw.win, &prop); XSetTextProperty(xw.dpy, xw.win, &prop, xw.netwmname); XFree(prop.value); } int xstartdraw(void) { return IS_SET(MODE_VISIBLE); } void xdrawline(Line line, int x1, int y1, int x2) { int i, x, ox, numspecs; Glyph base, new; XftGlyphFontSpec *specs = xw.specbuf; numspecs = xmakeglyphfontspecs(specs, &line[x1], x2 - x1, x1, y1); i = ox = 0; for (x = x1; x < x2 && i < numspecs; x++) { new = line[x]; if (new.mode == ATTR_WDUMMY) continue; if (selected(x, y1)) new.mode ^= ATTR_REVERSE; if (i > 0 && ATTRCMP(base, new)) { xdrawglyphfontspecs(specs, base, i, ox, y1); specs += i; numspecs -= i; i = 0; } if (i == 0) { ox = x; base = new; } i++; } if (i > 0) xdrawglyphfontspecs(specs, base, i, ox, y1); } void xfinishdraw(void) { XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, 0, 0, win.w, win.h, 0, 0); XSetForeground(xw.dpy, dc.gc, dc.col[IS_SET(MODE_REVERSE)? defaultfg : defaultbg].pixel); } void expose(XEvent *ev) { redraw(); } void visibility(XEvent *ev) { XVisibilityEvent *e = &ev->xvisibility; MODBIT(win.mode, e->state != VisibilityFullyObscured, MODE_VISIBLE); } void unmap(XEvent *ev) { win.mode &= ~MODE_VISIBLE; } void xsetpointermotion(int set) { MODBIT(xw.attrs.event_mask, set, PointerMotionMask); XChangeWindowAttributes(xw.dpy, xw.win, CWEventMask, &xw.attrs); } void xsetmode(int set, unsigned int flags) { int mode = win.mode; MODBIT(win.mode, set, flags); if ((win.mode & MODE_REVERSE) != (mode & MODE_REVERSE)) redraw(); } int xsetcursor(int cursor) { DEFAULT(cursor, 1); if (!BETWEEN(cursor, 0, 6)) return 1; win.cursor = cursor; return 0; } 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 xbell(void) { if (!(IS_SET(MODE_FOCUSED))) xseturgency(1); if (bellvolume) XkbBell(xw.dpy, xw.win, bellvolume, (Atom)NULL); } void focus(XEvent *ev) { XFocusChangeEvent *e = &ev->xfocus; if (e->mode == NotifyGrab) return; if (ev->type == FocusIn) { XSetICFocus(xw.xic); win.mode |= MODE_FOCUSED; xseturgency(0); if (IS_SET(MODE_FOCUS)) ttywrite("\033[I", 3, 0); } else { XUnsetICFocus(xw.xic); win.mode &= ~MODE_FOCUSED; if (IS_SET(MODE_FOCUS)) ttywrite("\033[O", 3, 0); } } int match(uint mask, uint state) { return mask == XK_ANY_MOD || mask == (state & ~ignoremod); } 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 (IS_SET(MODE_NUMLOCK) && kp->appkey == 2) continue; if (IS_SET(MODE_APPCURSOR) ? kp->appcursor < 0 : kp->appcursor > 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))) { ttywrite(customkey, strlen(customkey), 1); 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; } } ttywrite(buf, len, 1); } 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) { win.mode |= MODE_FOCUSED; xseturgency(0); } else if (e->xclient.data.l[1] == XEMBED_FOCUS_OUT) { win.mode &= ~MODE_FOCUSED; } } else if (e->xclient.data.l[0] == xw.wmdeletewin) { ttyhangup(); exit(0); } } void resize(XEvent *e) { if (e->xconfigure.width == win.w && e->xconfigure.height == win.h) return; cresize(e->xconfigure.width, e->xconfigure.height); } void run(void) { XEvent ev; int w = win.w, h = win.h; fd_set rfd; int xfd = XConnectionNumber(xw.dpy), xev, blinkset = 0, dodraw = 0; int ttyfd; struct timespec drawtimeout, *tv = NULL, now, last, lastblink; long deltatime; /* Waiting for window mapping */ do { XNextEvent(xw.dpy, &ev); /* * This XFilterEvent call is required because of XOpenIM. It * does filter out the key event and some client message for * the input method too. */ if (XFilterEvent(&ev, None)) continue; if (ev.type == ConfigureNotify) { w = ev.xconfigure.width; h = ev.xconfigure.height; } } while (ev.type != MapNotify); ttyfd = ttynew(opt_line, shell, opt_io, opt_cmd); cresize(w, h); clock_gettime(CLOCK_MONOTONIC, &last); lastblink = last; for (xev = actionfps;;) { FD_ZERO(&rfd); FD_SET(ttyfd, &rfd); FD_SET(xfd, &rfd); if (pselect(MAX(xfd, ttyfd)+1, &rfd, NULL, NULL, tv, NULL) < 0) { if (errno == EINTR) continue; die("select failed: %s\n", strerror(errno)); } if (FD_ISSET(ttyfd, &rfd)) { ttyread(); if (blinktimeout) { blinkset = tattrset(ATTR_BLINK); if (!blinkset) MODBIT(win.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); win.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(ttyfd, &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[]) { xw.l = xw.t = 0; xw.isfixed = False; win.cursor = cursorshape; ARGBEGIN { case 'a': allowaltscreen = 0; 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 = 1; break; case 'o': opt_io = EARGF(); break; case 'l': opt_line = EARGF(); break; case 'n': opt_name = EARGF(); break; case 't': case 'T': opt_title = EARGF(); break; case 'w': opt_embed = EARGF(); break; case 'v': die("%s 0.8.2 \n", argv0); break; default: exit(EXIT_FAILURE); } ARGEND; run: if (argc > 0) /* eat all remaining arguments */ opt_cmd = argv; if (!opt_title) opt_title = (opt_line || !opt_cmd) ? "st" : opt_cmd[0]; #ifdef HAVE_SETLOCALE // Set locale via LC_ALL. setlocale(LC_ALL, ""); #endif XSetLocaleModifiers(""); cols = MAX(cols, 1); rows = MAX(rows, 1); tnew(cols, rows); xinit(cols, rows); xsetenv(); selinit(); run(); return 0; } xfe-1.44/st/config.h0000644000200300020030000004715613501733230011203 00000000000000/* See license terms in x.c */ /* * appearance * * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html */ static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true"; static int borderpx = 2; /* * What program is execed by st depends of these precedence rules: * 1: program passed with -e * 2: utmp option * 3: SHELL environment variable * 4: value of shell in /etc/passwd * 5: value of shell in config.h */ static char *shell = "/bin/sh"; char *utmp = NULL; char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; /* identification sequence returned in DA and DECID */ 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: " `'\"()[]{}" */ char *worddelimiters = " "; /* selection timeouts (in milliseconds) */ static unsigned int doubleclicktimeout = 300; static unsigned int tripleclicktimeout = 600; /* alt screens */ int allowaltscreen = 1; /* 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; /* default TERM value */ char *termname = "Xfe"; /* * spaces per tab * * When you are changing this value, don't forget to adapt the »it« value in * the st.info and appropriately install the st.info in the environment where * you use this st version. * * it#$tabspaces, * * Secondly make sure your kernel is not expanding tabs. When running `stty * -a` »tab0« should appear. You can tell the terminal to not expand tabs by * running following command: * * stty tabs */ 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", "#555555", }; /* * Default colors (colorname index) * foreground, background, cursor, reverse cursor */ unsigned int defaultfg = 0; unsigned int defaultbg = 7; static unsigned int defaultcs = 0; static unsigned int defaultrcs = 257; /* * Default shape of cursor * 2: Block ("█") * 4: Underline ("_") * 6: Bar ("|") * 7: Snowman ("☃") */ static unsigned int cursorshape = 2; /* * Default columns and rows numbers */ static unsigned int cols = 80; static unsigned int rows = 24; /* * Default colour and shape of the mouse cursor */ static unsigned int mouseshape = XC_xterm; static unsigned int mousefg = 7; static unsigned int mousebg = 0; /* * Color used to display font attributes when fontconfig selected a font which * doesn't match the ones requested. */ static unsigned int defaultattr = 11; /* * Internal mouse shortcuts. * Beware that overloading Button1 will disable the selection. */ static MouseShortcut mshortcuts[] = { /* button mask string */ { Button4, XK_ANY_MOD, "\031" }, { Button5, XK_ANY_MOD, "\005" }, }; /* Internal keyboard shortcuts. */ #define MODKEY Mod1Mask #define TERMMOD (ControlMask|ShiftMask) static Shortcut shortcuts[] = { /* mask keysym function argument */ { XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} }, { ControlMask, XK_Print, toggleprinter, {.i = 0} }, { ShiftMask, XK_Print, printscreen, {.i = 0} }, { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, { TERMMOD, XK_Prior, zoom, {.f = +1} }, { TERMMOD, XK_Next, zoom, {.f = -1} }, { TERMMOD, XK_Home, zoomreset, {.f = 0} }, { TERMMOD, XK_C, clipcopy, {.i = 0} }, { TERMMOD, XK_V, clippaste, {.i = 0} }, { TERMMOD, XK_Y, selpaste, {.i = 0} }, { ShiftMask, XK_Insert, selpaste, {.i = 0} }, { TERMMOD, 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; /* * This is the huge key array which defines all compatibility to the Linux * world. Please decide about changes wisely. */ static Key key[] = { /* keysym mask string appkey appcursor */ { XK_KP_Home, ShiftMask, "\033[2J", 0, -1}, { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1}, { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1}, { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1}, { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0}, { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1}, { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1}, { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0}, { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1}, { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1}, { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0}, { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1}, { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1}, { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0}, { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1}, { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1}, { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0}, { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0}, { XK_KP_End, ControlMask, "\033[J", -1, 0}, { XK_KP_End, ControlMask, "\033[1;5F", +1, 0}, { XK_KP_End, ShiftMask, "\033[K", -1, 0}, { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0}, { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0}, { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0}, { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0}, { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0}, { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0}, { XK_KP_Insert, ControlMask, "\033[L", -1, 0}, { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0}, { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, { XK_KP_Delete, ControlMask, "\033[M", -1, 0}, { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0}, { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0}, { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0}, { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0}, { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0}, { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0}, { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0}, { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0}, { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0}, { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0}, { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0}, { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0}, { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0}, { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0}, { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0}, { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0}, { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0}, { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0}, { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0}, { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0}, { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0}, { XK_Up, ShiftMask, "\033[1;2A", 0, 0}, { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, { XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0}, { XK_Up, ControlMask, "\033[1;5A", 0, 0}, { XK_Up, ShiftMask|ControlMask,"\033[1;6A", 0, 0}, { XK_Up, ControlMask|Mod1Mask,"\033[1;7A", 0, 0}, { XK_Up,ShiftMask|ControlMask|Mod1Mask,"\033[1;8A", 0, 0}, { XK_Up, XK_ANY_MOD, "\033[A", 0, -1}, { XK_Up, XK_ANY_MOD, "\033OA", 0, +1}, { XK_Down, ShiftMask, "\033[1;2B", 0, 0}, { XK_Down, Mod1Mask, "\033[1;3B", 0, 0}, { XK_Down, ShiftMask|Mod1Mask,"\033[1;4B", 0, 0}, { XK_Down, ControlMask, "\033[1;5B", 0, 0}, { XK_Down, ShiftMask|ControlMask,"\033[1;6B", 0, 0}, { XK_Down, ControlMask|Mod1Mask,"\033[1;7B", 0, 0}, { XK_Down,ShiftMask|ControlMask|Mod1Mask,"\033[1;8B",0, 0}, { XK_Down, XK_ANY_MOD, "\033[B", 0, -1}, { XK_Down, XK_ANY_MOD, "\033OB", 0, +1}, { XK_Left, ShiftMask, "\033[1;2D", 0, 0}, { XK_Left, Mod1Mask, "\033[1;3D", 0, 0}, { XK_Left, ShiftMask|Mod1Mask,"\033[1;4D", 0, 0}, { XK_Left, ControlMask, "\033[1;5D", 0, 0}, { XK_Left, ShiftMask|ControlMask,"\033[1;6D", 0, 0}, { XK_Left, ControlMask|Mod1Mask,"\033[1;7D", 0, 0}, { XK_Left,ShiftMask|ControlMask|Mod1Mask,"\033[1;8D",0, 0}, { XK_Left, XK_ANY_MOD, "\033[D", 0, -1}, { XK_Left, XK_ANY_MOD, "\033OD", 0, +1}, { XK_Right, ShiftMask, "\033[1;2C", 0, 0}, { XK_Right, Mod1Mask, "\033[1;3C", 0, 0}, { XK_Right, ShiftMask|Mod1Mask,"\033[1;4C", 0, 0}, { XK_Right, ControlMask, "\033[1;5C", 0, 0}, { XK_Right, ShiftMask|ControlMask,"\033[1;6C", 0, 0}, { XK_Right, ControlMask|Mod1Mask,"\033[1;7C", 0, 0}, { XK_Right,ShiftMask|ControlMask|Mod1Mask,"\033[1;8C",0, 0}, { XK_Right, XK_ANY_MOD, "\033[C", 0, -1}, { XK_Right, XK_ANY_MOD, "\033OC", 0, +1}, { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0}, { XK_Return, Mod1Mask, "\033\r", 0, 0}, { XK_Return, XK_ANY_MOD, "\r", 0, 0}, { XK_Insert, ShiftMask, "\033[4l", -1, 0}, { XK_Insert, ShiftMask, "\033[2;2~", +1, 0}, { XK_Insert, ControlMask, "\033[L", -1, 0}, { XK_Insert, ControlMask, "\033[2;5~", +1, 0}, { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, { XK_Delete, ControlMask, "\033[M", -1, 0}, { XK_Delete, ControlMask, "\033[3;5~", +1, 0}, { XK_Delete, ShiftMask, "\033[2K", -1, 0}, { XK_Delete, ShiftMask, "\033[3;2~", +1, 0}, { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0}, { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, { XK_BackSpace, XK_NO_MOD, "\177", 0, 0}, { XK_BackSpace, Mod1Mask, "\033\177", 0, 0}, { XK_Home, ShiftMask, "\033[2J", 0, -1}, { XK_Home, ShiftMask, "\033[1;2H", 0, +1}, { XK_Home, XK_ANY_MOD, "\033[H", 0, -1}, { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1}, { XK_End, ControlMask, "\033[J", -1, 0}, { XK_End, ControlMask, "\033[1;5F", +1, 0}, { XK_End, ShiftMask, "\033[K", -1, 0}, { XK_End, ShiftMask, "\033[1;2F", +1, 0}, { XK_End, XK_ANY_MOD, "\033[4~", 0, 0}, { XK_Prior, ControlMask, "\033[5;5~", 0, 0}, { XK_Prior, ShiftMask, "\033[5;2~", 0, 0}, { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, { XK_Next, ControlMask, "\033[6;5~", 0, 0}, { XK_Next, ShiftMask, "\033[6;2~", 0, 0}, { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0}, { XK_F1, XK_NO_MOD, "\033OP" , 0, 0}, { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0}, { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0}, { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0}, { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0}, { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0}, { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0}, { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0}, { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0}, { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0}, { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0}, { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0}, { XK_F3, XK_NO_MOD, "\033OR" , 0, 0}, { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0}, { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0}, { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0}, { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0}, { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0}, { XK_F4, XK_NO_MOD, "\033OS" , 0, 0}, { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0}, { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0}, { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0}, { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0}, { XK_F5, XK_NO_MOD, "\033[15~", 0, 0}, { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0}, { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0}, { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0}, { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0}, { XK_F6, XK_NO_MOD, "\033[17~", 0, 0}, { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0}, { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0}, { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0}, { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0}, { XK_F7, XK_NO_MOD, "\033[18~", 0, 0}, { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0}, { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0}, { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0}, { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0}, { XK_F8, XK_NO_MOD, "\033[19~", 0, 0}, { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0}, { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0}, { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0}, { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0}, { XK_F9, XK_NO_MOD, "\033[20~", 0, 0}, { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0}, { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0}, { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0}, { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0}, { XK_F10, XK_NO_MOD, "\033[21~", 0, 0}, { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0}, { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0}, { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0}, { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0}, { XK_F11, XK_NO_MOD, "\033[23~", 0, 0}, { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0}, { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0}, { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0}, { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0}, { XK_F12, XK_NO_MOD, "\033[24~", 0, 0}, { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0}, { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0}, { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0}, { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0}, { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0}, { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0}, { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0}, { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0}, { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0}, { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0}, { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0}, { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0}, { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0}, { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0}, { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0}, { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0}, { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0}, { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0}, { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0}, { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0}, { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0}, { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0}, { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0}, { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0}, { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0}, { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0}, { XK_F35, XK_NO_MOD, "\033[23;5~", 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, }; /* * Printable characters in ASCII, used to estimate the advance width * of single wide characters. */ static char ascii_printable[] = " !\"#$%&'()*+,-./0123456789:;<=>?" "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" "`abcdefghijklmnopqrstuvwxyz{|}~"; xfe-1.44/st/st.c0000644000200300020030000015445613501733230010361 00000000000000/* See license terms in x.c */ #ifndef _XOPEN_SOURCE #define _XOPEN_SOURCE 600 #endif /* See LICENSE for license details. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "st.h" #include "win.h" #if defined(__linux) #include #elif defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__) #include #elif defined(__FreeBSD__) || defined(__DragonFly__) #include #endif /* 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 /* macros */ #define IS_SET(flag) ((term.mode & (flag)) != 0) #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) enum term_mode { MODE_WRAP = 1 << 0, MODE_INSERT = 1 << 1, MODE_ALTSCREEN = 1 << 2, MODE_CRLF = 1 << 3, MODE_ECHO = 1 << 4, MODE_PRINT = 1 << 5, MODE_UTF8 = 1 << 6, MODE_SIXEL = 1 << 7, }; enum cursor_movement { CURSOR_SAVE, CURSOR_LOAD }; enum cursor_state { CURSOR_DEFAULT = 0, CURSOR_WRAPNEXT = 1, CURSOR_ORIGIN = 2 }; 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, /* OSC, PM, APC */ ESC_ALTCHARSET = 8, ESC_STR_END = 16, /* a final string was encountered */ ESC_TEST = 32, /* Enter in test mode */ ESC_UTF8 = 64, ESC_DCS =128, }; typedef struct { Glyph attr; /* current char attributes */ int x; int y; char state; } TCursor; 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; int alt; } Selection; /* Internal representation of the screen */ typedef struct { int row; /* nb row */ int col; /* nb col */ Line *line; /* screen */ Line *alt; /* alternate screen */ int *dirty; /* dirtyness of lines */ TCursor c; /* cursor */ int ocx; /* old cursor col */ int ocy; /* old cursor row */ 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 */ int *tabs; } Term; /* 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; static void execsh(char *, char **); static void stty(char **); static void sigchld(int); static void ttywriteraw(const char *, size_t); 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 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 tnewline(int); static void tputtab(int); static void tputc(Rune); static void treset(void); static void tscrollup(int, int); static void tscrolldown(int, int); static void tsetattr(int *, int); static void tsetchar(Rune, Glyph *, int, int); static void tsetdirt(int, int); static void tsetscroll(int, int); static void tswapscreen(void); static void tsetmode(int, int, int *, int); static int twrite(const char *, int, int); static void tfulldirt(void); static void tcontrolcode(uchar ); static void tdectest(char ); static void tdefutf8(char); static int32_t tdefcolor(int *, int *, int); static void tdeftran(char); static void tstrsequence(uchar); static void drawregion(int, int, int, int); static void selnormalize(void); static void selscroll(int, int); static void selsnap(int *, int *, int); static size_t utf8decode(const char *, Rune *, size_t); static Rune utf8decodebyte(char, size_t *); static char utf8encodebyte(Rune, size_t); static char *utf8strchr(char *, Rune); static size_t utf8validate(Rune *, size_t); static char *base64dec(const char *); static char base64dec_getc(const char **); static ssize_t xwrite(int, const char *, size_t); /* Globals */ static Term term; static Selection sel; static CSIEscape csiescseq; static STREscape strescseq; static int iofd = 1; static int cmdfd; static pid_t pid; 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}; ssize_t xwrite(int fd, const char *s, size_t len) { size_t aux = len; ssize_t r; while (len > 0) { r = write(fd, s, len); if (r < 0) return r; len -= r; s += r; } return aux; } void * xmalloc(size_t len) { void *p; if (!(p = malloc(len))) die("malloc: %s\n", strerror(errno)); return p; } void * xrealloc(void *p, size_t len) { if ((p = realloc(p, len)) == NULL) die("realloc: %s\n", strerror(errno)); return p; } char * xstrdup(char *s) { if ((s = strdup(s)) == NULL) die("strdup: %s\n", strerror(errno)); return s; } size_t utf8decode(const 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; } static const char base64_digits[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, -1, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; char base64dec_getc(const char **src) { while (**src && !isprint(**src)) (*src)++; return *((*src)++); } char * base64dec(const char *src) { size_t in_len = strlen(src); char *result, *dst; if (in_len % 4) in_len += 4 - (in_len % 4); result = dst = xmalloc(in_len / 4 * 3 + 1); while (*src) { int a = base64_digits[(unsigned char) base64dec_getc(&src)]; int b = base64_digits[(unsigned char) base64dec_getc(&src)]; int c = base64_digits[(unsigned char) base64dec_getc(&src)]; int d = base64_digits[(unsigned char) base64dec_getc(&src)]; *dst++ = (a << 2) | ((b & 0x30) >> 4); if (c == -1) break; *dst++ = ((b & 0x0f) << 4) | ((c & 0x3c) >> 2); if (d == -1) break; *dst++ = ((c & 0x03) << 6) | d; } *dst = '\0'; return result; } void selinit(void) { sel.mode = SEL_IDLE; sel.snap = 0; sel.ob.x = -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 selstart(int col, int row, int snap) { selclear(); sel.mode = SEL_EMPTY; sel.type = SEL_REGULAR; sel.alt = IS_SET(MODE_ALTSCREEN); sel.snap = snap; sel.oe.x = sel.ob.x = col; sel.oe.y = sel.ob.y = row; selnormalize(); if (sel.snap != 0) sel.mode = SEL_READY; tsetdirt(sel.nb.y, sel.ne.y); } void selextend(int col, int row, int type, int done) { int oldey, oldex, oldsby, oldsey, oldtype; if (sel.mode == SEL_IDLE) return; if (done && sel.mode == SEL_EMPTY) { selclear(); return; } oldey = sel.oe.y; oldex = sel.oe.x; oldsby = sel.nb.y; oldsey = sel.ne.y; oldtype = sel.type; sel.oe.x = col; sel.oe.y = row; selnormalize(); sel.type = type; if (oldey != sel.oe.y || oldex != sel.oe.x || oldtype != sel.type) tsetdirt(MIN(sel.nb.y, oldsby), MAX(sel.ne.y, oldsey)); sel.mode = done ? SEL_IDLE : SEL_READY; } 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; } int selected(int x, int y) { if (sel.mode == SEL_EMPTY || sel.ob.x == -1 || sel.alt != IS_SET(MODE_ALTSCREEN)) return 0; 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; int 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; } } 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++) { if ((linelen = tlinelen(y)) == 0) { *ptr++ = '\n'; continue; } 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 selclear(void) { if (sel.ob.x == -1) return; sel.mode = SEL_IDLE; sel.ob.x = -1; tsetdirt(sel.nb.y, sel.ne.y); } void die(const char *errstr, ...) { va_list ap; va_start(ap, errstr); vfprintf(stderr, errstr, ap); va_end(ap); exit(1); } void execsh(char *cmd, char **args) { char *sh, *prog; const struct passwd *pw; 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")) == NULL) sh = (pw->pw_shell[0]) ? pw->pw_shell : cmd; if (args) prog = args[0]; else if (utmp) prog = utmp; else prog = sh; DEFAULT(args, ((char *[]) {prog, NULL})); 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); 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(1); } void sigchld(int a) { int stat; 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; if (WIFEXITED(stat) && WEXITSTATUS(stat)) die("child exited with status %d\n", WEXITSTATUS(stat)); else if (WIFSIGNALED(stat)) die("child terminated due to signal %d\n", WTERMSIG(stat)); exit(0); } void stty(char **args) { 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 = args; p && (s = *p); ++p) { if ((n = strlen(s)) > siz-1) die("stty parameter length too long\n"); *q++ = ' '; memcpy(q, s, n); q += n; siz -= n + 1; } *q = '\0'; if (system(cmd) != 0) perror("Couldn't call stty"); } int ttynew(char *line, char *cmd, char *out, char **args) { int m, s; if (out) { term.mode |= MODE_PRINT; iofd = (!strcmp(out, "-")) ? 1 : open(out, O_WRONLY | O_CREAT, 0666); if (iofd < 0) { fprintf(stderr, "Error opening %s:%s\n", out, strerror(errno)); } } if (line) { if ((cmdfd = open(line, O_RDWR)) < 0) die("open line '%s' failed: %s\n", line, strerror(errno)); dup2(cmdfd, 0); stty(args); return cmdfd; } /* seems to work fine on linux, openbsd and freebsd */ if (openpty(&m, &s, NULL, NULL, NULL) < 0) die("openpty failed: %s\n", strerror(errno)); switch (pid = fork()) { case -1: die("fork failed: %s\n", strerror(errno)); break; case 0: close(iofd); setsid(); /* create a new process group */ dup2(s, 0); dup2(s, 1); dup2(s, 2); if (ioctl(s, TIOCSCTTY, NULL) < 0) die("ioctl TIOCSCTTY failed: %s\n", strerror(errno)); close(s); close(m); #ifdef __OpenBSD__ if (pledge("stdio getpw proc exec", NULL) == -1) die("pledge\n"); #endif execsh(cmd, args); break; default: #ifdef __OpenBSD__ if (pledge("stdio rpath tty proc", NULL) == -1) die("pledge\n"); #endif close(s); cmdfd = m; signal(SIGCHLD, sigchld); break; } return cmdfd; } size_t ttyread(void) { static char buf[BUFSIZ]; static int buflen = 0; int written; 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)); buflen += ret; written = twrite(buf, buflen, 0); buflen -= written; /* keep any uncomplete utf8 char for the next call */ if (buflen > 0) memmove(buf, buf + written, buflen); return ret; } void ttywrite(const char *s, size_t n, int may_echo) { const char *next; if (may_echo && IS_SET(MODE_ECHO)) twrite(s, n, 1); if (!IS_SET(MODE_CRLF)) { ttywriteraw(s, n); return; } /* This is similar to how the kernel handles ONLCR for ttys */ while (n > 0) { if (*s == '\r') { next = s + 1; ttywriteraw("\r\n", 2); } else { next = memchr(s, '\r', n); DEFAULT(next, s + n); ttywriteraw(s, next - s); } n -= next - s; s = next; } } void ttywriteraw(const char *s, size_t n) { fd_set wfd, rfd; ssize_t r; size_t lim = 256; /* * Remember that we are using a pty, which might be a modem line. * Writing too much will clog the line. That's why we are doing this * dance. * FIXME: Migrate the world to Plan 9. */ while (n > 0) { FD_ZERO(&wfd); FD_ZERO(&rfd); FD_SET(cmdfd, &wfd); FD_SET(cmdfd, &rfd); /* Check if we can write. */ if (pselect(cmdfd+1, &rfd, &wfd, NULL, NULL, NULL) < 0) { if (errno == EINTR) continue; die("select failed: %s\n", strerror(errno)); } if (FD_ISSET(cmdfd, &wfd)) { /* * Only write the bytes written by ttywrite() or the * default of 256. This seems to be a reasonable value * for a serial line. Bigger values might clog the I/O. */ if ((r = write(cmdfd, s, (n < lim)? n : lim)) < 0) goto write_error; if (r < n) { /* * We weren't able to write out everything. * This means the buffer is getting full * again. Empty it. */ if (n < lim) lim = ttyread(); n -= r; s += r; } else { /* All bytes have been written. */ break; } } if (FD_ISSET(cmdfd, &rfd)) lim = ttyread(); } return; write_error: die("write error on tty: %s\n", strerror(errno)); } void ttyresize(int tw, int th) { struct winsize w; w.ws_row = term.row; w.ws_col = term.col; w.ws_xpixel = tw; w.ws_ypixel = th; if (ioctl(cmdfd, TIOCSWINSZ, &w) < 0) fprintf(stderr, "Couldn't set window size: %s\n", strerror(errno)); } void ttyhangup() { /* Send SIGHUP to shell */ kill(pid, SIGHUP); } 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]; int 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|MODE_UTF8; 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); 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(); 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(); 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(int priv, int set, int *args, int narg) { int alt, *lim; for (lim = args + narg; args < lim; ++args) { if (priv) { switch (*args) { case 1: /* DECCKM -- Cursor key */ xsetmode(set, MODE_APPCURSOR); break; case 5: /* DECSCNM -- Reverse video */ xsetmode(set, MODE_REVERSE); 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 */ xsetmode(!set, MODE_HIDE); break; case 9: /* X10 mouse compatibility mode */ xsetpointermotion(0); xsetmode(0, MODE_MOUSE); xsetmode(set, MODE_MOUSEX10); break; case 1000: /* 1000: report button press */ xsetpointermotion(0); xsetmode(0, MODE_MOUSE); xsetmode(set, MODE_MOUSEBTN); break; case 1002: /* 1002: report motion on button press */ xsetpointermotion(0); xsetmode(0, MODE_MOUSE); xsetmode(set, MODE_MOUSEMOTION); break; case 1003: /* 1003: enable all mouse motions */ xsetpointermotion(set); xsetmode(0, MODE_MOUSE); xsetmode(set, MODE_MOUSEMANY); break; case 1004: /* 1004: send focus events to tty */ xsetmode(set, MODE_FOCUS); break; case 1006: /* 1006: extended reporting mode */ xsetmode(set, MODE_MOUSESGR); break; case 1034: xsetmode(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 */ xsetmode(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: xsetmode(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, strlen(vtiden), 0); 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 */ 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, 0); } 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 */ if (xsetcursor(csiescseq.arg[0])) goto unknown; break; default: goto unknown; } break; } } void csidump(void) { int i; uint c; fprintf(stderr, "ESC["); for (i = 0; i < csiescseq.len; i++) { c = csiescseq.buf[i] & 0xff; if (isprint(c)) { putc(c, stderr); } else if (c == '\n') { fprintf(stderr, "(\\n)"); } else if (c == '\r') { fprintf(stderr, "(\\r)"); } else if (c == 0x1b) { fprintf(stderr, "(\\e)"); } else { fprintf(stderr, "(%02x)", c); } } putc('\n', stderr); } 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 52: if (narg > 2) { char *dec; dec = base64dec(strescseq.args[2]); if (dec) { xsetsel(dec); xclipcopy(); } else { fprintf(stderr, "erresc: invalid base64\n"); } } 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 */ term.mode |= ESC_DCS; 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; fprintf(stderr, "ESC%c", strescseq.type); for (i = 0; i < strescseq.len; i++) { c = strescseq.buf[i] & 0xff; if (c == '\0') { putc('\n', stderr); return; } else if (isprint(c)) { putc(c, stderr); } else if (c == '\n') { fprintf(stderr, "(\\n)"); } else if (c == '\r') { fprintf(stderr, "(\\r)"); } else if (c == 0x1b) { fprintf(stderr, "(\\e)"); } else { fprintf(stderr, "(%02x)", c); } } fprintf(stderr, "ESC\\\n"); } void strreset(void) { memset(&strescseq, 0, sizeof(strescseq)); } void sendbreak(const Arg *arg) { if (tcsendbreak(cmdfd, 0)) perror("Error sending break"); } void tprinter(char *s, size_t len) { if (iofd != -1 && xwrite(iofd, s, len) < 0) { perror("Error writing to output file"); 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 tdefutf8(char ascii) { if (ascii == 'G') term.mode |= MODE_UTF8; else if (ascii == '@') term.mode &= ~MODE_UTF8; } 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) { strreset(); switch (c) { case 0x90: /* DCS -- Device Control String */ c = 'P'; term.esc |= ESC_DCS; break; case 0x9f: /* APC -- Application Program Command */ c = '_'; break; case 0x9e: /* PM -- Privacy Message */ c = '^'; break; case 0x9d: /* OSC -- Operating System Command */ c = ']'; break; } 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 { xbell(); } 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 0x80: /* TODO: PAD */ case 0x81: /* TODO: HOP */ case 0x82: /* TODO: BPH */ case 0x83: /* TODO: NBH */ case 0x84: /* TODO: IND */ break; case 0x85: /* NEL -- Next line */ tnewline(1); /* always go to first col */ break; case 0x86: /* TODO: SSA */ case 0x87: /* TODO: ESA */ break; case 0x88: /* HTS -- Horizontal tab stop */ term.tabs[term.c.x] = 1; break; case 0x89: /* TODO: HTJ */ case 0x8a: /* TODO: VTS */ case 0x8b: /* TODO: PLD */ case 0x8c: /* TODO: PLU */ case 0x8d: /* TODO: RI */ case 0x8e: /* TODO: SS2 */ case 0x8f: /* TODO: SS3 */ case 0x91: /* TODO: PU1 */ case 0x92: /* TODO: PU2 */ case 0x93: /* TODO: STS */ case 0x94: /* TODO: CCH */ case 0x95: /* TODO: MW */ case 0x96: /* TODO: SPA */ case 0x97: /* TODO: EPA */ case 0x98: /* TODO: SOS */ case 0x99: /* TODO: SGCI */ break; case 0x9a: /* DECID -- Identify Terminal */ ttywrite(vtiden, strlen(vtiden), 0); break; case 0x9b: /* TODO: CSI */ case 0x9c: /* TODO: ST */ break; case 0x90: /* DCS -- Device Control String */ case 0x9d: /* OSC -- Operating System Command */ case 0x9e: /* PM -- Privacy Message */ case 0x9f: /* APC -- Application Program 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 '%': term.esc |= ESC_UTF8; 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, strlen(vtiden), 0); break; case 'c': /* RIS -- Reset to initial state */ treset(); resettitle(); xloadcols(); break; case '=': /* DECPAM -- Application keypad */ xsetmode(1, MODE_APPKEYPAD); break; case '>': /* DECPNM -- Normal keypad */ xsetmode(0, 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]; int control; int width, len; Glyph *gp; control = ISCONTROL(u); if (!IS_SET(MODE_UTF8) && !IS_SET(MODE_SIXEL)) { c[0] = u; width = len = 1; } else { len = utf8encode(u, c); if (!control && (width = wcwidth(u)) == -1) { memcpy(c, "\357\277\275", 4); /* UTF_INVALID */ width = 1; } } if (IS_SET(MODE_PRINT)) tprinter(c, len); /* * 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|ESC_DCS); if (IS_SET(MODE_SIXEL)) { /* TODO: render sixel */; term.mode &= ~MODE_SIXEL; return; } term.esc |= ESC_STR_END; goto check_control_code; } if (IS_SET(MODE_SIXEL)) { /* TODO: implement sixel mode */ return; } if (term.esc&ESC_DCS && strescseq.len == 0 && u == 'q') term.mode |= MODE_SIXEL; if (strescseq.len+len >= sizeof(strescseq.buf)-1) { /* * 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; } memmove(&strescseq.buf[strescseq.len], c, len); strescseq.len += len; return; } check_control_code: /* * 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_UTF8) { tdefutf8(u); } 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(); 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; } } int twrite(const char *buf, int buflen, int show_ctrl) { int charsize; Rune u; int n; for (n = 0; n < buflen; n += charsize) { if (IS_SET(MODE_UTF8) && !IS_SET(MODE_SIXEL)) { /* process a complete utf8 char */ charsize = utf8decode(buf + n, &u, buflen - n); if (charsize == 0) break; } else { u = buf[n] & 0xFF; charsize = 1; } if (show_ctrl && ISCONTROL(u)) { if (u & 0x80) { u &= 0x7f; tputc('^'); tputc('['); } else if (u != '\n' && u != '\r' && u != '\t') { u ^= 0x40; tputc('^'); } } tputc(u); } return n; } void tresize(int col, int row) { int i; int minrow = MIN(row, term.row); int mincol = MIN(col, term.col); int *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 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 resettitle(void) { xsettitle(NULL); } void drawregion(int x1, int y1, int x2, int y2) { int y; for (y = y1; y < y2; y++) { if (!term.dirty[y]) continue; term.dirty[y] = 0; xdrawline(term.line[y], x1, y, x2); } } void draw(void) { int cx = term.c.x; if (!xstartdraw()) return; /* adjust cursor position */ LIMIT(term.ocx, 0, term.col-1); LIMIT(term.ocy, 0, term.row-1); if (term.line[term.ocy][term.ocx].mode & ATTR_WDUMMY) term.ocx--; if (term.line[term.c.y][cx].mode & ATTR_WDUMMY) cx--; drawregion(0, 0, term.col, term.row); xdrawcursor(cx, term.c.y, term.line[term.c.y][cx], term.ocx, term.ocy, term.line[term.ocy][term.ocx]); term.ocx = cx, term.ocy = term.c.y; xfinishdraw(); } void redraw(void) { tfulldirt(); draw(); } xfe-1.44/i18n.h0000644000200300020030000000046113501733230010053 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.44/BUGS0000644000200300020030000000040513501733230007604 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.44/configure0000755000200300020030000166262613655734744011101 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for xfe 1.44. # # # 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.44' PACKAGE_STRING='xfe 1.44' 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 x11_xcb_LIBS x11_xcb_CFLAGS xcb_event_LIBS xcb_event_CFLAGS xcb_aux_LIBS xcb_aux_CFLAGS xcb_LIBS xcb_CFLAGS STARTUPNOTIFY XFT_LIBS XFT_CFLAGS xft_config FREETYPE_LIBS FREETYPE_CFLAGS 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 PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG 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__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 runstatedir 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 am__quote' 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 PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR XMKMF CXXCPP FREETYPE_CFLAGS FREETYPE_LIBS XFT_CFLAGS XFT_LIBS xcb_CFLAGS xcb_LIBS xcb_aux_CFLAGS xcb_aux_LIBS xcb_event_CFLAGS xcb_event_LIBS x11_xcb_CFLAGS x11_xcb_LIBS' # 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' runstatedir='${localstatedir}/run' 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 ;; -runstatedir | --runstatedir | --runstatedi | --runstated \ | --runstate | --runstat | --runsta | --runst | --runs \ | --run | --ru | --r) ac_prev=runstatedir ;; -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ | --run=* | --ru=* | --r=*) runstatedir=$ac_optarg ;; -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 runstatedir 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.44 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] --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --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.44:";; 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 PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path XMKMF Path to xmkmf, Makefile generator for X Window System CXXCPP C++ preprocessor FREETYPE_CFLAGS C compiler flags for FREETYPE, overriding pkg-config FREETYPE_LIBS linker flags for FREETYPE, overriding pkg-config XFT_CFLAGS C compiler flags for XFT, overriding pkg-config XFT_LIBS linker flags for XFT, overriding pkg-config xcb_CFLAGS C compiler flags for xcb, overriding pkg-config xcb_LIBS linker flags for xcb, overriding pkg-config xcb_aux_CFLAGS C compiler flags for xcb_aux, overriding pkg-config xcb_aux_LIBS linker flags for xcb_aux, overriding pkg-config xcb_event_CFLAGS C compiler flags for xcb_event, overriding pkg-config xcb_event_LIBS linker flags for xcb_event, overriding pkg-config x11_xcb_CFLAGS C compiler flags for x11_xcb, overriding pkg-config x11_xcb_LIBS linker flags for x11_xcb, overriding pkg-config 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.44 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.44, 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.16' 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.44' 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" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 $as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } cat > confinc.mk << 'END' am__doit: @echo this is the am__doit target >confinc.out .PHONY: am__doit END am__include="#" am__quote= # BSD make does it like this. echo '.include "confinc.mk" # ignored' > confmf.BSD # Other make implementations (GNU, Solaris 10, AIX) do it like this. echo 'include confinc.mk # ignored' > confmf.GNU _am_result=no for s in GNU BSD; do { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } case $?:`cat confinc.out 2>/dev/null` in #( '0:this is the am__doit target') : case $s in #( BSD) : am__include='.include' am__quote='"' ;; #( *) : am__include='include' am__quote='' ;; esac ;; #( *) : ;; esac if test "$am__include" != "#"; then _am_result="yes ($s style)" break fi done rm -f confinc.* confmf.* { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 $as_echo "${_am_result}" >&6; } # 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 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; 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_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # 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_PKG_CONFIG="$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 PKG_CONFIG=$ac_cv_path_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 fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; 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_ac_pt_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # 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_ac_pt_PKG_CONFIG="$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 ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" 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 PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; 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" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi 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); free (data); free (data3); 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 pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FREETYPE" >&5 $as_echo_n "checking for FREETYPE... " >&6; } if test -n "$FREETYPE_CFLAGS"; then pkg_cv_FREETYPE_CFLAGS="$FREETYPE_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2\""; } >&5 ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$FREETYPE_LIBS"; then pkg_cv_FREETYPE_LIBS="$FREETYPE_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2\""; } >&5 ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then FREETYPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "freetype2" 2>&1` else FREETYPE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "freetype2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$FREETYPE_PKG_ERRORS" >&5 as_fn_error $? "\"freetype not found\"" "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "\"freetype not found\"" "$LINENO" 5 else FREETYPE_CFLAGS=$pkg_cv_FREETYPE_CFLAGS FREETYPE_LIBS=$pkg_cv_FREETYPE_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } freetype_cflags="$FREETYPE_CFLAGS" freetype_libs="$FREETYPE_LIBS" LIBS="$LIBS $freetype_libs" CPPFLAGS="$freetype_cflags $CPPFLAGS" 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 xft-config is deprecated and pkg-config should be used instead pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XFT" >&5 $as_echo_n "checking for XFT... " >&6; } if test -n "$XFT_CFLAGS"; then pkg_cv_XFT_CFLAGS="$XFT_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xft\""; } >&5 ($PKG_CONFIG --exists --print-errors "xft") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_XFT_CFLAGS=`$PKG_CONFIG --cflags "xft" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$XFT_LIBS"; then pkg_cv_XFT_LIBS="$XFT_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xft\""; } >&5 ($PKG_CONFIG --exists --print-errors "xft") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_XFT_LIBS=`$PKG_CONFIG --libs "xft" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then XFT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xft" 2>&1` else XFT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xft" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XFT_PKG_ERRORS" >&5 as_fn_error $? "\"Xft not found\"" "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "\"Xft not found\"" "$LINENO" 5 else XFT_CFLAGS=$pkg_cv_XFT_CFLAGS XFT_LIBS=$pkg_cv_XFT_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } xft_cflags="$XFT_CFLAGS" xft_libs="$XFT_LIBS" 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 # Check for xcb libs pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xcb" >&5 $as_echo_n "checking for xcb... " >&6; } if test -n "$xcb_CFLAGS"; then pkg_cv_xcb_CFLAGS="$xcb_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb >= 1.6\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb >= 1.6") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_xcb_CFLAGS=`$PKG_CONFIG --cflags "xcb >= 1.6" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$xcb_LIBS"; then pkg_cv_xcb_LIBS="$xcb_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb >= 1.6\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb >= 1.6") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_xcb_LIBS=`$PKG_CONFIG --libs "xcb >= 1.6" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then xcb_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb >= 1.6" 2>&1` else xcb_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb >= 1.6" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$xcb_PKG_ERRORS" >&5 as_fn_error $? "Cannot find xcb" "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "Cannot find xcb" "$LINENO" 5 else xcb_CFLAGS=$pkg_cv_xcb_CFLAGS xcb_LIBS=$pkg_cv_xcb_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xcb_aux" >&5 $as_echo_n "checking for xcb_aux... " >&6; } if test -n "$xcb_aux_CFLAGS"; then pkg_cv_xcb_aux_CFLAGS="$xcb_aux_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-aux\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-aux") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_xcb_aux_CFLAGS=`$PKG_CONFIG --cflags "xcb-aux" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$xcb_aux_LIBS"; then pkg_cv_xcb_aux_LIBS="$xcb_aux_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-aux\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-aux") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_xcb_aux_LIBS=`$PKG_CONFIG --libs "xcb-aux" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then xcb_aux_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-aux" 2>&1` else xcb_aux_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-aux" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$xcb_aux_PKG_ERRORS" >&5 as_fn_error $? "Cannot find xcb-aux" "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "Cannot find xcb-aux" "$LINENO" 5 else xcb_aux_CFLAGS=$pkg_cv_xcb_aux_CFLAGS xcb_aux_LIBS=$pkg_cv_xcb_aux_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xcb_event" >&5 $as_echo_n "checking for xcb_event... " >&6; } if test -n "$xcb_event_CFLAGS"; then pkg_cv_xcb_event_CFLAGS="$xcb_event_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-event\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-event") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_xcb_event_CFLAGS=`$PKG_CONFIG --cflags "xcb-event" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$xcb_event_LIBS"; then pkg_cv_xcb_event_LIBS="$xcb_event_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-event\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-event") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_xcb_event_LIBS=`$PKG_CONFIG --libs "xcb-event" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then xcb_event_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-event" 2>&1` else xcb_event_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-event" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$xcb_event_PKG_ERRORS" >&5 as_fn_error $? "Cannot find xcb-event" "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "Cannot find xcb-event" "$LINENO" 5 else xcb_event_CFLAGS=$pkg_cv_xcb_event_CFLAGS xcb_event_LIBS=$pkg_cv_xcb_event_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for x11_xcb" >&5 $as_echo_n "checking for x11_xcb... " >&6; } if test -n "$x11_xcb_CFLAGS"; then pkg_cv_x11_xcb_CFLAGS="$x11_xcb_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb\""; } >&5 ($PKG_CONFIG --exists --print-errors "x11-xcb") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_x11_xcb_CFLAGS=`$PKG_CONFIG --cflags "x11-xcb" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$x11_xcb_LIBS"; then pkg_cv_x11_xcb_LIBS="$x11_xcb_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb\""; } >&5 ($PKG_CONFIG --exists --print-errors "x11-xcb") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_x11_xcb_LIBS=`$PKG_CONFIG --libs "x11-xcb" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then x11_xcb_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "x11-xcb" 2>&1` else x11_xcb_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "x11-xcb" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$x11_xcb_PKG_ERRORS" >&5 as_fn_error $? "Cannot find x11-xcb" "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "Cannot find x11-xcb" "$LINENO" 5 else x11_xcb_CFLAGS=$pkg_cv_x11_xcb_CFLAGS x11_xcb_LIBS=$pkg_cv_x11_xcb_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi LIBS="$LIBS $xcb_LIBS $xcb_aux_LIBS $x11_xcb_LIBS" 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/gnome-theme/Makefile icons/default-theme/Makefile icons/xfce-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.44, 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.44 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" MAKE="${MAKE-make}" # 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/gnome-theme/Makefile") CONFIG_FILES="$CONFIG_FILES icons/gnome-theme/Makefile" ;; "icons/default-theme/Makefile") CONFIG_FILES="$CONFIG_FILES icons/default-theme/Makefile" ;; "icons/xfce-theme/Makefile") CONFIG_FILES="$CONFIG_FILES icons/xfce-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. # TODO: see whether this extra hack can be removed once we start # requiring Autoconf 2.70 or later. case $CONFIG_FILES in #( *\'*) : eval set x "$CONFIG_FILES" ;; #( *) : set x $CONFIG_FILES ;; #( *) : ;; esac shift # Used to flag and report bootstrapping failures. am_rc=0 for am_mf do # Strip MF so we end up with the name of the file. am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile which includes # dependency-tracking related rules and includes. # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ || continue am_dirpart=`$as_dirname -- "$am_mf" || $as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$am_mf" : 'X\(//\)[^/]' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$am_mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` am_filepart=`$as_basename -- "$am_mf" || $as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$am_mf" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` { echo "$as_me:$LINENO: cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles" >&5 (cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } || am_rc=$? done if test $am_rc -ne 0; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "Something went wrong bootstrapping makefile fragments for automatic dependency tracking. Try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). See \`config.log' for more details" "$LINENO" 5; } fi { am_dirpart=; unset am_dirpart;} { am_filepart=; unset am_filepart;} { am_mf=; unset am_mf;} { am_rc=; unset am_rc;} rm -f conftest-deps.mk } ;; "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.44/Makefile.am0000644000200300020030000000167013501733230011162 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.44/xfi.desktop.in.in0000644000200300020030000000042113501733230012312 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.44/m4/0000755000200300020030000000000014023353055007525 500000000000000xfe-1.44/m4/lib-prefix.m40000644000200300020030000001503613501733230011752 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.44/m4/glibc2.m40000644000200300020030000000135413501733230011051 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.44/m4/nls.m40000644000200300020030000000226613501733230010506 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.44/m4/intl.m40000644000200300020030000002333013501733230010653 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.44/m4/Makefile.in0000644000200300020030000003512213655740040011521 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 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@ FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ FREETYPE_LIBS = @FREETYPE_LIBS@ 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@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ 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@ XFT_CFLAGS = @XFT_CFLAGS@ XFT_LIBS = @XFT_LIBS@ 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@ 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@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ 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@ x11_xcb_CFLAGS = @x11_xcb_CFLAGS@ x11_xcb_LIBS = @x11_xcb_LIBS@ xcb_CFLAGS = @xcb_CFLAGS@ xcb_LIBS = @xcb_LIBS@ xcb_aux_CFLAGS = @xcb_aux_CFLAGS@ xcb_aux_LIBS = @xcb_aux_LIBS@ xcb_event_CFLAGS = @xcb_event_CFLAGS@ xcb_event_LIBS = @xcb_event_LIBS@ 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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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.44/m4/uintmax_t.m40000644000200300020030000000207613501733230011721 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.44/m4/gettext.m40000644000200300020030000003773213501733230011404 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.44/m4/po.m40000644000200300020030000004336713501733230010337 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" <&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.44/m4/stdint_h.m40000644000200300020030000000161413501733230011522 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.44/m4/Makefile.am0000644000200300020030000000060513501733230011477 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.44/m4/codeset.m40000644000200300020030000000136613501733230011340 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.44/m4/size_max.m40000644000200300020030000000461013501733230011524 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.44/m4/longdouble.m40000644000200300020030000000227713501733230012046 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.44/m4/lib-link.m40000644000200300020030000006424413501733230011417 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.44/m4/visibility.m40000644000200300020030000000413013501733230012071 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.44/m4/printf-posix.m40000644000200300020030000000266113501733230012353 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.44/m4/progtest.m40000644000200300020030000000555013501733230011560 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.44/m4/inttypes-pri.m40000644000200300020030000000215213501733230012353 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.44/m4/glibc21.m40000644000200300020030000000144513501733230011133 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.44/m4/intldir.m40000644000200300020030000000161613501733230011355 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.44/m4/wint_t.m40000644000200300020030000000130413501733230011206 00000000000000# wint_t.m4 serial 1 (gettext-0.12) 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 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.44/m4/xsize.m40000644000200300020030000000064513501733230011053 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.44/m4/lcmessage.m40000644000200300020030000000240413501733230011647 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.44/m4/isc-posix.m40000644000200300020030000000170613501733230011626 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.44/m4/ulonglong.m40000644000200300020030000000353213501733230011713 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.44/m4/longlong.m40000644000200300020030000000327413501733230011531 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.44/m4/intdiv0.m40000644000200300020030000000334013501733230011261 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.44/m4/lock.m40000644000200300020030000002770513501733230010647 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.44/m4/iconv.m40000644000200300020030000000642613501733230011032 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.44/m4/intmax.m40000644000200300020030000000201113501733230011176 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.44/m4/inttypes.m40000644000200300020030000000147213501733230011567 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.44/m4/wchar_t.m40000644000200300020030000000132613501733230011335 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.44/m4/signed.m40000644000200300020030000000115413501733230011156 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.44/m4/ChangeLog0000644000200300020030000000717513501733230011226 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.44/m4/inttypes_h.m40000644000200300020030000000164413501733230012077 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.44/aclocal.m40000644000200300020030000020000513655734744011004 00000000000000# generated automatically by aclocal 1.16.1 -*- Autoconf -*- # Copyright (C) 1996-2018 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], ...) dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- dnl serial 11 (pkg-config-0.29.1) dnl dnl Copyright © 2004 Scott James Remnant . dnl Copyright © 2012-2015 Dan Nicholson dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, but dnl WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU dnl General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA dnl 02111-1307, USA. dnl dnl As a special exception to the GNU General Public License, if you dnl distribute this file as part of a program that contains a dnl configuration script generated by Autoconf, you may include it under dnl the same distribution terms that you use for the rest of that dnl program. dnl PKG_PREREQ(MIN-VERSION) dnl ----------------------- dnl Since: 0.29 dnl dnl Verify that the version of the pkg-config macros are at least dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's dnl installed version of pkg-config, this checks the developer's version dnl of pkg.m4 when generating configure. dnl dnl To ensure that this macro is defined, also add: dnl m4_ifndef([PKG_PREREQ], dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) dnl dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], [m4_define([PKG_MACROS_VERSION], [0.29.1]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ dnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) dnl ---------------------------------- dnl Since: 0.16 dnl dnl Search for the pkg-config tool and set the PKG_CONFIG variable to dnl first found in the path. Checks that the version of pkg-config found dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is dnl used since that's the first version where most current features of dnl pkg-config existed. AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])dnl PKG_PROG_PKG_CONFIG dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) dnl ------------------------------------------------------------------- dnl Since: 0.18 dnl dnl Check to see whether a particular set of modules exists. Similar to dnl PKG_CHECK_MODULES(), but does not set variables or print errors. dnl dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) dnl only at the first occurence in configure.ac, so if the first place dnl it's called might be skipped (such as if it is within an "if", you dnl have to call PKG_CHECK_EXISTS manually AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) dnl --------------------------------------------- dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting dnl pkg_failed based on the result. m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])dnl _PKG_CONFIG dnl _PKG_SHORT_ERRORS_SUPPORTED dnl --------------------------- dnl Internal check to see if pkg-config supports short errors. AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])dnl _PKG_SHORT_ERRORS_SUPPORTED dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], dnl [ACTION-IF-NOT-FOUND]) dnl -------------------------------------------------------------- dnl Since: 0.4.0 dnl dnl Note that if there is a possibility the first call to dnl PKG_CHECK_MODULES might not happen, you should be sure to include an dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])[]dnl ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])dnl PKG_CHECK_MODULES dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], dnl [ACTION-IF-NOT-FOUND]) dnl --------------------------------------------------------------------- dnl Since: 0.29 dnl dnl Checks for existence of MODULES and gathers its build flags with dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags dnl and VARIABLE-PREFIX_LIBS from --libs. dnl dnl Note that if there is a possibility the first call to dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to dnl include an explicit call to PKG_PROG_PKG_CONFIG in your dnl configure.ac. AC_DEFUN([PKG_CHECK_MODULES_STATIC], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl _save_PKG_CONFIG=$PKG_CONFIG PKG_CONFIG="$PKG_CONFIG --static" PKG_CHECK_MODULES($@) PKG_CONFIG=$_save_PKG_CONFIG[]dnl ])dnl PKG_CHECK_MODULES_STATIC dnl PKG_INSTALLDIR([DIRECTORY]) dnl ------------------------- dnl Since: 0.27 dnl dnl Substitutes the variable pkgconfigdir as the location where a module dnl should install pkg-config .pc files. By default the directory is dnl $libdir/pkgconfig, but the default can be changed by passing dnl DIRECTORY. The user can override through the --with-pkgconfigdir dnl parameter. AC_DEFUN([PKG_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([pkgconfigdir], [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, [with_pkgconfigdir=]pkg_default) AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ])dnl PKG_INSTALLDIR dnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) dnl -------------------------------- dnl Since: 0.27 dnl dnl Substitutes the variable noarch_pkgconfigdir as the location where a dnl module should install arch-independent pkg-config .pc files. By dnl default the directory is $datadir/pkgconfig, but the default can be dnl changed by passing DIRECTORY. The user can override through the dnl --with-noarch-pkgconfigdir parameter. AC_DEFUN([PKG_NOARCH_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([noarch-pkgconfigdir], [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, [with_noarch_pkgconfigdir=]pkg_default) AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ])dnl PKG_NOARCH_INSTALLDIR dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) dnl ------------------------------------------- dnl Since: 0.28 dnl dnl Retrieves the value of the pkg-config variable for the given module. AC_DEFUN([PKG_CHECK_VAR], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl _PKG_CONFIG([$1], [variable="][$3]["], [$2]) AS_VAR_COPY([$1], [pkg_cv_][$1]) AS_VAR_IF([$1], [""], [$5], [$4])dnl ])dnl PKG_CHECK_VAR # Copyright (C) 2002-2018 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.16' 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.16.1], [], [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.16.1])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-2018 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-2018 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-2018 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-2018 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. # TODO: see whether this extra hack can be removed once we start # requiring Autoconf 2.70 or later. AS_CASE([$CONFIG_FILES], [*\'*], [eval set x "$CONFIG_FILES"], [*], [set x $CONFIG_FILES]) shift # Used to flag and report bootstrapping failures. am_rc=0 for am_mf do # Strip MF so we end up with the name of the file. am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile which includes # dependency-tracking related rules and includes. # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ || continue am_dirpart=`AS_DIRNAME(["$am_mf"])` am_filepart=`AS_BASENAME(["$am_mf"])` AM_RUN_LOG([cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles]) || am_rc=$? done if test $am_rc -ne 0; then AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments for automatic dependency tracking. Try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking).]) fi AS_UNSET([am_dirpart]) AS_UNSET([am_filepart]) AS_UNSET([am_mf]) AS_UNSET([am_rc]) rm -f conftest-deps.mk } ])# _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. # This creates each '.Po' and '.Plo' makefile fragment that we'll 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" MAKE="${MAKE-make}"])]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2018 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-2018 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-2018 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-2018 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 whether make has an 'include' directive that can support all # the idioms we need for our automatic dependency tracking code. AC_DEFUN([AM_MAKE_INCLUDE], [AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) cat > confinc.mk << 'END' am__doit: @echo this is the am__doit target >confinc.out .PHONY: am__doit END am__include="#" am__quote= # BSD make does it like this. echo '.include "confinc.mk" # ignored' > confmf.BSD # Other make implementations (GNU, Solaris 10, AIX) do it like this. echo 'include confinc.mk # ignored' > confmf.GNU _am_result=no for s in GNU BSD; do AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) AS_CASE([$?:`cat confinc.out 2>/dev/null`], ['0:this is the am__doit target'], [AS_CASE([$s], [BSD], [am__include='.include' am__quote='"'], [am__include='include' am__quote=''])]) if test "$am__include" != "#"; then _am_result="yes ($s style)" break fi done rm -f confinc.* confmf.* AC_MSG_RESULT([${_am_result}]) AC_SUBST([am__include])]) AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2018 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-2018 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-2018 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-2018 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-2018 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-2018 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-2018 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-2018 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-2018 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-2018 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-2018 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.44/xfe.xpm0000644000200300020030000002134313501733230010435 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.44/mkinstalldirs0000755000200300020030000000662213501733230011736 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.44/config.rpath0000755000200300020030000004443513654744351011463 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-2014 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 _LT_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; mingw* | cygwin* | pw32* | os2* | cegcc*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in ecc*) wl='-Wl,' ;; icc* | ifort*) wl='-Wl,' ;; lf95*) wl='-Wl,' ;; nagfor*) wl='-Wl,-Wl,,' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; xl* | bgxl* | bgf* | mpixl*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ F* | *Sun*Fortran*) wl= ;; *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; newsos6) ;; *nto* | *qnx*) ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) wl='-Qoption ld ' ;; *) wl='-Wl,' ;; esac ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3*) wl='-Wl,' ;; sysv4*MP*) ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) wl='-Wl,' ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's _LT_LINKER_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32* | cegcc*) # 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 aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) case "$host_cpu" in powerpc) ;; m68k) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # 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 ;; haiku*) ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) 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 ;; aix[4-9]*) 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].*|aix[5-9]*) 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 : 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*) case "$host_cpu" in powerpc) ;; m68k) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) ;; cygwin* | mingw* | pw32* | cegcc*) # 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 { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then : else ld_shlibs=no fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | 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=: ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then 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 else ld_shlibs=no 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* | sco3.2v5.0.[024]*) ;; 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 _LT_SYS_DYNAMIC_LINKER. # Unlike libtool.m4, here we don't care about _all_ names of the library, but # only about the one the linker finds when passed -lNAME. This is the last # element of library_names_spec in libtool.m4, or possibly two of them if the # linker has special search rules. library_names_spec= # the last element of library_names_spec in libtool.m4 libname_spec='lib$name' case "$host_os" in aix3*) library_names_spec='$libname.a' ;; aix[4-9]*) library_names_spec='$libname$shrext' ;; amigaos*) case "$host_cpu" in powerpc*) library_names_spec='$libname$shrext' ;; m68k) library_names_spec='$libname.a' ;; esac ;; beos*) library_names_spec='$libname$shrext' ;; bsdi[45]*) library_names_spec='$libname$shrext' ;; cygwin* | mingw* | pw32* | cegcc*) shrext=.dll library_names_spec='$libname.dll.a $libname.lib' ;; darwin* | rhapsody*) shrext=.dylib library_names_spec='$libname$shrext' ;; dgux*) library_names_spec='$libname$shrext' ;; freebsd* | dragonfly*) case "$host_os" in freebsd[123]*) library_names_spec='$libname$shrext$versuffix' ;; *) library_names_spec='$libname$shrext' ;; esac ;; gnu*) library_names_spec='$libname$shrext' ;; haiku*) library_names_spec='$libname$shrext' ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac library_names_spec='$libname$shrext' ;; interix[3-9]*) library_names_spec='$libname$shrext' ;; irix5* | irix6* | nonstopux*) library_names_spec='$libname$shrext' 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* | k*bsd*-gnu | kopensolaris*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) library_names_spec='$libname$shrext' ;; netbsd*) library_names_spec='$libname$shrext' ;; newsos6) library_names_spec='$libname$shrext' ;; *nto* | *qnx*) library_names_spec='$libname$shrext' ;; openbsd*) library_names_spec='$libname$shrext$versuffix' ;; os2*) libname_spec='$name' shrext=.dll library_names_spec='$libname.a' ;; osf3* | osf4* | osf5*) library_names_spec='$libname$shrext' ;; rdos*) ;; solaris*) library_names_spec='$libname$shrext' ;; sunos4*) library_names_spec='$libname$shrext$versuffix' ;; sysv4 | sysv4.3*) library_names_spec='$libname$shrext' ;; sysv4*MP*) library_names_spec='$libname$shrext' ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; tpf*) library_names_spec='$libname$shrext' ;; uts4*) library_names_spec='$libname$shrext' ;; 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_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` 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=/' <= 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.44/autogen.sh0000755000200300020030000000017213501733230011123 00000000000000#! /bin/sh # Regeneration of autoconf / automake files rm -f config.cache rm -f config.log aclocal autoconf automake -a xfe-1.44/COPYING0000644000200300020030000004310513501733230010160 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.44/ltmain.sh0000644000200300020030000054016313501733230010753 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.44/xferc.in0000644000200300020030000004732513655737755010626 00000000000000# # Xfe default settings # Version : 05/01/2015 # # These settings are overridden in ~/.config/xfe/xferc # [SETTINGS] # # Where to search for icons # iconpath = @prefix@/share/xfe/icons/default-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 ~/.config/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;;" m4v = ",,;M4V 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.44/src/0000755000200300020030000000000014023353056007775 500000000000000xfe-1.44/src/BrowseInputDialog.cpp0000644000200300020030000001416013501734737014035 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 + FXString(" "), 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.44/src/xfeutils.h0000644000200300020030000003430313655741145011746 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 != NULL && 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 != NULL && 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)); } FXlong GetAvailableSpace(const FXString&); 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&, const FXbool); FXlong deltime(FXString); int isEmptyDir(const FXString); int hasSubDirs(const FXString); FXbool existFile(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.44/src/FilePanel.h0000644000200300020030000003776513501733230011743 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.44/src/OverwriteBox.h0000644000200300020030000000244713501733230012530 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.44/src/BrowseInputDialog.h0000644000200300020030000000244313501733230013466 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.44/src/DialogBox.h0000644000200300020030000000243713501733230011740 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.44/src/Preferences.cpp0000644000200300020030000027453414023200006012663 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_SCROLLBARSIZE, PreferencesBox::onCmdScrollBarSize), 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_SCROLLBARSIZE, PreferencesBox::onUpdScrollBarSize), FXMAPFUNC(SEL_UPDATE, PreferencesBox::ID_SINGLE_CLICK_FILEOPEN, PreferencesBox::onUpdSingleClickFileopen), FXMAPFUNC(SEL_UPDATE, PreferencesBox::ID_EXEC_TEXT_FILES, PreferencesBox::onUpdExecTextFiles), 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("GNOME", 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("KDE", 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("XFCE", 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)); // 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)") + FXString(" ")); trashbypass = new FXCheckButton(group, _("Include a command to bypass the trash can (permanent delete)") + FXString(" "), this, ID_TRASH_BYPASS); autosave = new FXCheckButton(group, _("Auto save layout") + FXString(" ")); savewinpos = new FXCheckButton(group, _("Save window position") + FXString(" ")); diropen = new FXCheckButton(group, _("Single click folder open") + FXString(" ")); fileopen = new FXCheckButton(group, _("Single click file open") + FXString(" "), this, ID_SINGLE_CLICK_FILEOPEN); filetooltips = new FXCheckButton(group, _("Display tooltips in file and folder lists") + FXString(" "), this, ID_FILE_TOOLTIPS); relativeresize = new FXCheckButton(group, _("Relative resizing of file lists") + FXString(" "), this, ID_RELATIVE_RESIZE); showpathlink = new FXCheckButton(group, _("Display a path linker above file lists") + FXString(" "), this, ID_SHOW_PATHLINK); #ifdef STARTUP_NOTIFICATION usesn = new FXCheckButton(group, _("Notify when applications start up") + FXString(" ")); #endif noscript = new FXCheckButton(group, _("Don't execute text files") + FXString(" ")); 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); // Second tab - Modes 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") + FXString(" "), this, PreferencesBox::ID_START_HOMEDIR); new FXRadioButton(group, _("Start in current folder") + FXString(" "), this, PreferencesBox::ID_START_CURRENTDIR); new FXRadioButton(group, _("Start in last visited folder") + FXString(" "), this, PreferencesBox::ID_START_LASTDIR); group = new FXGroupBox(modes, _("Scrolling mode"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); matrix = new FXMatrix(group, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP); scroll = new FXCheckButton(matrix, _("Smooth scrolling in file lists and text windows") + FXString(" ")); FXbool smoothscroll = getApp()->reg().readUnsignedEntry("SETTINGS", "smooth_scroll", true); scroll->setCheck(smoothscroll); new FXLabel(matrix, "", NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); 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); new FXLabel(matrix, _("Scrollbar width:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); spinner = new FXSpinner(matrix, 3, this, PreferencesBox::ID_SCROLLBARSIZE, JUSTIFY_RIGHT|LAYOUT_FILL_X|LAYOUT_FILL_ROW, 0, 0, 0, 0, 2, 2, 1, 1); spinner->setRange(1, 100); rootgroup = new FXGroupBox(modes, _("Root mode"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); rootmode = new FXCheckButton(rootgroup, _("Allow root mode") + FXString(" ")); FXRadioButton* sudobutton = new FXRadioButton(rootgroup, _("Authentication using sudo (uses user password)") + FXString(" "), this, ID_SUDO_CMD); FXRadioButton* subutton = new FXRadioButton(rootgroup, _("Authentication using su (uses root password)") + FXString(" "), this, ID_SU_CMD); // Su et sudo commands matrix = new FXMatrix(rootgroup, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); sudolabel = new FXLabel(matrix, _("sudo command:"), NULL, JUSTIFY_LEFT); sudocmd = new FXTextField(matrix, 40, NULL, 0, FRAME_THICK|FRAME_SUNKEN); sulabel = new FXLabel(matrix, _("su command:"), NULL, JUSTIFY_LEFT); sucmd = new FXTextField(matrix, 40, NULL, 0, FRAME_THICK|FRAME_SUNKEN); FXString sudo_cmd = getApp()->reg().readStringEntry("OPTIONS", "sudo_cmd", DEFAULT_SUDO_CMD); FXString su_cmd = getApp()->reg().readStringEntry("OPTIONS", "su_cmd", DEFAULT_SU_CMD); sudocmd->setText(sudo_cmd); sucmd->setText(su_cmd); sudocmd_prev = sudo_cmd; sucmd_prev = su_cmd; FXbool root_mode = getApp()->reg().readUnsignedEntry("OPTIONS", "root_mode", true); rootmode->setCheck(root_mode); // User is root if (getuid() == 0) { rootgroup->disable(); rootmode->disable(); subutton->disable(); sudobutton->disable(); sulabel->disable(); sucmd->hide(); sudolabel->disable(); sudocmd->hide(); } use_sudo = getApp()->reg().readUnsignedEntry("OPTIONS", "use_sudo", true); 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); 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 filetooltips->setCheck(file_tooltips); // Relative resizing relativeresize->setCheck(relative_resize); // Display path linker show_pathlink = getApp()->reg().readUnsignedEntry("SETTINGS", "show_pathlinker", true); showpathlink->setCheck(show_pathlink); #ifdef STARTUP_NOTIFICATION FXbool use_sn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); usesn->setCheck(use_sn); #endif // Do not run script files FXbool no_script = getApp()->reg().readUnsignedEntry("OPTIONS", "no_script", false); noscript->setCheck(no_script); // Third 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") + FXString(" ")); dnd = new FXCheckButton(group, _("Confirm drag and drop") + FXString(" ")); trashmv = new FXCheckButton(group, _("Confirm move to trash/restore from trash") + FXString(" "), this, ID_CONFIRM_TRASH); del = new FXCheckButton(group, _("Confirm delete") + FXString(" ")); del_emptydir = new FXCheckButton(group, _("Confirm delete non empty folders") + FXString(" "), this, ID_CONFIRM_DEL_EMPTYDIR); overwrite = new FXCheckButton(group, _("Confirm overwrite") + FXString(" ")); exec = new FXCheckButton(group, _("Confirm execute text files") + FXString(" "), this, ID_EXEC_TEXT_FILES); properties = new FXCheckButton(group, _("Confirm change properties") + FXString(" ")); 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") + FXString(" ")); #if defined(linux) mount = new FXCheckButton(group, _("Warn when mount points are not responding") + FXString(" ")); show_mount = new FXCheckButton(group, _("Display mount / unmount success messages") + FXString(" ")); #endif preserve_date_warning = new FXCheckButton(group, _("Warn when date preservation failed") + FXString(" ")); root_warning = new FXCheckButton(group, _("Warn if running as root") + FXString(" ")); 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); // User is non root if (getuid()) { root_warning->disable(); } else { root_warning->setCheck(root_warn); } // Fourth 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); // Fifth tab - Appearance new FXTabItem(tabbook, _("&Appearance"), 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); // Monitor resolution FXGroupBox* ui = new FXGroupBox(visual, _("Screen resolution"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); matrix = new FXMatrix(ui, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP); new FXLabel(matrix, _("DPI:") + FXString(" "), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); spindpi = new FXSpinner(matrix, 4, this, ID_UIDPI, JUSTIFY_RIGHT|LAYOUT_FILL_X|LAYOUT_FILL_ROW, 0, 0, 0, 0, 2, 2, 1, 1); spindpi->setRange(60, 800); uidpi = getApp()->reg().readUnsignedEntry("SETTINGS", "screenres", 100); spindpi->setValue(uidpi); uidpi_prev = uidpi; // 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)") + FXString(" "), this, ID_STANDARD_CONTROLS); new FXRadioButton(button, _("Clearlooks (modern looking controls)") + FXString(" "), 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); // Sixth 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); // Seventh 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; wheellines_prev = 0; scrollbarsize_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_prev = false; rootmode_prev = false; #ifdef STARTUP_NOTIFICATION usesn_prev = false; #endif noscript_prev = false; #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_smoothscroll = false; FXbool restart_scrollbarsize = false; FXbool restart_pathlink = false; FXbool restart_controls = false; FXbool restart_normalfont = false; FXbool restart_textfont = false; FXbool restart_uidpi = 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()); getApp()->reg().writeStringEntry("OPTIONS", "sudo_cmd", sudocmd->getText().text()); getApp()->reg().writeStringEntry("OPTIONS", "su_cmd", sucmd->getText().text()); #ifdef STARTUP_NOTIFICATION getApp()->reg().writeUnsignedEntry("OPTIONS", "use_startup_notification", usesn->getCheck()); #endif getApp()->reg().writeUnsignedEntry("OPTIONS", "no_script", noscript->getCheck()); #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_smoothscroll = true; } // Scrollbar size if (getApp()->getScrollBarSize() != scrollbarsize_prev) { getApp()->reg().write(); restart_scrollbarsize = 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; } // UI DPI uidpi = spindpi->getValue(); if (uidpi != uidpi_prev) { getApp()->reg().writeUnsignedEntry("SETTINGS", "screenres", uidpi); getApp()->reg().write(); restart_uidpi = true; } // Restart application if necessary if (restart_smoothscroll | restart_scrollbarsize|restart_theme|restart_pathlink|restart_controls|restart_normalfont|restart_textfont|restart_uidpi) { if (BOX_CLICKED_CANCEL != MessageBox::question(this, BOX_OK_CANCEL, _("Restart"), _("Preferences 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 - General 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); #ifdef STARTUP_NOTIFICATION usesn->setCheck(usesn_prev); #endif noscript->setCheck(noscript_prev); timeformat->setText(oldtimeformat); // Second tab - Modes startdirmode = oldstartdirmode; scroll->setCheck(smoothscroll_prev); getApp()->setWheelLines(wheellines_prev); getApp()->setScrollBarSize(scrollbarsize_prev); rootmode->setCheck(rootmode_prev); use_sudo = use_sudo_prev; getApp()->reg().writeUnsignedEntry("OPTIONS", "use_sudo", use_sudo); sudocmd->setText(sudocmd_prev); sucmd->setText(sucmd_prev); // Third 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); // Fourth 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); // Fifth 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); spindpi->setValue(uidpi_prev); // Sixth 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(); #ifdef STARTUP_NOTIFICATION usesn_prev = usesn->getCheck(); #endif noscript_prev = noscript->getCheck(); // Second tab - Modes wheellines_prev = getApp()->getWheelLines(); scrollbarsize_prev = getApp()->getScrollBarSize(); use_sudo_prev = use_sudo; smoothscroll_prev = scroll->getCheck(); rootmode_prev = rootmode->getCheck(); sudocmd_prev = sudocmd->getText(); sucmd_prev = sucmd->getText(); // Third 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(); // Fourth 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(); // Fifth tab - Visual themelist_prev = themesList->getCurrentItem(); currTheme_prev = currTheme; oldiconpath = iconpath->getText(); use_clearlooks_prev = use_clearlooks; // Sixth 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); sudolabel->disable(); sudocmd->hide(); sulabel->disable(); sucmd->hide(); } else { // Non root user if (getuid()) { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), NULL); sudolabel->enable(); sudocmd->show(); sulabel->enable(); sucmd->show(); } 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); } // Set scrollbar size long PreferencesBox::onCmdScrollBarSize(FXObject* sender, FXSelector, void*) { FXuint value; sender->handle(this, FXSEL(SEL_COMMAND, ID_GETINTVALUE), (void*)&value); getApp()->setScrollBarSize(value); getApp()->reg().write(); return(1); } // Update the scrollbar size button long PreferencesBox::onUpdScrollBarSize(FXObject* sender, FXSelector, void*) { FXuint value = getApp()->getScrollBarSize(); 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); } // Update exec text files button long PreferencesBox::onUpdExecTextFiles(FXObject* o, FXSelector, void*) { if (!noscript->getCheck()) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { 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); 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.44/src/Makefile.in0000644000200300020030000012663413655740040012001 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 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/x.c ../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/x.$(OBJEXT) ../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/x.c ../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/x.$(OBJEXT) ../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/x.c ../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/x.$(OBJEXT) ../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/x.c ../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/x.$(OBJEXT) ../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__maybe_remake_depfiles = depfiles am__depfiles_remade = ../libsn/$(DEPDIR)/sn-common.Po \ ../libsn/$(DEPDIR)/sn-launchee.Po \ ../libsn/$(DEPDIR)/sn-launcher.Po \ ../libsn/$(DEPDIR)/sn-list.Po ../libsn/$(DEPDIR)/sn-monitor.Po \ ../libsn/$(DEPDIR)/sn-util.Po \ ../libsn/$(DEPDIR)/sn-xmessages.Po \ ../libsn/$(DEPDIR)/sn-xutils.Po ../st/$(DEPDIR)/st.Po \ ../st/$(DEPDIR)/x.Po ./$(DEPDIR)/ArchInputDialog.Po \ ./$(DEPDIR)/Bookmarks.Po ./$(DEPDIR)/BrowseInputDialog.Po \ ./$(DEPDIR)/CommandWindow.Po ./$(DEPDIR)/DialogBox.Po \ ./$(DEPDIR)/DirHistBox.Po ./$(DEPDIR)/DirList.Po \ ./$(DEPDIR)/DirPanel.Po ./$(DEPDIR)/ExecuteBox.Po \ ./$(DEPDIR)/File.Po ./$(DEPDIR)/FileDialog.Po \ ./$(DEPDIR)/FileDict.Po ./$(DEPDIR)/FileList.Po \ ./$(DEPDIR)/FilePanel.Po ./$(DEPDIR)/FontDialog.Po \ ./$(DEPDIR)/HistInputDialog.Po ./$(DEPDIR)/IconList.Po \ ./$(DEPDIR)/InputDialog.Po ./$(DEPDIR)/Keybindings.Po \ ./$(DEPDIR)/KeybindingsDialog.Po ./$(DEPDIR)/MessageBox.Po \ ./$(DEPDIR)/OverwriteBox.Po ./$(DEPDIR)/PathLinker.Po \ ./$(DEPDIR)/Preferences.Po ./$(DEPDIR)/Properties.Po \ ./$(DEPDIR)/SearchPanel.Po ./$(DEPDIR)/SearchWindow.Po \ ./$(DEPDIR)/StringList.Po ./$(DEPDIR)/TextLabel.Po \ ./$(DEPDIR)/TextWindow.Po ./$(DEPDIR)/WriteWindow.Po \ ./$(DEPDIR)/XFileExplorer.Po ./$(DEPDIR)/XFileImage.Po \ ./$(DEPDIR)/XFilePackage.Po ./$(DEPDIR)/XFileWrite.Po \ ./$(DEPDIR)/icons.Po ./$(DEPDIR)/main.Po \ ./$(DEPDIR)/startupnotification.Po ./$(DEPDIR)/xfeutils.Po 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@ FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ FREETYPE_LIBS = @FREETYPE_LIBS@ 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@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ 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@ XFT_CFLAGS = @XFT_CFLAGS@ XFT_LIBS = @XFT_LIBS@ 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@ 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@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ 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@ x11_xcb_CFLAGS = @x11_xcb_CFLAGS@ x11_xcb_LIBS = @x11_xcb_LIBS@ xcb_CFLAGS = @xcb_CFLAGS@ xcb_LIBS = @xcb_LIBS@ xcb_aux_CFLAGS = @xcb_aux_CFLAGS@ xcb_aux_LIBS = @xcb_aux_LIBS@ xcb_event_CFLAGS = @xcb_event_CFLAGS@ xcb_event_LIBS = @xcb_event_LIBS@ xft_config = @xft_config@ AUTOMAKE_OPTIONS = subdir-objects xfe_SOURCES = ../st/x.c ../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/x.c ../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/x.c ../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/x.c ../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/arg.h \ ../st/config.h \ ../st/st.c \ ../st/st.h \ ../st/win.h \ ../st/x.c \ ../st/x.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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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/x.$(OBJEXT): ../st/$(am__dirstamp) \ ../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@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libsn/$(DEPDIR)/sn-launchee.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libsn/$(DEPDIR)/sn-launcher.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libsn/$(DEPDIR)/sn-list.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libsn/$(DEPDIR)/sn-monitor.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libsn/$(DEPDIR)/sn-util.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libsn/$(DEPDIR)/sn-xmessages.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libsn/$(DEPDIR)/sn-xutils.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../st/$(DEPDIR)/st.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../st/$(DEPDIR)/x.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ArchInputDialog.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Bookmarks.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BrowseInputDialog.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CommandWindow.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DialogBox.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DirHistBox.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DirList.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DirPanel.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ExecuteBox.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/File.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileDialog.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileDict.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileList.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FilePanel.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FontDialog.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HistInputDialog.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IconList.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InputDialog.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Keybindings.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/KeybindingsDialog.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MessageBox.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OverwriteBox.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PathLinker.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Preferences.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Properties.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SearchPanel.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SearchWindow.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StringList.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TextLabel.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TextWindow.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WriteWindow.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XFileExplorer.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XFileImage.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XFilePackage.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XFileWrite.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icons.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/startupnotification.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfeutils.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @echo '# dummy' >$@-t && $(am__mv) $@-t $@ am--depfiles: $(am__depfiles_remade) .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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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 -f ../libsn/$(DEPDIR)/sn-common.Po -rm -f ../libsn/$(DEPDIR)/sn-launchee.Po -rm -f ../libsn/$(DEPDIR)/sn-launcher.Po -rm -f ../libsn/$(DEPDIR)/sn-list.Po -rm -f ../libsn/$(DEPDIR)/sn-monitor.Po -rm -f ../libsn/$(DEPDIR)/sn-util.Po -rm -f ../libsn/$(DEPDIR)/sn-xmessages.Po -rm -f ../libsn/$(DEPDIR)/sn-xutils.Po -rm -f ../st/$(DEPDIR)/st.Po -rm -f ../st/$(DEPDIR)/x.Po -rm -f ./$(DEPDIR)/ArchInputDialog.Po -rm -f ./$(DEPDIR)/Bookmarks.Po -rm -f ./$(DEPDIR)/BrowseInputDialog.Po -rm -f ./$(DEPDIR)/CommandWindow.Po -rm -f ./$(DEPDIR)/DialogBox.Po -rm -f ./$(DEPDIR)/DirHistBox.Po -rm -f ./$(DEPDIR)/DirList.Po -rm -f ./$(DEPDIR)/DirPanel.Po -rm -f ./$(DEPDIR)/ExecuteBox.Po -rm -f ./$(DEPDIR)/File.Po -rm -f ./$(DEPDIR)/FileDialog.Po -rm -f ./$(DEPDIR)/FileDict.Po -rm -f ./$(DEPDIR)/FileList.Po -rm -f ./$(DEPDIR)/FilePanel.Po -rm -f ./$(DEPDIR)/FontDialog.Po -rm -f ./$(DEPDIR)/HistInputDialog.Po -rm -f ./$(DEPDIR)/IconList.Po -rm -f ./$(DEPDIR)/InputDialog.Po -rm -f ./$(DEPDIR)/Keybindings.Po -rm -f ./$(DEPDIR)/KeybindingsDialog.Po -rm -f ./$(DEPDIR)/MessageBox.Po -rm -f ./$(DEPDIR)/OverwriteBox.Po -rm -f ./$(DEPDIR)/PathLinker.Po -rm -f ./$(DEPDIR)/Preferences.Po -rm -f ./$(DEPDIR)/Properties.Po -rm -f ./$(DEPDIR)/SearchPanel.Po -rm -f ./$(DEPDIR)/SearchWindow.Po -rm -f ./$(DEPDIR)/StringList.Po -rm -f ./$(DEPDIR)/TextLabel.Po -rm -f ./$(DEPDIR)/TextWindow.Po -rm -f ./$(DEPDIR)/WriteWindow.Po -rm -f ./$(DEPDIR)/XFileExplorer.Po -rm -f ./$(DEPDIR)/XFileImage.Po -rm -f ./$(DEPDIR)/XFilePackage.Po -rm -f ./$(DEPDIR)/XFileWrite.Po -rm -f ./$(DEPDIR)/icons.Po -rm -f ./$(DEPDIR)/main.Po -rm -f ./$(DEPDIR)/startupnotification.Po -rm -f ./$(DEPDIR)/xfeutils.Po -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 -f ../libsn/$(DEPDIR)/sn-common.Po -rm -f ../libsn/$(DEPDIR)/sn-launchee.Po -rm -f ../libsn/$(DEPDIR)/sn-launcher.Po -rm -f ../libsn/$(DEPDIR)/sn-list.Po -rm -f ../libsn/$(DEPDIR)/sn-monitor.Po -rm -f ../libsn/$(DEPDIR)/sn-util.Po -rm -f ../libsn/$(DEPDIR)/sn-xmessages.Po -rm -f ../libsn/$(DEPDIR)/sn-xutils.Po -rm -f ../st/$(DEPDIR)/st.Po -rm -f ../st/$(DEPDIR)/x.Po -rm -f ./$(DEPDIR)/ArchInputDialog.Po -rm -f ./$(DEPDIR)/Bookmarks.Po -rm -f ./$(DEPDIR)/BrowseInputDialog.Po -rm -f ./$(DEPDIR)/CommandWindow.Po -rm -f ./$(DEPDIR)/DialogBox.Po -rm -f ./$(DEPDIR)/DirHistBox.Po -rm -f ./$(DEPDIR)/DirList.Po -rm -f ./$(DEPDIR)/DirPanel.Po -rm -f ./$(DEPDIR)/ExecuteBox.Po -rm -f ./$(DEPDIR)/File.Po -rm -f ./$(DEPDIR)/FileDialog.Po -rm -f ./$(DEPDIR)/FileDict.Po -rm -f ./$(DEPDIR)/FileList.Po -rm -f ./$(DEPDIR)/FilePanel.Po -rm -f ./$(DEPDIR)/FontDialog.Po -rm -f ./$(DEPDIR)/HistInputDialog.Po -rm -f ./$(DEPDIR)/IconList.Po -rm -f ./$(DEPDIR)/InputDialog.Po -rm -f ./$(DEPDIR)/Keybindings.Po -rm -f ./$(DEPDIR)/KeybindingsDialog.Po -rm -f ./$(DEPDIR)/MessageBox.Po -rm -f ./$(DEPDIR)/OverwriteBox.Po -rm -f ./$(DEPDIR)/PathLinker.Po -rm -f ./$(DEPDIR)/Preferences.Po -rm -f ./$(DEPDIR)/Properties.Po -rm -f ./$(DEPDIR)/SearchPanel.Po -rm -f ./$(DEPDIR)/SearchWindow.Po -rm -f ./$(DEPDIR)/StringList.Po -rm -f ./$(DEPDIR)/TextLabel.Po -rm -f ./$(DEPDIR)/TextWindow.Po -rm -f ./$(DEPDIR)/WriteWindow.Po -rm -f ./$(DEPDIR)/XFileExplorer.Po -rm -f ./$(DEPDIR)/XFileImage.Po -rm -f ./$(DEPDIR)/XFilePackage.Po -rm -f ./$(DEPDIR)/XFileWrite.Po -rm -f ./$(DEPDIR)/icons.Po -rm -f ./$(DEPDIR)/main.Po -rm -f ./$(DEPDIR)/startupnotification.Po -rm -f ./$(DEPDIR)/xfeutils.Po -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 am--depfiles 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.44/src/PathLinker.h0000644000200300020030000000266713501733230012136 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.44/src/HistInputDialog.cpp0000644000200300020030000001265113501734540013476 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 + FXString(" "), 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.44/src/File.h0000644000200300020030000000773413501733230010754 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.44/src/HistInputDialog.h0000644000200300020030000000402613501733230013133 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.44/src/XFileWrite.cpp0000644000200300020030000003351513655745420012464 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; // Main window (not used but necessary for compilation) FXMainWindow* mainWindow = NULL; // Scaling factors for the UI extern double scalefrac; // Hand cursor replacement (integer scaling factor = 1) #define hand1_width 32 #define hand1_height 32 #define hand1_x_hot 6 #define hand1_y_hot 1 static const FXuchar hand1_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x90, 0x1c, 0x00, 0x00, 0x10, 0xe4, 0x00, 0x00, 0x1c, 0x20, 0x01, 0x00, 0x12, 0x00, 0x01, 0x00, 0x12, 0x00, 0x01, 0x00, 0x92, 0x24, 0x01, 0x00, 0x82, 0x24, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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 hand1_mask_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xfc, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // Hand cursor replacement (integer scaling factor = 2) #define hand2_width 32 #define hand2_height 32 #define hand2_x_hot 6 #define hand2_y_hot 1 static const FXuchar hand2_bits[] = { 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x20, 0x06, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x20, 0x1e, 0x00, 0x00, 0x60, 0x3e, 0x00, 0x00, 0x20, 0xe2, 0x03, 0x00, 0x60, 0x62, 0x1e, 0x00, 0x38, 0x00, 0x74, 0x00, 0x7c, 0x00, 0x60, 0x00, 0x24, 0x00, 0x40, 0x00, 0x64, 0x00, 0x60, 0x00, 0x26, 0x00, 0x40, 0x00, 0x26, 0x22, 0x62, 0x00, 0x06, 0x22, 0x42, 0x00, 0x06, 0x00, 0x60, 0x00, 0x06, 0x00, 0x40, 0x00, 0x06, 0x00, 0x60, 0x00, 0x04, 0x00, 0x60, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xf0, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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 hand2_mask_bits[] = { 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0x00, 0xe0, 0x3f, 0x00, 0x00, 0xe0, 0xff, 0x03, 0x00, 0xe0, 0xff, 0x1f, 0x00, 0xf8, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xf0, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // Hand cursor replacement (integer scaling factor = 3 or more) #define hand3_width 32 #define hand3_height 32 #define hand3_x_hot 6 #define hand3_y_hot 1 static const FXuchar hand3_bits[] = { 0x80, 0x1f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0xf0, 0x03, 0x00, 0xc0, 0xf0, 0x07, 0x00, 0xc0, 0x30, 0xfe, 0x00, 0xc0, 0x10, 0xfe, 0x01, 0xc0, 0x10, 0x8c, 0x3f, 0xc0, 0x10, 0x04, 0x7f, 0xfc, 0x00, 0x04, 0xe1, 0xfe, 0x00, 0x04, 0xc1, 0xc6, 0x00, 0x04, 0xc0, 0xc6, 0x00, 0x00, 0xc0, 0xc6, 0x00, 0x00, 0xc0, 0xc3, 0x00, 0x00, 0xc0, 0xc3, 0x00, 0x00, 0xc0, 0xc3, 0x10, 0x04, 0xc1, 0x03, 0x10, 0x04, 0xc1, 0x03, 0x10, 0x04, 0xc1, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0x3f }; static const FXuchar hand3_mask_bits[] = { 0x80, 0x1f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0xff, 0x03, 0x00, 0xc0, 0xff, 0x07, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0x01, 0xc0, 0xff, 0xff, 0x3f, 0xc0, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0x3f }; // 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); // Read the Xfe registry FXRegistry* reg_xfe = new FXRegistry(xfename, vdrname); reg_xfe->read(); // Compute integer and fractional scaling factors depending on the monitor resolution FXint res = reg_xfe->readUnsignedEntry("SETTINGS", "screenres", 100); scaleint = round(res / 100.0); scalefrac = FXMAX(1.0, res / 100.0); // Redefine the default hand cursor depending on the integer scaling factor FXCursor* hand; if (scaleint == 1) { hand = new FXCursor(application, hand1_bits, hand1_mask_bits, hand1_width, hand1_height, hand1_x_hot, hand1_y_hot); } else if (scaleint == 2) { hand = new FXCursor(application, hand2_bits, hand2_mask_bits, hand2_width, hand2_height, hand2_x_hot, hand2_y_hot); } else { hand = new FXCursor(application, hand3_bits, hand3_mask_bits, hand3_width, hand3_height, hand3_x_hot, hand3_y_hot); } application->setDefaultCursor(DEF_HAND_CURSOR, hand); // Load all application icons FXbool iconpathfound = true; loadicons = loadAppIcons(application, &iconpathfound); // 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(); // Icon path not found if (!iconpathfound) { MessageBox::error(application, BOX_OK, _("Error loading icons"), _("Icon path doesn't exist, icon theme was set back to default. Please check your icon path!") ); } // Some icons not found if (!loadicons) { MessageBox::error(application, BOX_OK, _("Error loading icons"), _("Unable to load some icons. Please check your icon theme!")); } // 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.44/src/KeybindingsDialog.h0000644000200300020030000000101213501733230013442 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.44/src/clearlooks.cpp0000644000200300020030000030546713502401637012576 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 // Integer scaling factor for check and radio boxes extern FXint scaleint; // // 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 // // Includes HiDPI scaling // 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, scaleint * 13); just_y(ty, iy, th, scaleint * 13); ix = FXMAX(ix, 0); iy = FXMAX(iy, 0); // 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, scaleint * ev->rect.w, scaleint * ev->rect.h); FXRectangle recs[4]; // Check background recs[0].x = ix+2*scaleint; recs[0].y = iy+2*scaleint; recs[0].w = 9*scaleint; recs[0].h = 9*scaleint; if ((check == MAYBE) || !isEnabled()) { dc.setForeground(baseColor); } else { dc.setForeground(boxColor); } dc.fillRectangles(recs, 1); // Check border recs[0].x = ix+2*scaleint; recs[0].y = iy+1*scaleint; recs[0].w = 9*scaleint; recs[0].h = 1*scaleint; recs[1].x = ix+2*scaleint; recs[1].y = iy+11*scaleint; recs[1].w = 9*scaleint; recs[1].h = 1*scaleint; recs[2].x = ix+1*scaleint; recs[2].y = iy+2*scaleint; recs[2].w = 1*scaleint; recs[2].h = 9*scaleint; recs[3].x = ix+11*scaleint; recs[3].y = iy+2*scaleint; recs[3].w = 1*scaleint; recs[3].h = 9*scaleint; dc.setForeground(bordercolor); dc.fillRectangles(recs, 4); // Check border corners recs[0].x = ix+1*scaleint; recs[0].y = iy+1*scaleint; recs[0].w = 1*scaleint; recs[0].h = 1*scaleint; recs[1].x = ix+11*scaleint; recs[1].y = iy+1*scaleint; recs[1].w = 1*scaleint; recs[1].h = 1*scaleint; recs[2].x = ix+1*scaleint; recs[2].y = iy+11*scaleint; recs[2].w = 1*scaleint; recs[2].h = 1*scaleint; recs[3].x = ix+11*scaleint; recs[3].y = iy+11*scaleint; recs[3].w = 1*scaleint; recs[3].h = 1*scaleint; dc.setForeground(shadecolor); dc.fillRectangles(recs, 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, scaleint * ev->rect.w, scaleint * ev->rect.h); FXRectangle recs[2]; // Check background recs[0].x = ix+2*scaleint; recs[0].y = iy+2*scaleint; recs[0].w = 9*scaleint; recs[0].h = 9*scaleint; if ((check == MAYBE) || !isEnabled()) { dc.setForeground(baseColor); } else { dc.setForeground(boxColor); } dc.fillRectangles(recs, 1); // Check border for + if (options&CHECKBUTTON_PLUS) { dc.setForeground(textColor); dc.drawRectangle(ix+scaleint*2, iy+scaleint*2, 8*scaleint, 8*scaleint); } // Check border for v else { // Check border recs[0].x = ix; recs[0].y = iy; recs[0].w = 12*scaleint; recs[0].h = 1*scaleint; recs[1].x = ix; recs[1].y = iy+1*scaleint; recs[1].w = 1*scaleint; recs[1].h = 11*scaleint; dc.setForeground(shadowColor); dc.fillRectangles(recs, 2); recs[0].x = ix+1*scaleint; recs[0].y = iy+1*scaleint; recs[0].w = 10*scaleint; recs[0].h = 1*scaleint; recs[1].x = ix+1*scaleint; recs[1].y = iy+2*scaleint; recs[1].w = 1*scaleint; recs[1].h = 9*scaleint; dc.setForeground(borderColor); dc.fillRectangles(recs, 2); recs[0].x = ix; recs[0].y = iy+12*scaleint; recs[0].w = 13*scaleint; recs[0].h = 1*scaleint; recs[1].x = ix+12*scaleint; recs[1].y = iy; recs[1].w = 1*scaleint; recs[1].h = 13*scaleint; dc.setForeground(hiliteColor); dc.fillRectangles(recs, 2); } // 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+scaleint*6, iy+scaleint*4, 1*scaleint, 5*scaleint); } dc.fillRectangle(ix+scaleint*4, iy+scaleint*6, 5*scaleint, 1*scaleint); } // Show as v else { if (check != false) { FXRectangle recs[7]; recs[0].x = ix+3*scaleint; recs[0].y = iy+5*scaleint; recs[0].w = 1*scaleint; recs[0].h = 3*scaleint; recs[1].x = ix+4*scaleint; recs[1].y = iy+6*scaleint; recs[1].w = 1*scaleint; recs[1].h = 3*scaleint; recs[2].x = ix+5*scaleint; recs[2].y = iy+7*scaleint; recs[2].w = 1*scaleint; recs[2].h = 3*scaleint; recs[3].x = ix+6*scaleint; recs[3].y = iy+6*scaleint; recs[3].w = 1*scaleint; recs[3].h = 3*scaleint; recs[4].x = ix+7*scaleint; recs[4].y = iy+5*scaleint; recs[4].w = 1*scaleint; recs[4].h = 3*scaleint; recs[5].x = ix+8*scaleint; recs[5].y = iy+4*scaleint; recs[5].w = 1*scaleint; recs[5].h = 3*scaleint; recs[6].x = ix+9*scaleint; recs[6].y = iy+3*scaleint; recs[6].w = 1*scaleint; recs[6].h = 3*scaleint; dc.fillRectangles(recs, 7); } } // Text if (!label.empty() && (label != " ") ) { 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 // // Includes HiDPI scaling // 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); } // Placement just_x(tx, ix, tw, scaleint * 13); just_y(ty, iy, th, scaleint * 13); ix = FXMAX(ix, 0); iy = FXMAX(iy, 0); // Inside recs[0].x = ix+4*scaleint; recs[0].y = iy+2*scaleint; recs[0].w = 4*scaleint; recs[0].h = 1*scaleint; recs[1].x = ix+3*scaleint; recs[1].y = iy+3*scaleint; recs[1].w = 6*scaleint; recs[1].h = 1*scaleint; recs[2].x = ix+2*scaleint; recs[2].y = iy+4*scaleint; recs[2].w = 8*scaleint; recs[2].h = 4*scaleint; recs[3].x = ix+3*scaleint; recs[3].y = iy+8*scaleint; recs[3].w = 6*scaleint; recs[3].h = 1*scaleint; recs[4].x = ix+4*scaleint; recs[4].y = iy+9*scaleint; recs[4].w = 4*scaleint; recs[4].h = 1*scaleint; 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*scaleint; recs[0].y = iy+1*scaleint; recs[0].w = 4*scaleint; recs[0].h = 1*scaleint; recs[1].x = ix+2*scaleint; recs[1].y = iy+2*scaleint; recs[1].w = 2*scaleint; recs[1].h = 1*scaleint; recs[2].x = ix+8*scaleint; recs[2].y = iy+2*scaleint; recs[2].w = 2*scaleint; recs[2].h = 1*scaleint; recs[3].x = ix+2*scaleint; recs[3].y = iy+3*scaleint; recs[3].w = 1*scaleint; recs[3].h = 1*scaleint; recs[4].x = ix+1*scaleint; recs[4].y = iy+4*scaleint; recs[4].w = 1*scaleint; recs[4].h = 4*scaleint; recs[5].x = ix+2*scaleint; recs[5].y = iy+8*scaleint; recs[5].w = 1*scaleint; recs[5].h = 2*scaleint; dc.setForeground(bordercolor); dc.fillRectangles(recs, 6); // Bottom right inside recs[0].x = ix+9*scaleint; recs[0].y = iy+3*scaleint; recs[0].w = 1*scaleint; recs[0].h = 1*scaleint; recs[1].x = ix+10*scaleint; recs[1].y = iy+4*scaleint; recs[1].w = 1*scaleint; recs[1].h = 4*scaleint; recs[2].x = ix+9*scaleint; recs[2].y = iy+8*scaleint; recs[2].w = 1*scaleint; recs[2].h = 1*scaleint; recs[3].x = ix+8*scaleint; recs[3].y = iy+9*scaleint; recs[3].w = 2*scaleint; recs[3].h = 1*scaleint; recs[4].x = ix+3*scaleint; recs[4].y = iy+9*scaleint; recs[4].w = 1*scaleint; recs[4].h = 1*scaleint; recs[5].x = ix+4*scaleint; recs[5].y = iy+10*scaleint; recs[5].w = 4*scaleint; recs[5].h = 1*scaleint; dc.setForeground(bordercolor); dc.fillRectangles(recs, 6); } // Standard radio button else { // Top left outside recs[0].x = ix+4*scaleint; recs[0].y = iy+0*scaleint; recs[0].w = 4*scaleint; recs[0].h = 1*scaleint; recs[1].x = ix+2*scaleint; recs[1].y = iy+1*scaleint; recs[1].w = 2*scaleint; recs[1].h = 1*scaleint; recs[2].x = ix+8*scaleint; recs[2].y = iy+1*scaleint; recs[2].w = 2*scaleint; recs[2].h = 1*scaleint; recs[3].x = ix+1*scaleint; recs[3].y = iy+2*scaleint; recs[3].w = 1*scaleint; recs[3].h = 2*scaleint; recs[4].x = ix+0*scaleint; recs[4].y = iy+4*scaleint; recs[4].w = 1*scaleint; recs[4].h = 4*scaleint; recs[5].x = ix+1*scaleint; recs[5].y = iy+8*scaleint; recs[5].w = 1*scaleint; recs[5].h = 2*scaleint; dc.setForeground(shadowColor); dc.fillRectangles(recs, 6); // Top left inside recs[0].x = ix+4*scaleint; recs[0].y = iy+1*scaleint; recs[0].w = 4*scaleint; recs[0].h = 1*scaleint; recs[1].x = ix+2*scaleint; recs[1].y = iy+2*scaleint; recs[1].w = 2*scaleint; recs[1].h = 1*scaleint; recs[2].x = ix+8*scaleint; recs[2].y = iy+2*scaleint; recs[2].w = 2*scaleint; recs[2].h = 1*scaleint; recs[3].x = ix+2*scaleint; recs[3].y = iy+3*scaleint; recs[3].w = 1*scaleint; recs[3].h = 1*scaleint; recs[4].x = ix+1*scaleint; recs[4].y = iy+4*scaleint; recs[4].w = 1*scaleint; recs[4].h = 4*scaleint; recs[5].x = ix+2*scaleint; recs[5].y = iy+8*scaleint; recs[5].w = 1*scaleint; recs[5].h = 2*scaleint; dc.setForeground(borderColor); dc.fillRectangles(recs, 6); // Bottom right outside recs[0].x = ix+10*scaleint; recs[0].y = iy+2*scaleint; recs[0].w = 1*scaleint; recs[0].h = 2*scaleint; recs[1].x = ix+11*scaleint; recs[1].y = iy+4*scaleint; recs[1].w = 1*scaleint; recs[1].h = 4*scaleint; recs[2].x = ix+10*scaleint; recs[2].y = iy+8*scaleint; recs[2].w = 1*scaleint; recs[2].h = 2*scaleint; recs[3].x = ix+8*scaleint; recs[3].y = iy+10*scaleint; recs[3].w = 2*scaleint; recs[3].h = 1*scaleint; recs[4].x = ix+2*scaleint; recs[4].y = iy+10*scaleint; recs[4].w = 2*scaleint; recs[4].h = 1*scaleint; recs[5].x = ix+4*scaleint; recs[5].y = iy+11*scaleint; recs[5].w = 4*scaleint; recs[5].h = 1*scaleint; dc.setForeground(hiliteColor); dc.fillRectangles(recs, 6); // Bottom right inside recs[0].x = ix+9*scaleint; recs[0].y = iy+3*scaleint; recs[0].w = 1*scaleint; recs[0].h = 1*scaleint; recs[1].x = ix+10*scaleint; recs[1].y = iy+4*scaleint; recs[1].w = 1*scaleint; recs[1].h = 4*scaleint; recs[2].x = ix+9*scaleint; recs[2].y = iy+8*scaleint; recs[2].w = 1*scaleint; recs[2].h = 1*scaleint; recs[3].x = ix+8*scaleint; recs[3].y = iy+9*scaleint; recs[3].w = 2*scaleint; recs[3].h = 1*scaleint; recs[4].x = ix+3*scaleint; recs[4].y = iy+9*scaleint; recs[4].w = 1*scaleint; recs[4].h = 1*scaleint; recs[5].x = ix+4*scaleint; recs[5].y = iy+10*scaleint; recs[5].w = 4*scaleint; recs[5].h = 1*scaleint; dc.setForeground(baseColor); dc.fillRectangles(recs, 6); } // Ball inside if (check != false) { recs[0].x = ix+5*scaleint; recs[0].y = iy+4*scaleint; recs[0].w = 2*scaleint; recs[0].h = 1*scaleint; recs[1].x = ix+4*scaleint; recs[1].y = iy+5*scaleint; recs[1].w = 4*scaleint; recs[1].h = 2*scaleint; recs[2].x = ix+5*scaleint; recs[2].y = iy+7*scaleint; recs[2].w = 2*scaleint; recs[2].h = 1*scaleint; 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*scaleint, 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); } } } } // // Hack of FXMenuRadio // // For HiDPI scaling #define LEADSPACE 22 #define TRAILSPACE 16 // Handle repaint long FXMenuRadio::onPaint(FXObject*,FXSelector,void* ptr) { FXEvent *ev=(FXEvent*)ptr; FXDCWindow dc(this,ev); FXint xx,yy; xx=LEADSPACE; // Grayed out if(!isEnabled()) { dc.setForeground(backColor); dc.fillRectangle(0,0,width,height); if(!label.empty()) { yy=font->getFontAscent()+(height-font->getFontHeight())/2; dc.setFont(font); dc.setForeground(hiliteColor); dc.drawText(xx+1,yy+1,label); if(!accel.empty()) dc.drawText(width-TRAILSPACE-font->getTextWidth(accel)+1,yy+1,accel); if(0<=hotoff) dc.fillRectangle(xx+font->getTextWidth(&label[0],hotoff)+1,yy+2,font->getTextWidth(&label[hotoff],wclen(&label[hotoff])),1); dc.setForeground(shadowColor); dc.drawText(xx,yy,label); if(!accel.empty()) dc.drawText(width-TRAILSPACE-font->getTextWidth(accel),yy,accel); if(0<=hotoff) dc.fillRectangle(xx+font->getTextWidth(&label[0],hotoff),yy+1,font->getTextWidth(&label[hotoff],wclen(&label[hotoff])),1); } } // Active else if(isActive()) { dc.setForeground(selbackColor); dc.fillRectangle(0,0,width,height); if(!label.empty()) { yy=font->getFontAscent()+(height-font->getFontHeight())/2; dc.setFont(font); dc.setForeground(isEnabled() ? seltextColor : shadowColor); dc.drawText(xx,yy,label); if(!accel.empty()) dc.drawText(width-TRAILSPACE-font->getTextWidth(accel),yy,accel); if(0<=hotoff) dc.fillRectangle(xx+font->getTextWidth(&label[0],hotoff),yy+1,font->getTextWidth(&label[hotoff],wclen(&label[hotoff])),1); } } // Normal else { dc.setForeground(backColor); dc.fillRectangle(0,0,width,height); if(!label.empty()) { yy=font->getFontAscent()+(height-font->getFontHeight())/2; dc.setFont(font); dc.setForeground(textColor); dc.drawText(xx,yy,label); if(!accel.empty()) dc.drawText(width-TRAILSPACE-font->getTextWidth(accel),yy,accel); if(0<=hotoff) dc.fillRectangle(xx+font->getTextWidth(&label[0],hotoff),yy+1,font->getTextWidth(&label[hotoff],wclen(&label[hotoff])),1); } } // Draw the radio xx=5/scaleint; yy=(height-9*scaleint)/2; if(!isEnabled()) dc.setForeground(backColor); else dc.setForeground(radioColor); dc.fillArc(xx,yy,9*scaleint,9*scaleint,0,360*64); dc.setForeground(shadowColor); dc.drawArc(xx,yy,9*scaleint,9*scaleint,0,360*64); // Draw the bullit if(check!=FALSE) { FXRectangle recs[3]; recs[0].x=xx+4*scaleint; recs[0].y=yy+3*scaleint; recs[0].w=2*scaleint; recs[0].h=1*scaleint; recs[1].x=xx+3*scaleint; recs[1].y=yy+4*scaleint; recs[1].w=4*scaleint; recs[1].h=2*scaleint; recs[2].x=xx+4*scaleint; recs[2].y=yy+6*scaleint; recs[2].w=2*scaleint; recs[2].h=1*scaleint; if(isEnabled()) { if(check==MAYBE) dc.setForeground(shadowColor); else dc.setForeground(textColor); } else { dc.setForeground(shadowColor); } dc.fillRectangles(recs,3); } return 1; } // // Hack of FXMenuCheck // // For HiDPI scaling // Handle repaint long FXMenuCheck::onPaint(FXObject*,FXSelector,void* ptr) { FXEvent *ev=(FXEvent*)ptr; FXDCWindow dc(this,ev); FXint xx,yy; xx=LEADSPACE; // Grayed out if(!isEnabled()) { dc.setForeground(backColor); dc.fillRectangle(0,0,width,height); if(!label.empty()) { yy=font->getFontAscent()+(height-font->getFontHeight())/2; dc.setFont(font); dc.setForeground(hiliteColor); dc.drawText(xx+1,yy+1,label); if(!accel.empty()) dc.drawText(width-TRAILSPACE-font->getTextWidth(accel)+1,yy+1,accel); if(0<=hotoff) dc.fillRectangle(xx+font->getTextWidth(&label[0],hotoff)+1,yy+2,font->getTextWidth(&label[hotoff],wclen(&label[hotoff])),1); dc.setForeground(shadowColor); dc.drawText(xx,yy,label); if(!accel.empty()) dc.drawText(width-TRAILSPACE-font->getTextWidth(accel),yy,accel); if(0<=hotoff) dc.fillRectangle(xx+font->getTextWidth(&label[0],hotoff),yy+1,font->getTextWidth(&label[hotoff],wclen(&label[hotoff])),1); } } // Active else if(isActive()) { dc.setForeground(selbackColor); dc.fillRectangle(0,0,width,height); if(!label.empty()) { yy=font->getFontAscent()+(height-font->getFontHeight())/2; dc.setFont(font); dc.setForeground(isEnabled() ? seltextColor : shadowColor); dc.drawText(xx,yy,label); if(!accel.empty()) dc.drawText(width-TRAILSPACE-font->getTextWidth(accel),yy,accel); if(0<=hotoff) dc.fillRectangle(xx+font->getTextWidth(&label[0],hotoff),yy+1,font->getTextWidth(&label[hotoff],wclen(&label[hotoff])),1); } } // Normal else { dc.setForeground(backColor); dc.fillRectangle(0,0,width,height); if(!label.empty()) { yy=font->getFontAscent()+(height-font->getFontHeight())/2; dc.setFont(font); dc.setForeground(textColor); dc.drawText(xx,yy,label); if(!accel.empty()) dc.drawText(width-TRAILSPACE-font->getTextWidth(accel),yy,accel); if(0<=hotoff) dc.fillRectangle(xx+font->getTextWidth(&label[0],hotoff),yy+1,font->getTextWidth(&label[hotoff],wclen(&label[hotoff])),1); } } // Draw the box xx=5/scaleint; yy=(height-9*scaleint)/2; if(!isEnabled()) dc.setForeground(backColor); else dc.setForeground(boxColor); dc.fillRectangle(xx+1,yy+1,8*scaleint,8*scaleint); dc.setForeground(shadowColor); dc.drawRectangle(xx,yy,9*scaleint,9*scaleint); // Draw the check if(check!=FALSE) { FXRectangle recs[7]; recs[0].x = xx+2*scaleint; recs[0].y = yy+4*scaleint; recs[0].w = 1*scaleint; recs[0].h = 3*scaleint; recs[1].x = xx+3*scaleint; recs[1].y = yy+5*scaleint; recs[1].w = 1*scaleint; recs[1].h = 3*scaleint; recs[2].x = xx+4*scaleint; recs[2].y = yy+6*scaleint; recs[2].w = 1*scaleint; recs[2].h = 3*scaleint; recs[3].x = xx+5*scaleint; recs[3].y = yy+5*scaleint; recs[3].w = 1*scaleint; recs[3].h = 3*scaleint; recs[4].x = xx+6*scaleint; recs[4].y = yy+4*scaleint; recs[4].w = 1*scaleint; recs[4].h = 3*scaleint; recs[5].x = xx+7*scaleint; recs[5].y = yy+3*scaleint; recs[5].w = 1*scaleint; recs[5].h = 3*scaleint; recs[6].x = xx+8*scaleint; recs[6].y = yy+2*scaleint; recs[6].w = 1*scaleint; recs[6].h = 3*scaleint; if(isEnabled()) { if(check==MAYBE) dc.setForeground(shadowColor); else dc.setForeground(textColor); } else { dc.setForeground(shadowColor); } dc.fillRectangles(recs, 7); } return 1; } // // Hack of FXTreeList // // For HiDPI scaling #define SIDE_SPACING 4 // Spacing between side and item #define HALFBOX_SIZE 4 // Half box size // Draw item list long FXTreeList::onPaint(FXObject*,FXSelector,void* ptr) { FXEvent* event=(FXEvent*)ptr; FXTreeItem* item=firstitem; FXTreeItem* p; FXint yh,xh,x,y,w,h,xp,hh; FXDCWindow dc(this,event); dc.setFont(font); x=pos_x; y=pos_y; if(options&TREELIST_ROOT_BOXES) x+=(4+indent); while(item && yrect.y+event->rect.h) { w=item->getWidth(this); h=item->getHeight(this); if(event->rect.y<=y+h) { // Draw item dc.setForeground(backColor); dc.fillRectangle(0,y,width,h); item->draw(this,dc,x,y,w,h); // Show other paraphernalia such as dotted lines and expand-boxes if((options&(TREELIST_SHOWS_LINES|TREELIST_SHOWS_BOXES)) && (item->parent || (options&TREELIST_ROOT_BOXES))) { hh=h/2; yh=y+hh; xh=x-indent+(SIDE_SPACING/2) - (scaleint - 1) * SIDE_SPACING; dc.setForeground(lineColor); dc.setBackground(backColor); dc.setStipple(STIPPLE_GRAY,pos_x&1,pos_y&1); if(options&TREELIST_SHOWS_LINES) // Connect items with lines { p=item->parent; xp=xh; dc.setFillStyle(FILL_OPAQUESTIPPLED); while(p) { xp-=(indent+p->getHeight(this)/2); if(p->next) dc.fillRectangle(xp,y,1,h); p=p->parent; } if((options&TREELIST_SHOWS_BOXES) && (item->hasItems() || item->getFirst())) { if(item->prev || item->parent) dc.fillRectangle(xh,y,1,yh-y-scaleint*HALFBOX_SIZE); if(item->next) dc.fillRectangle(xh,yh+scaleint*HALFBOX_SIZE,1,(y+h-yh-scaleint*HALFBOX_SIZE)); } else { if(item->prev || item->parent) dc.fillRectangle(xh,y,1,hh); if(item->next) dc.fillRectangle(xh,yh,1,h); dc.fillRectangle(xh,yh,x+(SIDE_SPACING/2)-scaleint*2-xh,1); } dc.setFillStyle(FILL_SOLID); } // Boxes before items for expand/collapse of item if((options&TREELIST_SHOWS_BOXES) && (item->hasItems() || item->getFirst())) { dc.setFillStyle(FILL_OPAQUESTIPPLED); dc.fillRectangle((xh+scaleint*4),yh,scaleint*( (SIDE_SPACING/2)-2 ),scaleint*1); dc.setFillStyle(FILL_SOLID); dc.drawRectangle(xh-scaleint*HALFBOX_SIZE,yh-scaleint*HALFBOX_SIZE, scaleint*(HALFBOX_SIZE+HALFBOX_SIZE),scaleint*(HALFBOX_SIZE+HALFBOX_SIZE)); dc.setForeground(textColor); dc.fillRectangle(xh-scaleint*(HALFBOX_SIZE-2),yh,scaleint*(HALFBOX_SIZE+HALFBOX_SIZE-3),scaleint*1); if(!(options&TREELIST_AUTOSELECT) && !item->isExpanded()) { dc.fillRectangle(xh,yh-scaleint*(HALFBOX_SIZE-2),scaleint*1,scaleint*(HALFBOX_SIZE+HALFBOX_SIZE-3)); } } } } y+=h; // Move on to the next item if(item->first && ((options&TREELIST_AUTOSELECT) || item->isExpanded())) { x+=(indent+h/2); item=item->first; continue; } while(!item->next && item->parent) { item=item->parent; x-=(indent+item->getHeight(this)/2); } item=item->next; } if(yrect.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; } xfe-1.44/src/Preferences.h0000644000200300020030000002364714023200054012330 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 9 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[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; FXGroupBox* rootgroup; FXLabel* sulabel; FXLabel* sudolabel; FXTextField* sudocmd; FXTextField* sucmd; 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; FXSpinner* spindpi; FXDataTarget startdirtarget; int startdirmode; int oldstartdirmode; #ifdef STARTUP_NOTIFICATION FXCheckButton* usesn; #endif FXCheckButton* noscript; 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 wheellines_prev; FXint scrollbarsize_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; FXString sudocmd_prev; FXString sucmd_prev; FXint uidpi; FXint uidpi_prev; #ifdef STARTUP_NOTIFICATION FXbool usesn_prev; #endif FXbool noscript_prev; #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), mountcmd(NULL), umountcmd(NULL), rootgroup(NULL), sulabel(NULL), sudolabel(NULL), sudocmd(NULL), sucmd(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 noscript(NULL), 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), wheellines_prev(0), scrollbarsize_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 noscript_prev(false), #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_SCROLLBARSIZE, ID_UIDPI, ID_SINGLE_CLICK_FILEOPEN, ID_EXEC_TEXT_FILES, 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 onCmdScrollBarSize(FXObject*, FXSelector, void*); long onUpdScrollBarSize(FXObject*, FXSelector, void*); long onUpdSingleClickFileopen(FXObject*, FXSelector, void*); long onUpdExecTextFiles(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.44/src/FilePanel.cpp0000644000200300020030000064305513654477215012312 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; // Flag for FilePanel::onCmdItemDoubleClicked extern FXbool called_from_iconlist; // 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; // Initialize the flag used in FilePanel::onCmdItemDoubleClicked called_from_iconlist = 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 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); } // If source type is utf8Type (simple text) if (getDNDData(FROM_CLIPBOARD, utf8Type, data, len)) { FXRESIZE(&data, FXuchar, len+1); data[len] = '\0'; clipboard = (char*)data; // Loop over clipboard items FXString filepath; for (beg = 0; beg < clipboard.length(); beg = end+1) { if ((end = clipboard.find("\n", beg)) < 0) { end = clipboard.length(); } // Obtain item file path filepath = clipboard.mid(beg, end-beg); // Eventually remove the trailing '\r' if any if ((pos = filepath.rfind('\r')) > 0) { filepath.erase(pos); } // Update the param string param += filepath + "\n"; num++; } // Construct the final param string passed to the file management routine param = current->list->getDirectory()+"\n" + FXStringVal(num) + "\n" + param; // Copy sel = FXSEL(SEL_COMMAND, FilePanel::ID_FILE_COPY); 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; } // Text file if (isTextFile) { // Execution forbidden, edit the file FXbool no_script = getApp()->reg().readUnsignedEntry("OPTIONS", "no_script", false); if (no_script) { 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); } } // Execution allowed, execute file with optional confirmation dialog else { // With confirmation dialog FXbool confirm_execute = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_execute", true); if (confirm_execute) { 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 // No startup notification in this case runcmd(cmd, cmdname, current->list->getDirectory(), startlocation, false, ""); #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); } } } } } // Binary file, execute it 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) { // Don't do anything if not called from icon list and single click mode // and if first column in detailed list, or big or mini icon list if (!called_from_iconlist && (single_click == SINGLE_CLICK_DIR_FILE)) { int x, y; FXuint state; getCursorPosition(x, y, state); if ( (!(list->getListStyle()&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) && ((x-list->getXPosition()) < list->getHeaderSize(0))) || (list->getListStyle()&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) ) { return(1); } } // Reset flag called_from_iconlist = false; // Make panel active setActive(); // Wait cursor getApp()->beginWaitCursor(); // At most one item selected if (current->list->getNumSelectedItems() <= 1) { FXString cmd, cmdname, filename, pathname; 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) { // Single click with control or shift int x, y; FXuint state; getCursorPosition(x, y, state); if (state&(CONTROLMASK|SHIFTMASK)) { return(1); } // In detailed mode, avoid single click when mouse cursor is not over the first column FXbool allow = true; if (!(list->getListStyle()&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) && ((x-list->getXPosition()) > list->getHeaderSize(0))) { allow = false; } // Wait cursor getApp()->beginWaitCursor(); // At most one item selected if (current->list->getNumSelectedItems() <= 1) { // 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; #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); } } } } // More than one selected files else if ( (single_click == SINGLE_CLICK_DIR_FILE) && allow) { current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN), 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, ::isDirectory(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 (!existFile(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) && !existFile(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 (!existFile(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 (!existFile(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) && !existFile(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(); // At most one item selected, select item under cursor if not called from the popup menu if ( (current->list->getNumSelectedItems() <= 1) && !allowPopupScroll ) { 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); } } 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 (existFile(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 (existFile(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 (!existFile(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--; } // Restore original history order opendialog->clearItems(); for (int i = 0; i < OpenNum; i++) { opendialog->appendItem(OpenHistory[i]); } // 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, directories first 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+"/"; } // First, read only directory entries and sort them alphabetically int n; 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); } } } free(namelist[k]); } free(namelist); } // Then, read only executable files and sort them alphabetically n = scandir(dir.text(), &namelist, NULL, alphasort); if (n < 0) { perror("scandir"); } else { for (int k = 0; k < n; k++) { // Add only executable files to the list FXString pathname = dir + namelist[k]->d_name; if (!::isDirectory(pathname) && 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 (!existFile(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 { int idx = str.find(" "); // Split output at first whitespace FXString pkgname = str.left(idx-1); // Remove trailing colon FXString fname = str.right(str.length()-idx); fname.trim(); // Remove leading space and trailing newline if (streq(fname.text(), file.text())) // No other word than the file name { str = pkgname.text(); } 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) { int nbdirs = 0; 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); } if (list->isItemSelected(u) && list->isItemDirectory(u) && (list->getItemText(u) != "..") ) { nbdirs++; } } int nbfiles = num - nbdirs; if (nbdirs <= 1 && nbfiles <= 1) { str.format(_("%s in %s selected items (%s folder, %s file)"), hsize.text(), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); } else if (nbdirs <=1 && nbfiles > 1) { str.format(_("%s in %s selected items (%s folder, %s files)"), hsize.text(), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); } else if (nbdirs > 1 && nbfiles <= 1) { str.format(_("%s in %s selected items (%s folders, %s file)"), hsize.text(), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); } else { str.format(_("%s in %s selected items (%s folders, %s files)"), hsize.text(), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); } } else { // Nothing selected if ((num == 0) || (item < 0)) { num = list->getNumItems(); if (num == 1) { str = _("1 item (1 folder)"); } else { int nbdirs = 0; for (int u = 0; u < num; u++) { if (list->isItemDirectory(u)) { nbdirs++; } } int nbfiles = num - nbdirs; str.format(_("%s items (%s folders, %s files)"), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); if (nbdirs <= 1 && nbfiles <= 1) { str.format(_("%s items (%s folder, %s file)"), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); } else if (nbdirs <=1 && nbfiles > 1) { str.format(_("%s items (%s folder, %s files)"), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); } else if (nbdirs > 1 && nbfiles <= 1) { str.format(_("%s items (%s folders, %s file)"), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); } else { str.format(_("%s items (%s folders, %s files)"), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); } } } 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); } // If source is utf8Type (simple text) else if (getDNDData(FROM_CLIPBOARD, utf8Type, data, len)) { FXRESIZE(&data, FXuchar, len+1); data[len] = '\0'; buf = (char*)data; // Check if valid clipboard int beg, end; FXString filepath; FXbool clipboard_valid = true; for (beg = 0; beg < buf.length(); beg = end+1) { if ((end = buf.find("\n", beg)) < 0) { end = buf.length(); } // Obtain item file path filepath = buf.mid(beg, end-beg); // File path does not begin with '/' if (filepath[0] != PATHSEPCHAR) { clipboard_valid = false; break; } // File path is not an existing file or directory else { if (!existFile(filepath)) { clipboard_valid = false; break; } } } // Clipboard not empty if (clipboard_valid) { 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.44/src/icons.cpp0000644000200300020030000004475113655745030011556 00000000000000// Global icons for all applications #include "config.h" #include "i18n.h" #include #include #include "xfedefs.h" #include "xfeutils.h" #include "icons.h" #include "MessageBox.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 *iconpathfound) { *iconpathfound = true; FXbool success = true; // Set icon path if it exists, otherwise set icon path to default FXString iconpath = app->reg().readStringEntry("SETTINGS", "iconpath", DEFAULTICONPATH); if ( !existFile(iconpath) ) { iconpath = DEFAULTICONPATH; *iconpathfound = false; } // 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.44/src/XFileExplorer.h0000644000200300020030000002677113501733230012627 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.44/src/foxhacks.cpp0000644000200300020030000036343313654474542012260 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") + FXString(" "), this, ID_MODE+SEARCH_EXACT, ICON_BEFORE_TEXT|LAYOUT_CENTER_X); new FXRadioButton(options1, _("&Ignore Case") + FXString(" "), this, ID_MODE+SEARCH_IGNORECASE, ICON_BEFORE_TEXT|LAYOUT_CENTER_X); new FXRadioButton(options1, _("E&xpression") + FXString(" "), this, ID_MODE+SEARCH_REGEX, ICON_BEFORE_TEXT|LAYOUT_CENTER_X); new FXCheckButton(options1, _("&Backward") + FXString(" "), 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); } // // Hack of FXIcon // This hack fixes a Valgrind complaint about uninitialized values // when allocating an icon // #define DARKCOLOR(r,g,b) (((r)+(g)+(b))>1; register FXint cum,i,j; register FXshort guess; FXint frequency[766]; memset(frequency,0,sizeof(frequency)); for(i=0; i=med) break; } for(j=765,cum=0; j>0; --j) { if((cum+=frequency[j])>=med) break; } guess=((i+j+1)>>1)+1; // Fanglin Zhu: raise threshold by one in case of single-color image return guess; } // Render icon X Windows void FXIcon::render() { if(xid) { register Visual *vis; register XImage *xim=NULL; register FXColor *img; register FXint x,y; register FXshort thresh; // Local variable in 1.6 XGCValues values; GC gc; // Render the image pixels FXImage::render(); // Fill with pixels if there is data if(data && 0visual; // Try create image xim=XCreateImage(DISPLAY(getApp()),vis,1,ZPixmap,0,NULL,width,height,32,0); if(!xim) fxerror("%s::render: unable to render icon.\n",getClassName()); // Try create temp pixel store // !!! Hack here => replace FXMALLOC with FXCALLOC !!! if(!FXCALLOC(&xim->data,char,xim->bytes_per_line*height)){ fxerror("%s::render: unable to allocate memory.\n",getClassName()); } // !!! End of hack !!! // Make GC values.foreground=0xffffffff; values.background=0xffffffff; gc=XCreateGC(DISPLAY(getApp()),shape,GCForeground|GCBackground,&values); // Should have succeeded FXASSERT(xim); // Fill shape mask if(options&IMAGE_OPAQUE) // Opaque image { FXTRACE((150,"Shape rectangle\n")); memset(xim->data,0xff,xim->bytes_per_line*height); } else if(options&(IMAGE_ALPHACOLOR|IMAGE_ALPHAGUESS)) // Transparent color { FXTRACE((150,"Shape from alpha-color\n")); img=data; for(y=0; ydata); XDestroyImage(xim); XFreeGC(DISPLAY(getApp()),gc); } } } xfe-1.44/src/StringList.h0000644000200300020030000000320113501733230012160 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.44/src/XFileImage.cpp0000644000200300020030000027326513655745337012433 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; // Main window (not used but necessary for compilation) FXMainWindow* mainWindow = NULL; // Scaling factors for the UI extern double scalefrac; // Hand cursor replacement (integer scaling factor = 1) #define hand1_width 32 #define hand1_height 32 #define hand1_x_hot 6 #define hand1_y_hot 1 static const FXuchar hand1_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x90, 0x1c, 0x00, 0x00, 0x10, 0xe4, 0x00, 0x00, 0x1c, 0x20, 0x01, 0x00, 0x12, 0x00, 0x01, 0x00, 0x12, 0x00, 0x01, 0x00, 0x92, 0x24, 0x01, 0x00, 0x82, 0x24, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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 hand1_mask_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xfc, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // Hand cursor replacement (integer scaling factor = 2) #define hand2_width 32 #define hand2_height 32 #define hand2_x_hot 6 #define hand2_y_hot 1 static const FXuchar hand2_bits[] = { 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x20, 0x06, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x20, 0x1e, 0x00, 0x00, 0x60, 0x3e, 0x00, 0x00, 0x20, 0xe2, 0x03, 0x00, 0x60, 0x62, 0x1e, 0x00, 0x38, 0x00, 0x74, 0x00, 0x7c, 0x00, 0x60, 0x00, 0x24, 0x00, 0x40, 0x00, 0x64, 0x00, 0x60, 0x00, 0x26, 0x00, 0x40, 0x00, 0x26, 0x22, 0x62, 0x00, 0x06, 0x22, 0x42, 0x00, 0x06, 0x00, 0x60, 0x00, 0x06, 0x00, 0x40, 0x00, 0x06, 0x00, 0x60, 0x00, 0x04, 0x00, 0x60, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xf0, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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 hand2_mask_bits[] = { 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0x00, 0xe0, 0x3f, 0x00, 0x00, 0xe0, 0xff, 0x03, 0x00, 0xe0, 0xff, 0x1f, 0x00, 0xf8, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xf0, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // Hand cursor replacement (integer scaling factor = 3 or more) #define hand3_width 32 #define hand3_height 32 #define hand3_x_hot 6 #define hand3_y_hot 1 static const FXuchar hand3_bits[] = { 0x80, 0x1f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0xf0, 0x03, 0x00, 0xc0, 0xf0, 0x07, 0x00, 0xc0, 0x30, 0xfe, 0x00, 0xc0, 0x10, 0xfe, 0x01, 0xc0, 0x10, 0x8c, 0x3f, 0xc0, 0x10, 0x04, 0x7f, 0xfc, 0x00, 0x04, 0xe1, 0xfe, 0x00, 0x04, 0xc1, 0xc6, 0x00, 0x04, 0xc0, 0xc6, 0x00, 0x00, 0xc0, 0xc6, 0x00, 0x00, 0xc0, 0xc3, 0x00, 0x00, 0xc0, 0xc3, 0x00, 0x00, 0xc0, 0xc3, 0x10, 0x04, 0xc1, 0x03, 0x10, 0x04, 0xc1, 0x03, 0x10, 0x04, 0xc1, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0x3f }; static const FXuchar hand3_mask_bits[] = { 0x80, 0x1f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0xff, 0x03, 0x00, 0xc0, 0xff, 0x07, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0x01, 0xc0, 0xff, 0xff, 0x3f, 0xc0, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0x3f }; // 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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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); // Read the Xfe registry FXRegistry* reg_xfe = new FXRegistry(xfename, vdrname); reg_xfe->read(); // Compute integer and fractional scaling factors depending on the monitor resolution FXint res = reg_xfe->readUnsignedEntry("SETTINGS", "screenres", 100); scaleint = round(res / 100.0); scalefrac = FXMAX(1.0, res / 100.0); // Redefine the default hand cursor depending on the integer scaling factor FXCursor* hand; if (scaleint == 1) { hand = new FXCursor(application, hand1_bits, hand1_mask_bits, hand1_width, hand1_height, hand1_x_hot, hand1_y_hot); } else if (scaleint == 2) { hand = new FXCursor(application, hand2_bits, hand2_mask_bits, hand2_width, hand2_height, hand2_x_hot, hand2_y_hot); } else { hand = new FXCursor(application, hand3_bits, hand3_mask_bits, hand3_width, hand3_height, hand3_x_hot, hand3_y_hot); } application->setDefaultCursor(DEF_HAND_CURSOR, hand); // Load all application icons FXbool iconpathfound = true; loadicons = loadAppIcons(application, &iconpathfound); // 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); // Icon path not found if (!iconpathfound) { MessageBox::error(application, BOX_OK, _("Error loading icons"), _("Icon path doesn't exist, icon theme was set back to default. Please check your icon path!") ); } // Some icons not found if (!loadicons) { MessageBox::error(application, BOX_OK, _("Error loading icons"), _("Unable to load some icons. Please check your icon theme!")); } // Tooltips setup time and duration application->setTooltipPause(TOOLTIP_PAUSE); application->setTooltipTime(TOOLTIP_TIME); // Start window->start(startimage); // Run return(application->run()); } xfe-1.44/src/Makefile.am0000644000200300020030000001261713501733230011754 00000000000000AUTOMAKE_OPTIONS = subdir-objects bin_PROGRAMS = xfe xfp xfw xfi xfe_SOURCES = ../st/x.c \ ../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/x.c \ ../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/x.c \ ../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/x.c \ ../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/arg.h \ ../st/config.h \ ../st/st.c \ ../st/st.h \ ../st/win.h \ ../st/x.c \ ../st/x.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.44/src/DialogBox.cpp0000644000200300020030000001161113502403734012271 00000000000000// Dialog Box with additional toggle option #include "config.h" #include "i18n.h" #include #include #include "DialogBox.h" // Main window extern FXMainWindow* mainWindow; // 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)) { // Set focus to main window (if defined) if (mainWindow) { mainWindow->setFocus(); } 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(); // Set focus to main window (if defined) if (mainWindow) { mainWindow->setFocus(); } return(1); } // Close dialog with a cancel long DialogBox::onCmdCancel(FXObject*, FXSelector, void*) { getApp()->stopModal(this, false); hide(); // Set focus to main window (if defined) if (mainWindow) { mainWindow->setFocus(); } 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.44/src/xfeutils.cpp0000644000200300020030000012147013654732010012271 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 #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "../st/x.h" // Scaling factors for the UI FXint scaleint; double scalefrac; // Get available space on the file system where the file is located FXlong GetAvailableSpace(const FXString& filepath) { struct statvfs stat; if (statvfs(filepath.text(), &stat) != 0) { // An error has occurred return -1; } // The available size is f_bsize * f_bavail return stat.f_bsize * stat.f_bavail; } // 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 (existFile(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 (!existFile(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 (!existFile(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, kBytes, MBytes, GBytes) // 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 FXbool isDir) { 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('.'); FXString ext4 = name.before('.'); // Case of folder or dot file names (hidden files or folders) if (isDir || name.before('.') == "") { 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) + ")"; } } // Case of compressed tar archive names else 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 (existFile(copytarget)) { copytarget = buildCopyName(copytarget, isDir); } 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 or directory exists FXbool existFile(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); // Scale it icon->scale(scalefrac*icon->getWidth(), scalefrac*icon->getHeight()); // 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.44/src/InputDialog.h0000644000200300020030000000205013501733230012276 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.44/src/ExecuteBox.h0000644000200300020030000000146113501733230012137 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.44/src/Properties.h0000644000200300020030000001170413501733230012221 00000000000000#ifndef PROPERTIES_H #define PROPERTIES_H #include "TextLabel.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; TextLabel* 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.44/src/TextWindow.cpp0000644000200300020030000000544113501733230012535 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.44/src/main.cpp0000644000200300020030000004444313655745072011373 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; // Scaling factors for the UI extern double scalefrac; // 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); } 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 (integer scaling factor = 1) #define hand1_width 32 #define hand1_height 32 #define hand1_x_hot 6 #define hand1_y_hot 1 static const FXuchar hand1_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x90, 0x1c, 0x00, 0x00, 0x10, 0xe4, 0x00, 0x00, 0x1c, 0x20, 0x01, 0x00, 0x12, 0x00, 0x01, 0x00, 0x12, 0x00, 0x01, 0x00, 0x92, 0x24, 0x01, 0x00, 0x82, 0x24, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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 hand1_mask_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xfc, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // Hand cursor replacement (integer scaling factor = 2) #define hand2_width 32 #define hand2_height 32 #define hand2_x_hot 6 #define hand2_y_hot 1 static const FXuchar hand2_bits[] = { 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x20, 0x06, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x20, 0x1e, 0x00, 0x00, 0x60, 0x3e, 0x00, 0x00, 0x20, 0xe2, 0x03, 0x00, 0x60, 0x62, 0x1e, 0x00, 0x38, 0x00, 0x74, 0x00, 0x7c, 0x00, 0x60, 0x00, 0x24, 0x00, 0x40, 0x00, 0x64, 0x00, 0x60, 0x00, 0x26, 0x00, 0x40, 0x00, 0x26, 0x22, 0x62, 0x00, 0x06, 0x22, 0x42, 0x00, 0x06, 0x00, 0x60, 0x00, 0x06, 0x00, 0x40, 0x00, 0x06, 0x00, 0x60, 0x00, 0x04, 0x00, 0x60, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xf0, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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 hand2_mask_bits[] = { 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0x00, 0xe0, 0x3f, 0x00, 0x00, 0xe0, 0xff, 0x03, 0x00, 0xe0, 0xff, 0x1f, 0x00, 0xf8, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xf0, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // Hand cursor replacement (integer scaling factor = 3 or more) #define hand3_width 32 #define hand3_height 32 #define hand3_x_hot 6 #define hand3_y_hot 1 static const FXuchar hand3_bits[] = { 0x80, 0x1f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0xf0, 0x03, 0x00, 0xc0, 0xf0, 0x07, 0x00, 0xc0, 0x30, 0xfe, 0x00, 0xc0, 0x10, 0xfe, 0x01, 0xc0, 0x10, 0x8c, 0x3f, 0xc0, 0x10, 0x04, 0x7f, 0xfc, 0x00, 0x04, 0xe1, 0xfe, 0x00, 0x04, 0xc1, 0xc6, 0x00, 0x04, 0xc0, 0xc6, 0x00, 0x00, 0xc0, 0xc6, 0x00, 0x00, 0xc0, 0xc3, 0x00, 0x00, 0xc0, 0xc3, 0x00, 0x00, 0xc0, 0xc3, 0x10, 0x04, 0xc1, 0x03, 0x10, 0x04, 0xc1, 0x03, 0x10, 0x04, 0xc1, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0x3f }; static const FXuchar hand3_mask_bits[] = { 0x80, 0x1f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0xff, 0x03, 0x00, 0xc0, 0xff, 0x07, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0x01, 0xc0, 0xff, 0xff, 0x3f, 0xc0, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0x3f }; // 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; FXString cmd; // 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 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); // Read registry thru foxhacks application->reg().read(); // Compute integer and fractional scaling factors depending on the monitor resolution FXint res = application->reg().readUnsignedEntry("SETTINGS", "screenres", 100); scaleint = round(res / 100.0); scalefrac = FXMAX(1.0, res / 100.0); // Redefine the default hand cursor depending on the integer scaling factor FXCursor* hand; if (scaleint == 1) { hand = new FXCursor(application, hand1_bits, hand1_mask_bits, hand1_width, hand1_height, hand1_x_hot, hand1_y_hot); } else if (scaleint == 2) { hand = new FXCursor(application, hand2_bits, hand2_mask_bits, hand2_width, hand2_height, hand2_x_hot, hand2_y_hot); } else { hand = new FXCursor(application, hand3_bits, hand3_mask_bits, hand3_width, hand3_height, hand3_x_hot, hand3_y_hot); } application->setDefaultCursor(DEF_HAND_CURSOR, hand); // 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 FXbool iconpathfound = true; loadicons = loadAppIcons(application, &iconpathfound); // 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); // Icon path not found if (!iconpathfound) { MessageBox::error(application, BOX_OK, _("Error loading icons"), _("Icon path doesn't exist, icon theme was set back to default. Please check your icon path!") ); } // Some icons not found if (!loadicons) { MessageBox::error(application, BOX_OK, _("Error loading icons"), _("Unable to load some icons. Please check your icon theme!")); } return(application->run()); } xfe-1.44/src/DirPanel.h0000644000200300020030000001650413501733230011566 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.44/src/OverwriteBox.cpp0000644000200300020030000001677613501733230013075 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.44/src/TextLabel.cpp0000644000200300020030000012416613501733230012313 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.44/src/PathLinker.cpp0000644000200300020030000002227313654476324012505 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 (!existFile(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.44/src/FileDict.cpp0000644000200300020030000002165513655745113012126 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 // Icon scale factor extern double scalefrac; // 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) { // Load it FXIcon* icon = source->loadIconFile(FXPath::search(path, (const char*)ptr)); // Scale it icon->scale(scalefrac*icon->getWidth(), scalefrac*icon->getHeight()); return(icon); } // 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()) { // Set icon path if it exists, otherwise set icon path to default FXString iconpath = settings->readStringEntry("SETTINGS", "iconpath", DEFAULTICONPATH); if ( !existFile(iconpath) ) { iconpath = DEFAULTICONPATH; } icons = new IconDict(a, iconpath); } // Construct an file-extension association table, and alternative settings database FileDict::FileDict(FXApp* a, FXSettings* db) : app(a), settings(db) { // Set icon path if it exists, otherwise set icon path to default FXString iconpath = settings->readStringEntry("SETTINGS", "iconpath", DEFAULTICONPATH); if ( !existFile(iconpath) ) { iconpath = DEFAULTICONPATH; } icons = new IconDict(a, iconpath); } // 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.44/src/SearchPanel.h0000644000200300020030000002011113501733230012242 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.44/src/StringList.cpp0000644000200300020030000001674213501733230012531 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.44/src/DirList.h0000644000200300020030000002236013501733230011437 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.44/src/WriteWindow.cpp0000644000200300020030000023457113655263775012741 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, 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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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) { // Get current file size int size = editor->getLength(); // Get available space on current file system FXlong space = GetAvailableSpace(file); // Unknown error if (space < 0) { MessageBox::error(this, BOX_OK, _("Error Saving File"), _("Unable to save file: %s"), file.text()); return(false); } // Not enough space left on file system to save the file else if (space < size) { MessageBox::error(this, BOX_OK, _("Error Saving File"), _("Not enough space left on device, unable to save file: %s\n\n\ => To prevent losing data, you should save this file to another device before exiting!"), file.text()); return(false); } FXFile textfile(file, FXFile::Writing); char* text; // Opened file? if (!textfile.isOpen()) { MessageBox::error(this, BOX_OK, _("Error Saving File"), _("Unable to open file: %s"), file.text()); return(false); } // 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 int 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_CENTER_Y|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*) { FXuchar* data; FXuint len; if (getDNDData(FROM_DRAGNDROP, urilistType, data, len)) { FXString urilist((FXchar*)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 (existFile(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 (existFile(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.44/src/InputDialog.cpp0000644000200300020030000000520213501734514012641 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 + FXString(" "), 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.44/src/Properties.cpp0000644000200300020030000022277113654476324012605 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") + FXString(" "), target, PropertiesBox::ID_RUSR); uw = new FXCheckButton(group1, _("Write") + FXString(" "), target, PropertiesBox::ID_WUSR); ux = new FXCheckButton(group1, _("Execute") + FXString(" "), target, PropertiesBox::ID_XUSR); FXGroupBox* group2 = new FXGroupBox(accessframe, _("Group"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); gr = new FXCheckButton(group2, _("Read") + FXString(" "), target, PropertiesBox::ID_RGRP); gw = new FXCheckButton(group2, _("Write") + FXString(" "), target, PropertiesBox::ID_WGRP); gx = new FXCheckButton(group2, _("Execute") + FXString(" "), target, PropertiesBox::ID_XGRP); FXGroupBox* group3 = new FXGroupBox(accessframe, _("Others") + FXString(" "), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); or_ = new FXCheckButton(group3, _("Read") + FXString(" "), target, PropertiesBox::ID_ROTH); ow = new FXCheckButton(group3, _("Write") + FXString(" "), target, PropertiesBox::ID_WOTH); ox = new FXCheckButton(group3, _("Execute") + FXString(" "), target, PropertiesBox::ID_XOTH); FXGroupBox* group4 = new FXGroupBox(accessframe, _("Special") + FXString(" "), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); suid = new FXCheckButton(group4, _("Set UID") + FXString(" "), target, PropertiesBox::ID_SUID); sgid = new FXCheckButton(group4, _("Set GID") + FXString(" "), target, PropertiesBox::ID_SGID); svtx = new FXCheckButton(group4, _("Sticky") + FXString(" "), 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") + FXString(" "), &cmd_radiotarget, FXDataTarget::ID_OPTION+PropertiesBox::ID_SET); rec = new FXCheckButton(matrix6, _("Recursively") + FXString(" "), NULL, 0); clear = new FXRadioButton(matrix6, _("Clear marked") + FXString(" "), &cmd_radiotarget, FXDataTarget::ID_OPTION+PropertiesBox::ID_CLEAR); flt_radiotarget.connect(flt); all = new FXRadioButton(matrix6, _("Files and folders") + FXString(" "), &flt_radiotarget, FXDataTarget::ID_OPTION+PropertiesBox::ID_ALL); add = new FXRadioButton(matrix6, _("Add marked") + FXString(" "), &cmd_radiotarget, FXDataTarget::ID_OPTION+PropertiesBox::ID_ADD); dironly = new FXRadioButton(matrix6, _("Folders only") + FXString(" "), &flt_radiotarget, FXDataTarget::ID_OPTION+PropertiesBox::ID_DIRONLY); own = new FXCheckButton(matrix6, _("Owner only") + FXString(" "), NULL, 0); fileonly = new FXRadioButton(matrix6, _("Files only") + FXString(" "), &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[128]; 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 TextLabel(mtmatrix, 30, 0, 0, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW|FRAME_NONE); location->setBackColor(getApp()->getBaseColor()); } 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 TextLabel(attrmatrix, 30, 0, 0, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW|FRAME_NONE); location->setBackColor(getApp()->getBaseColor()); 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") + FXString(" "), 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'); } } // Set location text location->setNumColumns(text.length()); 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); if (nbselfiles <= 1 && nbseldirs+dotdot <= 1) { snprintf(buf, sizeof(buf)-1, _("%d file, %d folder"), nbselfiles, nbseldirs+dotdot); } else if (nbselfiles <= 1 && nbseldirs+dotdot > 1) { snprintf(buf, sizeof(buf)-1, _("%d file, %d folders"), nbselfiles, nbseldirs+dotdot); } else if (nbselfiles > 1 && nbseldirs+dotdot <= 1) { snprintf(buf, sizeof(buf)-1, _("%d files, %d folder"), nbselfiles, nbseldirs+dotdot); } else { 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 (!existFile(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 (!existFile(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); if (nbfiles-nbsubdirs-nbseldirs <= 1 && nbsubdirs <= 1) { snprintf(size, sizeof(size)-1, _("%u file, %u subfolder"), nbfiles-nbsubdirs-nbseldirs, nbsubdirs); } else if (nbfiles-nbsubdirs-nbseldirs <= 1 && nbsubdirs > 1) { snprintf(size, sizeof(size)-1, _("%u file, %u subfolders"), nbfiles-nbsubdirs-nbseldirs, nbsubdirs); } else if (nbfiles-nbsubdirs-nbseldirs > 1 && nbsubdirs <= 1) { snprintf(size, sizeof(size)-1, _("%u files, %u subfolder"), nbfiles-nbsubdirs-nbseldirs, nbsubdirs); } else { 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); if (nbfiles-nbsubdirs-nbseldirs <= 1 && nbsubdirs <= 1) { snprintf(size, sizeof(size)-1, _("%u file, %u subfolder"), nbfiles-nbsubdirs-nbseldirs, nbsubdirs); } else if (nbfiles-nbsubdirs-nbseldirs <= 1 && nbsubdirs > 1) { snprintf(size, sizeof(size)-1, _("%u file, %u subfolders"), nbfiles-nbsubdirs-nbseldirs, nbsubdirs); } else if (nbfiles-nbsubdirs-nbseldirs > 1 && nbsubdirs <= 1) { snprintf(size, sizeof(size)-1, _("%u files, %u subfolder"), nbfiles-nbsubdirs-nbseldirs, nbsubdirs); } else { 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.44/src/Keybindings.h0000644000200300020030000000777613501733230012351 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.44/src/DirHistBox.h0000644000200300020030000000352413501733230012105 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.44/src/help.h0000644000200300020030000004310413502414227011017 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 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 \ - HiDPI monitor 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\n \ 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\n \ 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\n \ on your installation. You can easily change the icon theme path in Preferences dialog.\n \ \n \ \n \ \n \ HiDPI support\n \ =-=-=-=-=-=-=\n \ \n \ Starting with version 1.44, Xfe supports HiDPI monitors. All users have to do is to manually adjust the screen\n \ resolution using the Edit / Preferences / Appearance / DPI option. A value of 200 - 240 dpi should be fine for Ultra\n \ HD (4K) monitors.\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\n \ 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 24 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: 19/06/2019]\n \ \n \ ") ; #endif xfe-1.44/src/startupnotification.cpp0000644000200300020030000001611013501733230014525 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.44/src/WriteWindow.h0000644000200300020030000003334113501733230012350 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.44/src/ExecuteBox.cpp0000644000200300020030000000453413501733230012476 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.44/src/XFileExplorer.cpp0000644000200300020030000050657614023352374013176 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_CENTER_Y|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_CENTER_Y|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_SIGNAL, XFileExplorer::ID_QUIT, XFileExplorer::onQuit), 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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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); // Scrollbar size int barsize = getApp()->reg().readUnsignedEntry("SETTINGS", "scrollbarsize", 15); getApp()->setScrollBarSize(barsize); // 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 (!existFile(configpath)) { // If old configuration path (i.e. ~/.xfe) exists then warn the user about the new configuration scheme FXString oldconfigpath = homedir + PATHSEPSTRING ".xfe"; if (existFile(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 (!existFile(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 (existFile("/usr/share/xfe/xferc")) { FXFile::copy("/usr/share/xfe/xferc", configpath, false); } else if (existFile("/usr/local/share/xfe/xferc")) { FXFile::copy("/usr/local/share/xfe/xferc", configpath, false); } else if (existFile("/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); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Xfe cannot run without a global xferc configuration file")); exit(EXIT_FAILURE); } } // Read and write the registry getApp()->reg().read(); getApp()->reg().write(); } // Create trash can files directory if it doesn't exist if (!existFile(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 (!existFile(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\ Finnish: Kimmo Siira\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_CENTER_Y|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--; // Restore original history order rundialog->clearItems(); for (int i = 0; i < RunHistSize; i++) { rundialog->appendItem(RunHistory[i]); } // 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, cmd, command; if (use_sudo) { title = _("Enter the user password:"); FXString sudo_cmd = getApp()->reg().readStringEntry("OPTIONS", "sudo_cmd", DEFAULT_SUDO_CMD); cmd = " -g 60x4 -e " + sudo_cmd; } else { title = _("Enter the root password:"); FXString su_cmd = getApp()->reg().readStringEntry("OPTIONS", "su_cmd", DEFAULT_SU_CMD); cmd = " -g 60x4 -e " + su_cmd; } // Get text font FXString fontspec = getApp()->reg().readStringEntry("SETTINGS", "textfont", DEFAULT_TEXT_FONT); if (fontspec.empty()) { command = "st -t " + ::quote(title) + cmd; } 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 + "'" + cmd; } // 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 (!existFile(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 (!existFile(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_CENTER_Y|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.44/src/DirPanel.cpp0000644000200300020030000030051413654504325012130 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); } // If source type is utf8Type (simple text) if (getDNDData(FROM_CLIPBOARD, utf8Type, data, len)) { FXRESIZE(&data, FXuchar, len+1); data[len] = '\0'; clipboard = (char*)data; // Loop over clipboard items FXString filepath; for (beg = 0; beg < clipboard.length(); beg = end+1) { if ((end = clipboard.find("\n", beg)) < 0) { end = clipboard.length(); } // Obtain item file path filepath = clipboard.mid(beg, end-beg); // Eventually remove the trailing '\r' if any if ((pos = filepath.rfind('\r')) > 0) { filepath.erase(pos); } // Update the param string param += filepath + "\n"; num++; } // Construct the final param string passed to the file management routine param = targetdir + "\n" + FXStringVal(num) + "\n" + param; // Copy sel = FXSEL(SEL_COMMAND, DirPanel::ID_DIR_COPY); 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, ::isDirectory(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) && !existFile(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 (!existFile(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 (!existFile(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) && !existFile(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); } // If source is utf8Type (simple text) else if (getDNDData(FROM_CLIPBOARD, utf8Type, data, len)) { FXRESIZE(&data, FXuchar, len+1); data[len] = '\0'; buf = (char*)data; // Check if valid clipboard int beg, end; FXString filepath; FXbool clipboard_valid = true; for (beg = 0; beg < buf.length(); beg = end+1) { if ((end = buf.find("\n", beg)) < 0) { end = buf.length(); } // Obtain item file path filepath = buf.mid(beg, end-beg); // File path does not begin with '/' if (filepath[0] != PATHSEPCHAR) { clipboard_valid = false; break; } // File path is not an existing file or directory else { if (!existFile(filepath)) { clipboard_valid = false; break; } } } // Clipboard not empty if (clipboard_valid) { 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 of the current directory in the file panel FilePanel* currentpanel = ((XFileExplorer*)mainWindow)->getCurrentPanel(); FXString path = currentpanel->getDirectory(); // 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.44/src/MessageBox.cpp0000644000200300020030000003205213661503452012464 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 "XFileExplorer.h" #include "MessageBox.h" // Main window extern FXMainWindow* mainWindow; // 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, cmd, command; if (use_sudo) { title = _("Enter the user password:"); FXString sudo_cmd = getApp()->reg().readStringEntry("OPTIONS", "sudo_cmd", DEFAULT_SUDO_CMD); cmd = " -g 60x4 -e " + sudo_cmd; } else { title = _("Enter the root password:"); FXString su_cmd = getApp()->reg().readStringEntry("OPTIONS", "su_cmd", DEFAULT_SU_CMD); cmd = " -g 60x4 -e " + su_cmd; } // Get current directory to enter FXString currdir = ((XFileExplorer*)mainWindow)->getCurrentPanel()->getDirectory(); cmd += " " + currdir; // Get text font FXString fontspec = getApp()->reg().readStringEntry("SETTINGS", "textfont", DEFAULT_TEXT_FONT); if (fontspec.empty()) { command = "st -t " + ::quote(title) + cmd; } 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 + "'" + cmd; } // 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.44/src/ArchInputDialog.cpp0000644000200300020030000005671313501733230013446 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.44/src/MessageBox.h0000644000200300020030000001035713501733230012125 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.44/src/KeybindingsDialog.cpp0000644000200300020030000000457113501733230014012 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.44/src/CommandWindow.h0000644000200300020030000000275213501733230012636 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.44/src/CommandWindow.cpp0000644000200300020030000002416213502672207013177 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" // Main window extern FXMainWindow* mainWindow; // 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; // Set focus to main window mainWindow->setFocus(); 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.44/src/FontDialog.h0000644000200300020030000000773613501733230012125 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.44/src/SearchWindow.cpp0000644000200300020030000011302413502401007013006 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 extern FXMainWindow* mainWindow; // 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") + FXString(" "), 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") + FXString(" "), 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") + FXString(" "), 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") + FXString(" "), 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_CENTER_Y|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, FXString(" ") + _("\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, FXString(" ") + _("\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, FXString(" ") + _("\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, FXString(" ") + _("\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, FXString(" ") + _("\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, FXString(" ") + _("\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, FXString(" ") + _("\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, FXString(" ") + _("\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(); // Set focus to main window mainWindow->setFocus(); 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.44/src/xfedefs.h0000644000200300020030000001364613655736220011534 00000000000000// Common Xfe constants #ifndef COPYRIGHT #define COPYRIGHT "Copyright (C) 2002-2020 Roland Baudin (roland65@free.fr)" #endif // Default normal font #ifndef DEFAULT_NORMAL_FONT #define DEFAULT_NORMAL_FONT "Sans,100,normal,regular" #endif // Default text font #ifndef DEFAULT_TEXT_FONT #define DEFAULT_TEXT_FONT "Mono,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/default-theme:/usr/local/share/xfe/icons/default-theme:/usr/share/xfe/icons/default-theme" #endif // Command to launch Xfe as root with sudo or su, using st as a terminal #ifndef DEFAULT_SUDO_CMD #define DEFAULT_SUDO_CMD "sudo -b xfe" #endif #ifndef DEFAULT_SU_CMD #define DEFAULT_SU_CMD "su -c 'nohup xfe >& /dev/null &'" #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.44/src/XFileImage.h0000644000200300020030000001641113501733230012037 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.44/src/DirHistBox.cpp0000644000200300020030000000714313501733230012441 00000000000000// Display a history list box and allows the user to select a string // This is based on FXChoiceBox #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.44/src/FontDialog.cpp0000644000200300020030000006270113501734576012467 00000000000000// Font dialog. Taken from the FOX library and only modified for translation purpose #include "config.h" #include "i18n.h" #include #include "xfedefs.h" #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:") + FXString(" "), 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:") + FXString(" "), 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()); FXString fontname = FXString(DEFAULT_NORMAL_FONT); strlcpy(selected.face, fontname.before(',').text(), 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.44/src/FileList.h0000644000200300020030000004100313501733230011573 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.44/src/DirList.cpp0000644000200300020030000017677113654476321012030 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)) { item->setSelected(TRUE); 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->setSelected(FALSE); } 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); int xx, yy; DirItem* item=NULL; // Display the dnd dialog if the control or shift key were not pressed if (confirm_dnd & !ctrlshiftkey) { // Get item FXuint state; getCursorPosition(xx, yy, state); item = (DirItem*)getItemAt(xx, yy); // Display a popup to select the drag type dropaction = DRAG_REJECT; FXMenuPane menu(this); int x, y; 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 { // Deselect item if (item) { item->setSelected(FALSE); } 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 += FXURL::encode(::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) && !existFile(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.44/src/Bookmarks.h0000644000200300020030000000522313501733230012014 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.44/src/TextLabel.h0000644000200300020030000001660413501733230011755 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.44/src/File.cpp0000644000200300020030000016716613654476322011334 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 // Return 0 to allow displaying an error message in the calling function // Return -1 to prevent displaying an error message in the calling function // Return -2 when an error has occurred during the copy 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) { int error = false; 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); } else { error = true; // An error has occurred } } 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); } else { error = true; // An error has occurred } } } // An error has occurred during the copy if (error) { ok = -2; } else { 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 (existFile(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 (!existFile(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)) { FXString pathname = ::cleanPath(targetfile); targetfile = ::buildCopyName(pathname, ::isDirectory(pathname)); // 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 (existFile(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 (!existFile(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 (existFile(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 (!existFile(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 (existFile(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); // Success if (ret == true) { return(remove(source.text()) == true); } // Error during copy else if (ret == -2) { return true; } // Operation cancelled 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 (!existFile(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 (existFile(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 (existFile(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 (existFile(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.44/src/XFilePackage.cpp0000644000200300020030000007011513655745255012730 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; // Main window (not used but necessary for compilation) FXMainWindow* mainWindow = NULL; // Scaling factors for the UI extern double scalefrac; // Hand cursor replacement (integer scaling factor = 1) #define hand1_width 32 #define hand1_height 32 #define hand1_x_hot 6 #define hand1_y_hot 1 static const FXuchar hand1_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x03, 0x00, 0x00, 0x90, 0x1c, 0x00, 0x00, 0x10, 0xe4, 0x00, 0x00, 0x1c, 0x20, 0x01, 0x00, 0x12, 0x00, 0x01, 0x00, 0x12, 0x00, 0x01, 0x00, 0x92, 0x24, 0x01, 0x00, 0x82, 0x24, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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 hand1_mask_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xfc, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // Hand cursor replacement (integer scaling factor = 2) #define hand2_width 32 #define hand2_height 32 #define hand2_x_hot 6 #define hand2_y_hot 1 static const FXuchar hand2_bits[] = { 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x20, 0x06, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x20, 0x1e, 0x00, 0x00, 0x60, 0x3e, 0x00, 0x00, 0x20, 0xe2, 0x03, 0x00, 0x60, 0x62, 0x1e, 0x00, 0x38, 0x00, 0x74, 0x00, 0x7c, 0x00, 0x60, 0x00, 0x24, 0x00, 0x40, 0x00, 0x64, 0x00, 0x60, 0x00, 0x26, 0x00, 0x40, 0x00, 0x26, 0x22, 0x62, 0x00, 0x06, 0x22, 0x42, 0x00, 0x06, 0x00, 0x60, 0x00, 0x06, 0x00, 0x40, 0x00, 0x06, 0x00, 0x60, 0x00, 0x04, 0x00, 0x60, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xf0, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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 hand2_mask_bits[] = { 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0x00, 0xe0, 0x3f, 0x00, 0x00, 0xe0, 0xff, 0x03, 0x00, 0xe0, 0xff, 0x1f, 0x00, 0xf8, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xf0, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // Hand cursor replacement (integer scaling factor = 3 or more) #define hand3_width 32 #define hand3_height 32 #define hand3_x_hot 6 #define hand3_y_hot 1 static const FXuchar hand3_bits[] = { 0x80, 0x1f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0xc0, 0xf0, 0x03, 0x00, 0xc0, 0xf0, 0x07, 0x00, 0xc0, 0x30, 0xfe, 0x00, 0xc0, 0x10, 0xfe, 0x01, 0xc0, 0x10, 0x8c, 0x3f, 0xc0, 0x10, 0x04, 0x7f, 0xfc, 0x00, 0x04, 0xe1, 0xfe, 0x00, 0x04, 0xc1, 0xc6, 0x00, 0x04, 0xc0, 0xc6, 0x00, 0x00, 0xc0, 0xc6, 0x00, 0x00, 0xc0, 0xc3, 0x00, 0x00, 0xc0, 0xc3, 0x00, 0x00, 0xc0, 0xc3, 0x10, 0x04, 0xc1, 0x03, 0x10, 0x04, 0xc1, 0x03, 0x10, 0x04, 0xc1, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0x3f }; static const FXuchar hand3_mask_bits[] = { 0x80, 0x1f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xc0, 0xff, 0x03, 0x00, 0xc0, 0xff, 0x07, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0x01, 0xc0, 0xff, 0xff, 0x3f, 0xc0, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0x3f }; // 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_CENTER_Y|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_CENTER_Y|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); // Read the Xfe registry FXRegistry* reg_xfe; reg_xfe = new FXRegistry(xfename, vdrname); reg_xfe->read(); // Compute integer and fractional scaling factors depending on the monitor resolution FXint res = reg_xfe->readUnsignedEntry("SETTINGS", "screenres", 100); scaleint = round(res / 100.0); scalefrac = FXMAX(1.0, res / 100.0); // Redefine the default hand cursor depending on the integer scaling factor FXCursor* hand; if (scaleint == 1) { hand = new FXCursor(application, hand1_bits, hand1_mask_bits, hand1_width, hand1_height, hand1_x_hot, hand1_y_hot); } else if (scaleint == 2) { hand = new FXCursor(application, hand2_bits, hand2_mask_bits, hand2_width, hand2_height, hand2_x_hot, hand2_y_hot); } else { hand = new FXCursor(application, hand3_bits, hand3_mask_bits, hand3_width, hand3_height, hand3_x_hot, hand3_y_hot); } application->setDefaultCursor(DEF_HAND_CURSOR, hand); // Load all application icons FXbool iconpathfound = true; loadicons = loadAppIcons(application, &iconpathfound); // 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(); // Icon path not found if (!iconpathfound) { MessageBox::error(application, BOX_OK, _("Error loading icons"), _("Icon path doesn't exist, icon theme was set back to default. Please check your icon path!") ); } // Some icons not found if (!loadicons) { MessageBox::error(application, BOX_OK, _("Error loading icons"), _("Unable to load some icons. Please check your icon theme!")); } // 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.44/src/SearchWindow.h0000644000200300020030000001410313501733230012456 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.44/src/icons.h0000644000200300020030000001133413655744313011215 00000000000000#ifndef ICONS_H #define ICONS_H // Prototypes FXbool loadAppIcons(FXApp*, FXbool*); // 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.44/src/IconList.cpp0000644000200300020030000033254614023176733012167 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 ITEM_HEIGHT 1 // Initial item height #define ITEM_WIDTH 1 // Initial item width #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; // Icon scale factor extern double scalefrac; // Flag for FilePanel::onCmdItemDoubleClicked or SearchPanel::onCmdItemDoubleClicked FXbool called_from_iconlist = false; // 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 * scalefrac; itemWidth = ITEM_WIDTH; itemHeight = ITEM_HEIGHT; 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 = ITEM_WIDTH; itemHeight = ITEM_HEIGHT; // 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 * scalefrac; } // 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); // Only draw the rectangle background if item height hasn't been computed yet // This avoids an ugly transient drawing on older hardware if (itemHeight == ITEM_HEIGHT) { dc.setForeground(backColor); dc.fillRectangle(event->rect.x, event->rect.y, event->rect.w, event->rect.h); return (0); } // 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 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_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 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_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; // Warn FilePanel::onCmdItemDoubleClicked or SearchPanel::onCmdItemDoubleClicked that we call from here called_from_iconlist = true; 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.44/src/FileDialog.h0000644000200300020030000002506713501733230012073 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.44/src/startupnotification.h0000644000200300020030000000054513501733230014177 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.44/src/FileDialog.cpp0000644000200300020030000016007613654476323012446 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") + FXString(" "), 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 (existFile(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.44/src/Keybindings.cpp0000644000200300020030000013577613501733230012706 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.44/src/TextWindow.h0000644000200300020030000000124313501733230012176 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.44/src/IconList.h0000644000200300020030000005712713501733230011622 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.44/src/FileDict.h0000644000200300020030000001611413501733230011550 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.44/src/ArchInputDialog.h0000644000200300020030000000356713501733230013112 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.44/src/XFilePackage.h0000644000200300020030000000333213501733230012346 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.44/src/XFileWrite.h0000644000200300020030000000150013501733230012100 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.44/src/FileList.cpp0000644000200300020030000046245113502124056012145 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" // Icon scale factor extern double scalefrac; // 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 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); deselectItem(prevIndex); } else { setItemMiniIcon(prevIndex, minifoldericon); setItemBigIcon(prevIndex, bigfoldericon); deselectItem(prevIndex); } 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); selectItem(index); // 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); int xx, yy, index=-1; // Display the dnd dialog if the control or shift key were not pressed if (confirm_dnd & !ctrlshiftkey) { // Get item index FXuint state; getCursorPosition(xx, yy, state); index = getItemAt(xx, yy); // Display a popup to select the drag type dropaction = DRAG_REJECT; FXMenuPane menu(this); int x, y; 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 { // Deselect item if (index >= 0) { deselectItem(index); } 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) { // Don't use associations when the file name is also an extension name (ex: zip, rar, tar, etc.) if (fileassoc->key != FXPath::name(pathname)) { 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) { // Scaled max sizes FXuint max_bigthumb_size = scalefrac * MAX_BIGTHUMB_SIZE; FXuint max_minithumb_size = scalefrac * MAX_MINITHUMB_SIZE; // 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 { // Do nothing } 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) { // Don't use associations when the file name is also an extension name (ex: zip, rar, tar, etc.) if (fileassoc->key != FXPath::name(pathname)) { 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) { // Scaled max sizes FXuint max_bigthumb_size = scalefrac * MAX_BIGTHUMB_SIZE; FXuint max_minithumb_size = scalefrac * MAX_MINITHUMB_SIZE; // 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.44/src/Bookmarks.cpp0000644000200300020030000001457113501733230012355 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.44/src/SearchPanel.cpp0000644000200300020030000043544413654476324012641 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 // Flag for SearchPanel::onCmdItemDoubleClicked extern FXbool called_from_iconlist; // 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_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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); propbtn->addHotKey(hotkey); // Separator new FXFrame(toolbar, LAYOUT_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); delbtn->addHotKey(hotkey); // Separator new FXFrame(toolbar, LAYOUT_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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_CENTER_Y|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; // Initialize the flag used in SearchPanel::onCmdItemDoubleClicked called_from_iconlist = false; } // Create window void SearchPanel::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"); 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) { // Don't do anything if not called from icon list and single click mode // and if first column in detailed list, or big or mini icon list if (!called_from_iconlist && (single_click == SINGLE_CLICK_DIR_FILE)) { int x, y; FXuint state; getCursorPosition(x, y, state); if ( (!(list->getListStyle()&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) && ((x-list->getXPosition()) < list->getHeaderSize(0))) || (list->getListStyle()&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) ) { return(1); } } // Reset flag called_from_iconlist = false; // Wait cursor getApp()->beginWaitCursor(); // At most one item selected if (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); 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(); 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(); 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(); handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } } } // More than one selected files else { handle(this, FXSEL(SEL_COMMAND, ID_OPEN), NULL); } getApp()->endWaitCursor(); return(1); } // Single click on File Item long SearchPanel::onCmdItemClicked(FXObject* sender, FXSelector sel, void* ptr) { if (single_click != SINGLE_CLICK_NONE) { // Single click with control or shift int x, y; FXuint state; getCursorPosition(x, y, state); if (state&(CONTROLMASK|SHIFTMASK)) { return(1); } // In detailed mode, avoid single click when mouse cursor is not over the first column FXbool allow = true; if (!(list->getListStyle()&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) && ((x-list->getXPosition()) > list->getHeaderSize(0))) { allow = false; } // Wait cursor getApp()->beginWaitCursor(); // At most one item selected if (list->getNumSelectedItems() <= 1) { // 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; #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(); 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(); 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(); handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } } } // More than one selected files else if ( (single_click == SINGLE_CLICK_DIR_FILE) && allow) { handle(this, FXSEL(SEL_COMMAND, ID_OPEN), 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; } // Text file if (isTextFile) { // Execution forbidden, edit the file FXbool no_script = getApp()->reg().readUnsignedEntry("OPTIONS", "no_script", false); if (no_script) { 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 { handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // Execution allowed, execute file with optional confirmation dialog else { // With confirmation dialog FXbool confirm_execute = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_execute", true); if (confirm_execute) { 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 // No startup notification in this case runcmd(cmd, cmdname, parentdir, searchdir, false, ""); #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 { handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } } } } // Binary file, execute it else { cmdname = FXPath::name(pathname); cmd = ::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, parentdir, searchdir, usesn, snexcepts); #else runcmd(cmd, parentdir, searchdir); #endif } } // 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; } } // Restore original history order opendialog->clearItems(); for (int i = 0; i < OpenNum; i++) { opendialog->appendItem(OpenHistory[i]); } // 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); // 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, 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); // If directory, skip it if (::isDirectory(pathname)) { continue; } // If there is an association association = assocdict->findFileBinding(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, 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; // At most one item selected, select item under cursor if (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); } } 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 (!existFile(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 (!existFile(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) && !existFile(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 (!existFile(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 (!existFile(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 (!existFile(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 item")); 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) { int nbdirs = 0; 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); } if (list->isItemSelected(u) && list->isItemDirectory(u)) { nbdirs++; } } int nbfiles = num - nbdirs; if (nbdirs <= 1 && nbfiles <= 1) { str.format(_("%s in %s selected items (%s folder, %s file)"), hsize.text(), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); } else if (nbdirs <=1 && nbfiles > 1) { str.format(_("%s in %s selected items (%s folder, %s files)"), hsize.text(), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); } else if (nbdirs > 1 && nbfiles <= 1) { str.format(_("%s in %s selected items (%s folders, %s file)"), hsize.text(), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); } else { str.format(_("%s in %s selected items (%s folders, %s files)"), hsize.text(), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); } } else { // Nothing selected if ((num == 0) || (item < 0)) { num = list->getNumItems(); if (num == 1) { str = _("1 item"); } else { int nbdirs = 0; for (int u = 0; u < num; u++) { if (list->isItemDirectory(u)) { nbdirs++; } } int nbfiles = num - nbdirs; str.format(_("%s items (%s folders, %s files)"), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); if (nbdirs <= 1 && nbfiles <= 1) { str.format(_("%s items (%s folder, %s file)"), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); } else if (nbdirs <=1 && nbfiles > 1) { str.format(_("%s items (%s folder, %s files)"), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); } else if (nbdirs > 1 && nbfiles <= 1) { str.format(_("%s items (%s folders, %s file)"), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); } else { str.format(_("%s items (%s folders, %s files)"), FXStringVal(num).text(), FXStringVal(nbdirs).text(), FXStringVal(nbfiles).text()); } } } 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 { int idx = str.find(" "); // Split output at first whitespace FXString pkgname = str.left(idx-1); // Remove trailing colon FXString fname = str.right(str.length()-idx); fname.trim(); // Remove leading space and trailing newline if (streq(fname.text(), file.text())) // No other word than the file name { str = pkgname.text(); } 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.44/xfp.desktop.in.in0000644000200300020030000000044213501733230012324 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.44/config.sub0000755000200300020030000010645013661504114011117 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright 1992-2018 Free Software Foundation, Inc. timestamp='2018-02-22' # 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"). # 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: # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # 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 or ALIAS Canonicalize a configuration name. Options: -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-2018 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* | cloudabi*-eabi* | \ 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/'` ;; -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 | ia16 | 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 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pru \ | 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 \ | wasm32 \ | 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) ;; 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-* | ia16-* | 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-* \ | pru-* \ | 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-* \ | wasm32-* \ | 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-pc 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*) basic_machine=m68k-bull os=-sysv3 ;; e500v[12]) basic_machine=powerpc-unknown os=$os"spe" ;; e500v[12]-*) basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=$os"spe" ;; 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 ;; 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 ;; 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 ;; 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 ;; nsv-tandem) basic_machine=nsv-tandem ;; nsx-tandem) basic_machine=nsx-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) 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) 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 ;; sh5el) basic_machine=sh5le-unknown ;; 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 ;; x64) basic_machine=x86_64-pc ;; 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 ;; 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 ;; 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 ;; 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 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # es1800 is here to avoid being matched by es* (a different OS) -es1800*) os=-ose ;; # Now 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* | -knetbsd* | -mirbsd* | -netbsd* \ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ | -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* | -glidix* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ | -midnightbsd*) # 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 | -xray | -os68k* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* \ | -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 ;; -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 ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -pikeos*) # Until real need of OS specific support for # particular features comes up, bare metal # configurations are quite functional. case $basic_machine in arm*) os=-eabi ;; *) os=-elf ;; esac ;; -nacl*) ;; -ios) ;; -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 ;; pru-*) os=-elf ;; *-be) os=-beos ;; *-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 ;; *-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-functions 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: xfe-1.44/icons/0000755000200300020030000000000014023353054010317 500000000000000xfe-1.44/icons/Makefile.in0000644000200300020030000005077213655740037012332 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 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 distdir-am 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@ FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ FREETYPE_LIBS = @FREETYPE_LIBS@ 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@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ 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@ XFT_CFLAGS = @XFT_CFLAGS@ XFT_LIBS = @XFT_LIBS@ 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@ 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@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ 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@ x11_xcb_CFLAGS = @x11_xcb_CFLAGS@ x11_xcb_LIBS = @x11_xcb_LIBS@ xcb_CFLAGS = @xcb_CFLAGS@ xcb_LIBS = @xcb_LIBS@ xcb_aux_CFLAGS = @xcb_aux_CFLAGS@ xcb_aux_LIBS = @xcb_aux_LIBS@ xcb_event_CFLAGS = @xcb_event_CFLAGS@ xcb_event_LIBS = @xcb_event_LIBS@ xft_config = @xft_config@ SUBDIRS = gnome-theme default-theme kde-theme xfce-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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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.44/icons/default-theme/0000755000200300020030000000000014023353045013043 500000000000000xfe-1.44/icons/default-theme/bigfolder.png0000644000200300020030000000152213501733230015424 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)/@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/default-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@ FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ FREETYPE_LIBS = @FREETYPE_LIBS@ 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@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ 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@ XFT_CFLAGS = @XFT_CFLAGS@ XFT_LIBS = @XFT_LIBS@ 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@ 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@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ 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@ x11_xcb_CFLAGS = @x11_xcb_CFLAGS@ x11_xcb_LIBS = @x11_xcb_LIBS@ xcb_CFLAGS = @xcb_CFLAGS@ xcb_LIBS = @xcb_LIBS@ xcb_aux_CFLAGS = @xcb_aux_CFLAGS@ xcb_aux_LIBS = @xcb_aux_LIBS@ xcb_event_CFLAGS = @xcb_event_CFLAGS@ xcb_event_LIBS = @xcb_event_LIBS@ xft_config = @xft_config@ icondir = $(datadir)/xfe/icons/default-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/default-theme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/default-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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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.44/icons/default-theme/newfolder.png0000644000200300020030000000460713661524455015501 00000000000000PNG  IHDR(-SzTXtRaw profile type exifxW[' gYb9<,?=wTZ# ƌ\DN $1hqqL*,茶;yg@y:TN=|.HT{˻vTT'罪%}t_D)r~f='!x2ٔb\rB2~?Jw+kL଱[lT340,|J8?q>}5Ѣďbziy28p9Sg u%,NӾ3nA4XVeGx:v7{\LFMEn7);R|CxPiN7o} 4wVrOosZrh͸02 qSv aY`ro=S.`F&)8+*p!PG`"joۼ%D'`}XXC%!RC>AŘj%)RS/,A$R2en21Kι,\)/Tr 5TZҧq -ԤV:uQ=ԥ^H#G2(6fi̳<)ܿSh#҃)|#v@<-д0i!0P`dXtgp{{!K?čY&r73ܾZ_vۈ*\1Շ!];A:ZʞM~P`^+7,:.e-hp#^YzAgYhqphdͬ cq/i<yؠѲP˦OH|͖–T+QscF8l|ʹ&/ "pδnz}< DYH>d4TOʷ~bNa25ĴJCrd KG[۾ydtH&_ͨ޾3`Wy2+ݩjh>afMUkRUcL϶N0qӇk,0rMuur mgmם3buǨmAI:RIkFÓ4bZk YwFUqYb?m/8𝵆?b2Ej8U-nyOJ5کP42cޕݻ;HTA waA<5֢V3#Az䓐(,gzr&&:vDHQaJLآɇh\V.>!+_>)rx*)8;_^ CW,y3|% :Ȏq8n1 P"ZVxMAF.Ш94N3p:0IzE6pqҔ=r|2dSv%?M!蛲@-г7!0Zn3~\rɦPLTE */6>72DRaO^l`rasbubucudwa|jj|ǜǟŢƥʤȦʯȻƢɠԾʧˢΥЖѓєҙԙܣtRNS@fbKGDH pHYs.#.#x?vtIME)7*:tEXtCommentCreated with GIMPWIDATc` 0 -|!iIaNv@9WPXXPP_W7$DŽ(ѱuvrWc ikiXY 0\\uUeEYyq (H̕ ؀@T@ 8^LiH̗bIENDB`xfe-1.44/icons/default-theme/bigfileopen.png0000644000200300020030000000066713501733230015763 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.44/icons/default-theme/minifolderopen.png0000644000200300020030000000041413501733230016500 00000000000000PNG  IHDR,n3PLTE9;@NNOQVabbb w!$+-/59tRNS@fbKGD ,zIDATxU iRlFv9","x/\ Fz] !l%Ӕ |E!=ĈYEďuJa Wsڪ@? Q#4YIENDB`xfe-1.44/icons/default-theme/minifolder.png0000644000200300020030000000040013501733230015611 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.44/icons/default-theme/home.png0000644000200300020030000000251711444154372014434 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.44/icons/default-theme/Makefile.am0000644000200300020030000000007513655740001015023 00000000000000icondir=$(datadir)/xfe/icons/default-theme icon_DATA=*.png xfe-1.44/icons/default-theme/bigfolderup.png0000644000200300020030000000154013501733230015771 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.44/icons/default-theme/filedialog.png0000644000200300020030000001504213655777572015623 00000000000000PNG  IHDRR݇zTXtRaw profile type exifxŚir;sq 9"%JO=f#TL$#@R+Tjn9[|^7.nx.w릾u=aЛ=_Er?+4m?_rR>{+PXJ YAxv&] )WAlig}175"d_ƿ&"[.sV=g?1c(kֹ:k`p&ۉsv3]s"k}?,1 Oo~)_B +T|96!p*o^1?'?)kpmſ^29(orX*L̕ v;)Fr?b+\?%>pw'w}q;VYz_$GɴRvnu3[Y~O&J}ŅI Gg51ugQw [.}ErFKeS 4[w8h#ޭ3e3H}}XuXkϓron4&hG|n™dnNK;~}|y}-ٳrꑋ>mXjk xLeXfz+eܘ0j.Y|?=4eL̷oWag V%{8嘬S}^ jXsЦ"wr4^f@$iQ+{u3|>%{p/"gR=C9 -sYN _J!&nD'S$p:7(b"Qyr;w4w&?J!i^[ΡwD\8f7NXT XM!H]mו Ez?da._[b"n^pp3*mϜR|$Ks/Lyݑ6z46#0偌Yq7\c}dXqca425M aǖF!>'H;(-Vۊ<@y"P Ș_uVdKN˜GVsx= B< mA(lJ+‰}4:n|NacWt-%I'%T P1{DR?@L/:| Q$E.JLPG G!7"^G$z~!-VD.BaҒZ/2y!;O=!c⅋ x3|k,j>~[~@ąf8g6~ŽW"B֝I춍Ǣpka=#Fv`q,56`S{2&^xSYCa:%F |D .FKI{m'{/L0XYؑ| l+fT&";?k:A,6zE'45(_ cA>ظijg=f2~ 7hAUx-#סnppOTf"eǔRG &r5V/ER>+'¯ )AǬ6@‹j3;HЅXBtsf(-;[;zcgC)d!  lz˙rsc!6Irz@AwWQF69_p3t"K7Xخ Jw݊mwJ*Q1AFPH yLNʏ\";335:*fܑh &Z h~~2,R/ogzXm|Zya<]7) t<u\Na$H $s1e~ !@K|9 ǒy1m gMϊH!&~,vzXbA++"úNJvkOQE;9^Ѱ䝃 o힕  `#US.l`k7x?e{'Eųk@bEpXIJQ?Q&͒t. @%V)#2H '42ܡJb}FV`xXܔo"+sFKpURwiB³H*2"%Uyo0&C6$lt;\2Xe;\}=Eሁ"{VY)2CjmjTDW1X &ZH2*'? KD:& JGH|WϏ̷%߻nmPV*oi'ypi@o7 'RBo}gc"ObY˗Śo pץv5cjư?-Nf&i uD0wk o@kH7|oF%l&T*. \[BQn5/VAd7ޖtu]#$jyP6C};#}ׅQjjRgxp+ NǪgY*~mrٓ7m:cE@JMf; + bYӑ-,.؍Ba&Q=TبHe{uux'5D-p)(Vg>l#CimتrϮ  My|aҴp9GG>[1DOﯷ-sͷW?.zHЛzLk5HA'T@DU`W VăQ)2-68Bv$vf]ᙉ.бPnaa7.$ E‰=Ev>#8[2~rfAlK0#4 `)?’z{)`3ĥdܷwD2rVH (XX[W'OL}n,*rL pA˜)=38{=9%-EbM(\:f5`L=~6yWM(|*I?֜4ĬCkyV/*u, ʢ^w4ioW%Ig7]Q9-nMuJBQ Q bHؙq. ӀGLx M"&i2 /Ervi0Qө=BO'$)mg<,8Tr$ |5Wa5)c]MmLp@l߳Wꇀ)>z[5MWסj^Baot䓱Ѐ~砜%z\ *J9!9 ߭,iGELFl2PhZYK)StuZ2ᐺ6]=jPS*d@:8#dz%c?t8$+>~z0*oFCi^EDՌV A7f' Ӭ&D߳gs_O[nLTƭ6bo \O0#@J2H߳+ޮ(RQ{5"aQډ+I mJmoK\JlvvڮXXꄟ,$/Q+=H`@6v̊kT :fdM}pl܎ զdP@Be"a@Ab{s1Q+t(9 [Gze2 @K-rO@ ,%}ss~>ݣh[7Gg(tI 2[a0!kkލl7ww)BT|L3pqk>oFWF24͸1uLo\[Gꉑ[ik)+Q>Vΐ:f4Pu[ZKbydCd$L:0mÖs?ۅeKH7.~G_D+y>xEA&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/default-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/roland/debian/test-xfe/xfe/missing aclocal-1.16 ALLOCA = ALL_LINGUAS = AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AUTOCONF = ${SHELL} /home/roland/debian/test-xfe/xfe/missing autoconf AUTOHEADER = ${SHELL} /home/roland/debian/test-xfe/xfe/missing autoheader AUTOMAKE = ${SHELL} /home/roland/debian/test-xfe/xfe/missing automake-1.16 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/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 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 FREETYPE_CFLAGS = -I/usr/include/freetype2 -I/usr/include/libpng16 FREETYPE_LIBS = -lfreetype 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 -lxcb -lxcb-util -lxcb -lX11-xcb -lX11 -lxcb LIBTHREAD = LN_S = ln -s LTLIBICONV = LTLIBINTL = LTLIBMULTITHREAD = -lpthread LTLIBOBJS = LTLIBPTH = LTLIBTHREAD = MAKEINFO = ${SHELL} /home/roland/debian/test-xfe/xfe/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.44 PACKAGE_TARNAME = xfe PACKAGE_URL = PACKAGE_VERSION = 1.44 PATH_SEPARATOR = : PKG_CONFIG = /usr/bin/pkg-config PKG_CONFIG_LIBDIR = PKG_CONFIG_PATH = 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.44 WOE32DLL = no XFT_CFLAGS = -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 XFT_LIBS = -lXft XGETTEXT = /usr/bin/xgettext XGETTEXT_015 = /usr/bin/xgettext XMKMF = abs_builddir = /home/roland/debian/test-xfe/xfe/icons/default-theme abs_srcdir = /home/roland/debian/test-xfe/xfe/icons/default-theme abs_top_builddir = /home/roland/debian/test-xfe/xfe abs_top_srcdir = /home/roland/debian/test-xfe/xfe 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} 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/roland/debian/test-xfe/xfe/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} prefix = /usr/local program_transform_name = s,x,x, psdir = ${docdir} runstatedir = ${localstatedir}/run sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com srcdir = . sysconfdir = ${prefix}/etc target_alias = top_build_prefix = ../../ top_builddir = ../.. top_srcdir = ../.. x11_xcb_CFLAGS = x11_xcb_LIBS = -lX11-xcb -lX11 -lxcb xcb_CFLAGS = xcb_LIBS = -lxcb xcb_aux_CFLAGS = xcb_aux_LIBS = -lxcb-util -lxcb xcb_event_CFLAGS = xcb_event_LIBS = -lxcb-util -lxcb xft_config = icondir = $(datadir)/xfe/icons/default-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/default-theme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/default-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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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.44/icons/default-theme/bigfolderlocked.png0000644000200300020030000000140313501733230016604 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'ׂ5yyq_Z^n+׍+mw^,O)~#mIENDB`xfe-1.44/icons/default-theme/bignewfolder.png0000644000200300020030000001727313661522373016163 00000000000000PNG  IHDR$s?LazTXtRaw profile type exifxڭir:8Xt_#n<]Y@ w cruTjn9[-6yS_3qs)?K߹~ÍM}?3`̞7뫑\uZhkQn|5uu~Rڢ| ^Z;`|'<:}p|υ%ZC-jW}s+2>?pο.2qaAή9h~3ʚwt_<2?4~veLל'*Ǹ}_W'ѵo~)_B +T76!py۝oUq_?1Lə+]_aWb"|-]~/Et\Y`b$3s{ק)1w.$-c%@}~_cٛSO>{]D zDSb%z )r*R!ǜr% z %Tr)Vz 5Ts-V{-VZmMgXw ?ˆ#<ʨ>IgyYg}0*vf;.!N8O9Do?A5#Q)3$ŌxQHhbbf(Ȥؘ1B7꿊#r?Dm S>>-cۓ0VY}~dr{ٓb3gq kln-?̍y0ڴnD^ c!VK$˖vD/2贽G까Jcp9: mn[_kmv-sF'1UPciӭ=ss}t0uh_U5Ѡ־˰iͰzMpS, C5(6=C=ˍk'g_1o *[ cDCrw:O#$S6{KFW3G hi}Vڍ%{b&OlKI8 ,rD+f)I@:ɿ"+4ik9Ɗ;@6nl;fjݗmr#RENzu$v_W7B Kʌ#/jGNNLc8O-"cB0Vx2HQP>Fa 1G#XόSG+E͇偊eeuWʐL3BJl?:u彘XдǮuFc):0m34BNasZ gp"I/@nyz8k7 wH9EwYcݎ9'*P);-9mYITH=7M|N?)G)uG [_VMk`>x3;"$ ji]G >Aȩ\ ~^BWdŢt_&EZzbp 6ʤo9tHSgV/>e@C1.@tJId_cmg!#K tXdЀ8a6MGC/)6Gd8` 鑧zdȃϰe ڱ43N}2ŷ [/<!w(]yF6DŽrH z'A&\vwDtǔeTt8MvW Pgteb״ ޑ)y@+Nn^:Y.extK+ n_wk6kty!=Xӱe8GƝn_@3/n;b:  $J,i&eƇ1UWP Q i {iDrR]T] +Q76E?SA0mmL OYyªo`!0q-ؿ߂ulbb5 L٢6p38:T\d#,,pq8|.l+=!q &m9fj_'|nx& b!י 'os\0nH<# }-nؠPdl]0eY5@PdSqFA-JG$%]}&-[59 3 O@#l-%۰ɊJSKaf5;8,"=4d\)ǁwHduw)i^^O]ۼfp|:L ׅBs}IC~L`}1uf-8SU;U,4Z32b M"ugy[Sstwqi PKJlXagoh4)L:%Fp vR%#/ YǍT}`Sh$~)T *P`zvMblDb-*eY/DR&V[HzsCF‚Ȃu7MȅT3X5>N`ajT㣾i~|}T6%Щ' [9Hju\}ޱ~+% Sz$!@fiBNl*A2J1gq~51Nr\:]=0sC߉%P@4T+ѨW@x<ÑSɺ|._KZjD]ɲßQp5DCiLQ"‡%Šh᳥8qRch97~:; 6>蹻1&N[N-5Y7IφGa Bs ΅AXfN :uY*jHiH:JZ0az'f9GLa{[2كA -L' Fo %)U4K܇>ÕxO23n!cهd1iogi#-h9DMUNL@CqylCb46Pغ{ZX0?ZILjO҈K*䜋 ;gZ<&  KcIP @}9 p7AFѿ8`: %  VPa@ =ӌDJo^>CI=5-)-R2K6 ,KP~اzKH|WUwI@K]}a`RƟn/Wl_.:ƒ6jÆVmP1i Cҁ[( WR8io @/m4̭7=utn`P)`[*k:mh0oףנZu1-Dhaa `8`Np6K-R8hU|gGҎ"8%Mν##-);)q KNR4=V= ,CVmgģs:;Ĝf ܑ6tbH[c['oRA,AEJ& 7UHw<íF&DB>FӐ28}~fr]s vh>XBwTd '꺢*dm\FN Y aNhn!)CW ]D`d}r?,hUIYd^6a%ZQrO]X}fM5 a2Nm&P@˙>Y1UF^onlt EGuG_>nXi1S8ԡ a0 s29G&F^[mz{hl_d^% B`-*= *8Qa@;7J= ofGL25 5%&:ᴏ3$VO[("vTFh/so.Ҩ㪗P5թEa8qa\O&``QQ=F7/eSN=_6 +d aI`, Smq(H#;]؈~t\EHP.hКe}j&8qq@Mr_yxtSzo  Imn OrQ*4 D,v2HK//4M])ܨu~y&£5ڰJذ+\Lu'D"2C@*/+e=$=mxMAF.Ш94N3p:0IzE6pqҔ=r|2dSv%?M!蛲@-г7!0Zn3~\rɦPLTE^WU"""++"DD!ttr~Ƣ̥ʦѩծʱٱصű޵ڶٷصľɿʯ̭̳̻Կզֺ֞ޑޤhkcY\SEAHJL06' -#tRNS@fbKGDH pHYs  ~tIME9/@/,7IDAT8ˍR0E؎bPB/w2dIa ߛ=5>5?t豴"D W^#X.cqzP5ĝe[}MYXA/?3.Pzs +fȪfyf}{( 0.M\T2:-]#O@ >a؈~5@beF`Le:܋9{S5eF7$p3*IfvUҫdO{P^rzaBd^ːH;C&+y>xEA:?B>BF@DGOUYTZ_Zbe[bgelwktwmu{mumw{oyr|r|r}stuvvvz|{|}}~џѢҦ٧ڧѫۮܯܯܲݳߵ߶߷vtRNS@fbKGDH pHYs.#.#x?vtIME :=0tEXtCommentCreated with GIMPW~IDATc` 0 HIFBZJBTRF\YVQVK,h+d619F=n1} 1[CT@0 ɛB`%K_b 62]D`Q.IENDB`xfe-1.44/icons/default-theme/minifolderclosed.png0000644000200300020030000000065513501733230017017 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.44/icons/default-theme/minifolderlocked.png0000644000200300020030000000071213501733230017001 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.44/icons/Makefile.am0000644000200300020030000000007113655731777012317 00000000000000SUBDIRS=gnome-theme default-theme kde-theme xfce-theme xfe-1.44/icons/xfce-theme/0000755000200300020030000000000014023353045012344 500000000000000xfe-1.44/icons/xfce-theme/bigfolder.png0000644000200300020030000000177613655560024014751 00000000000000PNG  IHDR$ MO*iCCPICC profile(}=H@_[T ␡:"*U(BP+`r4iHR\ׂUg]\AIEJ_Rhq?{ܽ2S͎q@,# я($fsw1}ѫLYs'G #e8̰NBm̊J7e[g M]%oC`@j3~rɴfPLTE ~BAB?KMPLR_QRTTVWYZx{˭xήwЯyаzҳ}ӳ}նַֹػټ۾ڿÖ×ƛƝɠɢȘʚ˝̟ͦͧ͠͡΢ϬϤЫϥЦѨѩҰҫҪӭӫӮԯհֲֲֳֶ׶׵׵ضٻٸټڹڻڼܾܿܽztRNS@fbKGDH pHYs  tIME 5(KIDAT8˭[[Q+RD XN|N=/{ew@37 F;tXuF 68%p^tGoC'z.:~赡ޣ3Թ5kP3ˈeqãt])]kOP9y%( 5.Ŕ"D%H(X !]Ieu ~x 2UfFnIENDB`xfe-1.44/icons/xfce-theme/minifolderup.png0000644000200300020030000000135613655562164015512 00000000000000PNG  IHDR,niCCPICC profile(}=HPOSKU*"vq:Yq*BZu0y4iHR\ׂ?Ug]\AIEJ/)}^f5hmq1]TQYƜ$%q}|է,DYf6mp' #8\xfLb6fES#"NBcg\e> C9}eT#H`K BA%a#FN;]D.\%0r, ߳^R(^# wFqq+ԁOk--ro-M.w'C6eWS <~Fߔo5ons>iU88F sNs~?*lr֧YfPLTE#V~>RIKLMPQSTUXyʛ͠ΣϥѨҪӫԭԮֲֳٸٷۻtRNS@fbKGDH pHYs  tIME  _baqIDATm D9h_@U['EDO';@p#c▉|yXkT ڥB9"d<:LA+zR};KыvKA=2IENDB`xfe-1.44/icons/xfce-theme/Makefile.in0000644000200300020030000004065713655740040014352 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 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/xfce-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@ FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ FREETYPE_LIBS = @FREETYPE_LIBS@ 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@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ 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@ XFT_CFLAGS = @XFT_CFLAGS@ XFT_LIBS = @XFT_LIBS@ 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@ 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@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ 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@ x11_xcb_CFLAGS = @x11_xcb_CFLAGS@ x11_xcb_LIBS = @x11_xcb_LIBS@ xcb_CFLAGS = @xcb_CFLAGS@ xcb_LIBS = @xcb_LIBS@ xcb_aux_CFLAGS = @xcb_aux_CFLAGS@ xcb_aux_LIBS = @xcb_aux_LIBS@ xcb_event_CFLAGS = @xcb_event_CFLAGS@ xcb_event_LIBS = @xcb_event_LIBS@ xft_config = @xft_config@ icondir = $(datadir)/xfe/icons/xfce-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/xfce-theme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/xfce-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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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.44/icons/xfce-theme/bigfileopen.png0000644000200300020030000000167613655563055015305 00000000000000PNG  IHDR$ MO*iCCPICC profile(}=HPOSKU*"vq:Yq*BZu0y4iHR\ׂ?Ug]\AIEJ/)}^f5hmq1]TQYƜ$%q}|է,DYf6mp' #8\xfLb6fES#"NBcg\e> C9}eT#H`K BA%a#FN;]D.\%0r, ߳^R(^# wFqq+ԁOk--ro-M.w'C6eWS <~Fߔo5ons>iU88F sNs~?*lr֧YPLTE~FEFGHHILM_SRSRWVW\]¥låky{̮{˯{ҷԹݿ޿ŘƙȠəʛ˜̞̟̠ͫ͡ΪΣЦѩҪҫӬԵԭԯնհհֲֳصضطٹڹڻۼܾtRNS@fbKGDH pHYs  tIME )P#wIDAT8˭@Q{ł"84. ,n;9|n/(n ϡWd+i@3#(FİlYjftDоCЎQy6eWshUQNCrFZm]JJ}HJ=hu/[@[ [P[_yxi\;{V PIENDB`xfe-1.44/icons/xfce-theme/minifolderopen.png0000644000200300020030000000132713655563250016022 00000000000000PNG  IHDR/\iCCPICC profile(}=HPOSKU*"vq:Yq*BZu0y4iHR\ׂ?Ug]\AIEJ/)}^f5hmq1]TQYƜ$%q}|է,DYf6mp' #8\xfLb6fES#"NBcg\e> C9}eT#H`K BA%a#FN;]D.\%0r, ߳^R(^# wFqq+ԁOk--ro-M.w'C6eWS <~Fߔo5ons>iU88F sNs~?*lr֧YbKGD/01g pHYs  tIME ,`p~IDAT8˭=JCQ;G܈[  s]X,\;!$yϗ9*D}1Ltl ů׳߇z,Qrh4xnUO gE +lZ!ɇEmu+HըB@8)a)ZARQ;=rafZ) %itZIENDB`xfe-1.44/icons/xfce-theme/text_16x16.png0000644000200300020030000000330613655726251014642 00000000000000PNG  IHDR(-SzTXtRaw profile type exifxڭi* k$`szo}TR*Ll BOP?Ib 9d)$]y} sʗv:_<߾Ze1/_)o$ϻC?gTuh(sPl;췷d~`P)zyٻv܊|}F]|$\{$Nݵ@_D>jtY_oF|{W&gDW"}[] =1@r nk(Wʙ \b.+Růmɛd>C ĚO`V/g,Λ*']1ag/Rh:%bNE|ع*Qv*ft2',es(_r˯=)+ V\dٙ1C@JCB&Ic(g@{ BP䏅*5jTDDCyL-Yl%,Sɒ=@1[N9R &*Uпe/a%.%/"}jZcjI DZjqRеn=@ ?4(']5ީJjZp8 $0$%A&ePA:PI Cg' +r4}C߹vy8(DY ةmZ$,=c:)*Ns? _]ܽ}ǘV;腥?G6/K߽ڵT~ s7pʞ9KaQ9&g6gJ̈gP5h#a]l\s#sotѓ5p`^'o94J zQ<飼lj^E2-UxH.=&%̕wolhXo+Q64\ɡBԴ # seNO?=f$w~ݿ0vKU.ܓOiCCPICC profilex}=H@_[KTPD0Cu *U(BP+`r4iHR\ׂUg]\AIEJ_Rhq?{ܽ*S͞q@,#J zEaðL}N_.9@Y*}%^xwowoi*hrEPLTE4~~~tRNS@fbKGDH pHYs  tIME !W` bIDATEI Ҵ]D$&_p8jFunBYQ32%b!L#&fG$hc߉")N#xIENDB`xfe-1.44/icons/xfce-theme/minifolder.png0000644000200300020030000000132613655562105015135 00000000000000PNG  IHDR,niCCPICC profile(}=HPOSKU*"vq:Yq*BZu0y4iHR\ׂ?Ug]\AIEJ/)}^f5hmq1]TQYƜ$%q}|է,DYf6mp' #8\xfLb6fES#"NBcg\e> C9}eT#H`K BA%a#FN;]D.\%0r, ߳^R(^# wFqq+ԁOk--ro-M.w'C6eWS <~Fߔo5ons>iU88F sNs~?*lr֧YcPLTE~>RIKLMPQSTUXyʛ͠ΣϥѨҪӫԭԮֲֳٸٷۻU:}tRNS@fbKGDH pHYs  tIME  !F3\IDATӍI ʠ8?oY)"‡"z$<n_ݡ&b+#掘3ء%2!55T(Ȕ7]e9`5XIENDB`xfe-1.44/icons/xfce-theme/home.png0000644000200300020030000000163613655564157013752 00000000000000PNG  IHDR,niCCPICC profile(}=H@_[KU*"vuP,8jP! :\MGbYWWAqrtRtZxp܏wwTcP5H%B&*^D0~(&9]gys(9>xEA xRf>Iл \\4ytɐ)@ӟgMY^s{kHSW-Pǻ;{L*r\~PLTEQRSSTUVr/ uF;wHM+N+O%W*_/`2iKlewnxpuBzr{r{t}ufevwfy|IhjlflǃPrttuʗr̘sͰͱȸ̼п3 tRNS@fbKGDH pHYs  tIME KIDATUW@Eѡ sFAA#t_ͨXW|P;Wc$ tܤBc[gfPL ]>kJHRپjyO=u}"q,52:<}a,Q4fʒqs8:,[C [%o!IENDB`xfe-1.44/icons/xfce-theme/Makefile.am0000644000200300020030000000007213655726354014340 00000000000000icondir=$(datadir)/xfe/icons/xfce-theme icon_DATA=*.png xfe-1.44/icons/xfce-theme/dirforward.png0000644000200300020030000000421413655753257015161 00000000000000PNG  IHDR(-S^zTXtRaw profile type exifxڵWY( s$6qֈ]Uoׯgae,%Bi)!I1Z| :b/+Yzc΋&֝Tt|=<^bP}',nV ac'8%=C EO:ͺ7/z@ <9rsxa+8A L&>B3oٿ{ov˨ oρݍ_hӻ9g9Ǚ]FͨM6]n0•ۯE\F䊠]G!ɻmh4SIc z27v&.qN~49hx` yk$ ClIaz;-pkXʭ+FA[_o æY0bqQ=rmg I]"C H.P$xT (޹&w826AK&ȟ9T >C bB%c1\I.RL)Iʩ/A$R2gr)Kι6 |/TjJ͵4O-R[]G豧.=2 TGq!#2kM?Ì3My[5U[5.ݪjR\*'aiOK$4/ͬ[X2,mL$8L{(-LoƿR, {ϵYS2mF?m͟:WU^Jmv?nRM |2p  3(F{~rmM. e:n=TQܦg\"gO|F{۷1pP玍zyBH4L!{>nX;ivЙTmӚ6wPQ41 h7[1T|EԞ*vfiO&l#1ˎܑ08ݳMAK]IQ&RZUߵF@:M+Wb?|J{V jsK=CؠAu<`(),z̭+=' YWG|O)ֵQF6"z#GAIk* ϓ, O̴>QNtbOrg8vd~BGuLŔ/XQTR>MiTwڳtPœ^TV(^TA$LF3u 9tũdtcUe%'jwxtFF&fK` k@Z|U8/nlOkg(M|e/V OYiCCPICC profilex}=H@ߦJ8A!Cu *U(BP+`r4iIR\ׂ?Ug]\AIEJ.)ޗYa3m )[¯!BSDDaVmNS_.γ}Zb@@"e5& ޴kEVR4s1.Hu7E)f"yJ|LuGq*JM|2O:Z][BeJ^onbobdfgG tRNS@fbKGDH pHYs  tIME 3iIDATc`8x! FfV6V6v>]U~0D@PTRTRVAIMX U@D ](,``j*& EHZM-!T:]s8| jqIENDB`xfe-1.44/icons/xfce-theme/dirback.png0000644000200300020030000000417213655753237014416 00000000000000PNG  IHDR(-SDzTXtRaw profile type exifxڵWY( s$6qֈygDی/g#>}arhݹLE+WâvnE^ v>v(ӉY3ԪPoXYŐ1G uxa+ƹ 2;9A/Iz=w-\r5G|z›a9 m0eqfW|DF*j'.7XǢ].#"hבq-n8eb}ԩФF =Nhm8ss'\v 8k@? 4T >C bB%c1\I.RL)Iʩ/A$R2gr)Kι6 |/TjJ͵4ȧZlI˭tLS{d*#8ҐGt0LSffMYp|5Rx3ƥ5XMJ Z$,{i1A yϋř͌E tZB?äs_o+̢`΀}Z_\یUrjVVIAڶ.XS_vw2^$!Ba]m0WO7Gۻ@}==̽o{ə$xD?zXb !C+3GB Ɓ7=VORVIgcorwsștұU@ٮz=Ԛչ4*ġRc,r3ҩ6[n=r8?[D]f4>SQH>Br-gU RteV\"%fCN$IWwxSBo*Qa&[^㺽REYCV Ѩ}Tt]D{~w!*{ ܵ1OW&|,^Л3?3G.^P]莊*٣mOGiE/ƦOw#iCCPICC profilex}=H@ߦJ8A!Cu *U(BP+`r4iIR\ׂ?Ug]\AIEJ.)ޗYa3m )[¯!BSDDaVmNS_.γ}Zb@@"e5& ޴kEVR4s1.Hu7E)f"yJ|LuGq*JM|2O:Z][BeJ^onbobdfg쐠r\]tRNS@fbKGDH pHYs  tIME #ҬqIDATc`8Pr(|~U]>v6V6VfF_X[GW]YQFQFB 3WSR Hj H HEčP4Qe`PAu<78p!*IENDB`xfe-1.44/icons/xfce-theme/bigfolderup.png0000644000200300020030000000204713655560140015305 00000000000000PNG  IHDR$ MO*iCCPICC profile(}=H@_[T ␡:"*U(BP+`r4iHR\ׂUg]\AIEJ_Rhq?{ܽ2S͎q@,# я($fsw1}ѫLYs'G #e8̰NBm̊J7e[g M]%oC`@j3~rɴfPLTE~BAB?KMPLR_QRTTVWYZx{˭xήwЯyаzҳ}ӳ}նַֹػټ۾ڿÖ×ƛƝɠɢȘʚ˝̟ͦͧ͠͡΢ϬϤЫϥЦѨѩҰҫҪӭӫӮԯհֲֲֳֶ׶׵׵ضٻٸټڹڻڼܾܿܽE0tRNS@fbKGDH pHYs  tIME 68IѹUIDAT8˭R@QYEA\ lEQM< 9/%#f+h4cBV"&k~w4P~|W2=4>bջwI]ځ;M\jvR X H}ͣVUfGղ"F/Y*E D贔@YoR ч]8Q$v.ʣvxtXx;-%۶wg.tZt[IENDB`xfe-1.44/icons/xfce-theme/filedialog.png0000644000200300020030000001103313655751352015104 00000000000000PNG  IHDRR݇zTXtRaw profile type exifxՙוB7 zfO.qch[h5ſ`W>Kb+_>~7_2`TumӞU|-d NvQHI<_bQv-o?|o4l䬝{>W UeLFû$Iۧ֏z2z^3܋-e#|`˸o7vw{7#5ZhW}Ģmls[ }[ |OUxe]uCwxuSlfjN[DzKO^^f.nra{}ޯ0WRt'/VmLmŻF 3 u-l^C`x0l3g%Z0_嶟'JZw@N&ccAɭisѪd'= M8"),|&jpbH!PB.b) O!ŔRN%!ǜr%bC%\JժF*+#6| -r+v§z^zvL8ȣ: 38̳̺_aŕV^eջ.~5synOɼt*F$'mg:xN|%)E QÈpƆeoM[~/xmHddT%_ q_fq-"Y +bn7"ƺmYQ< gYoXKukT9nahknD${~jZݶ<Eelj ȶHY˫6$*3"ݏ#ڙ8Hs qq^qFā%@KHD8HH( JՎQC ZD&>-%,h}Yי/SW}࿾>~0UlY#1+'3هؖ2I\jO3?Mm J9&*b@8yoHL]W3e{ 4SCb&īPږR>矡R6F1;Yb܅ M IM#ћKChRtvB>Ac>S"6AN+ջ?GJQE'S}6O^&GSrixgtzҘq ݕe HPa LCZZ@S̎;$o\޴~[3&+8i,t*4j";iְ™&gg9?6r&9X4ٝFͪ]} }HCcDA/`<5(;ک;^,<*yӓ <h?I餳$‡n̬ ?\K ZdGR{>&uU 3؎mlZ|vLxe+G(-uqGχL>M% e؇̢tGҰ榽e~uqd;FyvW5w1SUrBQ" x.A 5-J1G.ՙ6W KcDAHkK9: ެ%I_^Rv%vm<:ԛL#/bBs)] AW<_yZaG`  `ҮG+St"ZxkRp&~㘕OȆnYp<~2 o+879t;:V>u.xf 2l*oQs4:L#:%+0p-GsXdZN_/[$ajfR&iKOQC3Em\qgO9MJ< R9ڢٖ5OB0m\9 ? n5tH>"K3*O>@(WESl$K=!*Uj_sm߯?YK֒x`lZ&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/xfce-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/roland/debian/test-xfe/xfe/missing aclocal-1.16 ALLOCA = ALL_LINGUAS = AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AUTOCONF = ${SHELL} /home/roland/debian/test-xfe/xfe/missing autoconf AUTOHEADER = ${SHELL} /home/roland/debian/test-xfe/xfe/missing autoheader AUTOMAKE = ${SHELL} /home/roland/debian/test-xfe/xfe/missing automake-1.16 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/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 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 FREETYPE_CFLAGS = -I/usr/include/freetype2 -I/usr/include/libpng16 FREETYPE_LIBS = -lfreetype 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 -lxcb -lxcb-util -lxcb -lX11-xcb -lX11 -lxcb LIBTHREAD = LN_S = ln -s LTLIBICONV = LTLIBINTL = LTLIBMULTITHREAD = -lpthread LTLIBOBJS = LTLIBPTH = LTLIBTHREAD = MAKEINFO = ${SHELL} /home/roland/debian/test-xfe/xfe/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.44 PACKAGE_TARNAME = xfe PACKAGE_URL = PACKAGE_VERSION = 1.44 PATH_SEPARATOR = : PKG_CONFIG = /usr/bin/pkg-config PKG_CONFIG_LIBDIR = PKG_CONFIG_PATH = 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.44 WOE32DLL = no XFT_CFLAGS = -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 XFT_LIBS = -lXft XGETTEXT = /usr/bin/xgettext XGETTEXT_015 = /usr/bin/xgettext XMKMF = abs_builddir = /home/roland/debian/test-xfe/xfe/icons/xfce-theme abs_srcdir = /home/roland/debian/test-xfe/xfe/icons/xfce-theme abs_top_builddir = /home/roland/debian/test-xfe/xfe abs_top_srcdir = /home/roland/debian/test-xfe/xfe 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} 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/roland/debian/test-xfe/xfe/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} prefix = /usr/local program_transform_name = s,x,x, psdir = ${docdir} runstatedir = ${localstatedir}/run sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com srcdir = . sysconfdir = ${prefix}/etc target_alias = top_build_prefix = ../../ top_builddir = ../.. top_srcdir = ../.. x11_xcb_CFLAGS = x11_xcb_LIBS = -lX11-xcb -lX11 -lxcb xcb_CFLAGS = xcb_LIBS = -lxcb xcb_aux_CFLAGS = xcb_aux_LIBS = -lxcb-util -lxcb xcb_event_CFLAGS = xcb_event_LIBS = -lxcb-util -lxcb xft_config = icondir = $(datadir)/xfe/icons/xfce-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/xfce-theme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/xfce-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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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.44/icons/xfce-theme/bigfolderlocked.png0000644000200300020030000000210313655560461016121 00000000000000PNG  IHDR$ MO*iCCPICC profile(}=H@_[T ␡:"*U(BP+`r4iHR\ׂUg]\AIEJ_Rhq?{ܽ2S͎q@,# я($fsw1}ѫLYs'G #e8̰NBm̊J7e[g M]%oC`@j3~rɴfPLTEFFFGGGHHH~BAB?KMPLR_QRTTVWYZx{˭xήwЯyаzҳ}ӳ}նַֹػټ۾ڿÖ×ƛƝɠɢȘʚ˝̟ͦͧ͠͡΢ϬϤЫϥЦѨѩҰҫҪӭӫӮԯհֲֲֳֶ׶׵׵ضٻٸټڹڻڼܾܿܽtRNS@fbKGDH pHYs  tIME : IDAT8˭[7Q={rVa4*$$v'sf:̓~?8T;DxzSju`, Y6^#0xRj܇!t[P_`PsÞZ+LI^=Kz=iǀ/\G9ŀ%KLGQRݢ%O,CѶe("<9~P/6")F#ZIQv́H2+-JEӇ7R |0IENDB`xfe-1.44/icons/xfce-theme/bigfolderopen.png0000644000200300020030000000167613655563055015641 00000000000000PNG  IHDR$ MO*iCCPICC profile(}=HPOSKU*"vq:Yq*BZu0y4iHR\ׂ?Ug]\AIEJ/)}^f5hmq1]TQYƜ$%q}|է,DYf6mp' #8\xfLb6fES#"NBcg\e> C9}eT#H`K BA%a#FN;]D.\%0r, ߳^R(^# wFqq+ԁOk--ro-M.w'C6eWS <~Fߔo5ons>iU88F sNs~?*lr֧YPLTE~FEFGHHILM_SRSRWVW\]¥låky{̮{˯{ҷԹݿ޿ŘƙȠəʛ˜̞̟̠ͫ͡ΪΣЦѩҪҫӬԵԭԯնհհֲֳصضطٹڹڻۼܾtRNS@fbKGDH pHYs  tIME )P#wIDAT8˭@Q{ł"84. ,n;9|n/(n ϡWd+i@3#(FİlYjftDоCЎQy6eWshUQNCrFZm]JJ}HJ=hu/[@[ [P[_yxi\;{V PIENDB`xfe-1.44/icons/xfce-theme/bignewfolder.png0000644000200300020030000000212013655560255015451 00000000000000PNG  IHDR$ MO*iCCPICC profile(}=H@_[T ␡:"*U(BP+`r4iHR\ׂUg]\AIEJ_Rhq?{ܽ2S͎q@,# я($fsw1}ѫLYs'G #e8̰NBm̊J7e[g M]%oC`@j3~rɴf#PLTEx~BAB?KMPLR_QRTTVWYZx{˭xήwЯyаzҳ}ӳ}նַֹػټ۾ڿÖ×ƛƝɠɢȘʚ˝̟ͦͧ͠͡΢ϬϤЫϥЦѨѩҰҫҪӭӫӮԯհֲֲֳֶ׶׵׵ضٻٸټڹڻڼܾܿܽtRNS@fbKGDH pHYs  tIME 8 PIDAT8˭kO0VQTT~6eLD-:8iN#SxL_w<}2GE?z|P?@E-D`Ң%:@ YEB:cOݎ7:݇ K:HߥT1̖ `+3lqmm6/['yIOj1gzMbt $^tRhJ;ql&UHM&)њeVoo,1BJw 3حIENDB`xfe-1.44/icons/xfce-theme/text_32x32.png0000644000200300020030000000520313655564565014644 00000000000000PNG  IHDR DEzTXtRaw profile type exifxڭWYs8bO 궻\a) l|`KPB!A#)ٰ~ׇ)5A~w¹&3E>mugmG#1N{܅CQKNCQ;.SoBi  ]y[W[6>"Syr>2w |c߰Fh86mqcYDPs|yαh<"jN5XX_E< _F;Vl6[4Wi\p݉n,\%HF~ePSMJ` . 悧-k2vKA+/n"g"k/V7x|>!~`[Ee[~챎!w 9ao1΃gMD9Ar*pa$#DtoZKLt D> ?)dĐ̑gÅ%E1ENO!q)JsȜcN9璥P\bI%RD6T5Ts-U§-r+M:uQ&z^ g*GiQL3Lqgrv5wF)].0jR:U8-'1 'eMʙ.R3[I#Y1)c0 G<sposF0g@w~`9c; S}#`{2YLZJk#[?#o{Kĉ 8Q" GڛTK% ߥyWy كu-5g-ߥ 5#:#&jz) `d8U,vTVmdkfmQqNj$ Lk XRjB,#4Qb ަT#Z/S0U:hMfy9ܾ \Vǁr*+k?pr^gx qN81/aAe ՛Bn}ZDS t6'mSlՈ/ ֙vX:؂؋R6),V ZlW)ݡ(dZF]kªo`s&^a?4K``/`bRS(ʄ:Do]G6 Br (Gw%Qv(к*~.pXm$>]^aBMEde%mGd?۫\䮅CBe]T֊Z30vIS~2R T+ Nnd8ԝ 0GQAڄ~6\)2p@ʄ`<u`#dlOpV*Q"s_Z}~CM9\@R^=VgԇXˈw2u'v>P*/b#LA4_" 8! %+c7{UgbD~葕Q \4{k!Uo‚N%GyUr똷:& \_63"?q.?ɐEiCCPICC profilex}=H@_SKU*"vqP,8jP! :\MGbYWWAqrtRtZxp܏ww^b1hzLcb:*_@0 ,cN_.ʳ9zԬH< BA \f>Iл \\4e ٔOS3  t5q pp){ݝ{rB PLTESSSuuuvvvxxxyyy{{{|||~~~)b=tRNS@fbKGDH pHYs  tIME !)' w@IDAT8˭Z0QjA-ڪ8"c?IޥnYE`_7iq tF ~$v= ֝_`Ɨ~s`t9n?|gT=oX! 3v CFH?C-P=s֮RL䘻#g]7Kpo}7/˻ B2߭9~e8 ~wOß'v7"O9M{u0G-2Y@JBQmV[P*%b> yjiP_u ;G̕S9quS'? .UfjBk޴櫤2ؔe1zbƨ"zs\<0rQMW9OWhV,0۲MrKgqz؎P`A 9G@\pH6&g7r\6eWP'^DDQ#Irp !0\.(15թWѠQU!J )&M)&c [3z W|J,ZRS}jZS͍kH-ش;L}zS6CFqH#ߪU/T/x^ef:cOP{K7#nrfJ(g ݳnߨ>Wb; '!:2fAClp~jk@]ڼkggWڪ-3G}F<\^TB_5OD_:O;񧅛)zM>-%FE8ha m6Ѕ48P>`uQ_(_e QwMV;3r7_cM! \Wˮ=.m&NX\?`5>pz&rP3j?{ Yl9ۯvX `nUҊ^m ,WGrP{I2閞Qa҆eBi>!H,g匼36?iUWluwN5}M/ܵy_yoYjv%V.`Oa^=,Qꀶ![ vyrJih>$|Dž^1|' Lx@ qxMO毀 1pH<8ɼJiO)lꢇvXlznO:Ɲ>8_㪻;;-[=ִe] gzvDAWiCCPICC profilex}=H@ߦJ8A!Cu *U(BP+`r4iIR\ׂ?Ug]\AIEJ.)ޗYa3m )[¯!BSDDaVmNS_.γ}Zb@@"e5& ޴kEVR4s1.Hu7E)f"yJ|LuGq*JM|2O:Z][BeJ^onbobdfgG tRNS@fbKGDH pHYs  tIME "KIDATӍ0lJSiqfB$& g%䜱ÿC ˗^7\W^fB 9=dž7Vu&FԘ}G8h{ᠨHDŤIENDB`xfe-1.44/icons/xfce-theme/minifolderclosed.png0000644000200300020030000000132613655562105016327 00000000000000PNG  IHDR,niCCPICC profile(}=HPOSKU*"vq:Yq*BZu0y4iHR\ׂ?Ug]\AIEJ/)}^f5hmq1]TQYƜ$%q}|է,DYf6mp' #8\xfLb6fES#"NBcg\e> C9}eT#H`K BA%a#FN;]D.\%0r, ߳^R(^# wFqq+ԁOk--ro-M.w'C6eWS <~Fߔo5ons>iU88F sNs~?*lr֧YcPLTE~>RIKLMPQSTUXyʛ͠ΣϥѨҪӫԭԮֲֳٸٷۻU:}tRNS@fbKGDH pHYs  tIME  !F3\IDATӍI ʠ8?oY)"‡"z$<n_ݡ&b+#掘3ء%2!55T(Ȕ7]e9`5XIENDB`xfe-1.44/icons/xfce-theme/minifolderlocked.png0000644000200300020030000000136613655562375016334 00000000000000PNG  IHDR,niCCPICC profile(}=HPOSKU*"vq:Yq*BZu0y4iHR\ׂ?Ug]\AIEJ/)}^f5hmq1]TQYƜ$%q}|է,DYf6mp' #8\xfLb6fES#"NBcg\e> C9}eT#H`K BA%a#FN;]D.\%0r, ߳^R(^# wFqq+ԁOk--ro-M.w'C6eWS <~Fߔo5ons>iU88F sNs~?*lr֧YiPLTEQGGGHHH~>RIKLMPQSTUXyʛ͠ΣϥѨҪӫԭԮֲֳٸٷۻ(tRNS@fbKGDH pHYs  tIME %<@vIDAT]0ЙͻH FIf&`WرUyG,c$Eh矹A=A?ըF/ ' p䒡뮂\ҹ*<2&݊¡7Z/V9*Cr$_m".8IENDB`xfe-1.44/icons/kde-theme/0000755000200300020030000000000014023353045012162 500000000000000xfe-1.44/icons/kde-theme/java_32x32.png0000644000200300020030000000314413501733230014372 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.44/icons/kde-theme/mp3_32x32.png0000644000200300020030000000215213501733230014146 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.44/icons/kde-theme/minipipe.png0000644000200300020030000000122613501733230014421 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.44/icons/kde-theme/odf_32x32.png0000644000200300020030000000212513501733230014217 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.44/icons/kde-theme/shared_16x16.png0000644000200300020030000000136313501733230014724 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.44/icons/kde-theme/ps_16x16.png0000644000200300020030000000117213501733230014076 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.44/icons/kde-theme/tex_16x16.png0000644000200300020030000000134113501733230014252 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.44/icons/kde-theme/miniexec.png0000644000200300020030000000142213501733230014406 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.44/icons/kde-theme/xls_32x32.png0000644000200300020030000000055613501733230014263 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.44/icons/kde-theme/bigcompare.png0000644000200300020030000001344713501733230014727 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.44/icons/kde-theme/file_16x16.png0000644000200300020030000000076713501733230014404 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.44/icons/kde-theme/tar_16x16.png0000644000200300020030000000141213501733230014237 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.44/icons/kde-theme/zoomin.png0000644000200300020030000000122213501733230014116 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.44/icons/kde-theme/hidehidden.png0000644000200300020030000000033713501733230014676 00000000000000PNG  IHDR[AtsRGB PLTE7tRNS@fbKGDH pHYs  d_tIMEG?IDATc`u```j `U ?ܪuWvJe@"w*kh9yB2IENDB`xfe-1.44/icons/kde-theme/bz2_16x16.png0000644000200300020030000000141213501733230014146 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.44/icons/kde-theme/gz_16x16.png0000644000200300020030000000141213501733230014071 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.44/icons/kde-theme/sxw_32x32.png0000644000200300020030000000105613501733230014272 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.44/icons/kde-theme/bigattrib.png0000644000200300020030000001563213501733230014564 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.44/icons/kde-theme/file_32x32.png0000644000200300020030000000152513501733230014371 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.44/icons/kde-theme/quit.png0000644000200300020030000000163613501733230013576 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.44/icons/kde-theme/news_16x16.png0000644000200300020030000000120313501733230014423 00000000000000PNG  IHDR(-SsRGB PLTE111KKKRRRSSSVVV[[[^^^eeejjjlllnnnqqqrrrtttvvvxxxyyy{{{|||}}}nżtRNS@fbKGDH pHYs  tIME4ݘIDATe[S@~~,#:IENDB`xfe-1.44/icons/kde-theme/html_16x16.png0000644000200300020030000000140513501733230014417 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.44/icons/kde-theme/ace_16x16.png0000644000200300020030000000141213501733230014201 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.44/icons/kde-theme/sxm_16x16.png0000644000200300020030000000051213501733230014260 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.44/icons/kde-theme/clrbook.png0000644000200300020030000000126013501733230014240 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.44/icons/kde-theme/uppercase.png0000644000200300020030000000030413501733230014572 00000000000000PNG  IHDR PLTEY4_tRNS@fbKGDH pHYs  tIME $*'4IDATc` 0200p62082 DF )1$" $u4IENDB`xfe-1.44/icons/kde-theme/c_32x32.png0000644000200300020030000000256013501733230013674 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.44/icons/kde-theme/minifolder.png0000644000200300020030000000112013501733230014730 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.44/icons/kde-theme/tex_32x32.png0000644000200300020030000000312613501733230014251 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.44/icons/kde-theme/filedialog.png0000644000200300020030000000163613501733230014713 00000000000000PNG  IHDR(-SsRGB"PLTE $&*))+1303:<?!@J%GK1HO+O9Q1V8SY/X!\&]7])c;^:b(d'gt|Pݯ|?P(w/\a(w3 ~P!?]] IENDB`xfe-1.44/icons/kde-theme/questionbig.png0000644000200300020030000000224513501733230015142 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.44/icons/kde-theme/core_32x32.png0000644000200300020030000000270113501733230014377 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.44/icons/kde-theme/bigfolder.png0000644000200300020030000000276713501733230014557 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.44/icons/kde-theme/shell_16x16.png0000644000200300020030000000127613501733230014570 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.44/icons/kde-theme/home.png0000644000200300020030000000134013501733230013534 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.44/icons/kde-theme/cdrom.png0000644000200300020030000000121113501733230013705 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.44/icons/kde-theme/bigarchadd.png0000644000200300020030000000265113501733230014662 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.44/icons/kde-theme/drw_32x32.png0000644000200300020030000000313613501733230014246 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.44/icons/kde-theme/restore_big.png0000644000200300020030000000310213501733230015106 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.44/icons/kde-theme/chm_32x32.png0000644000200300020030000000302513501733230014216 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.44/icons/kde-theme/bigcdrom.png0000644000200300020030000000242113501733230014373 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.44/icons/kde-theme/showhidden.png0000644000200300020030000000033613501733230014744 00000000000000PNG  IHDR[AtsRGB PLTE###3tRNS@fbKGDH pHYs  d_tIME1׬>IDATc`u```Ț85Jn} Uldh0D$T2kP!nD>IENDB`xfe-1.44/icons/kde-theme/zip_16x16.png0000644000200300020030000000141213501733230014253 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.44/icons/kde-theme/dia_16x16.png0000644000200300020030000000076313501733230014216 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.44/icons/kde-theme/dirforward.png0000644000200300020030000000070313501733230014751 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.44/icons/kde-theme/copy_clp.png0000644000200300020030000000116513501733230014421 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.44/icons/kde-theme/odt_32x32.png0000644000200300020030000000330013501733230014231 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.44/icons/kde-theme/flipud.png0000644000200300020030000000036113501733230014071 00000000000000PNG  IHDRRsRGBPLTECq}MdtRNS@fbKGDH pHYs  ~tIME Rw9??IDATc`@PʐP16)B\U=Bj9 M6.% U 5QBC `46޳IENDB`xfe-1.44/icons/kde-theme/epub_32x32.png0000644000200300020030000001370113501733230014404 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.44/icons/kde-theme/xfw.png0000644000200300020030000000370013501733230013412 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.44/icons/kde-theme/png_32x32.png0000644000200300020030000000316213501733230014235 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.44/icons/kde-theme/bug_16x16.png0000644000200300020030000000143213501733230014230 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.44/icons/kde-theme/totrash.png0000644000200300020030000000136213501733230014274 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.44/icons/kde-theme/minidoc.png0000644000200300020030000000076713501733230014242 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.44/icons/kde-theme/shell_32x32.png0000644000200300020030000000315713501733230014564 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.44/icons/kde-theme/make_16x16.png0000644000200300020030000000140613501733230014371 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.44/icons/kde-theme/sci_16x16.png0000644000200300020030000000114713501733230014234 00000000000000PNG  IHDR(-SsRGBPLTE H EHI+-Y <PMmlhJY.bCg=uKY/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.44/icons/kde-theme/copy_big.png0000644000200300020030000000122613501733230014402 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.44/icons/kde-theme/nfsdrive.png0000644000200300020030000000165513501733230014435 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.44/icons/kde-theme/tbz2_16x16.png0000644000200300020030000000141213501733230014332 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.44/icons/kde-theme/z_16x16.png0000644000200300020030000000141213501733230013722 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.44/icons/kde-theme/revert.png0000644000200300020030000000170013501733230014113 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.44/icons/kde-theme/showthumb.png0000644000200300020030000000135613501733230014633 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.44/icons/kde-theme/package.png0000644000200300020030000000152713501733230014206 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.44/icons/kde-theme/keybindings.png0000644000200300020030000000275713501733230015127 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.44/icons/kde-theme/dvi_32x32.png0000644000200300020030000000315513501733230014235 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.44/icons/kde-theme/filedelete_perm.png0000644000200300020030000000135513501733230015737 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.44/icons/kde-theme/rotateleft.png0000644000200300020030000000075713501733230014770 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.44/icons/kde-theme/smallicons.png0000644000200300020030000000146313501733230014756 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.44/icons/kde-theme/miniapp.png0000644000200300020030000000112613501733230014243 00000000000000PNG  IHDR(-SsRGBPLTEz}~*JKEdfinsx~d~ijkmn߆߉wᎴߏߐߑߑߒߓ߆䃼䈽䉽䁽䋾bKGDH pHYs  tIME {IDATcV } ~vf&F0``44Vdcpsq0562RcP  twv07WeP  ru61QfPCPcP  FPeP @Pf DPc tGEBV! !4Cv47cS IENDB`xfe-1.44/icons/kde-theme/dl_16x16.png0000644000200300020030000001172113501733230014054 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.44/icons/kde-theme/printbig.png0000644000200300020030000000267013501733230014431 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.44/icons/kde-theme/svg_32x32.png0000644000200300020030000000313613501733230014251 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.44/icons/kde-theme/pdf_32x32.png0000644000200300020030000000307613501733230014226 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.44/icons/kde-theme/archext.png0000644000200300020030000000152713501733230014251 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.44/icons/kde-theme/warningbig.png0000644000200300020030000000205713501733230014741 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.44/icons/kde-theme/png_16x16.png0000644000200300020030000000131313501733230014235 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.44/icons/kde-theme/desel.png0000644000200300020030000000031413501733230013700 00000000000000PNG  IHDRb PLTE䜙tRNS@fbKGD L8IDATxc`Dh8DbZΰZ "V U @ @D^0%v{8dtEXtcommentCreated with The GIMP99%IENDB`xfe-1.44/icons/kde-theme/sla_32x32.png0000644000200300020030000000246013501733230014230 00000000000000PNG  IHDR DsRGBPLTE_x 6  5VLW ))V1c7:y Ǧiϱ$,lҴ^_ }B bUP B ꢼ@/OO//o$*>UIENDB`xfe-1.44/icons/kde-theme/doc_32x32.png0000644000200300020030000000054713501733230014222 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.44/icons/kde-theme/hidethumb.png0000644000200300020030000000171013501733230014556 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.44/icons/kde-theme/cc_16x16.png0000644000200300020030000000103113501733230014033 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.44/icons/kde-theme/floppy.png0000644000200300020030000000115313501733230014117 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.44/icons/kde-theme/fonts.png0000644000200300020030000000113713501733230013741 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.44/icons/kde-theme/zoomout.png0000644000200300020030000000125313501733230014323 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.44/icons/kde-theme/edit.png0000644000200300020030000000135313501733230013535 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.44/icons/kde-theme/closefile.png0000644000200300020030000000147513501733230014562 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.44/icons/kde-theme/delete_big_perm.png0000644000200300020030000000270513501733230015720 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.44/icons/kde-theme/vertpanels.png0000644000200300020030000001100713501733230014770 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.44/icons/kde-theme/nfsdriveumt.png0000644000200300020030000000157213501733230015161 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.44/icons/kde-theme/pdf_16x16.png0000644000200300020030000000131713501733230014226 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.44/icons/kde-theme/vlog_16x16.png0000644000200300020030000000121713501733230014423 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.44/icons/kde-theme/Makefile.am0000644000200300020030000000007113501733230014132 00000000000000icondir=$(datadir)/xfe/icons/kde-theme icon_DATA=*.png xfe-1.44/icons/kde-theme/tcl_32x32.png0000644000200300020030000000206613501733230014235 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.44/icons/kde-theme/xfwsmall.png0000644000200300020030000000123413501733230014443 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.44/icons/kde-theme/class_16x16.png0000644000200300020030000000123413501733230014560 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.44/icons/kde-theme/arj_32x32.png0000644000200300020030000000312513501733230014224 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.44/icons/kde-theme/shared_32x32.png0000644000200300020030000000314213501733230014715 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.44/icons/kde-theme/dirup.png0000644000200300020030000000072013501733230013730 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.44/icons/kde-theme/text_32x32.png0000644000200300020030000000265113501733230014437 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.44/icons/kde-theme/rotateright.png0000644000200300020030000000075713501733230015153 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.44/icons/kde-theme/video_16x16.png0000644000200300020030000000122313501733230014557 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.44/icons/kde-theme/minixfe.png0000644000200300020030000000163513501733230014252 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.44/icons/kde-theme/miniblockdev.png0000644000200300020030000000146113501733230015256 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.44/icons/kde-theme/xfp.png0000644000200300020030000000367513501733230013416 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.44/icons/kde-theme/redo.png0000644000200300020030000000070613501733230013542 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.44/icons/kde-theme/sxi_32x32.png0000644000200300020030000000177613501733230014265 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.44/icons/kde-theme/ps_32x32.png0000644000200300020030000000300413501733230014066 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.44/icons/kde-theme/view.png0000644000200300020030000000146613501733230013567 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.44/icons/kde-theme/help.png0000644000200300020030000000125413501733230013540 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.44/icons/kde-theme/trash_full_big.png0000644000200300020030000000301713501733230015573 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.44/icons/kde-theme/fileopen.png0000644000200300020030000000163613501733230014415 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.44/icons/kde-theme/gotoline.png0000644000200300020030000000042513501733230014427 00000000000000PNG  IHDRRsRGBPLTE5&W.0tRNS@fbKGDH pHYs  tIME:3DitEXtCommentCreated with GIMPWJIDATc``0 0 1D`" !Sc@16dPb0qG% LLL!b( 0gn;=IENDB`xfe-1.44/icons/kde-theme/dirback.png0000644000200300020030000000072113501733230014205 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.44/icons/kde-theme/bigblockdev.png0000644000200300020030000000301513501733230015060 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.44/icons/kde-theme/invsel.png0000644000200300020030000000025213501733230014105 00000000000000PNG  IHDRb PLTESSFtRNS@fbKGDf |dBIDATxc` \+DP "bLM "@%"L @-@j ;WAIENDB`xfe-1.44/icons/kde-theme/horzpanels.png0000644000200300020030000001103613501733230014774 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.44/icons/kde-theme/xbm_16x16.png0000644000200300020030000000131313501733230014237 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.44/icons/kde-theme/exe_32x32.png0000644000200300020030000000305113501733230014227 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.44/icons/kde-theme/vhdl_32x32.png0000644000200300020030000000222613501733230014406 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.44/icons/kde-theme/treeonepanel.png0000644000200300020030000000141713501733230015272 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.44/icons/kde-theme/paste_clp.png0000644000200300020030000000165113501733230014563 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.44/icons/kde-theme/run.png0000644000200300020030000000131313501733230013410 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.44/icons/kde-theme/djvu_16x16.png0000644000200300020030000000140113501733230014417 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.44/icons/kde-theme/xpm_16x16.png0000644000200300020030000000131313501733230014255 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.44/icons/kde-theme/package_16x16.png0000644000200300020030000000152713501733230015053 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.44/icons/kde-theme/sxc_32x32.png0000644000200300020030000000102713501733230014244 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.44/icons/kde-theme/h_32x32.png0000644000200300020030000000237213501733230013702 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.44/icons/kde-theme/vsd_32x32.png0000644000200300020030000000303413501733230014243 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.44/icons/kde-theme/twopanels.png0000644000200300020030000000140413501733230014621 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.44/icons/kde-theme/bigchardev.png0000644000200300020030000000305313501733230014705 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.44/icons/kde-theme/minishell.png0000644000200300020030000000150213501733230014570 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.44/icons/kde-theme/xfe.png0000644000200300020030000000345113501733230013373 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.44/icons/kde-theme/tcl_16x16.png0000644000200300020030000000113613501733230014236 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.44/icons/kde-theme/zoomwin.png0000644000200300020030000000122713501733230014312 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.44/icons/kde-theme/minifolderup.png0000644000200300020030000000133313501733230015303 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.44/icons/kde-theme/sound_32x32.png0000644000200300020030000000306213501733230014600 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.44/icons/kde-theme/setbook.png0000644000200300020030000000106613501733230014257 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 }=Ϲ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.44/icons/kde-theme/replace.png0000644000200300020030000000031713501733230014222 00000000000000PNG  IHDRb PLTEvڻtRNS@fbKGDH pHYs+tIME &C.HD ϢbR`Fi9E%%EyYIF>j+˱xԍ,mmm-uxAfNNN`Su\=<===\~A>PyG!k(M? 1IENDB`xfe-1.44/icons/kde-theme/zip.png0000644000200300020030000000122613501733230013411 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.44/icons/kde-theme/gif_16x16.png0000644000200300020030000000131313501733230014216 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.44/icons/kde-theme/biglink.png0000644000200300020030000000225013501733230014224 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.44/icons/kde-theme/help_16x16.png0000644000200300020030000000125413501733230014405 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.44/icons/kde-theme/newfolder.png0000644000200300020030000000066013501733230014575 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.44/icons/kde-theme/minichardev.png0000644000200300020030000000146613501733230015106 00000000000000PNG  IHDR(-SsRGBPLTEP Ae} !!!"""!''M'''(((tY+++...Q&(111222333s("4:9:::;;;r.&===???",)TTTUUU<>]]]^^^````ccC+fff>5ggghhhiiiC8kkk[eCIENDB`xfe-1.44/icons/kde-theme/chm_16x16.png0000644000200300020030000000140113501733230014216 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.44/icons/kde-theme/tgz_16x16.png0000644000200300020030000000141213501733230014255 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.44/icons/kde-theme/odp_16x16.png0000644000200300020030000000161013501733230014233 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.44/icons/kde-theme/rpm_16x16.png0000644000200300020030000000134213501733230014251 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.44/icons/kde-theme/odg_32x32.png0000644000200300020030000000312513501733230014221 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.44/icons/kde-theme/errorbig.png0000644000200300020030000000237713501733230014432 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.44/icons/kde-theme/jpeg_16x16.png0000644000200300020030000000131313501733230014376 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.44/icons/kde-theme/sxw_16x16.png0000644000200300020030000000053213501733230014274 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.44/icons/kde-theme/dia_32x32.png0000644000200300020030000000053713501733230014211 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.44/icons/kde-theme/rar_16x16.png0000644000200300020030000000141213501733230014235 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.44/icons/kde-theme/package_32x32.png0000644000200300020030000000265113501733230015046 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.44/icons/kde-theme/lzh_32x32.png0000644000200300020030000000312513501733230014245 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.44/icons/kde-theme/java_16x16.png0000644000200300020030000000123413501733230014374 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.44/icons/kde-theme/tif_32x32.png0000644000200300020030000000316213501733230014233 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.44/icons/kde-theme/hidenumbers.png0000644000200300020030000000041613501733230015114 00000000000000PNG  IHDRyPLTE666ٿtRNS@fbKGDH pHYs  tIME  *+tEXtCommentCreated with GIMPWPIDATM 1P G(t[pb_*pz$!bU"j @7DjC[bX!c&ւ ~QfIENDB`xfe-1.44/icons/kde-theme/exe_16x16.png0000644000200300020030000000156613501733230014244 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.44/icons/kde-theme/ods_16x16.png0000644000200300020030000000200713501733230014237 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.44/icons/kde-theme/odp_32x32.png0000644000200300020030000000317113501733230014233 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.44/icons/kde-theme/sci_32x32.png0000644000200300020030000000303613501733230014227 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.44/icons/kde-theme/dl_32x32.png0000644000200300020030000001642013501733230014051 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.44/icons/kde-theme/wave_32x32.png0000644000200300020030000000306213501733230014412 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.44/icons/kde-theme/shell.png0000644000200300020030000000150213501733230013713 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.44/icons/kde-theme/xbm_32x32.png0000644000200300020030000000316213501733230014237 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.44/icons/kde-theme/news_32x32.png0000644000200300020030000000247613501733230014434 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.44/icons/kde-theme/bigfilter.png0000644000200300020030000001262313501733230014561 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.44/icons/kde-theme/so_32x32.png0000644000200300020030000000322713501733230014074 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.44/icons/kde-theme/a_16x16.png0000644000200300020030000000136313501733230013676 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.44/icons/kde-theme/lowercase.png0000644000200300020030000000025513501733230014574 00000000000000PNG  IHDRaPLTE@?tRNS@fbKGDH pHYs  tIME $K IDATc`@L`T` d0]粋4IENDB`xfe-1.44/icons/kde-theme/font_32x32.png0000644000200300020030000000312513501733230014416 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.44/icons/kde-theme/saveas.png0000644000200300020030000000171713501733230014076 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.44/icons/kde-theme/bug_32x32.png0000644000200300020030000000266113501733230014231 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.44/icons/kde-theme/bigexec.png0000644000200300020030000000310213501733230014210 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.44/icons/kde-theme/xfi.png0000644000200300020030000000331313501733230013374 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.44/icons/kde-theme/z_32x32.png0000644000200300020030000000312513501733230013721 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.44/icons/kde-theme/minifolderlocked.png0000644000200300020030000000112713501733230016121 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.44/icons/kde-theme/drw_16x16.png0000644000200300020030000000156213501733230014253 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.44/icons/kde-theme/html_32x32.png0000644000200300020030000000320113501733230014407 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.44/icons/kde-theme/tbz2_32x32.png0000644000200300020030000000312513501733230014331 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.44/icons/kde-theme/sxd_32x32.png0000644000200300020030000000177513501733230014257 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.44/icons/kde-theme/sound_16x16.png0000644000200300020030000000123613501733230014605 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.44/icons/kde-theme/minisocket.png0000644000200300020030000000032113501733230014747 00000000000000PNG  IHDRRPLTE3~$tRNS@fbKGDhQ:IDATxc`X#fT ))8BPX DP*5Q@.mDi^tEXtcommentCreated with The GIMP99%IENDB`xfe-1.44/icons/kde-theme/bignewfile.png0000644000200300020030000001306013501733230014721 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.44/icons/kde-theme/newlink.png0000644000200300020030000000157613501733230014266 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.44/icons/kde-theme/archadd.png0000644000200300020030000000152713501733230014201 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.44/icons/kde-theme/greenbutton.png0000644000200300020030000000122613501733230015143 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.44/icons/kde-theme/svg_16x16.png0000644000200300020030000000156213501733230014256 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.44/icons/kde-theme/onepanel.png0000644000200300020030000000131213501733230014404 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.44/icons/kde-theme/xcf_16x16.png0000644000200300020030000000131313501733230014231 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.44/icons/kde-theme/vhdl_16x16.png0000644000200300020030000000122013501733230014403 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.44/icons/kde-theme/c_16x16.png0000644000200300020030000000104213501733230013672 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.44/icons/kde-theme/bigharddisk.png0000644000200300020030000000313613501733230015064 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.44/icons/kde-theme/bigfloppy.png0000644000200300020030000000253613501733230014607 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.44/icons/kde-theme/filter.png0000644000200300020030000000076213501733230014100 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.44/icons/kde-theme/xcf_32x32.png0000644000200300020030000000316213501733230014231 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.44/icons/kde-theme/config_16x16.png0000644000200300020030000000152613501733230014724 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.44/icons/kde-theme/config_32x32.png0000644000200300020030000000303613501733230014716 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.44/icons/kde-theme/minikeybindings.png0000644000200300020030000000145713501733230016000 00000000000000PNG  IHDR(-SsRGBPLTE1}}}   !! ;> F-I0U@UΖR*7$A`=xU.o;uX!#-ܜ|5FY &tNӶoj.`]R8Q'(25B!F&fffVLi3IENDB`xfe-1.44/icons/kde-theme/rar_32x32.png0000644000200300020030000000312513501733230014234 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.44/icons/kde-theme/ppt_32x32.png0000644000200300020030000000054313501733230014254 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.44/icons/kde-theme/bmp_16x16.png0000644000200300020030000000131313501733230014227 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.44/icons/kde-theme/gotobig.png0000644000200300020030000000101413501733230014234 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.44/icons/kde-theme/mp3_16x16.png0000644000200300020030000000140113501733230014146 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.44/icons/kde-theme/unmaphost.png0000644000200300020030000000176613501733230014636 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.44/icons/kde-theme/wrapoff.png0000644000200300020030000000027513501733230014256 00000000000000PNG  IHDRb PLTEvlll}CfUtRNS@fbKGDH pHYs  tIME  FB*IDATc a ܪU[  #PJ`d'vsIENDB`xfe-1.44/icons/kde-theme/gif_32x32.png0000644000200300020030000000316213501733230014216 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.44/icons/kde-theme/deb_32x32.png0000644000200300020030000000264013501733230014203 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.44/icons/kde-theme/fliplr.png0000644000200300020030000000035613501733230014102 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.44/icons/kde-theme/core_16x16.png0000644000200300020030000000127213501733230014405 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.44/icons/kde-theme/delete_big.png0000644000200300020030000000301713501733230014672 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.44/icons/kde-theme/filedelete.png0000644000200300020030000000143213501733230014710 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.44/icons/kde-theme/epub_16x16.png0000644000200300020030000001104213501733230014404 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.44/icons/kde-theme/gz_32x32.png0000644000200300020030000000312513501733230014070 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.44/icons/kde-theme/midi_16x16.png0000644000200300020030000000121713501733230014376 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.44/icons/kde-theme/maphost.png0000644000200300020030000000204513501733230014262 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.44/icons/kde-theme/bigfolderopen.png0000644000200300020030000000271613501733230015433 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.44/icons/kde-theme/ace_32x32.png0000644000200300020030000000312513501733230014200 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.44/icons/kde-theme/info_16x16.png0000644000200300020030000000142113501733230014404 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.44/icons/kde-theme/bigfileopen.png0000644000200300020030000001525213501733230015076 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.44/icons/kde-theme/tgz_32x32.png0000644000200300020030000000312513501733230014254 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.44/icons/kde-theme/switchpanels.png0000644000200300020030000000140413501733230015311 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.44/icons/kde-theme/gotodir.png0000644000200300020030000000127513501733230014262 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.44/icons/kde-theme/bak_32x32.png0000644000200300020030000000152513501733230014207 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.44/icons/kde-theme/make_32x32.png0000644000200300020030000000314713501733230014371 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.44/icons/kde-theme/filerestore.png0000644000200300020030000000170213501733230015131 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.44/icons/kde-theme/savefile.png0000644000200300020030000000161413501733230014406 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.44/icons/kde-theme/help_32x32.png0000644000200300020030000000224513501733230014402 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.44/icons/kde-theme/jpeg_32x32.png0000644000200300020030000000316213501733230014376 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.44/icons/kde-theme/bignewfolder.png0000644000200300020030000001515013501733230015257 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.44/icons/kde-theme/m_32x32.png0000644000200300020030000000176213501733230013711 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.44/icons/kde-theme/minibrokenlink.png0000644000200300020030000000135613501733230015626 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.44/icons/kde-theme/doc_16x16.png0000644000200300020030000000055713501733230014227 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.44/icons/kde-theme/odf_16x16.png0000644000200300020030000000204013501733230014217 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.44/icons/kde-theme/Makefile.in0000644000200300020030000004065313655740037014172 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 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@ FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ FREETYPE_LIBS = @FREETYPE_LIBS@ 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@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ 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@ XFT_CFLAGS = @XFT_CFLAGS@ XFT_LIBS = @XFT_LIBS@ 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@ 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@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ 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@ x11_xcb_CFLAGS = @x11_xcb_CFLAGS@ x11_xcb_LIBS = @x11_xcb_LIBS@ xcb_CFLAGS = @xcb_CFLAGS@ xcb_LIBS = @xcb_LIBS@ xcb_aux_CFLAGS = @xcb_aux_CFLAGS@ xcb_aux_LIBS = @xcb_aux_LIBS@ xcb_event_CFLAGS = @xcb_event_CFLAGS@ xcb_event_LIBS = @xcb_event_LIBS@ 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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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.44/icons/kde-theme/Makefile0000644000200300020030000004111214023353045013541 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # icons/kde-theme/Makefile. Generated from Makefile.in by configure. # Copyright (C) 1994-2018 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/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/roland/debian/test-xfe/xfe/missing aclocal-1.16 ALLOCA = ALL_LINGUAS = AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AUTOCONF = ${SHELL} /home/roland/debian/test-xfe/xfe/missing autoconf AUTOHEADER = ${SHELL} /home/roland/debian/test-xfe/xfe/missing autoheader AUTOMAKE = ${SHELL} /home/roland/debian/test-xfe/xfe/missing automake-1.16 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/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 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 FREETYPE_CFLAGS = -I/usr/include/freetype2 -I/usr/include/libpng16 FREETYPE_LIBS = -lfreetype 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 -lxcb -lxcb-util -lxcb -lX11-xcb -lX11 -lxcb LIBTHREAD = LN_S = ln -s LTLIBICONV = LTLIBINTL = LTLIBMULTITHREAD = -lpthread LTLIBOBJS = LTLIBPTH = LTLIBTHREAD = MAKEINFO = ${SHELL} /home/roland/debian/test-xfe/xfe/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.44 PACKAGE_TARNAME = xfe PACKAGE_URL = PACKAGE_VERSION = 1.44 PATH_SEPARATOR = : PKG_CONFIG = /usr/bin/pkg-config PKG_CONFIG_LIBDIR = PKG_CONFIG_PATH = 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.44 WOE32DLL = no XFT_CFLAGS = -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 XFT_LIBS = -lXft XGETTEXT = /usr/bin/xgettext XGETTEXT_015 = /usr/bin/xgettext XMKMF = abs_builddir = /home/roland/debian/test-xfe/xfe/icons/kde-theme abs_srcdir = /home/roland/debian/test-xfe/xfe/icons/kde-theme abs_top_builddir = /home/roland/debian/test-xfe/xfe abs_top_srcdir = /home/roland/debian/test-xfe/xfe 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} 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/roland/debian/test-xfe/xfe/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} prefix = /usr/local program_transform_name = s,x,x, psdir = ${docdir} runstatedir = ${localstatedir}/run sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com srcdir = . sysconfdir = ${prefix}/etc target_alias = top_build_prefix = ../../ top_builddir = ../.. top_srcdir = ../.. x11_xcb_CFLAGS = x11_xcb_LIBS = -lX11-xcb -lX11 -lxcb xcb_CFLAGS = xcb_LIBS = -lxcb xcb_aux_CFLAGS = xcb_aux_LIBS = -lxcb-util -lxcb xcb_event_CFLAGS = xcb_event_LIBS = -lxcb-util -lxcb 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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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.44/icons/Makefile0000644000200300020030000005116214023353045011704 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # icons/Makefile. Generated from Makefile.in by configure. # Copyright (C) 1994-2018 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 distdir-am 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/roland/debian/test-xfe/xfe/missing aclocal-1.16 ALLOCA = ALL_LINGUAS = AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AUTOCONF = ${SHELL} /home/roland/debian/test-xfe/xfe/missing autoconf AUTOHEADER = ${SHELL} /home/roland/debian/test-xfe/xfe/missing autoheader AUTOMAKE = ${SHELL} /home/roland/debian/test-xfe/xfe/missing automake-1.16 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/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 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 FREETYPE_CFLAGS = -I/usr/include/freetype2 -I/usr/include/libpng16 FREETYPE_LIBS = -lfreetype 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 -lxcb -lxcb-util -lxcb -lX11-xcb -lX11 -lxcb LIBTHREAD = LN_S = ln -s LTLIBICONV = LTLIBINTL = LTLIBMULTITHREAD = -lpthread LTLIBOBJS = LTLIBPTH = LTLIBTHREAD = MAKEINFO = ${SHELL} /home/roland/debian/test-xfe/xfe/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.44 PACKAGE_TARNAME = xfe PACKAGE_URL = PACKAGE_VERSION = 1.44 PATH_SEPARATOR = : PKG_CONFIG = /usr/bin/pkg-config PKG_CONFIG_LIBDIR = PKG_CONFIG_PATH = 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.44 WOE32DLL = no XFT_CFLAGS = -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 XFT_LIBS = -lXft XGETTEXT = /usr/bin/xgettext XGETTEXT_015 = /usr/bin/xgettext XMKMF = abs_builddir = /home/roland/debian/test-xfe/xfe/icons abs_srcdir = /home/roland/debian/test-xfe/xfe/icons abs_top_builddir = /home/roland/debian/test-xfe/xfe abs_top_srcdir = /home/roland/debian/test-xfe/xfe 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} 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/roland/debian/test-xfe/xfe/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} prefix = /usr/local program_transform_name = s,x,x, psdir = ${docdir} runstatedir = ${localstatedir}/run sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com srcdir = . sysconfdir = ${prefix}/etc target_alias = top_build_prefix = ../ top_builddir = .. top_srcdir = .. x11_xcb_CFLAGS = x11_xcb_LIBS = -lX11-xcb -lX11 -lxcb xcb_CFLAGS = xcb_LIBS = -lxcb xcb_aux_CFLAGS = xcb_aux_LIBS = -lxcb-util -lxcb xcb_event_CFLAGS = xcb_event_LIBS = -lxcb-util -lxcb xft_config = SUBDIRS = gnome-theme default-theme kde-theme xfce-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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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.44/icons/gnome-theme/0000755000200300020030000000000014023353045012524 500000000000000xfe-1.44/icons/gnome-theme/bignewfile.png0000644000200300020030000000577613661523141015307 00000000000000PNG  IHDR DyzTXtRaw profile type exifxڭWm#+) E7n=3=\HʔD,?Bai+tRtZX<<6E 9p#Wyhk_ξ׳MʵP߷NMUBxT4YwsE(r;^GI/yz?cz8?4ׁ4|qjff ֋Q1ܽ`y}9Wբ Wq'*RI+iO;ӄ6 Z p\ֲPW2j'3%}oWTJX,o\lRl_A/r^C G@]qOU 77qܖ>-Ru-ao2)XSTS"I ~lH9B$fZPJΕP#H:s4pH9sa-pgʵVTa"ҤJVzN=#r]z뽫RPlXK1_!4(G2C'3Y6E+/UҝFe[v}k[5fڅ 5:H):#;@^Cb"[m0>~ ([[TB/dZ](6:_ajfYñ/ڨK9D-B48 SJ6Tk5|;89i;&ЉZPvAydQGdXp-P"FuhQOVGFڂod% /2K[%eeիo*8 X՛? :鼒 <?f - 7P?C:v<û//*a+7v@i6A8BxVPG /rxMAF.Ш94N3p:0IzE6pqҔ=r|2dSv%?M!蛲@-г7!0Zn3~\rɦGPLTE...///111222333;;;@@@WW,\\\___ll+^v!Cv٦l-"# H!6 ;xHI~^B/) 9\k/eBKTv&),֊ oYr ng~s~'L7'Y4t5:d6k=sI\R c8B83")?5>EPݓJ%",ƪp'FOܰ IENDB`xfe-1.44/icons/gnome-theme/bignewlink.png0000644000200300020030000001032613661523331015311 00000000000000PNG  IHDR D zTXtRaw profile type exifxڭi , bX|® y/ITՕhOu/\Rs/BQo}3/=N|ZÏ>#>Vl$陨[-MDy||zmsG*xi v: ޟGwe{u}v'Z߭o|逗oLp|[?lh~uwLk\ukpM|u>W})P0j, dPb Bao[Y<dW~y T_+ k0웧@냛*qseC9pCȻ pk WQ|W x+u,1^$, )\ 5ڼSy6H&c;`$ DI"HuҤSs&rĒ\J^cMUjjoH"(-jk: u<ađ<ʨ>LSfef_aŅLʪ(N[vevWQf-Zip5z]))ɉf b@`]է 9jbظ 1 LQ?I#BtOP[&w vGDvj'Q@5jne#Ʀkbeڌ_hUSZq2>3u۽^.ޫقwd\wI;\)jc>R: Y<1v0( [DA-Y!c c`t8A;]mWDᑽyKS t[3nTM}\_|vT \(́.+vA\oNOiXȦS{& ?"*[XؾWDZ rm)+=#CZ~"3õκg*yÓYۀbžETZ?0[ tϹAW=8j5K , iʄخ|=DO&_N2)NI?ϐu| ew̖>@B3Έ ßJi/4m^ ȽKn6T]|·ݠW ]&>wԪH{p{5l#^1< /,e]$Ac"U.n0QrVʾ&/%&Lr9Sq FS,u"*Y )V MD٢8!Uúal#aE~}IFY-{ӊOr^l, njx/6񰩌SXbt Bs]+YȥlQ@yH屐 ʝ,UfFX6u;#s4ppc_g!ejet*~P8ow+{fXjtEJ,鄳G3,n=z\=Xqǡn3 PHiۓ DS&~(wB#&lL,wSݵa-K> jK[A2y` ohnPMXTE4"Vy%VBjȤv 8syB3DbD؅hmOlaBNbPov.LժMIJc[5b5Qxq=3"tMA!cu1KOJm~AlԮB4#k`QJi*B%0{ad r?$Pr.he $<^ n ELlIyԜ{#d #l2\+r1ASwxN; ceA*B-d ECH4͎4ij!)kim|  (jԲ*4LI`iHokA@&Ƈ\7#qx Xlɻ[]*-bn z~TAAv ń)'e,1ܜԬQԲ5Bsa%J@miȠ4)ݴö~o '.JP%G8E=kY}`!E(&Ȳr&d;NrZHƿ`9(g qm \eĈX5Vyp$ܐiJ@NM91v S hOHlAbtK_ȉ#"X9ڱƳMBe8ENdJ,[21 "Jz,a7m'QUI' $lmzH)-K-L v~(kCayz;tIy3&7 .\z_2>ƾ5ifh$iCCPICC profilex}=H@_SKE+ ␡:Yq*BZu0 4$).kŪ "%/)=B4ktL%b&*_ˆWf1'IIt_.Ƴ:s9>xMAF.Ш94N3p:0IzE6pqҔ=r|2dSv%?M!蛲@-г7!0Zn3~\rɦPLTE  !!!"""$$$%%%...///333;;;@@@WW,-bx.ey\\\.i}/i|___2k}4n:l2p2q=oBn5t>qCpEpll+5wAt8wBuHtIt7{9{CxFxEyLy:G}O|?ivKO?QQBRUXZZ\jNQ`aPSTcWU^ZiZ__\`azj{hŢ^ffjdžmƂkȢv!ƶçCĵصػv٦l-"# H!6$`=}hd*ژn R`c:}=h)\ "R:*$PR&9HcW6PEdHEO⏵F*K@=ȑ|#|}<,+ 5X"!>^6@yU^du S = ԕd27 @]HG̹sfϜ1ib_2FvvqE7 ;'';;+++ 3#F.&}t+IENDB`xfe-1.44/icons/gnome-theme/java_32x32.png0000644000200300020030000000277713501733230014747 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.44/icons/gnome-theme/minipipe.png0000644000200300020030000000076013501733230014765 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.44/icons/gnome-theme/odf_32x32.png0000644000200300020030000000614013655032741014573 00000000000000PNG  IHDR DJzTXtRaw profile type exifxڭXi,)!A, Υo] 81EH!wX'!J[QZFM|/ }MzX}?Ţ]b{ֽu PC][2h .şjjqP3h5JqSӦEsZIѦ4{5482qvRn9e'2Rۨk"2r3 & De"sh+2Uተ96=3VVp.q5_a j&ƏH靓/#,l T}>@A{.!2' f~97۝O*=1L$``^hW 9z=% ɚh8<z %QφJQ6(yUδ kwd''>"m"B}d ܌MI .;<_4uΖ v+]փ2f:ob<;Џ۰w4j\q\vYY;/5gFB0!d &06/WlBe >R=`b磎Hj>RiB%~A]:ve*0\•e&<ЦW9hm`2jC֛ޛ> *sXC4+*ѺK iFO:`gcP;orxs].0ohBD"UNbWڙAX,#f+9P(LN Dg8@,8 O=26{ *֑&=|i̧fUY%W Ld[;xE~WbSÛ_`CG[aA 3PS6u(QOY *(AR>*-9O1x9;^nn _Gj=E+Ip;ׅho-+?F +|^&(gw?eKQo, [dwcm8PLTE333444555777999:::<<<>>>???AAABBBCCCDDDFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQSSSUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```bbbcccdddeeeiiikkkmmmuuuwwwyyy|||}}}o ]/tRNS@fbKGDH pHYs  tIME9KRIDAT8u{P(FPHuk]W;\bh&pʒ><0P=RT՞Jb9U?|V,3;utO=xJQV@@ʟ'$iOS.?Lyq.a|@65l&'d2{pT&JwGtR;Շ%H&N|LH$~6hfH7utѯnF nu@Ap(n)Jb;CF$ ًZ֥kgH֢Q(Hd|=hw&p@("uecE-$+`p`COE)0/%C21ui[ -/n׹BaPt ,|,4͐ƒ3bo>3àU:)b/^/g#1̂힯iritip|]~kWd1~ |IENDB`xfe-1.44/icons/gnome-theme/harddisk.png0000644000200300020030000000056713501733230014751 00000000000000PNG  IHDR6bKGD#2 pHYsHHFk>IDAT(ϭ?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.44/icons/gnome-theme/shared_16x16.png0000644000200300020030000000075013501733230015265 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.44/icons/gnome-theme/minilink.png0000644000200300020030000000075513501733230014771 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.44/icons/gnome-theme/ps_16x16.png0000644000200300020030000000076313501733230014445 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.44/icons/gnome-theme/tex_16x16.png0000644000200300020030000000067413501733230014624 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@ FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ FREETYPE_LIBS = @FREETYPE_LIBS@ 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@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ 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@ XFT_CFLAGS = @XFT_CFLAGS@ XFT_LIBS = @XFT_LIBS@ 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@ 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@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ 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@ x11_xcb_CFLAGS = @x11_xcb_CFLAGS@ x11_xcb_LIBS = @x11_xcb_LIBS@ xcb_CFLAGS = @xcb_CFLAGS@ xcb_LIBS = @xcb_LIBS@ xcb_aux_CFLAGS = @xcb_aux_CFLAGS@ xcb_aux_LIBS = @xcb_aux_LIBS@ xcb_event_CFLAGS = @xcb_event_CFLAGS@ xcb_event_LIBS = @xcb_event_LIBS@ 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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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.44/icons/gnome-theme/miniexec.png0000644000200300020030000000076213501733230014756 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.44/icons/gnome-theme/xls_32x32.png0000644000200300020030000000263513501733230014625 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.44/icons/gnome-theme/bigcompare.png0000644000200300020030000001354213501733230015265 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.44/icons/gnome-theme/file_16x16.png0000644000200300020030000000075113501733230014737 00000000000000PNG  IHDR(-SPLTE+++@@@KKI]]]vvv80tRNSbxbKGDH pHYsHHFk>IDATM a'[k@b]8|^ RlXvLu['/(EOr)ro4P5zIENDB`xfe-1.44/icons/gnome-theme/zoomin.png0000644000200300020030000000061713501733230014467 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.44/icons/gnome-theme/bz2_16x16.png0000644000200300020030000000145513501733230014517 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.44/icons/gnome-theme/gz_16x16.png0000644000200300020030000000145513501733230014442 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.44/icons/gnome-theme/sxw_32x32.png0000644000200300020030000000105613501733230014634 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.44/icons/gnome-theme/bigattrib.png0000644000200300020030000000137613501733230015126 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.44/icons/gnome-theme/infobig.png0000644000200300020030000000206413501733230014567 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.44/icons/gnome-theme/zip_32x32.png0000644000200300020030000000272713501733230014623 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.44/icons/gnome-theme/file_32x32.png0000644000200300020030000000150713501733230014733 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.44/icons/gnome-theme/quit.png0000644000200300020030000000100413501733230014125 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.44/icons/gnome-theme/sxm_16x16.png0000644000200300020030000000051213501733230014622 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.44/icons/gnome-theme/clrbook.png0000644000200300020030000000102613501733230014602 00000000000000PNG  IHDR(-SPLTE+++@@@KKI]]]vvv}}}BkVnXxݽżVIDAT50 к7(BYAld&!!2MȡDu}}lHKYtLe%//^e-wdY_F۽I֚:S@8E) C뺎cwY1BfyKYIENDB`xfe-1.44/icons/gnome-theme/so_16x16.png0000644000200300020030000000075013501733230014440 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.44/icons/gnome-theme/bak_16x16.png0000644000200300020030000000075113501733230014555 00000000000000PNG  IHDR(-SPLTE+++@@@KKI]]]vvv80tRNSbxbKGDH pHYsHHFk>IDATM a'[k@b]8|^ RlXvLu['9IDATc ɿ3wD޿ RI'\,IENDB`xfe-1.44/icons/gnome-theme/c_32x32.png0000644000200300020030000000267413501733230014244 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.44/icons/gnome-theme/exptree.png0000644000200300020030000000036613501733230014631 00000000000000PNG  IHDRRPLTE8 tRNSbKGDH pHYsHHFk>3IDATc0 b80@JƬ @HfP='y&zTXtCommentxs.JM,IMQ(,PHUp R#epIENDB`xfe-1.44/icons/gnome-theme/minifolder.png0000644000200300020030000000170513655502311015307 00000000000000PNG  IHDR,niCCPICC profile(}=H@_SKU*v鐡:Yq*BZu0 GbYWWAqrtRtZxȏwwQe5hmfRI1_ïb2YIJw|#w ѧ,Df6:Ԧmp't@G+q.,̨GR+ʦFUG Q7+Td!J`K#>gaAԝ-ivcxSW; s8=Z0K"+#J,eYt&x V5I`x'eP.IENDB`xfe-1.44/icons/gnome-theme/wrapon.png0000644000200300020030000000060213501733230014454 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.44/icons/gnome-theme/treetwopanels.png0000644000200300020030000000064213501733230016046 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.44/icons/gnome-theme/filedialog.png0000644000200300020030000001362613655776712015305 00000000000000PNG  IHDRl"zTXtRaw profile type exifxڭirc^BaكԺyd$rDY/ńK)= 5TRw~ sqc_s{]8?oxa㦼θu=̚l~5[h_R-ex/||DBK3rwny^4~":{YC-<_oW]{]z×O󏋿L?,rOhoy=뮮G+Ž-DӞAp3kjSocmv`bpe>ΟcgWSn}b92+j3o= [yZ.u_N="+gt|]N޹[<~^$Jqsawgngu[1w~쓝B;\'6F713's.9DgbS}#X!D'Bc1c1Ɩ| )rȵs1s5K(K)cM5Rkm͙D7t}=s/6HFiQFm'01̳:۲f+ʫ&׶aǝve>o}E͝H5CXIT̈ gEvSlNS̞(02*6fZEe]#vWq3+rFODCԦxn*OOm?+oWx8u7p hcn9$? ܴj#o ìmU*1`+ z^ A┖ru6D~d1Fdw` 3,ڒs /lA"[+^zF^5Mɚ~?ͼϹ{6/ǘCԮ#+^){]ve_ Z"ki&GY<&1Ih_?3RDl;FLM̔7u sEpZ 46]cvVWڧ`ӓK[3y_j?e] 9{d&Z`E5f HqV^O!VXf L-q~eRojf05κm9n3ڪ1ݘ=$0^}yN󬍺23Klt5%1ffi:yY{=! +3 3J lZrlJ8x)2* ,lqLVC%똍ه=jTm&"IMv4|.1_o a+pqʈ(pu!}(؁YqyD38CJ␭gO:03*#V26N,n.鱺7} qR. ׾ $~}9.ӸDHxAwh-7$@WO8+B+c G _}ax( GhB[;Rq]B;4<)k: ~ E3 Q#8CbW(Сq.{9vu*>fuC0 aR}7_ZPE#-d;D JHu{?},WKnSM(zsuE}(C(Ib(;<=e Sk%a ǝ8 @DŻJQQj6۠ZX>bUpO֥~S }) 99ڀiC̔ML 5Y5HBS*5mOvchHJUf?VsCQvN೴x.d3=p\NZoWlon_lE?W`F-[ V +' pBWLHXѥ@oA Fe!3~[W ˒ .L%܆q$z|?cd(!9C_DTm҉ Z)2s?`ɿ̼M*|˹P$&"j|Fm`%3T Z8Gf ZU K 022_1B3@Wv#E'm$vZ~ӺkKҮDZ#@U0w'ۍ6Jy(5 *Hu!2h>z؜-Cru;%gߡ/* (@dز2۪tA:N&%i4$›6K߫\11lVYD7z$(T4=8h+_wN#d 88`TnsmW{4)YzLb:'Wrz<`0"nQ`vP}מWG _-?aJr=n@],U Poɶ|%?]>ǰdeSvP"z`![ FᨘQ{KE):Շ4-:Ф/x6FvA NrT:m{.?NhJeUOB-}(ZbA#۪?`&ޤ>P+T6Sb؏&Q饟/7`RaڤϾ鐫`|*Apnek߼ PF'Cȴ%>r}v9?4kGwbȹ'KGa^C24V`,E!mФ 7˙Q+YLz#z‰8zVvYsyt6\f3q^c_c~ IaqW`SQ~"KNc"1Xaw$Ɗ|=Ij`(M3ݴ~o0+R$ =j%Mn@Vtf5r+[qQW<lA3CO7`6)qU JL$e65UkJJKhLRG#]ZZu43ڝ:٧][e%]a `˜(ȻzzkXu~oa}V{ygH͜@{+7R@;[{ęNn+ 2C>ѣ?H HBi@-Q&֣?V5 !){ ";vL'x @L^(s(>qY/C,!R.a7ցFJGĈe$̈g pyv-1_G]?iǶ 2ڢ۽U(O1Fo/^KPt6m+_;MKl"CrnG-"SMﺾr_}1F+>h"c̠PDn) \Dq65:ݣ(t ASܽyH/OF Fpḱ^PGaiKw/׬a$4EFG`^p 8mMG$W<3Spc?Bg -yGz> Cr it">dDk6>2NpsjQ HLEL7:KG t9UVi,ָľ0B.CE,A5:Gx[4ztjJIO3#v+?qߘ=׾UP gs3l}: J&'iCCPICC profilex}=HPOSK8A!CuPTQP VhФ%Iqq\ ,V\uup'G'E)"q;Vif_tȤb.*_@$Ṿ]gysEԂHZ'ͮ;뮦;S]6dGS "~FߔoК;9N,*}c%^xwә@r|PLTEbU^H'fN*hO+iO(mS,pT+rV*rV+tW+tW,vY,vY-yZ,yZ-k]Ek]F{\-{\.o`H}^-o`I}^.y_5_.a0vcCsdKb0sdLc2c1d1d5d2d3d2d3e5e2e2whOwhPf5~iI{jR{kSk7nUoVp6sYrBr9sBtPs>v]w^x^wDyaw9w9x<{]|ahcjmnopprqsqjrrtsstvyuyuzz{{{|~|}|Ľſ¸¹¶¶cH]tRNS@fbKGDH pHYs  tIME *IDATc` hFWwGk}Mj{$j)DP,.I B`A  E r r9ALYsgGpb0 ӧO:eĉfΜ9c✜K̴䤤ĸ(wM興𰰐@__/)=Eu MuU) l YQ dK)cIENDB`xfe-1.44/icons/gnome-theme/link_big.png0000644000200300020030000000264313501733230014733 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.44/icons/gnome-theme/questionbig.png0000644000200300020030000000310113501733230015474 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.44/icons/gnome-theme/core_32x32.png0000644000200300020030000000265013501733230014744 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.44/icons/gnome-theme/bigfolder.png0000644000200300020030000001377713655501374015140 00000000000000PNG  IHDR$ MO*zTXtRaw profile type exifxڭiv;sxNȒ-yHD$X$1]\l2ÿx`KB U+^a.q|kʸöq+.  zYwχdܝq{ДyĒQ}%~[D7!!Mo9??y{4|8V<'A!/=>YA/J~|3?w?2:˗|⧍ۉ념l$k#] ۣ.ЎR~y%~i |իcqXU[sv9bp%>+{SЗ].igؽ}ޯ2YSS2'/VWYU[W;\wfanVuzr,\ VsFzD[~3O(1j)$I1SI5SιZ\`XRɥZlTY22\-4i[i>=t鱧{u01H#2f3Lqguk˯dŕV^e7Vjn[J71jRz,aNDm\X<ph6 fWq8)j3Z i,fwnF~g93ݾ<ׯ}5|n%Xg"]XeIikQ|k>ZeUoe4jOiWLVffNl9X5ž\ib̫]cÐ׊aLppO#K:R&8U@0xBY!/?uaqeUɸYT–>B{hwٚp.vTV:ݲOq} Bd1|44ۇ`=n6v܊c5C^ }ٶj>tXDҬ752;~!ǒv;h=ti ˄ 4.b% RR]ڢ 73n%F>Êr,nVDG2$-Bz1Tߒ8b[ߨ1m.)brೋe`ZuHprm!:9  ‰}0baYT ilsZmG/m=:̮{r2.#BjPAC.bl, j`E+Jm1Cv9=#`}-fՁ%cB\-9-LD?`?&g6[{}ceebDN^ca$Bt1V@ع*bQ8miޑ'ǍeI21 ap,;dg66_iިI~Z>khݻu<kq 񾷨z̷<)ݒ؎ӝ Myׇ)Rsl;})",/[j`#X`D#Z 9ZYWMvhPqd,JmR S#}YJ#j!xeea;" QJMB(9nS_LS(" ȘW2X.&J#Yr= #WZ<5NFrPg( 4|ub Bbbotz㮃ʄ%e+up !kV)!Ⱦ$S*)C\ayl!ZD 0bSAE_ "jڊvfdj&3vM^CP%ct!{R-I~$sO'ץ-9O6F>/m~Gʖ-]>Do>9l 6E^jMɌM?-%J 1W7󢶫ʟ>("s](U8v$:d6K: ن[©' {{IF WGKfZ$^1/JapJqA)MQR* &ۓ!m\T>֮H=^_sVWvقq8;$ӯ:АXMP"> }o@!MӾ%JRty^b] %݀حp뀵HBP(b<L>0E5g-Vp8ͮtX  e19!'G*Qmٕ*ۑ(EIKw[A]BU qcaFRp,@eJ;5Зs^ yxWשR8lT=B[)S"Wj+EKBx{Ds"Cij$-<*m71hSn^Nyv}@Jz;[)L{'9ޏaTQDO=w J|(VmkR%'ϧ7Sy{'V9^s~UW[ilDӏ@ v&G]yzhqϫNVv?gM0% 1 %b('^xtݼȕXMw)46JɆAn_?nzXvsD #]1r.=>sP {}xym=^Vf4pd .ԮۺW;K;h)cͭ5NB0pƝ'<]ЧvޖloҖ Jh]8h( &,rlavRҒ|bv@9Q=hYIj4O.hvKf ?RFK Ίէ؞tO |q y̅$>;ĒXڂ*HAN-] 5ղM…TBtSUꂽ^7ncv#6+R.Ν{BOE-5B͝)kE:*^wa q4{ВBqDJgN'r:~ܽ3\ڃԨOc#SxN٦BO6t-DXNnFNq-3%p:K_xӟ;5I;ieũuk0\}C{/D)HtCb[O<)Iu̐תokF{?޴ o?ؗtw{>neHu9U*qдk)`34Vfя'A||(PL5b,D JI Ds%$EX-A4Οx:*ATG2JQT[vrO?͟է63 X%W1iCCPICC profilex}=H@_SKU*v鐡:Yq*BZu0 GbYWWAqrtRtZxȏwwQe5hmfRI1_ïb2YIJw|#w ѧ,Df6:Ԧmp't@G+q.,̨GR+ʦFl4oW}p]o5rYrYq<==promvvvxsz{{|}aµµ¶ööĶ÷÷÷ķøĸùùĹǸŹûǺüɽʽ˿ñIJŴŵƶǷǸǶǷȸȸɺɸɷʼ˽̽ͻͿGrR@tRNS@fbKGDH pHYs  tIME IDAT8c` HNERQ111ёVrIA$:*5c#C ϰАࠠ -T$Zʲ@[HQ4\=w!5. ?u˗.]x#18قC,[sb9vܹϟܺj򥋰6 6+,\08j`rxɒK,Z8oXa3  :{f{t4wO#vkMBMLMR9إΠخ ,[Ck'։o&֊3o% 3-Nt0Siii`,5wV||bbrFVvvaaQYYaaAvv $&2pOMII)**mlljj,/rˋr2SRJ8JrkZ::Z[jdy~~NN ;uyyP j*UY H^<IENDB`xfe-1.44/icons/gnome-theme/midi_32x32.png0000644000200300020030000000347013501733230014737 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.44/icons/gnome-theme/bigicons.png0000644000200300020030000000072413501733230014750 00000000000000PNG  IHDR(-SPLTE0001NlwܨKz3'tRNSVbKGD?>c0u pHYsHHFk>zIDATm07r+(F?1KWv7ɍ 1 !\ހ`JQ^߁ "#0y<vk⤴_!߇i,kCa1fI @Ve E5IENDB`xfe-1.44/icons/gnome-theme/shell_16x16.png0000644000200300020030000000101713501733230015123 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.44/icons/gnome-theme/home.png0000644000200300020030000000235413655561356014126 00000000000000PNG  IHDR,niCCPICC profile(};HPTD ␡:Yq*BZu0 4$).kbYWWA|89:)H&܏sVb1c%1)Y:_B70ۜ=QEyV?W Hij̴ MO,YtAG>q{,LJ%Eb)j OG4ݠ|!y^= Yce봆" C (AvI:y~\*`X@:gk&'p й ԫ} \M|^mj#onjp >xRgM`Y8Y%nC`4Om:{rq;PLTEYD%ZE%aI'cK(jP(kP)lQ*lR+mR+nT,qV-qW.sX-tY.uY0vY.uZ0y[.y[/q]?y\/{\.q^By]2|]/|^/r`D~_0taD`/wbDa0c1xeHxfJyfHgCg2hD|kO}kOj3lMm5oRpSp6sZs;s:s7v[x^x[xYxWw}Aggliiqnsow|yxxy{ij³¶öķƷŷƹǺɼȽǽɽʾ±óıĴŵƴǷȸɻʺ˻˾˿̾;;dz :tRNS@fbKGDH pHYs  tIME 2\_LIDATc```@)QHB@",$&)%bX8@=u (b`0266,PUS  'O&Q- :%%%EՑ^@VIVC~~Ve^-Yߙ99uӝr;+UDDTr'f:5)25Ϟ-WW, nm"CE=͙;++k9S]X*3+ `dO IENDB`xfe-1.44/icons/gnome-theme/cdrom.png0000644000200300020030000000211713501733230014255 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.44/icons/gnome-theme/bigarchadd.png0000644000200300020030000000264513501733230015227 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.44/icons/gnome-theme/restore_big.png0000644000200300020030000000252213501733230015455 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.44/icons/gnome-theme/chm_32x32.png0000644000200300020030000000324413501733230014563 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.44/icons/gnome-theme/m_16x16.png0000644000200300020030000000063513501733230014255 00000000000000PNG  IHDR(-SPLTEttt@@@KKI]]]uuuvvvwwwxxxnatRNS@f pHYs  tIME , 5IDAT][ aNPWeTfa 2X&wًḂkлc}SDj6 `]\"IC;E[hE=TCn MIJؖ>!C5IENDB`xfe-1.44/icons/gnome-theme/sxd_16x16.png0000644000200300020030000000065013501733230014614 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.44/icons/gnome-theme/showhidden.png0000644000200300020030000000115513501733230015306 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.44/icons/gnome-theme/zip_16x16.png0000644000200300020030000000145513501733230014624 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.44/icons/gnome-theme/dia_16x16.png0000644000200300020030000000066213501733230014556 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.44/icons/gnome-theme/dirforward.png0000644000200300020030000000071613501733230015317 00000000000000PNG  IHDRqPLTE1-=)BZ*C[-G`4SoxIDATӅ0 F?cH,ۍ=iE(G!h޽`5v0枇ZűvݺN $}AҧG'v5kIENDB`xfe-1.44/icons/gnome-theme/copy_clp.png0000644000200300020030000000056013501733230014761 00000000000000PNG  IHDR(-S`PLTEzLLLMMMPPPSSSZZZ\\\dddfffiiixxxI?tRNS}bKGDH pHYsHHFk>\IDAT}I  NX!&sjR3XFLBs^Yߙn2?Pbp +|gq"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.44/icons/gnome-theme/odt_32x32.png0000644000200300020030000000663113655032707014620 00000000000000PNG  IHDR D zTXtRaw profile type exifxڭir:snrsw@nw+%" d"ڬꋉK)Y>b_u?>g?>;g_O&'^e¹;6)g{]ֵpC0iR8%̟\eva;pyvMns_>~pJ2 .D90C > B܋;ֳpcwLxiOGa}žW1a?Ǽ@P 6ۯ)!@`TaIdma3.M.Kfs1@}''166dwzW?>R`SCXP QDd)RRLRIccr%J(HI%Rji@HJM5Rkm5[4Mo7F}=v^zm@4(6 3NiYfm̊KVZyUWpm.DF/Ps7j 5zs։NuF3сxV Wlq1zEN1٤(6f\¸ؽ1n_ 7B/ pr7bWOm v͗4A9_f%gWU (A4SގDQrձL=67.[tf%sX!u;g`mZ4uzg{.LE#k챙w_wp6I5nSN~Wf {gQA nc2Ligq`Z%%ͬ-<\7Ծ7j Xy$\Tkjõ9a&p彴[PxiJU{q̵Gk=&Vྏfv|!#|hMi3HRC HT l ,Z()"풠3\! 0إ悿ϼja,>dۭ\PAHz2ЄI4zWAFAY IdyI&FVJhJaTJck T֖Ω,kS_La2/l >K6bGR.%Da(E3ͪ(FEWym DzEqFzRN-z׼(Jy( QJ˪8,Sit ް *\'Tit|ult j J>̾]LuG0 c*YT㊲**m?T^@j#tl[4來qǰ Ej_(i\9vY_ln8ekP]䷧!#.Y8-V(ʃcZ/,":ih$G"FpY̱=2HN3n1Iڍ"PBZ˞MuEVM)4_Ė +gdrF;ӯ0tUFc [PXauժna<~˳[V`|GeTJZ9 .vzud2fF%hl ~E&FA:0ܕޮE}'\@X$j:,BLr^xlk[K\NNqv {a1Jz{Y?x?i@jiNŁ⥋[dg%.5xLy߳jbt7TTOfUo`IDlo3RL@8 qPޭZ }v^ k޽Syr,SZpgR$NׅyșS.VU03ocS7,!\SزLB)pHfէ1z,<G>$"N)dDz*NZ|r߉fзNm|@FhpZ@0b%V*?2Fr"lQTjpH%G _C&A orJ,y J?z^|V5@O*v_7c-( pS+eZTyYQ6=ۓ]&'‘hbuc3L/U5L[ർU1Y̸؏"h#ޭ(H!謪U]5N(wH )U}Ҿ<_A_g.5/#lq\AFP|?;tQu_ꏆv]iř!Zlճp<glLŅx%k G(&P"R†3Ԭ^_U[~69^9 אC2gs*T=a\mo_LH_ O9PLTE?b@cAeBgDiEk999FmFnHoHpIrJtLvMwMxNzOzP|Q~RSSTBFIUFFFWWXYY[\\GMP]__``abbccddeeefghh[ek9ybpw:{<}>?ABj~DFnGss䳳u𶶶ŖǘcV0tRNS@fbKGDH pHYs  tIME_IDAT8u[PcXAd"(vwtۿYg0}99xhH"Z:/p"TCą{< pon7B<Ϋ/yӉPEv8N;v$y$*/f;Htf8]qjbټf ɴ`D&[P5/2FF"_^v 0׃y a- {@``@_|ǕJ9nE@[f<˖XvY d,G!$fA@l h Pghj5*ԃi EL22) (c2ƔJp|V(CP V( !YA꿄O ś,@IENDB`xfe-1.44/icons/gnome-theme/flipud.png0000644000200300020030000000034413501733230014434 00000000000000PNG  IHDRRPLTE1 Jݝߤ<tRNS@fbKGDH pHYs  ~tIME )^)?IDATc`@PʐP16)B\U=Bj9 M6.% U 5QBC `46޳IENDB`xfe-1.44/icons/gnome-theme/epub_32x32.png0000644000200300020030000001442213501733230014747 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.44/icons/gnome-theme/xfw.png0000644000200300020030000000370013501733230013754 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.44/icons/gnome-theme/bug_16x16.png0000644000200300020030000000067413501733230014601 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.44/icons/gnome-theme/cut_clp.png0000644000200300020030000000056713501733230014611 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.44/icons/gnome-theme/work.png0000644000200300020030000000053113501733230014131 00000000000000PNG  IHDR(-SPLTE'/)))000111666IGFPPORRRM_sligkjirpmfypt}x|}*@tRNS@fbKGDH pHYs  tIME +<'+KIDATc`"uPT(hJ<"2"ʂ"Z"<"^`sƢ*IENDB`xfe-1.44/icons/gnome-theme/minidoc.png0000644000200300020030000000075113501733230014575 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_ rln̛!T0w7aJ81,\A~~#%v zխYY߷|z(z3Ae\fnXΖ';{oӻSӄj x Jr. h?-Em!g-@+Il'GPN*B7V̅E9q+$n4ꬒJMDi7 EXQ&(#,f~%IXĈӊp1hQ/@ś?=#LG?`H@ $YeV"'APr $;n"Fe;Jx &IYy䏺^> \! 沊:T5j%ccL1'N)$M13lfgX!G8G:rAW| EK,U5TsT25B[j#׺t}]{狵h'SCN/Uu(:Ug #0$4l$x078Qn*l(B׈}sf_Ɵ0gusl:vr26p -fY9 ֎ㇽVs|txWh}O`*n5m[ e(]y[ŽB2oy]l< t-~y%H-Ui)o%I0` v+DZCιtL]>nfZh1 "nLMuQp'ݺKN7;F'A u$AOYRL]K/"4Tީ#kۉ0rjDLދ;19Vքc>K.jfꄓϰHaW6 _&̞6 Ӣ?UvL ˕֐P//%YOjy-J`-j:z9=y_r.ui1 h@~߀6w6rSы[(!eIENDB`xfe-1.44/icons/gnome-theme/renameit.png0000644000200300020030000000100413501733230014747 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.44/icons/gnome-theme/arj_16x16.png0000644000200300020030000000145513501733230014576 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.44/icons/gnome-theme/make_16x16.png0000644000200300020030000000117213501733230014733 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.44/icons/gnome-theme/sci_16x16.png0000644000200300020030000000070613501733230014576 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.44/icons/gnome-theme/chart.png0000644000200300020030000001057013501733230014254 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.44/icons/gnome-theme/nfsdrive.png0000644000200300020030000000155513501733230014776 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.44/icons/gnome-theme/tbz2_16x16.png0000644000200300020030000000145513501733230014703 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.44/icons/gnome-theme/z_16x16.png0000644000200300020030000000145513501733230014273 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.44/icons/gnome-theme/revert.png0000644000200300020030000000124313501733230014457 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.44/icons/gnome-theme/showthumb.png0000644000200300020030000000056713501733230015200 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.44/icons/gnome-theme/keybindings.png0000644000200300020030000000243013501733230015455 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.44/icons/gnome-theme/dvi_32x32.png0000644000200300020030000000260413501733230014575 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.44/icons/gnome-theme/filedelete_perm.png0000644000200300020030000000143013501733230016273 00000000000000PNG  IHDR(-SPLTE    ##$$&& ''%((")("))"**&+++,,,..)//*44+44055,65.66098699/991<<3>>8>>>??4@@5BA:CB8BBBDD8DD^4~g\5:dxG+I$,rPZNBx{\154XIENDB`xfe-1.44/icons/gnome-theme/smallicons.png0000644000200300020030000000141613501733230015316 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.44/icons/gnome-theme/miniapp.png0000644000200300020030000000136513501733230014612 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.44/icons/gnome-theme/dl_16x16.png0000644000200300020030000001012413501733230014412 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.44/icons/gnome-theme/svg_32x32.png0000644000200300020030000000314313501733230014611 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.44/icons/gnome-theme/pdf_32x32.png0000644000200300020030000000237313501733230014567 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.44/icons/gnome-theme/xls_16x16.png0000644000200300020030000000140413501733230014622 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.44/icons/gnome-theme/archext.png0000644000200300020030000000153613501733230014613 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.44/icons/gnome-theme/warningbig.png0000644000200300020030000000212613501733230015300 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.44/icons/gnome-theme/sxm_32x32.png0000644000200300020030000000104213501733230014615 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.44/icons/gnome-theme/bz2_32x32.png0000644000200300020030000000272713501733230014516 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.44/icons/gnome-theme/png_16x16.png0000644000200300020030000000144113501733230014601 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.44/icons/gnome-theme/desel.png0000644000200300020030000000035713501733230014251 00000000000000PNG  IHDRb PLTEm{tRNS@*bKGDH pHYsHHFk>:IDATc U+A3`` bF0T`"Aza(&wty5&zTXtCommentxs.JM,IMQ(,PHUp R#epIENDB`xfe-1.44/icons/gnome-theme/sla_32x32.png0000644000200300020030000000224313501733230014571 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.44/icons/gnome-theme/doc_32x32.png0000644000200300020030000000247513501733230014566 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.44/icons/gnome-theme/lzh_16x16.png0000644000200300020030000000145513501733230014617 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.44/icons/gnome-theme/hidethumb.png0000644000200300020030000000130013501733230015113 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.44/icons/gnome-theme/cc_16x16.png0000644000200300020030000000064013501733230014402 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.44/icons/gnome-theme/floppy.png0000644000200300020030000000216113501733230014461 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.44/icons/gnome-theme/zoomout.png0000644000200300020030000000060513501733230014665 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.44/icons/gnome-theme/edit.png0000644000200300020030000000107613501733230014101 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.44/icons/gnome-theme/class_32x32.png0000644000200300020030000000277713501733230015133 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.44/icons/gnome-theme/delete_big_perm.png0000644000200300020030000000257113501733230016263 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.44/icons/gnome-theme/nfsdriveumt.png0000644000200300020030000000157113501733230015522 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.44/icons/gnome-theme/enter.png0000644000200300020030000000051713501733230014270 00000000000000PNG  IHDR(-SoPLTE lkjrqp{{z}|{~}¿ӰvtRNS@fbKGDH pHYs  ~tIME"RWYIDAT]70 A9L#T`Ilu"8Wx/r삨l{mz IloBenۄ`&T/FL&ڭIENDB`xfe-1.44/icons/gnome-theme/pdf_16x16.png0000644000200300020030000000116313501733230014567 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.44/icons/gnome-theme/vlog_16x16.png0000644000200300020030000000063613501733230014771 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.44/icons/gnome-theme/Makefile.am0000644000200300020030000000007313501733230014476 00000000000000icondir=$(datadir)/xfe/icons/gnome-theme icon_DATA=*.png xfe-1.44/icons/gnome-theme/tcl_32x32.png0000644000200300020030000000321413501733230014573 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.44/icons/gnome-theme/xfwsmall.png0000644000200300020030000000147613501733230015015 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.44/icons/gnome-theme/class_16x16.png0000644000200300020030000000066713501733230015133 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.44/icons/gnome-theme/arj_32x32.png0000644000200300020030000000272713501733230014575 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.44/icons/gnome-theme/shared_32x32.png0000644000200300020030000000236213501733230015262 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.44/icons/gnome-theme/dirup.png0000644000200300020030000000076713501733230014305 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.44/icons/gnome-theme/colltree.png0000644000200300020030000000030413501733230014756 00000000000000PNG  IHDRRPLTEEX=tRNS@fbKGDo*IDATxc`@UP4PR6%0BCa(7.Y 1utEXtcommentCreated with The GIMP99%IENDB`xfe-1.44/icons/gnome-theme/bignfsdrive.png0000644000200300020030000000214013501733230015447 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.44/icons/gnome-theme/text_32x32.png0000644000200300020030000000246313501733230015002 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.44/icons/gnome-theme/sxc_16x16.png0000644000200300020030000000053013501733230014610 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.44/icons/gnome-theme/newfile.png0000644000200300020030000000077213501733230014607 00000000000000PNG  IHDR(-SPLTE+++jjȻѓЖєҙ;ԙܣY0N7tRNSYbKGDH pHYsHHFk>IDATM aĴ[J+-`]́SpsI`{K>y-ΉU|Lf>0B" ewk1Z=u S1AuRaE `R&y&а>a";ڔ9IENDB`xfe-1.44/icons/gnome-theme/rotateright.png0000644000200300020030000000044513501733230015507 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.44/icons/gnome-theme/video_16x16.png0000644000200300020030000000072013501733230015122 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.44/icons/gnome-theme/minixfe.png0000644000200300020030000000163513501733230014614 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.44/icons/gnome-theme/miniblockdev.png0000644000200300020030000000144313501733230015620 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.44/icons/gnome-theme/vlog_32x32.png0000644000200300020030000000271113501733230014761 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.44/icons/gnome-theme/xfp.png0000644000200300020030000000367513501733230013760 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.44/icons/gnome-theme/redo.png0000644000200300020030000000061213501733230014100 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.44/icons/gnome-theme/sxi_32x32.png0000644000200300020030000000177613501733230014627 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.44/icons/gnome-theme/ps_32x32.png0000644000200300020030000000244613501733230014441 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.44/icons/gnome-theme/trash_full_big.png0000644000200300020030000000220713501733230016135 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 |$ȯ Uutx "h?.]Sb *I>y7 V@3Swr?ǁr|;QuVN #$4٫ GE4x>[a@m+þ ns©E`('?!6T>+nt:i~xJ?< Hca`(5{X=F1qR25`MKh[@jP.9|ZL EjTh8ꋨTacΊrX<khP*\[hz +7(WjcZ"rfh̳ aDn>!Dh >&6BYa68XU\Bor~7i󧢈P>(Wf%B !HB6(,0GiɲcRP`CX1 G!"D$KI[-*,%Ms-4hRUӬłEKfddcs)X@sI@sxɕ.WHTZ͵4n[jڬV:uR]\O]@0␑yj7P/>PWun L̀G:@Bό2i %.N,ؽ!-\_Ư"&tuy'ylׅخSP}V6;i98S Qu]Q-t5RDu ۑ%#o#`ړN^-ʬa>1`qHViO}qz,*c;~,n# dHsT9LZ~y=ٹS,o:BVRV|-r_':i+=s2ތ(Brr]8[=zE m\BāOUR(\ɝeѝq[6ծh˃w _;P]SIFg-엥{c?j).qe)a!}σlq"^E*Tv~ iCCPICC profilex}=HPOSRZ ␡:Yq*BZu0y4iHR\ׂ?Ug]\AIEJ/)}wYe3hmfRI1_{_BQeIRuO}Tw gEՂŀH< & ޴ 1VUs1.Hu7%3yXbYԈ㪦SXYYuZHaK BATa#AN '}C_"B 9PZ /)B/1|;N>Wz_k37:Z.;\Olʮ%}Sk8}4 pp({}s=˵rdPfPLTE%% ;:4@=6A>7B?8D@7JD;MH?OJ@lU9eXNl^TueZdDgFkfsNsntNwhxS{j{T{s}qoWpqstus{}}ht{}ªʴþž'tRNS@fbKGDH pHYs.#.#x?vtIME ĥtEXtCommentCreated with GIMPW~IDATc` 0 BINNYAZZ^QFCI]X,h/0c614QF3^)C= h1@A0Az`U_b&0]D|7ě/IENDB`xfe-1.44/icons/gnome-theme/trash_full.png0000644000200300020030000000264613501733230015323 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.44/icons/gnome-theme/bigfolderlocked.png0000644000200300020030000001653613655551436016322 00000000000000PNG  IHDR$ MO*zTXtRaw profile type exifxڭiv;sxNȒ,N^X(..2w_J6AR%Ƌ*uj_?{qqϟ+ 5l{n}{cB+ju\w纽wh<buj?~}S?'ѿ념Fy禷گʯ8gÛ y~] zSWIa{o,;r78Z#5t5D4oC;6T"?_s?|իcqm,ce~ﶳK;םײONAr?|XM=s/v[zfV2U?1kuUUeNuūSbj9}e붛l?~n_/bAjXvhb?|o;{ '*I한K֢nj*;w>l3ekdX'.: 6axXbI!CU$)R!J1E| IRL)TR>,9s.W<(%Tr)Vg* U檌\iR˭qSϽ:qGuZ3A8̳̺WXJ+jUjn[JǥոjRzLaNDm\X<ph6 fWq86)j3Z i,݇~d7#GvsQ LnXm(DFDr 7[ YcE0VYRښk:V[-M}ړsF<[Gps.cZjŪ}40bSo\zVg R&8U@0xBY!/?ubyfU:t lՉ׉-}҉|zɢekñ#9SYHwˆH.t:~ooulb'}Zl{˙os+- y%Lfi/gja%ڞJԘjB$2LׯKZҥ5./&<غdbZZ Ȗ0K `t>6k+* dΈ LJVcq":!i[p2MF5UgmwIո}-]Hl/BCkdԕkn I9v41D Cκ_!}~ c> !mN˴M/_f׵9wb莑 !5RA] XՈ"V^cdWѳ{ GZ"r-KDŽv%[nsZg5,5~xM&j#90lFy"!N#t8'qIdsUbŢp("CuM/NM0쐝mTn\>9y&i̡vj gjn'n^]2q_ltKc9vw7uZV2k/Hͷ.{{_[Df!تvUwKR6;7ܜUydn̚^_E/Hu爚x-^Ykft**d ? vDONNy 7!PCs*4N3cP$ E@q1Fe\HGMQF~*@G6$=x$=k_"P6hn.$6+:n%! .r)] #!KV*D.CִSB}IP-2v-T4JS, (kaÈOF|)`ۊT~Tuj+"ڙ}Q3 h\>n|\1RڳcjcN>`Ojc%ɏsSmOeNmé}js׹SjDOS=e/d["@§oWFƜz6tX,&{/5dR&_W ޛyQU"s](U8v$:d6K: ن[©' {{IF WGKfZ$^q_ f1FR ZZU@M'+Ct۸,}]wڽ0d笮wDI_u!E|9 _T4MbZ(JQuZ܋yA,`tbLZ#5 AP2X+*9kQgP qlvRdVX`x7H( 99RTjˮT!܎EEi(LZRoޢ ꊸ\h Ww0:c*S$ީ)JÃNg a>MyR[,Z;&{>!WJsf7'iQi9Ap tr۴3Ru5ܑJytfgz> sr"~)k@PC1Pns^*-9yݽySw_tXx͡3zW-y 岵sO?b5ؙ4MvmŽ?:Jl[۾W—l]`,K .QbbtKt- QOa𴞡tݼȕEw)46JņAn}߭?nzXvsD #C1r.>sP i=?y<ʾޔVf4pd .ԮۺW;K;h2)cͭ5NB0pƝ'<]ЧvSsx6Jr [~7Xiyۄ%.N4BQMˆPKkOlL;)iI>h;[, 5U'P4%D#%lFgEJS]lm>8ۼOBbF^Rm =3FedT(#F(q)RPa IVs֢3nRkI.,.+](7G=sY/U&A::mϦ~hHÛ sw]vCl2%E^J!Ƚp]#:DA 5kO =Ww?ߔjMKEy- [BгN ;t4&T2kP)Fz8fhߩ-xvkLba )׬K;ԡ QFa40E}xxۙ j' |bSl ,s}*;ǮN]+mLku,5P7f)&!ٺTIq$^\L0Tc^ZECX,¶<V(k4RVP K%bQ)[5(%+SL-؊8> [j/ހ޼#Xh76ڜȶBUrir7;R8d56YD;aX~1ԻUGMl ;XHR2d7DF{s\Μ>`ä)`"R/xCpk h2Y ,u|v<hkWR(0w/_[%RF Sa.fPuQ#. UЅ4A×2~K!GH1?ebmJ b\6bP. 4ykhZoz(Ľ_D/${t~ PƌAq|dҦmfS&dPsQ >Yг$&  }\.kx;-U2]gO @U p<5$80HmJW [{(DmۦҲGRh!vp2{<*Eh%j.åN(ʮ pϾB-r| (q8$kU^u 9 ԈrHW _3"y"yMؿ#Y'2r$ѦۮfŸqeiaF=q<\QGǼ%~g(\E w`2N,DO釒l;j\U S|ճ1dK=jmu&Xa{gt╨Ƈ&D=82a;ٟ>K.|:ZtU O~ikFa%٨qXL`5CAre8Ա<۞y\aMV6 MܻQqUS,^^I{aHĬzWESЩJ=!4Aͪ\D9t \tll)[ʴq2}` v3H\Wx'b"B2O2UX[`#TPKQY?gk[ۏN 1-@'J# .j+XE1U+t:l`Wz TgƄr7]ҳn1 {CÿScd9X+\hS!J8o-prZX빭L=^xa $iHF9t<kT(@rK'$eGAHۡ| ?U[ 3^۟qp?Q(R/zh+]͍bWT3=o*tB^nMlZwz% [d'ޚ^lv>8"4FZrjpS?C5* *PYu{u4Qt#_RRX**KBA`?/-25_2rOZ9ps>[Oji~JmcA6r~RaԺO4;1; MUwIJe|ŭyK TRCf@Tg@8lg?N|ҧvD)7? $Pr9}Do\&5ӻ} $vmeA<#+w/jspr+왠J.+sx4$X }.[v=ט"u?%#WMe7|C1O<&*5J[5؊9c$굈:AgGɰ'p/JXv?F5Oƹ,Yēק6}'y)1jTջ y }~^rr;r=9ͫTJJC%Z+/@gSyLP PEtTQ(("ef&'=():(avj!+1q>zHu\ C"-w5332!q1u? Q Y`Bж3;oԍ"p]+I,B^Y1ў8GA<}X74i$V^g'Rj('Ix{zYJdO eaoOmZ:}+J 9A$~~1ҩyPhcYP'Q?yZ= C9me4" B*J(BV)ڏ{H.\%0r,ݚq7)/1 tmv<WZ_ӟZZo-M.w']2$G }Szޚ8}U88F =f~ro|PLTE6*FFFGGGHHHcI%dK'hM'hN(iO(mR)nS*bUAcVBqU+gW=uX,y[-m_Jn`Jn`K}^-}^.~^._.`.`/a.a/a/a.b.sdNb/c0whPf2h8zjS{kSjIwl[i3j>l4oW}p]o5rYrYq<==promvvvxsz{{|}aµµ¶ööĶ÷÷÷ķøĸùùĹǸŹûǺüɽʽ˿ñIJŴŵƶǷǸǶǷȸȸɺɸɷʼ˽̽ͻͿW_tRNS@fbKGDH pHYs  tIME :.IDAT8c` ),NEq q1ѶIYB :* 3SkȈP' T$kj "BB"@OHE=/QM^ 7:yK/^pSz28;9:ăkW/]ue?zsΝزrŲ% C 67U/?8b`~h%K/\0wYX!s3f3 a٭Ϡk*&J30IgФɘ4 03iff 4Ik TN-}Lm* J{1`| I h]`F=`numhMQ:UhMQ)hMQ<1E 99YYh 2LJJII-,,*++,DS/7%==#7MQj)wI^AAqyMmCcsk{gg{ .6ƦFhjl(/`e`$؉+xUxr%4*IENDB`xfe-1.44/icons/gnome-theme/gotoline.png0000644000200300020030000000071713501733230014775 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.44/icons/gnome-theme/dirback.png0000644000200300020030000000070613501733230014552 00000000000000PNG  IHDRqPLTE)-=)BZ*C[-G`4SopIDATӅY@0 @3T[5VTŠ?O2/$]+@Zvps֧q^fdzM/;S A QK*+n<4;#A;/R7iIENDB`xfe-1.44/icons/gnome-theme/bigblockdev.png0000644000200300020030000000317513501733230015431 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.44/icons/gnome-theme/invsel.png0000644000200300020030000000033613501733230014452 00000000000000PNG  IHDR7bKGDxS< pHYs  tIME Ck oIDAT(υ!C%YES=㇣yDtrPi2"[@@D$HV#RȘm.ݳ<E8K J=zVSq +^7))R(BIENDB`xfe-1.44/icons/gnome-theme/horzpanels.png0000644000200300020030000000755613501733230015352 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.44/icons/gnome-theme/xbm_16x16.png0000644000200300020030000000144113501733230014603 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.44/icons/gnome-theme/exe_32x32.png0000644000200300020030000000266513501733230014603 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.44/icons/gnome-theme/vhdl_32x32.png0000644000200300020030000000257713501733230014761 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.44/icons/gnome-theme/treeonepanel.png0000644000200300020030000000064213501733230015633 00000000000000PNG  IHDR(-SPLTE*C^1NlGXiWjgxiwvwfbKGDH pHYsHHFk>{IDATӝ EѤ0ڸηu=ͶMz$*LR>o4uCdS X;+k\ğ'p?_nd .?~ihIENDB`xfe-1.44/icons/gnome-theme/paste_clp.png0000644000200300020030000000105113501733230015117 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.44/icons/gnome-theme/run.png0000644000200300020030000000144113501733230013754 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.44/icons/gnome-theme/djvu_16x16.png0000644000200300020030000000240213501733230014763 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.44/icons/gnome-theme/xpm_16x16.png0000644000200300020030000000144113501733230014621 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.44/icons/gnome-theme/package_16x16.png0000644000200300020030000000172413501733230015414 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.44/icons/gnome-theme/h_32x32.png0000644000200300020030000000265413501733230014247 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.44/icons/gnome-theme/vsd_32x32.png0000644000200300020030000000274013501733230014610 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.44/icons/gnome-theme/font_16x16.png0000644000200300020030000000076013501733230014766 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.44/icons/gnome-theme/twopanels.png0000644000200300020030000000064213501733230015166 00000000000000PNG  IHDR(-SPLTE*C^1NlGXiWjgxiwvw~_bKGDH pHYsHHFk>{IDATӝ0 E fni\7vج")U5yUl)X/8 X"ţ 8F)@,I3PRNy дsyIENDB`xfe-1.44/icons/gnome-theme/dvi_16x16.png0000644000200300020030000000067413501733230014606 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.44/icons/gnome-theme/h_16x16.png0000644000200300020030000000064013501733230014244 00000000000000PNG  IHDR(-SPLTEttt@@@KKI]]]uuuvvvwwwxxxnatRNS@f pHYs  tIME (2T)IDAT] aqiQk]* Ȓ?͗R,oTH T1u1%p>kp+!SR1u8rv"5C_l*pkRʲ,u| NPIENDB`xfe-1.44/icons/gnome-theme/cc_32x32.png0000644000200300020030000000261113501733230014376 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)abLIDATU 1F@W$l(_CG9(E~&؁ neB{ p+1[U "zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.44/icons/gnome-theme/video_32x32.png0000644000200300020030000000425613501733230015126 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.44/icons/gnome-theme/text_16x16.png0000644000200300020030000000067413501733230015010 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.44/icons/gnome-theme/deb_16x16.png0000644000200300020030000000170513501733230014552 00000000000000PNG  IHDRabKGD pHYs  tIME 7RIDAT8EoLeߟ.ᄁ)qnYk1smQlm,Ilc4p][?VT ˖Uq$pӛZ"}&0?vM;Oyt~AfcV8M:f)۽d ܏ZFdUvHTߑO 3~fM5k L_=Y]K.V,`g#?_ P[uޝy sѕ:O.&NSU.iyn бc:9\:IbELY|>r `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.44/icons/gnome-theme/zoomwin.png0000644000200300020030000000060313501733230014651 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.44/icons/gnome-theme/minifolderup.png0000644000200300020030000001456413655550422015671 00000000000000PNG  IHDR,nzTXtRaw profile type exifxڭu$l!EyZL2䭺EF;Qf=}&Rs/|MϿv:s׫K|,վs=zm 7>_7uWGo=: YX'u\wQϛj8Z|5Syr~D `h{g΅% wڏdww}2lě/o? g?HÕ?=gs3ͯ:zXx_On'Yvtyrnu߾^g~%BŗobsqwvǛ2r4|c~o~9S&r2V\!/p;/kෟ"T`f,t1[9.d3e:D xfsر}~_LGRÛ>lZ8謤uϰ<ވ'#.Bpru~]I]ߵ*}`u@Ci2եKa䓀`H&y#εǬ5J4Why̻ segt!-Yg" '"['ϯ'ž"aQk X&msLEU%5玹NP,e.#u}.{rp7OZJnN\0yLuœ=fJn s{|F>/єM 4+;hk>7 @n:g9V(k:TV^hrDg1#4Kγ'BeF;Xf<ݭ!!I϶嫬d ,}>-AVǼV>enD6c Dce'fРA\5v({6sa2IHKg=]]s%ѓT ~@:ϧ@Yy+| g)zМCo~cgVMz\UA+rW:a{aw?rݸTKӍс;ReԺP;٫1_^L~ _|`k1ww>|tL_)>~Q> YM{"zZ7i{`΅ PVҏ7{0B7w 6dyHK>m/P$ӡMq3Ӊ sI.bL;bZbܴȫtg*ߢ eiIAd:-e-y#PMbP$8p|B9GIP=Ho1xbZwċ(IBB:3Ue>AΩ2Ҽ?znFA$ :{**ҧ?ӿ&ShFʕPEsc.U3|{&`'L51Q?M&흛Sz{;g7֋k{qx `opc@+ӢF:ՉAP4Нdj.UCB\ST2api{g941 8e72 ō-^B+cZNS$.soÏfͭvh$9ܘpLZ9_`ÎAVXP _P(9ܤզCoBfrs+;0t#nܤj J$$U݄bܚj$C7hX{¶ȶP{#仧CxP$ 4K k*E|~|@.V:ȫXsȲIJTb~W{m*On}z!c!02t/mPzCpsk#*QnT h2Dܩe~Gv` 2v)\B9"RWMxqaďMǣ`3۽YE咉kU$pS"n,0q fxo/FA W`^. E<< ?$3z'd0b˻hZ8+Vv)nIaRgC{u;7&bѠ !@l[Z2xu ]!\a!p myiKk.MѧHk~j^<#{CGgDZ_y.wR7\[Х x[#P6{Pн$mʑLETIGϵ2 2\xиSZ4rAY*`B1%اD'6%)͈߀I>%cx0><{#2psKC;(JǼdm6l`=aൔmͨ+)~QL᷵noRD,JІRgHQ;?J\u0LeBa2kx+SUu4sje-MDv0,+ DIy !=u;|Xet9#:"c%O 2t!= ]ȯ/zVQKcq#eR{21 ZӾSd尲g"ڐ ~ڳoV7<ڵMRy@Bm%O!xK85oYBjui~Oo" EfCG H ( O{ YC^ÇV~퇺=rVۈ{fAs意* EԚ`is4>bt(y*"A:gghУFqwbW@^"Ւ" G,\`᠜{4t:5b Gg8mB2 {)Үقzbh_GpR!^@޽"=,;}X '!x(}HIa3;:.y`Є68Ǯkf{ J3]iFО52LzVb?rǜCTop5$vTj?Z0$hJd۳/|;%7f*}ʷ [.|oږ 8НN`8WD|=;H`ڹkq |(b82PRѸ赍,_Ifb1H9 )t<p4^~|EGDh z<0-h:=~v[kc"&S_ac0! sy=;_9:Z&ݲhԶ@#T(}eʕ {5V+ǯ/tt&(]|aҹuU MRvg01_.6hC _n!umfCe£v! ,.ԥ}0x?U[-8ї^FžOOX>Z Y\I^F"bՏ·!<;65{j@B`:j[S_ś6PA͓ E洝ѮN{ xU aWR!À\_>BV$"I<=)r(+e 6 EǮ#NK(̐cU)دTj0zKͶnm5-Ed5usW UZmaI\hD.뵥ekKR2Zm0*D7lR t5T/II=0eҼ|Rl `44m[_&;QĜ@g@qDkʚۙML&bv&o1;Dm"og63yY[++ ʉզtҗ6c7;p!:`i,g0.53xAB!D@Rb>+x{zYJdO aaOmZ:}(H 9A$~~5r9(PbYP'cQ?yZ= Emy4G!B:BVYOyH.\U0rc*$5KI7)/1 vVömu+hӟ7:ZlM.w']2$G J}SW8}rU88ʔ=r4KPLTEiO(kQ+lR+lR,nR,nT.nU0pU/qU.rW,vX,{\.a/a2e1i3m5qQq6r9t:u8x^yYyWy@y:}C}E};Dt~´µö÷ķɹɼ̽˿¬ñijƶ˼ξο?htRNS@fbKGDH pHYs  tIME 1&IDATm@@XqQ ̱Qsqh _JV*$M_.b؇ )Cu #IJэRYv\.T/eI$i]vUm\ Q64HZBP[Tp2^z9ٓu?,70IENDB`xfe-1.44/icons/gnome-theme/sound_32x32.png0000644000200300020030000000451013501733230015141 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.44/icons/gnome-theme/setbook.png0000644000200300020030000000077113501733230014623 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.44/icons/gnome-theme/xfe.png0000644000200300020030000000345113501733230013735 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.44/icons/gnome-theme/shownumbers.png0000644000200300020030000000064513501733230015531 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.44/icons/gnome-theme/move_big.png0000644000200300020030000000232113501733230014735 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.44/icons/gnome-theme/replace.png0000644000200300020030000000100413501733230014556 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.44/icons/gnome-theme/o_16x16.png0000644000200300020030000000063513501733230014257 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.44/icons/gnome-theme/graybutton.png0000644000200300020030000000110013501733230015336 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.44/icons/gnome-theme/zip.png0000644000200300020030000000134313501733230013753 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.44/icons/gnome-theme/gif_16x16.png0000644000200300020030000000144113501733230014562 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.44/icons/gnome-theme/biglink.png0000644000200300020030000000240313501733230014566 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.44/icons/gnome-theme/newfolder.png0000644000200300020030000000452613655774007015165 00000000000000PNG  IHDR(-S_zTXtRaw profile type exifxWI$' s I17ew 'Q )'e?OfIbg.=Oo~^'$ޝOJ3YMÓAmEߊ"48-ߜ]ǻ#\ 5c]IE_8Ґc6[eb8SB؃F 6z37v&"sst4\vkH*izHX |gmUKDFkf,l@5_5!XbQ=rmSܔYy0 \H61'"RP!+ˎ4ahxxd!/ ii{a]^KC/m-*mTVv57-`ӅE[BlYˡrKS%x\I_1Fq8q̋./ sF+u?l^ettXl@##4Hgyq۾'q G}ݏ|N2*\\&d»Tl[[Ǟ(בy&$_>7p91*q%+^.Z,OXʝP20=!F*[HV҈;xa0sG~TawٹҠGI9< 3Νt)p Wo)*U+K=F:7߯Bh^G>Ю P˚>+`^u¨.0V ˽ŚvjQ*ڮIH\*w+;yP˷Ki;=0FueI]koU1 %O5P;Nwn_XIo< ٻ{>~={ghv+iCCPICC profilex}=H@_[KT ␡bATQP Vh/hҐ8 ?.κ: "ƃ~{]〪YF:U! ˆ`39QLs|׻8>Q&|, xxz9GYIRω #e8̨IGbJJ>>??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.44/icons/gnome-theme/chm_16x16.png0000644000200300020030000000073313501733230014567 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.44/icons/gnome-theme/odp_16x16.png0000644000200300020030000000327413655034145014616 00000000000000PNG  IHDR(-SzTXtRaw profile type exifxڭVY(sja;kemwc Z2J2ϿmF]>yoqiޯFV}'r1 fYA?g(zA逜fj8Ζ<{7Fc]V j075,@Ic#0Ͷf-1 eԩaTr瀙kQ'bDA4R:^ˍ e#'cjb<ЄQb y sDٖ8 sW~Qh5>DaP`=#O60" (s9npUăY۬~`6k|05VC41Va2əʓəMp '䦑͆<(Nݙ7?aLsl<6;a=[U81"cR.tx{lEK&x[y7")j /UQ haw<%RϦ:B8ա 靆lBn@,u-m 0xH bm ϩپ@2 m`W[VMj˼ßfȮ0i mOSPLTEVd&h'l)p*t,u-x.|/y0~0112244456798:<=kmpsw”yoʰ̱ʹγϵ@tRNS@fbKGDH pHYs  tIME!)=jIDATUʱ@ $ UWXX4Ⱦ+["&͊JYlEEٹ`T>/ ^;FfgÅ0|wQ,zBZOdՐIENDB`xfe-1.44/icons/gnome-theme/bigfolderup.png0000644000200300020030000001643113655501327015471 00000000000000PNG  IHDR$ MO*fzTXtRaw profile type exifxڭWvDYY9o T[6)JobX&MdPjŒ!Xb[9+h?kym9Ο^W·>L{=u櫡­A'=Koy缹F<3=]CǏK{#z>Vw>#pw>ùwP \# /ӻ@/FwO^w7[F|`go?u#L4tF^kUh"Junl"O8Ou uM1,eeMgNmmn.b?ye+nߺ9NX< ZCco?꧋Qku1cNmŷe9.b巰 |\OE͜`4тyĖ~v}¨40}cБ't63:o0! w.Zl7$F+&\t WqI>C5C1U(F} 1jrɧbJ)jvcN9kŁĒJ.jUJ[+gmZlVZO=SϽ:pqGu5Agqguk-Š+ʪw]^ kv{JKwqVtk$ Lgωt$E 2o01\觱aTȿ甸s } O6JM#Q3gEfɚښ= f3RZ+M4[dT gԈ2S epefrP8,̹gE7+M{=Ap,=Ԛĕ0XIם\1 cV23i4BI#beK=ї),@knkvbNڣd~s_Znc^ ]o&)wsùfS3?V:! nHK\uňAJtFe 2^> dHFɀ=0jFZE(ܦ]d$B@z'JO56j'fo=Xy垼NCc5Tpј -/'&+mC^ո2 `:idZũq1//Ib-ߡO7V cŦM=t ?$SXLy̲bMm^]JԀ1edeXĿn) bm%Ʉ@$#HD,(YE_!p|>I#OmZ{TO"ؖy ȏSGi qYrvؔ%PA= fnT_i4vjy^#֘ 40j)>(Oe%@Z,u@ 2I"93)٤t238RwFYsP s_NFt63yv!V OꖹhrvhD]V}i[]1X3[K)3d͌]gZj 5k;>sǔZwkު)\S?ݾ`%IDj,S\u#0qm[N68ױѧfiWv9ؾ {Ҷj}&󏱦5{8| ut]<ա\={TF݄r=/τx|y|9bl&Vp=EG"F}+gE`?W0t)bSev{I ĄK4ui&1)n.Gl55AywMRmb5ڸ>s*6rؗG;S u]GB a6!dJ'=|X5*J$,M= ĚQ@l߰u8DJQS{ h,©6[g K=ICЪ>v•k d'u*qQ'8^V~&qg԰zoː5[-kX-[[|װo|kX향Ϊ`W4gaNU2ۼ D5D KS4VS+<Ȏ"]R bBnQC|=UUI *YDpT,A0ҬBz $N3]VeCf`DUjXaa*Ѫ26*kBvw8~eajzӋ^` BPE ,dBQfJQ1bDԚ?<Iy0X- n,"9wuuLRV:mspR[ꭥ*5 ĝC:m9'k ڄˊwCͫҗn")a!Ȥj=i<>٢'z< QI\J-$[!@$JG8,_mRCeޛ6&EGE1#-% ?rGVܐmIkRtaavH 0 H_!33)t"ɨuΘL`lоO㨈ܾd!H' XxZ 8^ͩ 1|? 6ޔDM]=uxR{^8Ϊ'5>'44מ>\ǒ]hݺqωI6 +ipL,>&F-0Ƞ=cȘ>j?{`x UCRի t"yroSig̺5(l-0-0MtX;f#< T]O~< =ғ$?->o޿ZʈN"DYwSN%M6"I'$=N ÃH 5msQyxYLEO7VuU85y9*@P6 x&W{Zj b%. ssg~bSf4wdL΂;ѧؾ[C L439ߐ|Hfsw)^$JJ?"A.ȏ0)+~ ^Ăŋ=JGt:h#Z`tu(k!V]!+R31R!B8զz][ATYU"fm=2Uh9B:tΙd,sg-^~,q@IVLevVBg8sqXI$βT=_ם^=c^"#QJU6ݷ}sQxE&z A#ѝêDɍ1}d|h<6<`u.)"8i!2n!7YO۔ۉpf>m{J ԉp3|&!sRl[m.,$% t-LW7nxɄK‹j;ecotE$C+%C`uG4Č!)Z'{R^jA{h6+ ]786UP) * rm[SE'I݈e!s 4ba. {:Y.% !ZzG=&@{(z3>m8peJZpRR'rFMEN"7ŽgDXG0{)`=3-~~H|rdhdLjL]1R/#}=%"J {IwJaKQeϋM`!T뤀n{:e !1QTcO*YdJ}~Er2[89 yOєG.ڳt*9ESݱC ם{Eǻ5Oy:tl\#jere-Y Ub1D5Sݽqk<`X&ˊφo>n1|p+=>a :i Fq O>C=QԐd<ŋoȶF= wƄ@iͱ}Bv+Y[G|͵a P^Úytӹտ?zG*UMiGH{!fP]i G:iN-K֌7چѰ m^H@u`?wH{b(%iG0$_nYxwYO!8eVq)^t1띹eM팙5nM\F1׸&oSWО8Wfe-aGIع~$l'aNX(GǤ 䰛r%U+av@&;A-|bQjGhdq8.q͘5끝 `O)H%:yB7؟MN۹jy}L5bGIJׁw{w@KRV[q'i?:́*iʰ6Zf .h.\ˋ܁0!O(}%THw[l]F.ꮋE!zxBI+ऍފxD,y^0&`QQ,5Y QyOj  +b0^ה)B4p(OT*C/N+"C=x` g喥,!^sG?Y/k!\ښ^:ڤƐb ˳WwYfŐ-F%MjĸC#֌%f8[Ge."Naqvo^O`=6Y])^84mYMޭo WýǑ^^d+*Sвnȿ73+o )<Kv!ζvmh# l[9)^r__r~d=uvD?==|MN  r77!5/CzK7=쩟q^YgCg#ͯGʫBWFˤS;PSGu-Hi4Cuz?KxϪ)?ݗZ0qW ʠd}ֿ~{/baO1TBsiCCPICC profilex}=H@_SKU*v鐡:Yq*BZu0 GbYWWAqrtRtZxȏwwQe5hmfRI1_ïb2YIJw|#w ѧ,Df6:Ԧmp't@G+q.,̨GR+ʦFl4oW}p]o5rYrYq<==promvvvxsz{{|}aµµ¶ööĶ÷÷÷ķøĸùùĹǸŹûǺüɽʽ˿ñIJŴŵƶǷǸǶǷȸȸɺɸɷʼ˽̽ͻͿotRNS@fbKGDH pHYs  tIME 36IDAT8c` Á4NE1qq1QIC:*3c#KА`#T$z*rBB@G HI5<aun 58u˗.]x#38:ہˤC,[sf=vܹϟܺj򥋰ö V6+,\08j`zxɒK,Z8o٨L6e0<8`אAw  = ZaP0mn-ISpFF06i2.&i윈 02] J;qFF0]AaK.6+غ\Lk:Mո##Z+ !`dSE'@zdgt,5oVBBRRJfvNNaaQYYaaANN6 | 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.44/icons/gnome-theme/rpm_16x16.png0000644000200300020030000000166113501733230014617 00000000000000PNG  IHDR(-S:PLTE  %!/#'+&/'"(-5(C&$.$f10"80V/<7)j- t+9<0c2@=.s3o5AA3CA1NA!GC#v7FC5EC9,t=AGEz;GGA[FbF6tEyD$zD"UM6LRg{ݻk1C7u?½nJr.K2q>ʫ\>^u^W\G?o~'5ưBf a9PÐKD{TR$KD^?ϭy<=SfKׄ?y=.0+bL# ~?qs+DP̅ ߷?%+ j`]5XZlnG8nWŸDY nɷiJ8N,4L/vB_]]Ok})ΰH^Y}LQܗS~HU^ĎLVqe$RŠ]׼J~\H&gcȺKkKwLo! 6)yvSm.oϣoB󬻖ʔnSQקCkK>}he }ºsTs ,i%"#38t 0Nl-i}!+!XYe749Ӷ8 x>8b ]P+Ua`S3"Z&9&ʢwPWk-N=G ~ǂJ!ЦeMfʆ1JQ-h@s:jV:ʼK?1o@1T5,d}9uV0+T Fgqܴfb`pOTQY֒/yYdSMdH ڊ(UcJ5ysy^7Ȅg>*mcp b!RcHq~KE_%TL,91Յ.%`aT]k[Ė:"urbbJ R$uc VSI4OsaԣŁ!vEYnmuGFA4\j#KRCʰ6&1ZS,*o`x]c|N%[NNWULw 8I5Xѹ|3ѵ8Sz%$l4n 1m'Hw &)8 >+tnptc:iV*syiJ"']ǀi *q[A#%P#`Df{Imbm<[lW0/r)ٱYN@C8.TЋ:H wpV4fpjbPb_c.Q2M2&d8#+k4<!&d\:D*M=w=76;`/,)EaƢk^>4<:"P]=a2mCTLǞGr3(YUԺ`?IVq.\B|9v=:|VNld}(eqVQLUT>U_//i(% 3du.:.[T .oip{6@ˢ{p8K Or _ؼ-vUQp>0_q_pwe] B&'j '*.Z?KBUr>脌׉RdÂ^QjÜgMO-$ByVaX"gXٜ<m<#LXjҺK0ZSHj, z. Em]ԭc1a'@h ;;5beW<ƇXTyApҞYrX`xފRACׄ咦9rQoȁ6_ju#oAi9< Ob.ۅ 6BiTȉspU+ . 8gQZS_c?ѷq~Լmŵ>Z0(L"dMsX(]u3 Fa̰Jԫht#d(|6P7s.j˨Œ|OV_ato%ƲJHu9?I ܜ=qn\F,T2Aư#:ai*!(<^6oǶђ-0[ݷ!E!E9ãSg90\Q;[ AO;{+Rɤ@>6 (4KGGgاL;o5W; k3zR)[i65_RYlh_8Kt~qF`#4kTzY5YOc]uVީsF壭+lG;6l]coBWJrZ6g$N_Fc1jPLTE!KKLMPPijkkmmnon ppp rttu4vw7yyz; nB|: ; }:}>pE{~rG> ?!K3A"LOPփSO&K;čH–ØΎOĘďpřƙțɜ؏d78:ʗy<ڗo¤=ݙbƦ;ŧ?ǩ@ǩJɪB˭DͯEy̰Ud꧀|}}j򪀸عWSֽô`Ŷw[]_acghlsty{ťtRNS@fbKGDH pHYs  tIMEmR(IDAT8u_Ka̘2[,rY[m13ܣ"DN:\MJ?9=dz^6ň  ^/׋z7,Ah-OD~5 p:? Eau:Złn o9lw1~i!w,=|=77X,G"nXl?[fL;}섄>Au F(*L*/J*d?97F +`kbcSuuScbk\3 ;fΖKsj&8i өCuç>~R#-si+g@M +f82)B@Q-h4$yiܺo7 lh P0A4TuZݻ<שT(pڮ[,ETBP_Y6ks^@.?afbr92Y\.~>TdTQ TZGT DR9r,.R4isdIENDB`xfe-1.44/icons/gnome-theme/o_32x32.png0000644000200300020030000000272113501733230014251 00000000000000PNG  IHDR D^PLTEUUT!!!$$$%%%///222;;;@@@AAABBBPPPTTTUUUVVVZZZ]]]``_ccbeeeffefffhhhiiilllmmmzzyzzz{{z{{{||{}}|~~}~~~~uNtRNS@f pHYs  tIME  7tEXtCommentCreated with GIMPWIDAT8}Say;5R3,k:LqP",K,-MIk]`au ==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.44/icons/gnome-theme/errorbig.png0000644000200300020030000000340313501733230014763 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.44/icons/gnome-theme/sxw_16x16.png0000644000200300020030000000053213501733230014636 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.44/icons/gnome-theme/dia_32x32.png0000644000200300020030000000274013501733230014551 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.44/icons/gnome-theme/rar_16x16.png0000644000200300020030000000145513501733230014606 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.44/icons/gnome-theme/package_32x32.png0000644000200300020030000000306313501733230015406 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.44/icons/gnome-theme/lzh_32x32.png0000644000200300020030000000272713501733230014616 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.44/icons/gnome-theme/java_16x16.png0000644000200300020030000000066713501733230014747 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.44/icons/gnome-theme/tif_32x32.png0000644000200300020030000000327213501733230014577 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.44/icons/gnome-theme/hidenumbers.png0000644000200300020030000000064213501733230015457 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.44/icons/gnome-theme/exe_16x16.png0000644000200300020030000000100713501733230014574 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.44/icons/gnome-theme/ods_16x16.png0000644000200300020030000000317613655034164014623 00000000000000PNG  IHDR(-SzTXtRaw profile type exifxڭVّ8 g g`!3'ɦD`Vxh%A,c,ǛJV:m&gsލ9xwOA 6C1Q0%mtcL c&M`R,d]9SASlqŗPbITSmuPcMRI5lsͷbK֥n뾇{:U۪~?Pj<vT Gu͠~(桙d f:2feCJ:)r4bR׺)pnԐ/(Ǫɓn/Tc%,S5 Z0H8'>! نUREbXn[5b#lK2 LGCBK؟JX>] [ꦭnitbL^N#ϧ, j3]j)l-lzҭaڍq NCeDk<{yA)IӶ;l2b$\s`j Hȃpw7_8 2[*Ŏ )Շ9#%l R@.Q:e˾h̎#bzwO{Q ]qn7дp,LmG2& ɧO=7l\H vGPzSOyܑ$V݉8bť -ǐʃ)U\6Y[t7A`RK$yV4vMz4MîoyRw_"XH$_ ˱V4 2ћ|Pv*8^+Vjݓf|\ !CM]ߦ [exr0JA,P>$z#wvNOCD\IiRΞKNLVTNPKݥCf8=!u(s, (8js40܏/拣 N{ucʁPLTES!Fjnquy|tkvmzp}swy7tRNS@fbKGDH pHYs  tIME!8JvIDATU @DѢ A a\."1^.\B-bO3AI { );F%mȫ`9\/fQ0b = ' _$lmRŁIENDB`xfe-1.44/icons/gnome-theme/odp_32x32.png0000644000200300020030000000747413655033022014611 00000000000000PNG  IHDR D zTXtRaw profile type exifxڭiv8s8XߛKl==bYHʬ{ քK)Y^b߯u^ r3>| r~*W|27\2@eDžs{?h%;Wy=:] uk 󚆎 K\H;rpN\U킛5r{ ~̧˹W$XqReJ// Fw֭g +OGW1䷗S\{ FqzwcžW(N7q-_2=@TQI`f@MNKfsA|νa'A$MAG͘N_uS(I2TiBD?94ԢcL1kl&I )rRkYr1s5"%XRɥZZU0XS͵Z[cLэuߥ{깗^{gGyQG~ 34,ζBJfWZyUWhm;.vonaJ5)Ƴ2rf +sʙMFf:یKPq7s?̀x?a(uYoX aB ַ7_Ai*KQNYsma~,+XibqzԛkccC2Zwz׻ky79*Ͱ;\ͮh6ޝL\ҲS>-qƬ5ڮya(f,@c;ǨWc3aR2TbI3Kyyk0 솪v-ܺ'YIaD-²c߀!ƀin:_2cY96tȦ-@յfyLJEc{ahm!t1^2kܡϱ "n(1A!eW9'p].Rk[G jS4v#bbf«;d6>PІjo8{eU27Ո mD -Gh)[h=sZW(_毷ԹMb\RZxvRcifu ~M[.&t}n -U'7Z 60*Nu.ppgRbo{=s.cQz#LL%L[~{?5Yx݆ ^5Ad*"Kˇ&Xڴ1b ύ,caᡘ }&ę(iC#Z_ sn!{}|]S7<>Y8xT-U%KBoƻ`A}sSh B kt!^nu\OPwTn4SlȾB0ưy5ecKIRw5,`%o2})h>O&5;ZO #D,3;AyA)c +w`"m_Ҙ$sC .։a; DH>-^O5ϛbw7xbo_c1ܿR+;۬ӐT5"ʉILЉeŶ\:!m=WG5ԏz0]Fl*fUti~ugI$bKD&2;9a!ݨ'D7ι8IM_Rgx8ܞp}7V-^&y~]_LdvE2 -C5@>>[Voȧ_P/DHk=5T/9}uПTwF5}"?a&9H*m4ǚhFn5G&**X)WƓOKP꠾_) M=b5 0:~C\/eS BJݜȩvA' H|R=.ɚܔX٣ 7c ly+$rNc.>tQ 92a(R(/*quhrFlAjmќĺPlG#(E g_gŴ~J(8QϠENI6K0fZ׉r1ZRPv#_VMq-%, .RK[XI6 /D3Vr /EvFZC- <TCCSw%I 9\ZhzvcJZҋvl)̉[<5iXV\c!8]wl3+֎ E3Q9Q`H, x' xގ§t]ͨ ԟ7J/b# mެp~"KY7+S,VE0j>^9_:ae?d5hAiBakDmFoGC܀E܃I݄KߡzԽȺǬ̴ϻкmG+tRNS@fbKGDH pHYs  tIME.EnIDAT8u{Pᫌ6Y@8^ֺV$&`Hl* }?{\BLm DiM08ZZ>].Qv0tbpwp`pp_{>v.0IENDB`xfe-1.44/icons/gnome-theme/sci_32x32.png0000644000200300020030000000316013501733230014567 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.44/icons/gnome-theme/tar_32x32.png0000644000200300020030000000272713501733230014607 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.44/icons/gnome-theme/wave_32x32.png0000644000200300020030000000265313501733230014761 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.44/icons/gnome-theme/shell.png0000644000200300020030000000274313501733230014265 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.44/icons/gnome-theme/minifolderclosed.png0000644000200300020030000000170513655502311016501 00000000000000PNG  IHDR,niCCPICC profile(}=H@_SKU*v鐡:Yq*BZu0 GbYWWAqrtRtZxȏwwQe5hmfRI1_ïb2YIJw|#w ѧ,Df6:Ԧmp't@G+q.,̨GR+ʦFUG Q7+Td!J`K#>gaAԝ-ivcxSW; s8=Z0K"+#J,eYt&x V5I`x'eP.IENDB`xfe-1.44/icons/gnome-theme/selall.png0000644000200300020030000000036313501733230014426 00000000000000PNG  IHDRb PLTEm{tRNS@*bKGDH pHYsHHFk>>IDATc U+X "6p20؂X qc `0&oP&zTXtCommentxs.JM,IMQ(,PHUp R#epIENDB`xfe-1.44/icons/gnome-theme/prefs.png0000644000200300020030000000101113501733230014260 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.44/icons/gnome-theme/xbm_32x32.png0000644000200300020030000000327213501733230014603 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.44/icons/gnome-theme/news_32x32.png0000644000200300020030000000246313501733230014772 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.44/icons/gnome-theme/vsd_16x16.png0000644000200300020030000000066213501733230014615 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.44/icons/gnome-theme/details.png0000644000200300020030000000073713501733230014604 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.44/icons/gnome-theme/so_32x32.png0000644000200300020030000000236213501733230014435 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.44/icons/gnome-theme/search.png0000644000200300020030000000072713501733230014423 00000000000000PNG  IHDR(-SPLTE@@@KKI[[[]]]fffkkklllooovvvktRNS@fbKGDH pHYs  ~tIME #5IDATU@+$$Ԙ6D.Sx{"@FPT'U{?X :MHIENDB`xfe-1.44/icons/gnome-theme/a_16x16.png0000644000200300020030000000075013501733230014237 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.44/icons/gnome-theme/a_32x32.png0000644000200300020030000000236213501733230014234 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.44/icons/gnome-theme/lowercase.png0000644000200300020030000000025513501733230015136 00000000000000PNG  IHDRW PLTERI1tRNS AbKGD L pHYsHHFk>+IDATcX 21uYVêԙ\0 L@ lzt*9yIENDB`xfe-1.44/icons/gnome-theme/font_32x32.png0000644000200300020030000000272413501733230014764 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.44/icons/gnome-theme/saveas.png0000644000200300020030000000124213501733230014431 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.44/icons/gnome-theme/bug_32x32.png0000644000200300020030000000246313501733230014573 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.44/icons/gnome-theme/bigexec.png0000644000200300020030000001105213501733230014555 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.44/icons/gnome-theme/xfi.png0000644000200300020030000000331313501733230013736 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.44/icons/gnome-theme/z_32x32.png0000644000200300020030000000272713501733230014272 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.44/icons/gnome-theme/minifolderlocked.png0000644000200300020030000001440113655551172016477 00000000000000PNG  IHDR,n0zTXtRaw profile type exifxڭivܺcb񜷃^~RRI۲TR9DFeg_r!sI5WO{=z]<3ぷ9l)WF~YVW#y TK%ڟ%c}m^/]޹孿r[w=O{wON~|;ߵŗ|{\2}Ϳ,{׽MOF];z;.W;{>_rky5llcmyv`bpe^ΟϮ/]O_pݻ-[|f[e0#?~'_f!Y9s+~:e.f(r]'n8 X*ͅCh?r˟8{UaM#XOd}^ٹl-~,au"`c$W64ɮ83ٞ{]tm@DB !?9rQb!Ƙb[)RI ײ!ǜr%܊/ĒJ.Ҫ 5\K5g5jx{豧{鵷A0H#2hM?feٖ5 XaŕV^e6;.'|A5w"{x6DŌ`xVHh]ņ9쪎#bcUaXmcߊ-rF!t훨Mqը*O/O-(j36?jkhC5-|jeX[zfȒ6֛E3 .իm~/hF0v/ֵ"Z7o* %d~k|U\e6_Qɉ=Rݮa3qqkoVL92Sg:?q0F8c=B=K3gam+zV!fgᶝ%Zg1En{L'ȕd݄ժV`7YsıS50ejQ'OK{Ǣb)/B߽8 Z86quڮFʍB̜>_^ {\#!2ɋR$o )6z1-١υ ᙚZc傉<4 X־s.q^QP *8v_+{ܒ'Yy{YwŠN-XYIv3u_c,.4ZWܫ㕕R7;CIl`=xL==+_=,_;9?azj{7='Y2HaWv&OjKY0Y&KcI=lgd?3$3"WkMwc , =9{':Pr|. ~.e{'6*reޘ{p+\T ͍vW`,@t@v?o(~K~o/>;.i>|Ჟ7w}vnJق u}1t{=n:;;"{GIeރJӁzņike ځ):>v,rGVf wl% :`{#nYsPŸ4<  fW䲧kBfri[rG a}M.ZI_8Fa#cZCfTj +ml0l8Z!xem-\ OuPFgTO/ϐ.= @H&i0֝9P=yF">-v.o7B/h.u{'ʦG3w8SC_iAa}[&ijAlcL"q汎$I`3?ϼg~vߟy^Pd|]H@[\Ph׾|ȫCSۆv宥B.t`L8\ԒXc:{!KDU SOv8j7KғP;P#-}2OYM3u %rTBb@" Y0E";/$ ݯ<[ny?<ǟMae|7n [Q%4 'ª>I6"*=p>߬E2wT!pm5TI;ZChA$Q7 \P=J)hE:Tll{̝òT]N}t2A$f<{2"YĬ'T*°X$pJfEGם`pBˍBO?({@GiPx 4Y-.%jǫ0y+w7 \1xAEBC"Gž2ᚕne'b9fMro`gN` 4o RLjh|\䐶Ny|FSeqKhZ0$@wvֺK/W"* &nJ&=x+#ǿ^z@sI83lSW!7}nn"%I):U@ƌAVoWbу.YhfHW+zI0ZP Jklt%Qݺ=!HΖ>jծFd8V8*sֹz4|:0s-; qʱmd+ cZC~ \`]<'$ !aUkWT8@sk -Vd|i=z pCjuY^yފ4̳Gq%U;Gn'|=RᢢmvaV~:. Ph=\9s[p[w;|I nGa85`0 MgT(H^j1%dڴRϢ6e P MYC% D/#]کb458fX^3y, bvۤ|wX"KrmlF |1Y1Yͺܽ".  $sSab|X5t%W-LII9tg<0E *E]=VV' 8FP=u=uG&bvHvc:DAJUʬ,F U G_t׉v"}yDzv{3l^oۭ@KϩBN,[#J6f[ZsA=?~1 OhDLB %R=0ɖ7ydAL4낾gqmQ㈏hi$d ،nمE,ջkTiz h$p/G”67ՠ c;Lz5ړ g.P妷{]-PkǮ!j8vL&Rp{xUi) &5k5Ip>mܜQ54;|c^-> P+to%s)\Αuty#3ئO2 gx%rvGa)񰺐νou2Fyv KW56۝ 0M|_(2<~tK2fQ ̑MXJc'楜)~/n#R*ުǼ!5K;$ }5zT*A#oծMx}W>IHm^U4L!: %#40cG]N`i,, :7a]9 ԑ0Z 58꿚Χ>{h)W0R]iYv(E{B]ޫ+Lr{.5~ttd1D.V^I# oDt .eym* 5RZ0o[JɏgU5?lRg_4>Ar'G}sLsŷkYRVLJǮIQG1Rxu*6oVP|2 2Xcɬ:4 4D3_)w|}y]Ӣ+*\p +5?!{f:("NAXg nF'"j΀?ifWaC1'mwBm£:;O2U'{B,hҗ8tSǐUt;|'0@E|N2[>.K_S̔G<{ I 0; ӫ/"ғ\G/w>" ب- aMK[Q7[*(8 K⿚taլVx6%ݧȧnWhJs,nfH0FBV1T3kZUo?mK0yoePԨDPe eCv%9-* FyTix@}=pIẮEdD) M⮛׳C;1+&#x6mlJLʫ:ZcJ) WXfu=t,e#}4E)^'*vi%]lju =,u1Z;ov+,Iۍv @JQY+p7 :>1>[CWڌW-ߺvʱP]f}i-4ΘG8_4ϑڞA,mj&G;,TB!2 qI}O`>T6US_})\y<|uUg"DHMҧ$@,| 8_m-|޼$]Ԅ#=v?fdgS}tyOm9|:6MM[|A@ʵdl е0y6#"EMdK[LO2d?ť@$U#smZeurlAJP l(t:@}+nBQ{?ή)bdB'N+fGӤ m<䪆 $(sgzx|u1cūox5F7VaƊW#Xj+^0>5rZnn.{XU]Q 3/2 8^M~ݒV5֖&L#m1yRϥ%e>U(傎yq3EMR__s-t:I>OniFY.1cdiCCPICC profilex}=H@_[KU* ␡:Y(UQP Vh/hbHR\ׂUg]\AIEJ_Rhq?{ܽS͞jM|aE">D@Rb>+x{zYJdO aaOmZ:}(H 9A$~~5r9(PbYP'cQ?yZ= Emy4G!B:BVYOyH.\U0rc*$5KI7)/1 vVömu+hӟ7:ZlM.w']2$G J}SW8}rU88ʔ=r4KPLTEVGGGHHHiO(kQ+lR+lR,nR,nT.nU0pU/qU.rW,vX,{\.a/a2e1i3m5qQq6r9t:u8x^yYyWy@y:}C}E};Dt~´µö÷ķɹɼ̽˿¬ñijƶ˼ξοɌb tRNS@fbKGDH pHYs  tIME 7&Q:IDATm`]@T~; EđoރXfan ;Z,uBH4 -GH$nq!׺q?(,i$D< ;pߍ46~.*(gϼ_b{RIz.d|ހwMvx'#AIENDB`xfe-1.44/icons/gnome-theme/drw_16x16.png0000644000200300020030000000073213501733230014613 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.44/icons/gnome-theme/ppt_16x16.png0000644000200300020030000000114413501733230014620 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.44/icons/gnome-theme/minifolderopen.png0000644000200300020030000000226113655551365016204 00000000000000PNG  IHDR,niCCPICC profile(}=H@_[KU* ␡:Y(UQP Vh/hbHR\ׂUg]\AIEJ_Rhq?{ܽS͞jM|aE">D@Rb>+x{zYJdO aaOmZ:}(H 9A$~~5r9(PbYP'cQ?yZ= Emy4G!B:BVYOyH.\U0rc*$5KI7)/1 vVömu+hӟ7:ZlM.w']2$G J}SW8}rU88ʔ=rPLTE[M8\M8iO(iO)aQ8mS-nT.oU.sW+tW+k\EyZ-{\.|]-}^.~^.~_/b0b1tdNc1c2d1d2d2e2e3e1g6h<{kSi4l4m4qZt7t9wYx^x_v;z=}_{;{:jeB@=nqsstsunwyzwxx{y|{}~{{||}yŻŽʾɾ±ŷƹȼȺɽɾʿN9tRNS@fbKGDH pHYs  tIME 9)a%IDATc` $ Y[_Y*$$VV 043131bԓG "ܨU4tt r:&NݮˠPS]UVZ\Zߢ VQRXҨ Ӕ[._``ohkMC;2*6:..&YXX! ?"IENDB`xfe-1.44/icons/gnome-theme/syncpanels.png0000644000200300020030000000061513501733230015331 00000000000000PNG  IHDR(-SsRGBPLTE*C^1Nl''GXiWjiwgxvwþ@ pHYs  tIME '4IDATe ]^w[ vRː!@:$۳8mmX1Yb~Mz30O4Ȱ%o˧ibETAt|5"9,Di3 Y睏 $~1V]YJן ։%IENDB`xfe-1.44/icons/gnome-theme/tbz2_32x32.png0000644000200300020030000000272713501733230014702 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.44/icons/gnome-theme/sxd_32x32.png0000644000200300020030000000177513501733230014621 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.44/icons/gnome-theme/sound_16x16.png0000644000200300020030000000076413501733230015154 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.44/icons/gnome-theme/find_again.png0000644000200300020030000000073013501733230015227 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.44/icons/gnome-theme/minisocket.png0000644000200300020030000000037113501733230015316 00000000000000PNG  IHDRRPLTE##$BtRNS@fbKGDH pHYs  tIME )$tEXtCommentCreated with The GIMPd%n:IDATc`0fV2))C P!X1DP*5@VG$IENDB`xfe-1.44/icons/gnome-theme/newlink.png0000644000200300020030000000101713501733230014616 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.44/icons/gnome-theme/archadd.png0000644000200300020030000000177213501733230014545 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.44/icons/gnome-theme/greenbutton.png0000644000200300020030000000122613501733230015505 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.44/icons/gnome-theme/svg_16x16.png0000644000200300020030000000073213501733230014616 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.44/icons/gnome-theme/xcf_16x16.png0000644000200300020030000000144113501733230014575 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.44/icons/gnome-theme/vhdl_16x16.png0000644000200300020030000000064313501733230014755 00000000000000PNG  IHDR(-SPLTEttt@@@KKI]]]uuuvvvwwwxxxnatRNS@f pHYs  tIME 80,EIDATU aw'+Vd0cn I+F9nt벘''J)))D#,g {vCm35 7\!:ʘ,=IENDB`xfe-1.44/icons/gnome-theme/c_16x16.png0000644000200300020030000000063713501733230014245 00000000000000PNG  IHDR(-SPLTEttt@@@KKI]]]uuuvvvwwwxxxnatRNS@f pHYs  tIME $VvIDAT] a+ڢzi1D*X?C՗0c!}åBW60wl:F.&g̙r`0 YrvrJwCܤ-4E, ךAC5OT8UIENDB`xfe-1.44/icons/gnome-theme/bigharddisk.png0000644000200300020030000000067513501733230015433 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.44/icons/gnome-theme/bigfloppy.png0000644000200300020030000000255313501733230015150 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.44/icons/gnome-theme/bigdoc.png0000644000200300020030000000150713501733230014402 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.44/icons/gnome-theme/filter.png0000644000200300020030000000051413501733230014435 00000000000000PNG  IHDR(-S`PLTEhis”›Ǡʪбӵչػz tRNS\\bKGDH pHYsHHFk>YIDATӕ qŊIBt0² I7eB&)By@-Y;0q8'DIENDB`xfe-1.44/icons/gnome-theme/xcf_32x32.png0000644000200300020030000000327213501733230014575 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.44/icons/gnome-theme/config_16x16.png0000644000200300020030000000067413501733230015271 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;?@>@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.44/icons/gnome-theme/minikeybindings.png0000644000200300020030000000053713501733230016340 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.44/icons/gnome-theme/rar_32x32.png0000644000200300020030000000272713501733230014605 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.44/icons/gnome-theme/ppt_32x32.png0000644000200300020030000000263013501733230014615 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.44/icons/gnome-theme/bmp_16x16.png0000644000200300020030000000144113501733230014573 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.44/icons/gnome-theme/gotobig.png0000644000200300020030000000227513501733230014610 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.44/icons/gnome-theme/mp3_16x16.png0000644000200300020030000000062313501733230014515 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.44/icons/gnome-theme/unmaphost.png0000644000200300020030000000141113501733230015163 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.44/icons/gnome-theme/wrapoff.png0000644000200300020030000000057013501733230014616 00000000000000PNG  IHDR(-SxPLTE+++@@@KKI]]]lllE6tRNS@fbKGDH pHYs  tIME /&yIDATU0 DD(Ҩ\Z6]xּ F'pp ܇)>GB Ӱ0k븰bKc0Q.hpiq^/ж3+Vp[ylVIENDB`xfe-1.44/icons/gnome-theme/gif_32x32.png0000644000200300020030000000327213501733230014562 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.44/icons/gnome-theme/deb_32x32.png0000644000200300020030000000321113501733230014540 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.44/icons/gnome-theme/fliplr.png0000644000200300020030000000034113501733230014436 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.44/icons/gnome-theme/core_16x16.png0000644000200300020030000000077113501733230014752 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.44/icons/gnome-theme/delete_big.png0000644000200300020030000000233213501733230015233 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.44/icons/gnome-theme/filedelete.png0000644000200300020030000000243213501733230015253 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.44/icons/gnome-theme/minixferoot.png0000644000200300020030000000151213501733230015512 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.44/icons/gnome-theme/epub_16x16.png0000644000200300020030000001046413501733230014755 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.44/icons/gnome-theme/gz_32x32.png0000644000200300020030000000272713501733230014441 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.44/icons/gnome-theme/midi_16x16.png0000644000200300020030000000114613501733230014741 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.44/icons/gnome-theme/maphost.png0000644000200300020030000000225413501733230014626 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.44/icons/gnome-theme/bigfolderopen.png0000644000200300020030000001545713655502410016007 00000000000000PNG  IHDR$ MO*zTXtRaw profile type exifxڭYr%+EE a8f57ZN$eKNCބo/RIJ9[o|(Wϫ> U=1^7+Ĭ .Z. M21M7ܭ w}| ?߷{Fb|ۈ?^pg- #m;޳콮ݵh#ʚu&vLm7YOfΙvpyn[}//{?|8c%~Sf(leB`?uqgztLa?]'?f&rjxWfoc~X*L̅ 6/=Wlȼ`"N(CGg eg{q;܇;p)>_=\|:Lm) bLďB RL)$TS!ǜrΒ5 %I"UZ %TrRJ-*Z[PCVc~cz. |Fi!:3LSfu̢RKVYuMN;oeݞ^x^S:O^cԈmzI3~;҈wyD`2X+Xqu8Z|7P G@֬D;۱]cLOc&zG邥{žF' li nwǒ MmeiV,X1ܥj.>D.ndHmU$xtȵ׈~v=0q^NV=|GWE ,uǠJ%+fmIۦBfK*0su!:;UWwYC =KBVm# n$5% [ޭj k1ZNsCLU|g;WsAYSnsB]řv;T`9isA}t L &Ϊg+0q$>xaMJ;SnhQݼ\0ŏ^ ׋aFИNyƲ\a4l5lxQs߷ fֻFWݓwֱzХRFvh9\B1B3 0w'R&F#uj/ Pҁ 5i9"EH0A;;H|,U:unK[v׶r4eL(;2 xLYZG1Pi[t[ܳuJ$|&oglZ5D\k.6xs8ɈNO41FG%MZYڄtgZI!V?C՘ (ڠz͏ "KjbЄ 6_.ĊBtHmȹ'N"G6z2rdiw/zWЛ7?l:5s߲s9uץ+3XNtNf( ԗXˉ{ͤaܓK' Ȣf?/Bo{ߺ}j\96jڕ/L?Ѐ#C-%{zk=Z+>0P =/p> c +pO(BdONf4QS+{W]m9A9g|L46vb_;H(ypsتaw&E X-UuB V[_Pk^o (ttkP;$C`iÔA4˲'  *0d&԰MB64 MqNkz%lwaiH9sS,rTMR%0]sikz.d}j9{zY+JI=PtEP=XkNmCڢ%ZB>Dw^jEte+DfxHQ mT*oˈ0m^|ց?X-1vm6Fƅ%]/ɽ+>|_.4gx`[l 6UG/fPЪVJmt? r(H)aЛUKxgpH8)VUNvYC5N+9) [ `g9D\[3^>.N2JmmOO3S-(i(3. JkG\-Ig;TZjUac=I6B(JBu`DM8)J:̇S֢HhJ!#"[ cZ6),*wqLZF8T!(,}xx2N6מּЯd`ijjbzк"A9jc{pm}lDyؑXz0C拓1_R"aX#@Q,: 70hc H+*JBBg\`o"*ZB>N*7d` j<`{4[Eny5h3D>a~l*?ԉ&0v?_I\{'uT]s+XyLƞq Z:QO}VW쮼z `Gʤ8MV6ܐ0Q.AD[9ז_."+6HN( (Oo5:diϨl+FPϞ̪'1>7#+@g!P5Fߨ;s+fs(BO=w@->t}Ԭ_1.GR=3]]>|-:_s/-5} $<)DbTBjM`}6$**om4Y1el=}{zh.9T(6K: 9lP5 )4GX} J1Bï;E1Wt|yRJNPS[z*eu%\ 3΍DGK!p\ ؁T7vPO#} U[' \)QxrIP^y6_>.*c$֎#`,((Or'Uv4۶@|JdЃdVoNV!En)*Cp@ZCR[5CFO4cpM{ƒSϡ\>fy}H% zҁrQg $gw2iFO/K$QU{;oF꾈Ӯ[ M'|kI)n+\ ы%@+C7ihuVv6`|i&[95Fˠx6Dw !ጥvg{=hFZ]r}N짎㧊$B(i瀥(bj(NSl=gààq8N9̨Z_z7 /q|s 'O^2oTM U}i+:7#p,0vh:Fk4+GIy/O5KwDAI#vhEpNkn.vYn(౏Z )SJnJѣ^>]2N~7moW6GiCCPICC profilex}=H@_SKU*v鐡:Yq*BZu0 GbYWWAqrtRtZxȏwwQe5hmfRI1_ïb2YIJw|#w ѧ,Df6:Ԧmp't@G+q.,̨GR+ʦFiV8fXCrV/gY@tW+tX*uX+hZDlZ?h[Ei[Ei[FwY,j\Fk\Gj]Gy[,k^Hl^Hz\-m^Hm_H|]-}].n`I~^.oaJpbK`.`/qcKrcKrcLa/a.sdMb/tdMb/b0teMc0ueNc3~d>ufNvfNvfO~f?wgOe1uhRf8xhPf2f2yiQh5h4{kRi7i8i6i8|lSj3}mTznYznZl4oVoVm4m5pWs^sYtZt_v]waw^x^y_zczdyX{W}g}d|Z|Tiimnjquyq{}|}}~}~~|ƸźĺǺŻƻɼǽɽʾ²ôķŷŶŷƺǻǹǺɾɼya)tRNS@fbKGDH pHYs  tIME  kS+FIDAT8c`"00sLJk2"Hγ`EZpE 5UUU \VVZ\V稃dEGY*`Ei " K+ss036D1R`E"z:j Ғ ,.!!)-$V$$#-!/ ; pq~ӧO޿%}飇wogp<὘UWן|Wٻk8sсlضo1h]6mݼq5XS n zYPQƃYx";=`0q#@ܱ*`ц qlD rMj+ii --MP]&O6M]--`XVN0eڌ,\hy3AjgL2k%+PcSU_dɲ˗-Yp̟?s (b2wy/Xd+VU-Y@# Ld7,XT BT͛;d >LdLeIENDB`xfe-1.44/icons/gnome-theme/ace_32x32.png0000644000200300020030000000272713501733230014551 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.44/icons/gnome-theme/info_16x16.png0000644000200300020030000000067413501733230014757 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ߓ{92^\ u|k9^{!߶k9w /#^;caHc;Ͽg{ݵhz2ʚw;\q?_KdE^S)Ap3\uBTqMvn`b%"C+>K5NAܖ쫟DMegX޶n= 69t\*_w+?f.r可-\E@~_?OGbD076lSr˟8{UL#ƐD»lB҉Q&FJ>RD;ٝk%JDgbS}#X!D'Bc1c1Ɩ| )rRkcN9knŗPbI%RjiUcM5RkmMLc\#]Ǟz3ˆ#<ʨM~3<ˬ-gHŠ+ʪmrmvi]v'?~'jr"w59p 'QcF$8"5$hlq!FNcfPQ02jlt1B;v_Gq39!t?KԦao5jO:Jt]ԇڒ~*y/&oR6|i=Cܬzu*K)8|_M14F:o}6~f_m39`A"pPK6z-en ~꩚*1xhz̽Z43;Jx,lĐ[ktRpUɛdcc-ԽZ`s=wx&K3u$yta͆Iȵ~w=0y%oW{Hg&2{tϳT Ь A]!Q/kKt?6d}nѹ^g(θڎms.Y}HٯG»M)yLɁ]nu ]Tc;딐I%ͪU+9fV•;9eLbMJtŗ&TN}p,)u/ )9 c}[Wb*n#Z8hmnB;h2|RD@]]>;1? {a=m1+UӏiIn,XHSdaV"+0[B>4ʤsmRnUE2/J^ VOsdBf-AJҩtڝ|-* @PRS4e5Z,i=8VQ5X R׊wOsw=ӯ 7p@?T,Xཋ.]_k>6, (_KX4m6}[Yx5{kv7VbZ-$nfi `% Ԩ‚hg(6/!F2 :?[>E= B~5՞Q+ opu3\k%i9g=ϬGpם%YA`BwQa_SC}- t)jge}t]nժXp;)$>{P"ȧ=pFۨWФ/ @ "SAQ6#37**(q*_nqpW|'}gC: R<){,szYHۍjmM0jp g!-B)z?k>t>Ip*sޢE]'VU'Gٵ4{Iꊺ"XGYcX 3q׵0 APT 2Z} c gV ؈D!%m"B]{bZHP' .Hb;RdXD@):KjOWLKB-02!5@ᱹD(ڗp/b,jZՐLҪ6pS d7~R콂 әf&}vz}ϰ&$u'&̀䛞 _UmF!mU*m+eT=-i}.hS9<@DCl#(@o,wah3Kr}3Υ gmE(!a7*Tkv=lG9t#.M!:3NjY~Ll= B; =H5+WDTQZGnzeԍdYjح"^('H^ s=9A+M0BDV8(HaM).x)(I褴9Lu;M ̽jCr`]pea_g:2w=8/*!fg1~yPGNwu۳q?/dkO,jW{@Ǣc1u+|[G.}a.QדMjBP@2M/PWo˛x3mY GGI)5 G(os^V_xm#8Z~( ?A44a:I!DH2z<:#O6)== )Y'D3R?MV@ +{L)1q8: @B)`wYR7"$OlX 2v?Π8ͷX)"9;~# +;:9zuE(?0'{0χ|5YwI-xG])ڥ,0oUa˶iwAD"=ÉhA)X!gw)dCI Tq΃΋~t`8&]W B4١gC̊ӜIl7)@,5zdE!t쉚_Qp4ӜCDAґVռ"9"&[FR1\iZ]p-@ zs# GzǡVlZ&VSgQuV֫YDo "Hra)`ߢ7p}=/eKNi =={SfI1) 9Ő:} 7S?z6Ɗ`jCFEI&02,8Bp& 9!BӶ3B.4 =1MzLu<ȰȫCu>0TܸB5,5 +VodmzgvGrDlf*}C#ɬSױr_\MP|[ʤl0vs4ZӤt`TbK;7z9*M^M̝3mQZ _JX}-D=zo}ٔ4-fd {}ieNuhFG~y ?*}hUEH񵃹q>'`hMۛҽ葒8ELIo5=T9D FQl< r'Km)LߔXH%T%tRpXrtút@t'Q#WHRhwrozGOg P4uMĥ7 L.Ҏ Qp HxH;HChu\"H\4:>>`iUe~ ݜ~ Ρw/x!=u肞D J7:PIPΫ>jnSQObL >Z )JOvќ`:*NEj%.4F)ZУOfq Z!YPr8]Avi-t.(ď]0%Anr@m;/$DRuC}oE@scbcJ(m4#py zBS1mc@Vоޚ;ֹQeۻ*z͠ۿ(?d.LpcWL/#*(R5S۶ .Ǫ)x0. zC~ zu1WilP~oұ<;hcMzAocFYt"Sjw͝68;N{']cR};-g/MM=͡^5OzD}n`ZKWuM3x'J^ E"G͑v a6A+R$tzgeNԨPb]VԶ7 B"#hX Hf?w6=h@3z s#RGC56ҵdmҔP (+DSc(8mW\!|eW\O`mm/"E}TTw5P\Hg5̗^s?2}[jhGϸ1:8K>%w(AdKL>'Pd#ͫ*55hf_WBUM>Qϓ si'+ B=c'M u|;Y,tӭϯފ>CgPI#lTJCOP2"vMMBqPzukmەyt'\xT%G!Y"M*HmЛuH"{4U>5QMNFd#U'5?ԯH?CT偁ҟYΣ<=UL~޺_At6_/A }L@TFʼQwyw| wcm%Os,"x=^] ފWKK>7}xo ꚫ৹+ȏku헱z*PF|YM\ЅdK{=lxop6ghk^׼K=]Se2ۿ$fB&DW&x=~w| r46e|xZ}y˦ۦd hŚz/ V ɕvqn;= iVk ,#$boiCCPICC profilex}=H@ߦT,A!Cu *U(BP+`r4iHR\ׂ?Ug]\AIEJ)ޗ^f5hmq1]aZ29IJs|s9>xMA7e[w[@ze{oִrp${|PLTE`H$bJ&eM&hN(iO(jO)jP'kP(pS+rV/tW+tX*uX+wY,y[,z\-|]-}].~^.`.`/a/a.b/b/b0c0c3~d>~f?e1uhRf8f2f2h5h4i7i8i6i8j3znYznZl4m4m5s^sYtZt_v]waw^x^y_zczdyX{W}g}d|Z|Tiimnjquyq{}|}}~}~~|ƸźĺǺŻƻɼǽɽʾ²ôķƶŷŶŷƺǻǹǺɾɼ9tRNS@fbKGDH pHYs  tIME  Y3IDAT8c`"i$# <<~nVgPų'L>fVk <0or+(Q x &r˗.]p/>u{k1(jhi:lܵr I&\MIENDB`xfe-1.44/icons/gnome-theme/zoom100.png0000644000200300020030000000056413501733230014362 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.44/icons/gnome-theme/print.png0000644000200300020030000000145713501733230014313 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.44/icons/gnome-theme/bigpipe.png0000644000200300020030000000164113501733230014571 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.44/icons/gnome-theme/switchpanels.png0000644000200300020030000000060713501733230015657 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.44/icons/gnome-theme/gotodir.png0000644000200300020030000002154413655775070014647 00000000000000PNG  IHDRa~e#zTXtRaw profile type exifxݛY$9rDq r"ϧ@du2=l!XUlQS5 woӮV<#yhe4:9E! 911xޔ nt_5wf:@Tzf7px!yEaUqdl#{6J#Ѩ G`r.} rmD18.~>ro8y<3iq\zqǕ]'PڔEcx73@)^2a/!{O>Ѝ>s󰰁# <鳟-}=(tĸ j69&J%omIS\;{t؏ANsZfhxXlr~i10t!:M#M^t7 oeRPEZaTx>}k"鏬-;l "j.--92p @{ٓRgϙN>P3R郀 *Zs}: q#X+X0k!sypJB%I3˂&G dd qU_Ӕ@n}0MvDjC3/б95S;\3NElE8–zBV҇9CR4`$/ϥ¬ V(^3c X"t;Sxg&S FU@nߠSar S9xȓf*^U2M[FmoG]0u\ ʍv3xa;"F'bSHbvO2",qz1ݫBv<:K_.R+䧊e؝PieJ `Ҡ6^M9DL`Dn"욦+Q;| k0j4 1Ld ƛYfm/S'I=YFkULhPo^^֭ec u8x(DзelE9lՊd\" jI]$0(PÍo0N.IgEkCFܳqטnӨ*?y3u~uQixCԓitbYƾxB֡EA]+(QB[,*-@864(i`B1BcZH A`*~K2t]0ЊhU *W1?؝`jmqCcC]OmC? "ب f˔JU#U6*ù(˔>.U$MڋQ 3hERi6]Q_2Z BF>L=-In?*oy ny醈,Wikb--dP]flwܢI~&}"w"QZV**}iJ2(Doo3P{aR+͠Wd@' ɳ|N)HrWAԷ$q9 I' m{wdWΊygP7UB$Imsl/L]_D6E}ȌWHwoj?/I{T fUIX,>aHOB5/VF=fQWA6nKLnٯ4a]0K_8Q?Ӿݢi"dtlx|b8X#9R4A~J8/_>Os_4vir#~MPߡ*D=*Pq_,ƺ4ҝ_˷<)k;̷Gw9C5$ڮ秥5p, 3P:$ PiPݫRNOvC ]&Y' ӶבH=z!"$b6$L@1# *?Y~5AwdpĤ] ;O"} t6}u/ UgPAֳȀۀB'W*}CneA M[$ GNyAIL3@%Y7jR(?wCZ#CΓ6ʻEHQ͂!Oyvf~T"ydQ8@Y奶sMܱS ՝CBpRؾ=PsD%B\xS+!X:{Rt|+*V`$p;qPjDpL)sĞaW7٧: zngNPCp5KmT$3jD- un0P_7}I,%|e"~ԳNk| O,j%.VHᆞmIѕ$TVD\:_(Ok:Q<_;#?F ;4BJt}BJ'ma*Űy5C2]꠹WW {Il3H OOhja⿛˛>TfYVN`_׽1Ci&-96E*% ОkpsGghͭ'^o߽&D?1-{J!|?=i>쮤 oQAˮ} 3N5ز>[~hKKuL2 -\&]ԿR&}bꂀ9' QtQ$ ~xP:2KW/ziKDQ'En85ߡt<::?56.llvxj ID PA#jW3bMTL-@!}1\LJCD&[md4>U?%185e' ft C-$KeR6e|dTk=S3@fXۥ{EO2&@:t6b 3#>GGT%oWB=| _s}Y'gEB} s`6BS TO"Cw7@8-+ZsG5^ᥤ#ѩ$vpbCfemAz$´Ŧw2Q_gt?uL701v(^??k}M5#"SBsh44VjLuc0@ |fu?+c ]~A#>Q+(*fd$QpO5)AJ^  cƮ`4zˊ%( MPt'ebjR=Yc`*uWV: KHQ =*QMcuI-avF p_@UҷZRhFԭתw)/2/߽w/YG??? IS 4u6|Gi͡!GS[{I@ 3z`+. &QHdPvIk=z[;+:HҴuՌp(p5%}Nfth&8WtvI[M#!{X*ߨ(OvqRяȨmP9-*|9i#hO82.֮Wm#@:ЪDrpIPn[N A2lN?U T?y+=+bz:B^)5N؈}w E [{1tĒ4LYՉ+ԏ]JœZ!&u%ܿ[ωvvgXRu`z/Ys:ЎtD{ 20\/lL0 ;['z1tG'ΫޮՎit|+8+R*zs,blwu[F;; с0Gm{n!MS/Em&~>thz^y!7%zuʢH(-iB"*_.ѭ$@a%HNUuMs:q*%y=r36]3SouE)T4LNNlO&Q3yfrQT!|6nAN|3L.A' IR'\qntФh_wce:e.˜9zXcDs [SgnYڞėVR|e3N)kpa,j&TMZijsg@0Zjf.QUh{_;'Jd8fjA=rnxC%8@3:ZB Urdž*g1>uTp>;QU!( ƈM'%[PµtE-ӝR `\߽< QE+ܒbEA-oeDݖFnVk(m)[CYП *64Y|NդF`ұ `Hv5mFz+"Rm_t{ڹ]-m |3Yh٫|Cb.0xű05}{U:J5j0>G% _nH o2};Zn"f80J 2N` :EͶs#ُ3!*Kȓ? #2P {l\,#4ċ+k\u6 ]pyt$ܚ9/3Zew%uDI{RxuʯY:Շk ^K*6@#VMRVLI`䑄%UZCfg8B<E`:3 h"+Ē$N؞˻C,S+r鵠yu掔4Zb3SE{;=m`:n%wߕڐWPH9&%KQpsvSVeV1Sh?"bTլVӧ m ;뷬 2SHv hD~m*XGE4ӌf$ mg]*kT HL_:CutRFzdaEET1'/2UtdUC$q}c )@"_\xw7sHKJaz3s/tC2qc8DNW06U{AgIb^ {oqdxԤ ?r]segFLz8J,;X`V25I☪/d=V9oq*5ֺ'a$,sX$PPC؈Ӫb!M ȥ FTAv[01%E@q>]YwcigJo `z[}u[S`ɐMٕ4Bx?o@x뭵 C]nC`H>3~P rFMPLTEY3    #$#%-=+,(33,?>2)BZ*C[-G`FC74SoTNAXOA\SC?eudQ|hV}iWKxu`v`vax`x`yb|c}fdeeffjhtvyy}~ѽџӽӣ¹ûŽ׫ťȩȧȷɩ˪ѰctRNS@fbKGDH pHYs  tIME 9ôIDATc` 0[h!D2cyB!N.>*0|iVvfq`1Unt`ff}~IyyY ~aQa@u1A ޞޞ 2ph"(&@ QFse@S-I6q%(']z:ڌjJVB L|!$JIENDB`xfe-1.44/icons/gnome-theme/bak_32x32.png0000644000200300020030000000150713501733230014551 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.44/icons/gnome-theme/make_32x32.png0000644000200300020030000000314613501733230014732 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.44/icons/gnome-theme/filerestore.png0000644000200300020030000000156513501733230015502 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.44/icons/gnome-theme/savefile.png0000644000200300020030000000105113501733230014743 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.44/icons/gnome-theme/help_32x32.png0000644000200300020030000000537413501733230014752 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.44/icons/gnome-theme/xpm_32x32.png0000644000200300020030000000327213501733230014621 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.44/icons/gnome-theme/jpeg_32x32.png0000644000200300020030000000327213501733230014742 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.44/icons/gnome-theme/bignewfolder.png0000644000200300020030000001633113661524557015644 00000000000000PNG  IHDR$ MO*zTXtRaw profile type exifxڭYv:D1A֛~j,l*ʤ@iD4o/ŔLſPCurW8 9ݸr4ygn~k ?q9kd6?Nvwg Ւ?N?S_Ooo!d4#Wy疷:垁O-qc+|Z>蓑_GW/]{2=66~oc'e˗<{ϲWB¢鉨˼{crnKd~#T~ծs5ϰ: vf]{[.9j+>ꆗ~vW?-=m.[xEkZ.u,cɿ1{ʘ[LC'WcC`x03خ~wѣ}-.}g5y>`"ƎLz_aBٙ _oN4p>-n3N+Ouz yZ\#yTvLڎjui }Ƅm|sO] En+jY{o363klβ Wy9.:rE KY#ʔm`+i[m `%b %^xۦ8?RV#2o[ZrOwlS"5:}R!}:'0 #ASyd03Nj_ƋXV=@ݪ$gs} & .O}5]$AQ jO^D ~Z¹YuG^ raY0i{xx,ؠHt tŅb N,Vj^m.=Mkbl3)| [6 HH@$0I(7:f,dEdt{u0V"&=3FL;-pt0vEu ,ujق ,|[exg[pQ+;;i߽7째fI8YumW {Ϯc";o  *`e,:]R٘YAL旷͔#qf3cޕ`=TE2v9ú`o 4?iʐxS.7cj%/{>` l74ߜNzT$]O]f:&BM% ӂ.pK, ] 389$8nfmh-|sF'/3r(IW;g\&/%@NT"~c@caG vvc= >+)G!-:H|Gm@N} V+M{|;Yl7C`wcNQLE0͙UfBHj%36"_WcWBQ̨JQVLlxݫ Jrް6G6x^@0 UP>51Ome PzKR-և.N5`%!׍8Y2K#G>Ai&O Kڰ#q핶>#6'7Ϻڴh݉x@zd 5c! =,bIݢ, hBAg knmE] 7:>] L'5{.C$gt)];7&8.oaduXj\hM[#=)h2mauߵdZ cROPhJa9|H'nkۋqY^8 Z yQZWdJ {rdx_T>X|Ddo=p|ÄOǂu0Ai J%J\1x ݰ{NW'A9l}* l2I\ QlPXm6iA@%G]|َ@dXD,Dm5xUD+a+6JfDbI(|CM ' C.(6҆Rh|g5a+MH n7CdٶEXu-Uzdqri[iW`@+{f]YLQQ;j4,gRп8 z^|z W \ əw j͐\\0kj?YG+⎢H ojcho!Zhou#O u.i[dpKu7I`t dqo遃^A ңxXT!..K貒c8A>Aw)+f `ܙҞ}PpN8/\A7>3Tx90t# j~-l%k/O&*r˒x *DZF7BvJ]{gZȬvEL©ڔi197~hv Qk?e9("LTM+<*XK1ZA'W=ņ 6k^ӎTRքբgYm7C4 flI?8Muv(OD(Á°D B@Aףv:.Dyv慝wyO/@ͦ:\ AzlwP( 9)s kCnfn2ߴ&͢r(żRU9BxQMUV4Ha1_ ִ|ӆ%*ν7P^4i *vDxS[cwBמ\hʙ Ш4΅dfT [x:zr$6>p'dBC ̄jE_5/sN'":&}pI/s aS9b(vK5گTj 9j '$n'25 DiFҦ|ĢGE# Aj) Vln #I-StPzU.8J,Wp/2R%GA=?r97{hMˡjc4.pzb"dY}-42ss` Kuؠ\q*>B[AAd )X^yE)KڵseCҡ\pJ$ܯ9ml=|֫b!ZK1uh+IS槞Zv*މGTHG~h,eTS|vnV_:׌Pdnw^\"ϑۻm@hO@!6fޒu{k<{6E}a&o#ޏ#">#ӁNoݯPȰ.U{zuB~ӄz}Fn\uMBk|uj.ۼMFvv* Fu+[҄Wxdϸmw)zpo|?Q~ۂc;c="̽d긟iTc/5̮Swl36[i?>'# ļ{}ؼ|\]*?ͥߥ\w[./qGU$6;풯|pK}Oid~#팕KOqŔ9y+D{/MclCBo ='h6txMAF.Ш94N3p:0IzE6pqҔ=r|2dSv%?M!蛲@-г7!0Zn3~\rɦ:PLTE!8)cI#eK%gM&hN'iO(mS&`U@aVAnT,pU(hV=sX+w\/o^Jp_K],kaK{_+^,_-`.a/udPb0c1zhNf4h:{jU}jQh0iGvl[jq2tZu[t5v\w]x^y_x9|\|Vz;|6|=}7j~8k~?:;-bekWA+证2gM'&* ݹ@LW6% ՞IJ"e`Ruq@(pSP!W  R| 5 FUe2p'A||$DEr3pU&&'H;;1XIRb*P HHLJ*210, DH}IENDB`xfe-1.44/icons/gnome-theme/sxi_16x16.png0000644000200300020030000000057513501733230014627 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.44/icons/gnome-theme/attrib.png0000644000200300020030000000141413501733230014435 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.44/icons/gnome-theme/m_32x32.png0000644000200300020030000000266413501733230014255 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.44/icons/gnome-theme/moveit.png0000644000200300020030000000433313655774523014502 00000000000000PNG  IHDR(-S1zTXtRaw profile type exifxڥVױøg[rgWFID[@D߿MYytЁ#/ǝ 7`)j>z|~^DMPk!=~)p\Y)^|NK ](8~EiKNY:ghR;ĭtC9K[6qUi)ApW*Lw Vl<|qkC4_^W/3x] r@5|飘#uo.j rj{BSؘzco@1GdXY&L 6T(RT)F͕fj<;TQ* \nM,[h C_&ͅ G~/~Z"fh̽ aFG߱ P[A5#{<rap04E$CWn>y72wA !%eȒt̎(4' @pEglx%QV9`TXZ92c3Z¬u8.x>8(tcPbъI%L%Bu6f}9.-JTJUW#jlȵnoŃB5Z@s5p!3 ƚ c&=i 0 #MǦdY +it7a_JmجSP}M?MًMg.u,GC~h )"!3o)r$7<~,sHHx=LeE,[ۋ.X3hI>ݵM[-ecrSiMіpE4zxBZj+lΣ^-|<[2Tk.~J4Ϥ+y YMfuKDB~:ɱ%h!fUZFr!64/>G]BT6=8m|K~)L;T&JATW/ӾO_F\e*Q+ # Zq(15U>kB]'hh 5/&H"`_;8e)4e9]όUsY*ٜН}tS)nbD/. ^K/Kу&C8utelURK|: Y~ NE+̄|ʿr|DN7vDVO{:GWg.1/DGmg;#Sq47 gR7G+b/no~p5|UqϛiCCPICC profilex}=H@_SKT !Cu VQP Vh/hҒ8 ?.κ: "ƃ~{*̾ @-#J|E!@Tff}N_.γ9ԂHZ'ͮ;뮦;S]6dGE) 5>N,ue{tmrPLTE +++*C[7Yx@@@KKI]]]vvv?eEoP[_ΚϛМўѠӤկڲ۵ܶ.tRNS@fbKGDH pHYs.#.#x?vtIME 5'}tEXtCommentCreated with GIMPWIDATU0E"VVD, "yY$QP2|2P߅}kBёB\%9zCEuY!aҴ68^}:Ŏe E b( h (lYiԴO{pIENDB`xfe-1.44/icons/gnome-theme/odt_16x16.png0000644000200300020030000000313013655034202014603 00000000000000PNG  IHDR(-SzTXtRaw profile type exifxڭVi( )Hb={}9鸓DPتpfE4.M䄛WvH{\I`XfiE٧ rkbk o5q([Z)3$sCZ"ZI23ZHL;ujTa `42 9r-$f4%J ,%|b7|2WP&#LcS|z/5"i 4(@͛>y ,s+DЖLYإ/uS%-H,9Ҟ` lD rc9-/? ă( dco4Xcu`Mʉ3:{.y[GlpbH`K袏!Ƙr&M0"Y6s1SlqŗPbITSmuPcMi[huǞN6/XO8# A㜱30Ɔ @<8ӁLGƮ vpSI'EFl;=7Z?aN X5ykue2vᨩ쾮c8c oG6Oڼ 8z8Z&nŊYZ9g;EF[2pF0Ȯ.l͔sKGމ(t 3<'ijiN@*$-3ZSv'u{n{ΕDp{!Վ 0*`uVͶHYjp@xlt6Sw2:7.U_X!@e'j{QӪY]JRlyCëH4V-vhv+RDr[PxĮqKr$(ݘΥ[ nF.5eEbXC٧{;un2 v7hkW.9BL8NP !RUة8cFz^{mḮs coPS/( U%Z؇ꦃY{}W{aǔXǥ %R-دȜek^F ]( zZp_,mqoĦ&8 X?TW_ʾYh>OK ĨV=ũZgPLTEU!@dBgChFlHpKtMxNzP|SUXZ]`befhkmpswy´bJttRNS@fbKGDH pHYs  tIME" OwH|IDATU @ F" dPʶWJQ/$z`#3.MĺpNI[ˢ]@YN O {kB%2ET)(<$x2(0a0  3^IENDB`xfe-1.44/icons/gnome-theme/minibrokenlink.png0000644000200300020030000000077713501733230016176 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.44/icons/gnome-theme/ods_32x32.png0000644000200300020030000000710113655032772014612 00000000000000PNG  IHDR D qzTXtRaw profile type exifxڭi8s;>Pʪ7S\LT Ӭx'քK)Y>bߟuWpw1(=:swk|zJ&_2s~gݏ;jvOy=z0륮%kvPĕ*Wх$rkH'n 24ٲdR12sW|v ol}p{w^[zC +Oa&e4\{ F"X/0z3 Ⱦz,̅l_S(onCϸHyKTÒڑ͈6fH`ΝcM6 xmo+r(pEC1KSH1\>s9\s+K*RKz\2Ts-Xbƈֺ뾇{깗^{gGyQGnfiYfmɂJfWZyUWpmvi]vm՟`5接t\~Fo:љBTg X< S"!8VWD&fmF& K\mm7;3jYݾT%b*oT+mWHNsbX9]hV]|)9J6V.۟|y^,ݱ)ˬs/+| yC PҚi ZaD+[|gn{;I S2H3up\\6vC7O|U,[ X9kOYX: .vk]^ Ѫ=;up Y3gzlKhnnrh=qdG0g%|L cQ&F'uh mt2 oHcjh4lبwGd'y[ySnW5ZEsi s`TO/uJr5譚>+Wi; FTNGMͪiprS"Pw0V<=a ([R%>TbҘ"D^ 2{WP/ |B'I$P @GDV+/oO8$M9n /&)Q8G,$E;.uS\ܕ]ˬo'^NUoR#9ž|֝J$y @ A/MėSvlwJ:I+4r0 7/|}Dn!82e(^m>y^++ډ?ΎX4wD8 >s"> AV;0J=?94 ~( >tjy CgueOv?Џ3_Oʐ+^4īi3e=8^tF-tSK_1~mby-aK]yUr";֘IYaڥS3r[#X9JiNݟ1VxE]qb~/+ٱTY/s\Gi[!ix,aU(*B_vs[jGYb%}G_O_&BЌEK_32Q}};3>*^2~wPLTEhikmopqrtvxz|~aG9G:JM?OAPBRDTFUGcoɒ,ytRNS@fbKGDH pHYs  tIMEGJIDAT8uwP@K6 F v8muY3 I[ Dy{ BLAe }jM@ZIoFݕzSxp轹\"T ykDեizRycbgAP*=?H/ȦE4Ii }M@UPGfB(@@ ˛/',C05yDl<7C}"x/IHyMPLTEa555888;;;>>>AAADDDFFFGGGHHHKKKNNNQQQRRRTTTWWW[[[^^^aaadddeeegggمtRNS@fbKGDH pHYs B(xtIME!j8IDATU @a*+polJk$P;3#AYx(<_ t",6v">\#<&@gMR0: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.44/icons/gnome-theme/Makefile0000644000200300020030000004113014023353045014103 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # icons/gnome-theme/Makefile. Generated from Makefile.in by configure. # Copyright (C) 1994-2018 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/roland/debian/test-xfe/xfe/missing aclocal-1.16 ALLOCA = ALL_LINGUAS = AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AUTOCONF = ${SHELL} /home/roland/debian/test-xfe/xfe/missing autoconf AUTOHEADER = ${SHELL} /home/roland/debian/test-xfe/xfe/missing autoheader AUTOMAKE = ${SHELL} /home/roland/debian/test-xfe/xfe/missing automake-1.16 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/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 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 FREETYPE_CFLAGS = -I/usr/include/freetype2 -I/usr/include/libpng16 FREETYPE_LIBS = -lfreetype 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 -lxcb -lxcb-util -lxcb -lX11-xcb -lX11 -lxcb LIBTHREAD = LN_S = ln -s LTLIBICONV = LTLIBINTL = LTLIBMULTITHREAD = -lpthread LTLIBOBJS = LTLIBPTH = LTLIBTHREAD = MAKEINFO = ${SHELL} /home/roland/debian/test-xfe/xfe/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.44 PACKAGE_TARNAME = xfe PACKAGE_URL = PACKAGE_VERSION = 1.44 PATH_SEPARATOR = : PKG_CONFIG = /usr/bin/pkg-config PKG_CONFIG_LIBDIR = PKG_CONFIG_PATH = 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.44 WOE32DLL = no XFT_CFLAGS = -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 XFT_LIBS = -lXft XGETTEXT = /usr/bin/xgettext XGETTEXT_015 = /usr/bin/xgettext XMKMF = abs_builddir = /home/roland/debian/test-xfe/xfe/icons/gnome-theme abs_srcdir = /home/roland/debian/test-xfe/xfe/icons/gnome-theme abs_top_builddir = /home/roland/debian/test-xfe/xfe abs_top_srcdir = /home/roland/debian/test-xfe/xfe 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} 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/roland/debian/test-xfe/xfe/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} prefix = /usr/local program_transform_name = s,x,x, psdir = ${docdir} runstatedir = ${localstatedir}/run sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com srcdir = . sysconfdir = ${prefix}/etc target_alias = top_build_prefix = ../../ top_builddir = ../.. top_srcdir = ../.. x11_xcb_CFLAGS = x11_xcb_LIBS = -lX11-xcb -lX11 -lxcb xcb_CFLAGS = xcb_LIBS = -lxcb xcb_aux_CFLAGS = xcb_aux_LIBS = -lxcb-util -lxcb xcb_event_CFLAGS = xcb_event_LIBS = -lxcb-util -lxcb 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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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.44/xfe.png0000644000200300020030000000345113501733230010415 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.44/depcomp0000755000200300020030000003710013501733230010500 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.44/libsn/0000755000200300020030000000000014023353055010314 500000000000000xfe-1.44/libsn/sn.h0000644000200300020030000000251013501733230011020 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.44/libsn/sn-util.c0000644000200300020030000001643613501733230012002 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.44/libsn/sn-common.h0000644000200300020030000000642713501733230012321 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 #include SN_BEGIN_DECLS #define SN_API_NOT_YET_FROZEN #ifndef SN_API_NOT_YET_FROZEN #error "libstartup-notification should only be used if you understand that it's subject to frequent change, and is not yet supported as a fixed API/ABI or as part of the platform" #endif typedef struct SnDisplay SnDisplay; typedef void (* SnDisplayErrorTrapPush) (SnDisplay *display, Display *xdisplay); typedef void (* SnDisplayErrorTrapPop) (SnDisplay *display, Display *xdisplay); typedef void (* SnXcbDisplayErrorTrapPush) (SnDisplay *display, xcb_connection_t *xconnection); typedef void (* SnXcbDisplayErrorTrapPop) (SnDisplay *display, xcb_connection_t *xconnection); SnDisplay* sn_display_new (Display *xdisplay, SnDisplayErrorTrapPush push_trap_func, SnDisplayErrorTrapPop pop_trap_func); SnDisplay* sn_xcb_display_new (xcb_connection_t *xconnection, SnXcbDisplayErrorTrapPush push_trap_func, SnXcbDisplayErrorTrapPop pop_trap_func); void sn_display_ref (SnDisplay *display); void sn_display_unref (SnDisplay *display); Display* sn_display_get_x_display (SnDisplay *display); xcb_connection_t* sn_display_get_x_connection (SnDisplay *display); sn_bool_t sn_display_process_event (SnDisplay *display, XEvent *xevent); sn_bool_t sn_xcb_display_process_event (SnDisplay *display, xcb_generic_event_t *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.44/libsn/sn-xmessages.h0000644000200300020030000000611113501733230013016 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, xcb_atom_t message_type, xcb_atom_t 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.44/libsn/sn-launchee.h0000644000200300020030000000500313501733230012602 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.44/libsn/sn-common.c0000644000200300020030000003232013501733230012303 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" #include #include #include #include struct SnDisplay { int refcount; Display *xdisplay; xcb_connection_t *xconnection; xcb_screen_t **screens; xcb_atom_t UTF8_STRING, NET_STARTUP_ID, NET_STARTUP_INFO, NET_STARTUP_INFO_BEGIN; SnDisplayErrorTrapPush push_trap_func; SnDisplayErrorTrapPop pop_trap_func; SnXcbDisplayErrorTrapPush xcb_push_trap_func; SnXcbDisplayErrorTrapPop xcb_pop_trap_func; 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 = sn_xcb_display_new(XGetXCBConnection(xdisplay), NULL, NULL); display->xdisplay = xdisplay; display->push_trap_func = push_trap_func; display->pop_trap_func = pop_trap_func; return display; } /** * sn_xcb_display_new: * @xdisplay: an X window system connection * @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 connection. * * @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.) * These functions are used to avoid X errors due to BadWindow and * such. * * Return value: the new #SnDisplay **/ SnDisplay* sn_xcb_display_new (xcb_connection_t *xconnection, SnXcbDisplayErrorTrapPush push_trap_func, SnXcbDisplayErrorTrapPop pop_trap_func) { SnDisplay *display; int i; /* Get all atoms we will need in the future */ xcb_intern_atom_cookie_t atom_utf8_string_c = xcb_intern_atom(xconnection, FALSE, sizeof("UTF8_STRING") - 1, "UTF8_STRING"); xcb_intern_atom_cookie_t atom_net_startup_info_begin_c = xcb_intern_atom(xconnection, FALSE, sizeof("_NET_STARTUP_INFO_BEGIN") - 1, "_NET_STARTUP_INFO_BEGIN"); xcb_intern_atom_cookie_t atom_net_startup_info_c = xcb_intern_atom(xconnection, FALSE, sizeof("_NET_STARTUP_INFO") - 1, "_NET_STARTUP_INFO"); xcb_intern_atom_cookie_t atom_net_startup_id_c = xcb_intern_atom(xconnection, FALSE, sizeof("_NET_STARTUP_ID") - 1, "_NET_STARTUP_ID"); display = sn_new0 (SnDisplay, 1); display->xconnection = xconnection; display->n_screens = xcb_setup_roots_length (xcb_get_setup (xconnection)); display->screens = sn_new (xcb_screen_t*, display->n_screens); display->refcount = 1; display->xcb_push_trap_func = push_trap_func; display->xcb_pop_trap_func = pop_trap_func; for (i = 0; i < display->n_screens; ++i) display->screens[i] = xcb_aux_get_screen(xconnection, i); xcb_intern_atom_reply_t *atom_reply; atom_reply = xcb_intern_atom_reply(display->xconnection, atom_utf8_string_c, NULL); display->UTF8_STRING = atom_reply->atom; free(atom_reply); atom_reply = xcb_intern_atom_reply(display->xconnection, atom_net_startup_info_begin_c, NULL); display->NET_STARTUP_INFO_BEGIN = atom_reply->atom; free(atom_reply); atom_reply = xcb_intern_atom_reply(display->xconnection, atom_net_startup_info_c, NULL); display->NET_STARTUP_INFO = atom_reply->atom; free(atom_reply); atom_reply = xcb_intern_atom_reply(display->xconnection, atom_net_startup_id_c, NULL); display->NET_STARTUP_ID = atom_reply->atom; free(atom_reply); 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); sn_free (display->screens); sn_free (display); } } /** * sn_display_get_x_display: * @display: an #SnDisplay * This function only returns a value if the SnDisplay * has been created with sn_display_new(). * * * * Return value: X display for this #SnDisplay **/ Display* sn_display_get_x_display (SnDisplay *display) { return display->xdisplay; } /** * sn_display_get_x_connection: * @display: an #SnDisplay * This function only returns a value if the SnDisplay * has been created with sn_xcb_display_new(). * * * * Return value: X connection for this #SnDisplay **/ xcb_connection_t* sn_display_get_x_connection(SnDisplay *display) { return display->xconnection; } /** * sn_internal_display_get_id: * @display: an #SnDisplay * * * * Return value: X display id. **/ void * sn_internal_display_get_id (SnDisplay *display) { return display->xconnection; } /** * 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 **/ xcb_screen_t* sn_internal_display_get_x_screen (SnDisplay *display, int number) { if (number < 0 || number >= display->n_screens) return NULL; else return display->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 **/ xcb_window_t sn_internal_display_get_root_window (SnDisplay *display, int number) { if (number >= 0 && number < display->n_screens) return display->screens[number]->root; return None; } /** * 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; switch(xevent->xany.type) { case ClientMessage: if (sn_internal_xmessage_process_client_message (display, xevent->xclient.window, xevent->xclient.message_type, xevent->xclient.data.b)) retval = TRUE; break; default: break; } return retval; } /** * sn_xcb_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_xcb_display_process_event (SnDisplay *display, xcb_generic_event_t *xevent) { sn_bool_t retval; retval = FALSE; if (sn_internal_monitor_process_event (display)) retval = TRUE; switch(XCB_EVENT_RESPONSE_TYPE(xevent)) { case XCB_CLIENT_MESSAGE: { xcb_client_message_event_t *ev = (xcb_client_message_event_t *) xevent; if (sn_internal_xmessage_process_client_message (display, ev->window, ev->type, (const char *) ev->data.data8)) retval = TRUE; } break; default: break; } 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) { /* SnDisplay has been created for Xlib */ if (display->xdisplay) { if (display->push_trap_func) (* display->push_trap_func) (display, display->xdisplay); } else { if (display->xcb_push_trap_func) (* display->xcb_push_trap_func) (display, display->xconnection); } } /** * 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) { /* SnDisplay has been created for Xlib */ if (display->xdisplay) { if (display->pop_trap_func) (* display->pop_trap_func) (display, display->xdisplay); } else { if (display->xcb_pop_trap_func) (* display->xcb_pop_trap_func) (display, display->xconnection); } } 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; } xcb_atom_t sn_internal_get_utf8_string_atom(SnDisplay *display) { return display->UTF8_STRING; } xcb_atom_t sn_internal_get_net_startup_id_atom(SnDisplay *display) { return display->NET_STARTUP_ID; } xcb_atom_t sn_internal_get_net_startup_info_atom(SnDisplay *display) { return display->NET_STARTUP_INFO; } xcb_atom_t sn_internal_get_net_startup_info_begin_atom(SnDisplay *display) { return display->NET_STARTUP_INFO_BEGIN; } xfe-1.44/libsn/sn-util.h0000644000200300020030000000654613501733230012010 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.44/libsn/sn-list.c0000644000200300020030000000644013501733230011772 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.44/libsn/sn-monitor.h0000644000200300020030000001114513501733230012511 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); const char* sn_startup_sequence_get_application_id (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.44/libsn/sn-monitor.c0000644000200300020030000005552613501733230012517 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; char *application_id; 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_free (sequence->application_id); 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; } const char* sn_startup_sequence_get_application_id (SnStartupSequence *sequence) { return sequence->application_id; } 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, sn_internal_get_net_startup_info_atom(sequence->display), sn_internal_get_net_startup_info_begin_atom(sequence->display), 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], "APPLICATION_ID") == 0) { if (sequence->application_id == NULL) { sequence->application_id = 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.44/libsn/sn-launchee.c0000644000200300020030000001421313501733230012600 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, sn_internal_get_net_startup_info_atom(context->display), sn_internal_get_net_startup_info_begin_atom(context->display), 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, (xcb_window_t)xwindow, sn_internal_get_net_startup_id_atom(context->display), context->startup_id); } xfe-1.44/libsn/sn-xutils.h0000644000200300020030000000272113501733230012352 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 void sn_internal_set_utf8_string (SnDisplay *display, xcb_window_t xwindow, xcb_atom_t property, const char *str); SN_END_DECLS #endif /* __SN_XUTILS_H__ */ xfe-1.44/libsn/sn-list.h0000644000200300020030000000376413501733230012005 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.44/libsn/sn-internals.h0000644000200300020030000000717513501733230013031 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 /* --- From sn-common.c --- */ xcb_screen_t* sn_internal_display_get_x_screen (SnDisplay *display, int number); xcb_window_t 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); void sn_internal_display_get_xmessage_data (SnDisplay *display, SnList **funcs, SnList **pending); xcb_atom_t sn_internal_get_utf8_string_atom(SnDisplay *display); xcb_atom_t sn_internal_get_net_startup_id_atom(SnDisplay *display); xcb_atom_t sn_internal_get_net_startup_info_atom(SnDisplay *display); xcb_atom_t sn_internal_get_net_startup_info_begin_atom(SnDisplay *display); /* --- 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_client_message (SnDisplay *display, xcb_window_t window, xcb_atom_t type, const char *data); SN_END_DECLS #endif /* __SN_INTERNALS_H__ */ xfe-1.44/libsn/sn-xmessages.c0000644000200300020030000004451213501733230013020 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; xcb_window_t root; xcb_atom_t type_atom; xcb_atom_t type_atom_begin; char *message_type; SnXmessageFunc func; void *func_data; SnFreeFunc free_data_func; } SnXmessageHandler; typedef struct { xcb_atom_t type_atom_begin; xcb_window_t 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; xcb_connection_t *c = sn_display_get_x_connection(display); /* Send atom requests ASAP */ xcb_intern_atom_cookie_t message_type_c = xcb_intern_atom(c, FALSE, strlen(message_type), message_type); xcb_intern_atom_cookie_t message_type_begin_c = xcb_intern_atom(c, FALSE, strlen(message_type_begin), message_type_begin); 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->message_type = sn_internal_strdup (message_type); handler->func = func; handler->func_data = func_data; handler->free_data_func = free_data_func; xcb_intern_atom_reply_t *atom_reply; atom_reply = xcb_intern_atom_reply(c, message_type_c, NULL); handler->type_atom = atom_reply->atom; free(atom_reply); atom_reply = xcb_intern_atom_reply(c, message_type_begin_c, NULL); handler->type_atom_begin = atom_reply->atom; free(atom_reply); sn_list_prepend (xmessage_funcs, handler); } typedef struct { const char *message_type; SnXmessageFunc func; void *func_data; xcb_window_t 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, xcb_atom_t message_type, xcb_atom_t 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; } xcb_connection_t *xconnection = sn_display_get_x_connection (display); uint32_t attrs[] = { 1, XCB_EVENT_MASK_PROPERTY_CHANGE | XCB_EVENT_MASK_STRUCTURE_NOTIFY }; xcb_screen_t *s = sn_internal_display_get_x_screen (display, screen); xcb_window_t xwindow = xcb_generate_id(xconnection); xcb_create_window(xconnection, s->root_depth, xwindow, s->root, -100, -100, 1, 1, 0, XCB_COPY_FROM_PARENT, s->root_visual, XCB_CW_OVERRIDE_REDIRECT | XCB_CW_EVENT_MASK, attrs); { xcb_client_message_event_t xevent; const char *src; const char *src_end; unsigned char *dest; unsigned char *dest_end; xevent.response_type = XCB_CLIENT_MESSAGE; xevent.window = xwindow; xevent.format = 8; xevent.type = message_type_begin; src = message; src_end = message + strlen (message) + 1; /* +1 to include nul byte */ while (src != src_end) { dest = &xevent.data.data8[0]; dest_end = dest + 20; while (dest != dest_end && src != src_end) { *dest = *src; ++dest; ++src; } xcb_send_event (xconnection, 0, s->root, XCB_EVENT_MASK_PROPERTY_CHANGE, (char *) &xevent); xevent.type = message_type; } } xcb_destroy_window (xconnection, xwindow); xcb_flush(xconnection); } typedef struct { void *xid; xcb_atom_t atom; xcb_window_t 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, xcb_atom_t atom, xcb_window_t 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 { xcb_window_t 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(xcb_atom_t type_atom_begin, xcb_window_t 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, xcb_window_t win, xcb_atom_t 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, xcb_window_t win, xcb_atom_t 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_client_message (SnDisplay *display, xcb_window_t window, xcb_atom_t type, const char *data) { sn_bool_t retval = FALSE; SnXmessage *message = NULL; if (some_handler_handles_event (display, type, window)) { retval = TRUE; message = add_event_to_messages (display, window, type, data); } 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.44/libsn/sn-xutils.c0000644000200300020030000000345313501733230012350 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 void sn_internal_set_utf8_string (SnDisplay *display, xcb_window_t xwindow, xcb_atom_t property, const char *str) { sn_display_error_trap_push (display); xcb_connection_t *c = sn_display_get_x_connection (display); xcb_atom_t UTF8_STRING = sn_internal_get_utf8_string_atom(display); xcb_change_property (c, XCB_PROP_MODE_REPLACE, xwindow, property, UTF8_STRING, 8, strlen (str), str); sn_display_error_trap_pop (display); } xfe-1.44/libsn/sn-launcher.h0000644000200300020030000000767413501733230012637 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_application_id (SnLauncherContext *context, const char *desktop_file); 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.44/libsn/sn-launcher.c0000644000200300020030000003245713501733230012627 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; char *application_id; 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; context->screen = screen; 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_free (context->application_id); 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"; sprintf (screenbuf, "%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"; sprintf (workspacebuf, "%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; } if (context->application_id != NULL) { names[i] = "APPLICATION_ID"; values[i] = context->application_id; ++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, sn_internal_get_net_startup_info_atom(context->display), sn_internal_get_net_startup_info_begin_atom(context->display), 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, sn_internal_get_net_startup_info_atom(context->display), sn_internal_get_net_startup_info_begin_atom(context->display), 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; 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 */ startup_id = sn_malloc (strlen (context->startup_id) + strlen ("DESKTOP_STARTUP_ID") + 3); strcpy (startup_id, "DESKTOP_STARTUP_ID="); strcat (startup_id, context->startup_id); 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_set_application_id (SnLauncherContext *context, const char *desktop_file) { WARN_ALREADY_INITIATED (context); sn_free (context->application_id); context->application_id = sn_internal_strdup (desktop_file); } 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.44/xfw.xpm0000644000200300020030000002134313501733230010457 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.44/configure.ac0000644000200300020030000001736213655734677011453 00000000000000# # Script for autoconf 2.69 or later and automake 1.14 or later # # Initialize AC_INIT([xfe], [1.44]) 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 PKG_PROG_PKG_CONFIG # 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 PKG_CHECK_MODULES(FREETYPE, freetype2, [ freetype_cflags="$FREETYPE_CFLAGS" freetype_libs="$FREETYPE_LIBS" LIBS="$LIBS $freetype_libs" CPPFLAGS="$freetype_cflags $CPPFLAGS" ], AC_MSG_ERROR("freetype 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 xft-config is deprecated and pkg-config should be used instead PKG_CHECK_MODULES(XFT, xft, [ xft_cflags="$XFT_CFLAGS" xft_libs="$XFT_LIBS" LIBS="$LIBS $xft_libs" CPPFLAGS="$xft_cflags $CPPFLAGS" CXXFLAGS="$CXXFLAGS -DHAVE_XFT_H" ], AC_MSG_ERROR("Xft not found")) 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 # Check for xcb libs PKG_CHECK_MODULES([xcb], [xcb >= 1.6],, [AC_MSG_ERROR([Cannot find xcb])]) PKG_CHECK_MODULES([xcb_aux], [xcb-aux],, [AC_MSG_ERROR([Cannot find xcb-aux])]) PKG_CHECK_MODULES([xcb_event], [xcb-event],, [AC_MSG_ERROR([Cannot find xcb-event])]) PKG_CHECK_MODULES([x11_xcb], [x11-xcb],, [AC_MSG_ERROR([Cannot find x11-xcb])]) LIBS="$LIBS $xcb_LIBS $xcb_aux_LIBS $x11_xcb_LIBS" 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/gnome-theme/Makefile icons/default-theme/Makefile icons/xfce-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.44/xfe.svg0000644000200300020030000006324113501733230010433 00000000000000 image/svg+xml XFE xfe-1.44/po/0000755000200300020030000000000014023353061007620 500000000000000xfe-1.44/po/zh_CN.po0000644000200300020030000052665414023353061011123 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: 2021-03-14 10:23+0100\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:333 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:467 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" #: ../src/main.cpp:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "载入图标出错" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "不能载入一些图标,请检查你的图标路径" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" msgstr "不能载入一些图标,请检查你的图标路径" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "属性" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "普通(&G)" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "文件夹" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "字符设备" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "块设备" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "指定管道" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "可执行" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "文档" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "错误链接" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 #, fuzzy msgid "Link to " msgstr "连接到" #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "地址:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "类型" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu 字节)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu 字节)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "大小" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "选择:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "多种类型" #. Number of selected files #: ../src/Properties.cpp:1113 #, fuzzy, c-format msgid "%d items" msgstr "对象" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d 项目包含%d目录和%d文件" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d 项目包含%d目录和%d文件" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d 项目包含%d目录和%d文件" #: ../src/Properties.cpp:1130 #, fuzzy, c-format msgid "%d files, %d folders" msgstr "%d 项目包含%d目录和%d文件" #: ../src/Properties.cpp:1252 #, fuzzy msgid "Change properties of the selected folder?" msgstr "\t显示所选文件属性(F9)" #: ../src/Properties.cpp:1256 #, fuzzy msgid "Change properties of the selected file?" msgstr "\t显示所选文件属性(F9)" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 #, fuzzy msgid "Confirm Change Properties" msgstr "属性" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "警告" #: ../src/Properties.cpp:1401 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "移动文件取消!" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "文件名为空,操作已取消!" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "文件名为空,操作已取消!" #. Error message box #. Error #: ../src/Properties.cpp:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "不能写入 %s: 没有权限" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "目录 %s 不存在" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "文件重命名" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "文件所有者" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "改变所有者取消!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "Chmod %s 失败: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "Chmod %s 失败 :" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" #: ../src/Properties.cpp:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod %s 失败 : %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "文件权限" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "改变文件权限取消!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "Chmod %s 失败 :" #: ../src/Properties.cpp:1628 #, fuzzy msgid "Apply permissions to the selected items?" msgstr "在一个所选项目中" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "无权限修改文件!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "选择一个可执行文件" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "所有文件" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "PNG映像" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "GIF映像" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "BMP映像" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "选择一个图标文件" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%d 项目包含%d目录和%d文件" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%d 项目包含%d目录和%d文件" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%d 项目包含%d目录和%d文件" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, fuzzy, c-format msgid "%u files, %u subfolders" msgstr "%d 项目包含%d目录和%d文件" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "复制到这里" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "移动到这里" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "链接到这里" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "取消" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "复制文件" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "移动文件" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "文件链接" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "复制" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, fuzzy, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "·文件/目录.\n" "从:·" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "移动" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, fuzzy, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "·文件/目录.\n" "从:·" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "链接" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "到:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "在移动文件操作时产生一个错误!" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "移动文件取消!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "在复制文件时发生一个错误!" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "复制文件取消!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "挂载点 %s 无反应" #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "根目录为0字节" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 msgid "Panel is active" msgstr "" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 #, fuzzy msgid "Activate panel" msgstr "选择面板(&i)\tCtrl-P" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 #, 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "压缩(&A)" #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "复制(&C)" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "剪切(&u)" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "粘贴(&P)" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "移动到...(&M)" #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, fuzzy, c-format msgid "Can't enter folder %s: %s" msgstr "不能删除目录 %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, fuzzy, c-format msgid "Can't enter folder %s" msgstr "不能删除目录 %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 msgid "File name is empty, operation cancelled" msgstr "文件名为空,操作已取消!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "新建压缩包" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "复制" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, fuzzy, c-format msgid "Copy %s items from: %s" msgstr "对象来源:" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "重命名" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "重命名" #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "复制到" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "移动" #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, fuzzy, c-format msgid "Move %s items from: %s" msgstr "对象来源:" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "链接" #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, fuzzy, c-format msgid "Symlink %s items from: %s" msgstr "对象来源:" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s 不是一个目录" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "在链接操作时产生一个错误!" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "链接操作取消!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, fuzzy, c-format msgid "Definitively delete folder %s ?" msgstr "决定删除目录" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "确认删除" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "文件删除" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, fuzzy, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "非空,确定删除?" #: ../src/DirPanel.cpp:2264 #, fuzzy, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "写保护,无论如何都要删除吗?" #: ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "删除目录操作已取消!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, fuzzy, c-format msgid "Move folder %s to trash can?" msgstr "移动到回收站" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "确认回收站" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "移动到回收站" #: ../src/DirPanel.cpp:2360 #, fuzzy, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "写保护,无论如何都要移动到回收站吗?" #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "在移动到回收站的操作中产生一个错误!" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "移动到回收站的操作已取消!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 #, fuzzy msgid "Restore from trash" msgstr "从回收站中删除" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 #, fuzzy msgid "Confirm Restore" msgstr "确认删除" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2640 #, fuzzy, c-format msgid "Can't create folder %s : %s" msgstr "不能覆盖非空目录 %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, fuzzy, c-format msgid "Can't create folder %s" msgstr "不能删除目录 %s" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 #, fuzzy msgid "An error has occurred during the restore from trash operation!" msgstr "在移动到回收站的操作中产生一个错误!" #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 #, fuzzy msgid "Restore from trash file operation cancelled!" msgstr "移到回收站操作取消!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "新建目录:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "新的目录" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "文件名为空,操作已取消!" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "执行命令" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "载入" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "卸载" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr "文件系统..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr "目录 :" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr "操作取消!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 msgid "Delete:" msgstr "删除:" #: ../src/File.cpp:136 msgid "From:" msgstr "从:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "更改权限..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "文件:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "确定覆盖" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, fuzzy, c-format msgid "Can't copy file %s: %s" msgstr "不能复制文件" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, fuzzy, c-format msgid "Can't copy file %s" msgstr "不能复制文件" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "源: " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "目标: " #: ../src/File.cpp:604 #, fuzzy, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "不能覆盖非空目录 %s" #: ../src/File.cpp:608 #, fuzzy, c-format msgid "Can't preserve date when copying file %s" msgstr "不能覆盖非空目录 %s" #: ../src/File.cpp:750 #, fuzzy, c-format msgid "Can't copy folder %s : Permission denied" msgstr "不能写入 %s: 没有权限" #: ../src/File.cpp:754 #, fuzzy, c-format msgid "Can't copy file %s : Permission denied" msgstr "不能写入 %s: 没有权限" #: ../src/File.cpp:791 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "不能覆盖非空目录 %s" #: ../src/File.cpp:795 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s" msgstr "不能覆盖非空目录 %s" #: ../src/File.cpp:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "源 %s 不存在" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "源 %s 和目标相同" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1048 #, fuzzy msgid "Delete folder: " msgstr "删除目录: " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "从: " #: ../src/File.cpp:1095 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "不能删除目录 %s" #: ../src/File.cpp:1099 #, fuzzy, c-format msgid "Can't delete folder %s" msgstr "不能删除目录 %s" #: ../src/File.cpp:1160 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "不能删除文件 %s" #: ../src/File.cpp:1164 #, fuzzy, c-format msgid "Can't delete file %s" msgstr "不能删除文件 %s" #: ../src/File.cpp:1213 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "文件或目录%s已经存在" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "不能改名为 %s" #: ../src/File.cpp:1572 #, fuzzy, c-format msgid "Can't symlink %s: %s" msgstr "新建符号链接:" #: ../src/File.cpp:1576 #, fuzzy, c-format msgid "Can't symlink %s" msgstr "新建符号链接:" #: ../src/File.cpp:1655 ../src/File.cpp:1852 #, fuzzy msgid "Folder: " msgstr "目录: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "解压存档" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "加入存档" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "失败命令: %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "成功" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "目录 %s 已成功载入" #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "目录 %s 已成功卸载" #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "安装/升级包" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, fuzzy, c-format msgid "Installing package: %s \n" msgstr "安装包: " #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "卸载包" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 #, fuzzy msgid "Go to previous folder" msgstr "\t回到\t移动到上回目录" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 #, fuzzy msgid "Go to next folder" msgstr "\t前进\t移动到下次目录" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 #, fuzzy msgid "Go to parent folder" msgstr "root目录" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 #, fuzzy msgid "Go to home folder" msgstr "目录 :" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 #, 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 #, fuzzy msgid "Big icon list" msgstr "大图标(&i)" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 #, fuzzy msgid "Small icon list" msgstr "小图标(&S)" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 #, fuzzy msgid "Detailed file list" msgstr "文件列表(&F)\t\t显示文件列表" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 #, fuzzy msgid "Show hidden files" msgstr "显示隐藏目录" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 #, fuzzy msgid "Hide hidden files" msgstr "隐藏文件(&H)" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 #, fuzzy msgid "Show thumbnails" msgstr "\t显示缩略图" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 #, 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:3758 msgid "New File" msgstr "新文件" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "文件或目录%s已经存在" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "前往主目录(&h)" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "新建目录(&o)" #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "隐藏文件(&H)" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "缩略图(&b)" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "大图标(&i)" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "小图标(&S)" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 #, fuzzy msgid "Fu&ll file list" msgstr "详细列表(&F)" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "横排(&R)" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "竖排(&C)" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "文件名(&N)" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "大小(&z)" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "类型(&T)" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "扩展名(&x)" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "日期(&D)" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 #, fuzzy msgid "&User" msgstr "用户" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 #, fuzzy msgid "&Group" msgstr "组" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 #, fuzzy msgid "Fold&ers first" msgstr "目录" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "颠倒顺序(&v)" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "文件(&F):" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "类型(&S)" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "大小(&z):" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "字符设置:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "任何" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "西欧" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "东欧" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "南欧" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "北欧" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "斯拉夫" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "阿拉伯" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "希腊" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "西伯拉" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "土耳其" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "日尔曼" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "泰国" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "波罗的海" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "凯尔特" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "俄罗斯" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "中欧 (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "俄罗斯 (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "拉丁文 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "希腊文 (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "土耳其语 (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "希伯来语 (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "阿拉伯语 (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "波罗的海语 (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "越南 (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "泰国 (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "设置宽度:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "极端缩进" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "额外缩进" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "缩进" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "半缩进" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "普通" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "半展开" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "展开" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "额外展开" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "极端展开" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "固定的" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "变量" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "可升级:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "所有字体:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "预览:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 #, fuzzy msgid "Launch Xfe as root" msgstr "\t以root身份启动Xfe(Shift-F3)" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "否(&N)" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "是(&Y)" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "退出(&Q)" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "保存(&S)" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "全部选是(&A)" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "输入用户密码:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "输入root密码:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 #, fuzzy msgid "An error has occurred!" msgstr "在链接操作时产生一个错误!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "文件名: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "根目录大小" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "类型: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "修改时间: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "用户: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "组: " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "权限: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "" #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "删除日期: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "大小: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "大小" #: ../src/FileList.cpp:152 msgid "Type" msgstr "类型" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "扩展名" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "修改时间" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "权限" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "不能载入图像" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "删除日期" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "过滤" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "状态" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:1035 ../src/SearchPanel.cpp:790 #, 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "命令日志" #: ../src/FilePanel.cpp:1832 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "文件名为空,操作已取消!" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "到目录:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, fuzzy, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "不能写入 %s: 没有权限" #: ../src/FilePanel.cpp:2408 ../src/SearchPanel.cpp:2936 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "移动到回收站" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, fuzzy, c-format msgid "Move %s selected items to trash can?" msgstr "\t移动所选文件到回收站(Del, F8)" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, fuzzy, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "写保护,确认移动到回收站吗?" #: ../src/FilePanel.cpp:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "移到回收站操作取消!" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" #: ../src/FilePanel.cpp:2721 #, fuzzy, c-format msgid "Restore %s selected items to their original locations?" msgstr "移动所选文件到回收站?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, fuzzy, c-format msgid "Can't create folder %s: %s" msgstr "不能覆盖非空目录 %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "决定删除目录" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr "决定删除所选项目? " #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, fuzzy, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "写保护,确定删除?" #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "已取消删除文件操作!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3758 msgid "Create new file:" msgstr "新建文件:" #: ../src/FilePanel.cpp:3794 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "不能覆盖非空目录 %s" #: ../src/FilePanel.cpp:3798 #, fuzzy, c-format msgid "Can't create file %s" msgstr "不能删除目录 %s" #: ../src/FilePanel.cpp:3813 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "新建符号链接:" #: ../src/FilePanel.cpp:3817 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "不能写入 %s: 没有权限" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "新建符号链接:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "新链接" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "选择文件或目录的链接" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "链接源 %s 不存在" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "用...打开所选文件:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "用...打开" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "操作(&s)" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "显示文件:" #. Menu items #: ../src/FilePanel.cpp:4512 #, fuzzy msgid "New& file..." msgstr "新建文件(&f)" #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "新链接(&y)" #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "过滤(&l)" #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 #, fuzzy msgid "&Full file list" msgstr "详细列表(&F)" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 #, fuzzy msgid "Per&missions" msgstr "权限" #: ../src/FilePanel.cpp:4555 #, fuzzy msgid "Ne&w file..." msgstr "新建文件(&f)" #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "载入(&M)" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "用...打开(&w)" #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "打开(&O)" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 #, fuzzy msgid "Extr&act to folder " msgstr "解压到目录(&a)" #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "在此解压(&E)" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "解压到...(&x)" #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "查看(&V)" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "安装/升级(&g)" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "卸载(&i)" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "编辑(&E)" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 #, fuzzy msgid "Com&pare..." msgstr "替换(&R)" #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4672 #, fuzzy msgid "Packages &query " msgstr "包内查询(&q) " #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 #, fuzzy msgid "Scripts" msgstr "描述(&D)" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 #, fuzzy msgid "&Go to script folder" msgstr "root目录" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "复制到...(&t)" #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 #, fuzzy msgid "M&ove to trash" msgstr "移动到回收站" #: ../src/FilePanel.cpp:4695 #, fuzzy msgid "Restore &from trash" msgstr "从回收站中删除" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 #, fuzzy msgid "Compare &sizes" msgstr "源 :" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 #, fuzzy msgid "P&roperties" msgstr "属性" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "选择一个目标目录." #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "所有文件" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "安装/升级包" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "卸载包" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "不能覆盖非空目录 %s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "不能删除目录 %s" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "没有发现相应的包管理器" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr " 属于包: " #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "文件信息" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, fuzzy, c-format msgid "File %s belongs to the package: %s" msgstr " 属于包: " #. Make and show command window #: ../src/FilePanel.cpp:6220 ../src/SearchPanel.cpp:2887 #, fuzzy msgid "Sizes of Selected Items" msgstr "选择的项目" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 字节" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "在一个所选项目中" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "在一个所选项目中" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "在一个所选项目中" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "在一个所选项目中" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr "目录 :" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d 项目包含%d目录和%d文件" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d 项目包含%d目录和%d文件" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d 项目包含%d目录和%d文件" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "链接" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "关闭(&o)" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "不能删除文件 %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 #, fuzzy msgid "Can't duplicate pipes" msgstr "不能删除文件 %s" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>>·指令撤销·<<<<" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "配置" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "当前主题" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "选项" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "删除文件时将其移到回收站(安全删除)" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "包括跳过回收站的删除指令(永久删除)" #: ../src/Preferences.cpp:185 msgid "Auto save layout" msgstr "自动保存当前布局" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Single click folder open" msgstr "单击打开文件" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "单击打开文件" #: ../src/Preferences.cpp:189 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "在文件和目录列表中显示提示" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "在文件列表上显示路径" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "确认删除" #: ../src/Preferences.cpp:198 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:213 #, fuzzy msgid "Start in home folder" msgstr "目录" #: ../src/Preferences.cpp:214 #, fuzzy msgid "Start in current folder" msgstr "root目录" #: ../src/Preferences.cpp:215 #, fuzzy msgid "Start in last visited folder" msgstr "隐藏文件(&H)\tCtrl-F6\t显示隐藏文件和目录(Ctrl-F6)" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "平滑滚动文件列表和文本窗口" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "鼠标滚动速度:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "边界颜色" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "root模式" #: ../src/Preferences.cpp:232 #, fuzzy msgid "Allow root mode" msgstr "root模式" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "使用sudo使用用户自己密码)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "使用su(使用root密码)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "失败命令: %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "执行命令" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "对话(&D)" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "确认" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "复制/移动/改名/链接 确认" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "拖放确认" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "" #: ../src/Preferences.cpp:330 #, fuzzy msgid "Confirm delete" msgstr "确认删除" #: ../src/Preferences.cpp:331 #, fuzzy msgid "Confirm delete non empty folders" msgstr "确认删除非空目录" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "确定覆盖" #: ../src/Preferences.cpp:333 #, fuzzy msgid "Confirm execute text files" msgstr "确认删除" #: ../src/Preferences.cpp:334 #, fuzzy msgid "Confirm change properties" msgstr "属性" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "警告" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "在载入点失去相应时发出警告" #: ../src/Preferences.cpp:340 #, fuzzy msgid "Display mount / unmount success messages" msgstr "显示载入/卸载的成功信息" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "以root身份运行时给出警告" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "文件关联(&P)" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "默认程序" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "默认的文件查看器:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "默认的文件编辑器:" #: ../src/Preferences.cpp:405 #, fuzzy msgid "File comparator:" msgstr "文件权限" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "默认图像编辑器:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "默认的图像查看器:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "默认归档:" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "Pdf查看器:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "音频播放器:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "视频播放器:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "终端程序:" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 #, fuzzy msgid "Mount:" msgstr "载入" #: ../src/Preferences.cpp:462 #, fuzzy msgid "Unmount:" msgstr "卸载" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "颜色主题" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "自定义颜色" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "双击个性化颜色" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "基本颜色" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "边界颜色" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "背景颜色" #: ../src/Preferences.cpp:492 #, fuzzy msgid "Text color" msgstr "基本颜色" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "选中背景颜色" #: ../src/Preferences.cpp:494 #, fuzzy msgid "Selection text color" msgstr "选中前景颜色" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "文件列表背景颜色" #: ../src/Preferences.cpp:496 #, fuzzy msgid "File list text color" msgstr "文件列表高亮颜色" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "文件列表高亮颜色" #: ../src/Preferences.cpp:498 #, fuzzy msgid "Progress bar color" msgstr "边界颜色" #: ../src/Preferences.cpp:499 #, fuzzy msgid "Attention color" msgstr "基本颜色" #: ../src/Preferences.cpp:500 #, fuzzy msgid "Scrollbar color" msgstr "边界颜色" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "控制" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "图标主题路径" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\t选择路径..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "字体(&F)" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "字体" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "标准字体:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr "选择" #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "文本字体:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "" #: ../src/Preferences.cpp:634 msgid "Select an icon theme folder or an icon file" msgstr "选择一个图标主题目录或者一个图标文件" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "选择标准字体" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "选择文本字体" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 #, fuzzy msgid "Create new file" msgstr "新建文件:" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 #, fuzzy msgid "Create new folder" msgstr "新建目录:" #: ../src/Preferences.cpp:803 #, fuzzy msgid "Copy to clipboard" msgstr "复制(&C)\tCtrl-C\t复制所选到剪贴板(Ctrl-C)" #: ../src/Preferences.cpp:807 #, fuzzy msgid "Cut to clipboard" msgstr "剪切(&t)\tCtrl-X\t剪切所选到剪贴板(Ctrl-X)" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 #, fuzzy msgid "Paste from clipboard" msgstr "\t从剪贴板粘贴(Ctrl-V)" #: ../src/Preferences.cpp:827 #, fuzzy msgid "Open file" msgstr "打开文件...(&O)\tCtrl-O" #: ../src/Preferences.cpp:831 #, fuzzy msgid "Quit application" msgstr "\t转到\t转到地址" #: ../src/Preferences.cpp:835 #, fuzzy msgid "Select all" msgstr "选择所有(&A)" #: ../src/Preferences.cpp:839 #, fuzzy msgid "Deselect all" msgstr "全部不选(&D)\tCtrl-Z" #: ../src/Preferences.cpp:843 #, fuzzy msgid "Invert selection" msgstr "反向选择(&I)\tCtrl-I" #: ../src/Preferences.cpp:847 #, fuzzy msgid "Display help" msgstr "工具栏(&T)\t\t显示工具栏" #: ../src/Preferences.cpp:851 #, fuzzy msgid "Toggle display hidden files" msgstr "显示隐藏目录" #: ../src/Preferences.cpp:855 #, fuzzy msgid "Toggle display thumbnails" msgstr "\t显示缩略图" #: ../src/Preferences.cpp:863 #, fuzzy msgid "Close window" msgstr "新窗口(&w)\tF3" #: ../src/Preferences.cpp:867 #, fuzzy msgid "Print file" msgstr "打印" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "搜索" #: ../src/Preferences.cpp:875 #, fuzzy msgid "Search previous" msgstr "搜索:" #: ../src/Preferences.cpp:879 #, fuzzy msgid "Search next" msgstr "搜索" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 #, fuzzy msgid "Vertical panels" msgstr "选择面板(&i)\tCtrl-P" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 #, fuzzy msgid "Horizontal panels" msgstr "选择面板(&i)\tCtrl-P" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 #, fuzzy msgid "Refresh panels" msgstr "左面板(&L)" #: ../src/Preferences.cpp:901 #, fuzzy msgid "Create new symbolic link" msgstr "新建符号链接:" #: ../src/Preferences.cpp:905 #, fuzzy msgid "File properties" msgstr "属性" #: ../src/Preferences.cpp:909 #, fuzzy msgid "Move files to trash" msgstr "移动到回收站" #: ../src/Preferences.cpp:913 #, fuzzy msgid "Restore files from trash" msgstr "从回收站中删除" #: ../src/Preferences.cpp:917 #, fuzzy msgid "Delete files" msgstr "删除目录: " #: ../src/Preferences.cpp:921 #, fuzzy msgid "Create new window" msgstr "新建文件:" #: ../src/Preferences.cpp:925 #, fuzzy msgid "Create new root window" msgstr "新的root窗口(&r)\tShift-F3" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "执行命令" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 #, fuzzy msgid "Launch terminal" msgstr "\t启动Xfe(F3)" #: ../src/Preferences.cpp:938 #, fuzzy msgid "Mount file system (Linux only)" msgstr "载入文件系统..." #: ../src/Preferences.cpp:942 #, fuzzy msgid "Unmount file system (Linux only)" msgstr "卸载文件系统..." #: ../src/Preferences.cpp:946 #, fuzzy msgid "One panel mode" msgstr "左面板(&L)" #: ../src/Preferences.cpp:950 #, fuzzy msgid "Tree and panel mode" msgstr "显示树和面板(&r)\tCtrl-F2" #: ../src/Preferences.cpp:954 #, fuzzy msgid "Two panels mode" msgstr "显示两个面板(&p)\tCtrl-F3" #: ../src/Preferences.cpp:958 #, fuzzy msgid "Tree and two panels mode" msgstr "显示树和两个面板(&e)\tCtrl-F4" #: ../src/Preferences.cpp:962 #, fuzzy msgid "Clear location bar" msgstr "\t清除地址条\t清除地址条" #: ../src/Preferences.cpp:966 #, fuzzy msgid "Rename file" msgstr "重命名" #: ../src/Preferences.cpp:970 #, fuzzy msgid "Copy files to location" msgstr "\t转到\t转到地址" #: ../src/Preferences.cpp:974 #, fuzzy msgid "Move files to location" msgstr "\t转到\t转到地址" #: ../src/Preferences.cpp:978 #, fuzzy msgid "Symlink files to location" msgstr "\t转到\t转到地址" #: ../src/Preferences.cpp:982 #, fuzzy msgid "Add bookmark" msgstr "添加书签(&A)\tCtrl-B" #: ../src/Preferences.cpp:986 #, fuzzy msgid "Synchronize panels" msgstr "同步面板(&S)\tCtrl-Y" #: ../src/Preferences.cpp:990 #, fuzzy msgid "Switch panels" msgstr "选择面板(&i)\tCtrl-P" #: ../src/Preferences.cpp:994 #, fuzzy msgid "Go to trash can" msgstr "移动到回收站" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "清空回收站" #: ../src/Preferences.cpp:1002 #, fuzzy msgid "View" msgstr "查看" #: ../src/Preferences.cpp:1006 #, fuzzy msgid "Edit" msgstr "编辑" #: ../src/Preferences.cpp:1014 #, fuzzy msgid "Toggle display hidden folders" msgstr "显示隐藏目录" #: ../src/Preferences.cpp:1018 #, fuzzy msgid "Filter files" msgstr "文件时间" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "" #: ../src/Preferences.cpp:1033 #, fuzzy msgid "Zoom to fit window" msgstr "转到.." #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "" #: ../src/Preferences.cpp:1059 #, fuzzy msgid "Create new document" msgstr "新建目录..." #: ../src/Preferences.cpp:1063 #, fuzzy msgid "Save changes to file" msgstr "保存%s到文件?" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 #, fuzzy msgid "Goto line" msgstr "转到.." #: ../src/Preferences.cpp:1071 #, fuzzy msgid "Undo last change" msgstr "撤销(&U)\tCtrl-Z\t撤销最近改动(Ctrl-Z)" #: ../src/Preferences.cpp:1075 #, fuzzy msgid "Redo last change" msgstr "撤销(&U)\tCtrl-Z\t撤销最近改动(Ctrl-Z)" #: ../src/Preferences.cpp:1079 #, fuzzy msgid "Replace string" msgstr "替换" #: ../src/Preferences.cpp:1083 #, fuzzy msgid "Toggle word wrap mode" msgstr "自动换行(&W)\tCtrl-K\t自动换行模式(Ctrl-K)" #: ../src/Preferences.cpp:1087 #, fuzzy msgid "Toggle line numbers mode" msgstr "显示行号(&L)\tCtrl-T\t显示行号模式(Ctrl-T)" #: ../src/Preferences.cpp:1091 #, fuzzy msgid "Toggle lower case mode" msgstr "修改(&O)\t\t修改模式." #: ../src/Preferences.cpp:1095 #, fuzzy msgid "Toggle upper case mode" msgstr "修改(&O)\t\t修改模式." #. Confirmation message #: ../src/Preferences.cpp:1114 #, 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:1115 msgid "Restore default key bindings" msgstr "" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "重启" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "关闭(&C)" #: ../src/SearchPanel.cpp:165 #, fuzzy msgid "Refresh panel" msgstr "左面板(&L)" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 #, fuzzy msgid "Copy selected files to clipboard" msgstr "\t复制所选文件到剪贴板(Ctrl-C)" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 #, fuzzy msgid "Cut selected files to clipboard" msgstr "\t剪切所选文件到剪贴板(Ctrl-X)" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 #, fuzzy msgid "Show properties of selected files" msgstr "\t显示所选文件属性(F9)" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 #, fuzzy msgid "Move selected files to trash can" msgstr "\t移动所选文件到回收站(Del, F8)" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 #, fuzzy msgid "Delete selected files" msgstr "\t删除所选文件(Shift-Del)" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "详细列表(&F)" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "忽略事件(&g)" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "" #: ../src/SearchPanel.cpp:2421 #, fuzzy msgid "&Packages query " msgstr "包内查询(&q) " #: ../src/SearchPanel.cpp:2435 #, fuzzy msgid "&Go to parent folder" msgstr "root目录" #: ../src/SearchPanel.cpp:3658 #, fuzzy, c-format msgid "Copy %s items" msgstr "对象来源:" #: ../src/SearchPanel.cpp:3674 #, fuzzy, c-format msgid "Move %s items" msgstr "对象来源:" #: ../src/SearchPanel.cpp:3690 #, fuzzy, c-format msgid "Symlink %s items" msgstr "对象来源:" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr "对象" #: ../src/SearchPanel.cpp:4299 #, fuzzy msgid "1 item" msgstr "对象" #: ../src/SearchWindow.cpp:71 #, fuzzy msgid "Find files:" msgstr "打印" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:79 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr "隐藏文件(&H)\tCtrl-F6\t显示隐藏文件和目录(Ctrl-F6)" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "In folder:" msgstr "到目录:" #: ../src/SearchWindow.cpp:86 #, fuzzy msgid "\tIn folder..." msgstr "新目录(&f)" #: ../src/SearchWindow.cpp:89 #, fuzzy msgid "Text contains:" msgstr "文本字体:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "More options" msgstr "搜索:" #: ../src/SearchWindow.cpp:98 #, fuzzy msgid "Search options" msgstr "搜索:" #: ../src/SearchWindow.cpp:99 #, fuzzy msgid "Reset\tReset search options" msgstr "搜索:" #: ../src/SearchWindow.cpp:115 #, fuzzy msgid "Min size:" msgstr "打印" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "文件时间" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 #, fuzzy msgid "Max size:" msgstr "合计大小" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "文件时间" #. Modification date #: ../src/SearchWindow.cpp:126 #, fuzzy msgid "Last modified before:" msgstr "建立时间" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:131 #, fuzzy msgid "Last modified after:" msgstr "建立时间" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:137 #, fuzzy msgid "User:" msgstr "用户: " #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "\tFilter by user name" msgstr "文件时间" #: ../src/SearchWindow.cpp:142 #, fuzzy msgid "Group:" msgstr "组: " #: ../src/SearchWindow.cpp:145 #, fuzzy msgid "\tFilter by group name" msgstr "文件时间" #. File type #: ../src/SearchWindow.cpp:178 #, fuzzy msgid "File type:" msgstr "文件系统" #: ../src/SearchWindow.cpp:181 #, fuzzy msgid "File" msgstr "文件:" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:187 #, fuzzy msgid "\tFilter by file type" msgstr "文件时间" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 #, fuzzy msgid "Permissions:" msgstr "权限: " #: ../src/SearchWindow.cpp:194 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "文件权限" #. Empty files #: ../src/SearchWindow.cpp:197 #, fuzzy msgid "Empty files:" msgstr "显示文件:" #: ../src/SearchWindow.cpp:198 #, fuzzy msgid "\tEmpty files only" msgstr "显示文件:" #: ../src/SearchWindow.cpp:202 #, fuzzy msgid "Follow symbolic links:" msgstr "新建符号链接:" #: ../src/SearchWindow.cpp:203 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "新建符号链接:" #: ../src/SearchWindow.cpp:207 #, fuzzy msgid "Non recursive:" msgstr "递归" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:212 #, fuzzy msgid "Ignore other file systems:" msgstr "卸载文件系统..." #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:782 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "搜索:" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 #, fuzzy msgid " items" msgstr "对象" #: ../src/SearchWindow.cpp:938 #, fuzzy msgid ">>>> Search results <<<<" msgstr "搜索:" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:973 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "搜索" #: ../src/SearchWindow.cpp:1147 #, 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:201 #: ../src/XFileImage.cpp:327 ../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:808 #, fuzzy msgid "&Vertical panels" msgstr "选择面板(&i)\tCtrl-P" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 #, 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:781 msgid "&Thumbnails" msgstr "缩略图(&T)" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "回收站(&r)" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "正在以root身份运行Xfe!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "不能覆盖非空目录 %s" #: ../src/XFileExplorer.cpp:2274 #, fuzzy, c-format msgid "Can't create Xfe config folder %s" msgstr "不能覆盖非空目录 %s" #: ../src/XFileExplorer.cpp:2296 msgid "No global xferc file found! Please select a configuration file..." msgstr "配置文件xferc没有找到,请选择一个配置文件..." #: ../src/XFileExplorer.cpp:2300 msgid "XFE configuration file" msgstr "XFE配置文件" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "不能覆盖非空目录 %s" #: ../src/XFileExplorer.cpp:2339 ../src/XFileExplorer.cpp:3992 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s" msgstr "不能覆盖非空目录 %s" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "不能覆盖非空目录 %s" #: ../src/XFileExplorer.cpp:2361 ../src/XFileExplorer.cpp:4007 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s" msgstr "不能覆盖非空目录 %s" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "帮助" #: ../src/XFileExplorer.cpp:3211 #, fuzzy, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer 版本 " #: ../src/XFileExplorer.cpp:3212 #, 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:3214 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" "Finnish: Kimmo Siira\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:3246 #, fuzzy msgid "About X File Explorer" msgstr "关于X File Explorer(&A)" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 #, fuzzy msgid "&Panel" msgstr "面板(&P)" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Execute the command:" msgstr "执行命令:" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Console mode" msgstr "控制台模式" #: ../src/XFileExplorer.cpp:3896 #, fuzzy msgid "Search files and folders" msgstr "隐藏文件(&H)\tCtrl-F6\t显示隐藏文件和目录(Ctrl-F6)" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "确定退出Xfe?" #: ../src/XFileExplorer.cpp:3958 #, fuzzy msgid " in " msgstr "在当前目录中" #: ../src/XFileExplorer.cpp:3959 #, fuzzy msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "确定清空回收站? \n" "\n" "所有的项目都会永久删除!" #: ../src/XFileExplorer.cpp:4049 #, fuzzy, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "修改时间: " #: ../src/XFileExplorer.cpp:4051 #, fuzzy msgid "Trash size" msgstr "合计大小" #: ../src/XFileExplorer.cpp:4058 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "不能覆盖非空目录 %s" #: ../src/XFileExplorer.cpp:4512 ../src/XFileExplorer.cpp:4586 #, fuzzy, c-format msgid "Command not found: %s" msgstr "不能删除目录 %s" #: ../src/XFileExplorer.cpp:4591 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "文件关联(&F)" #: ../src/XFileExplorer.cpp:4596 #, fuzzy, c-format msgid "File association not found: %s" msgstr "文件关联(&F)" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "选项(&P)" #: ../src/XFilePackage.cpp:213 #, fuzzy msgid "Open package file" msgstr "\t打开压缩包(Ctrl-O)" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 #, fuzzy msgid "&Open..." msgstr "打开(&O)" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 #, fuzzy msgid "&Toolbar" msgstr "工具栏(&T)" #. Help Menu entries #: ../src/XFilePackage.cpp:235 #, fuzzy msgid "&About X File Package" msgstr "关于X File Image" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "卸载(&U)" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "安装/升级(&I)" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "描述(&D)" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "文件列表(&L)" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "关于X File Image" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "RPM源码包" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "RPM包" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "DEB包" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "打开文档" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "没有加载包" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "未知的包格式" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "安装/升级包" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "卸载包" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[RPM包]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[DEB包]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "查询%s失败" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "加载文件错误" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "不能打开文件: %s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "GIF映像" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "BMP映像" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "XPM映像" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "PCX映像" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "ICO映像" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "RGB映像" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "XBM映像" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "TARGA映像" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "PPM映像" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "PNG映像" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "JPEG映像" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "TIFF映像" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "映像(&I)" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 #, fuzzy msgid "Open" msgstr "打开:" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 #, fuzzy msgid "Open image file." msgstr "打开图像" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "打印" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 msgid "Print image file." msgstr "" #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:660 #, fuzzy msgid "Zoom in" msgstr "转到.." #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "" #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "" #: ../src/XFileImage.cpp:675 #, fuzzy msgid "Zoom to fit" msgstr "转到.." #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "" #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "" #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "" #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "" #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 #, fuzzy msgid "&Print..." msgstr "打印" #: ../src/XFileImage.cpp:721 #, fuzzy msgid "&Clear recent files" msgstr "清除最近文件(&C)" #: ../src/XFileImage.cpp:721 #, fuzzy msgid "Clear recent file menu." msgstr "清除最近文件(&C)" #: ../src/XFileImage.cpp:727 #, fuzzy msgid "Quit Xfi." msgstr "退出Xfe" #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "" #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "" #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "" #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "" #: ../src/XFileImage.cpp:775 #, fuzzy msgid "Show hidden files and folders." msgstr "隐藏文件(&H)\tCtrl-F6\t显示隐藏文件和目录(Ctrl-F6)" #: ../src/XFileImage.cpp:781 #, fuzzy msgid "Show image thumbnails." msgstr "\t显示缩略图" #: ../src/XFileImage.cpp:789 #, fuzzy msgid "Display folders with big icons." msgstr "\t显示图标\t以大图标显示目录." #: ../src/XFileImage.cpp:795 #, fuzzy msgid "Display folders with small icons." msgstr "\t显示列表\t以小图标显示目录." #: ../src/XFileImage.cpp:801 #, fuzzy msgid "&Detailed file list" msgstr "详细列表(&F)" #: ../src/XFileImage.cpp:801 #, fuzzy msgid "Display detailed folder listing." msgstr "\t显示细节\t显示详细目录列表." #: ../src/XFileImage.cpp:817 #, fuzzy msgid "View icons row-wise." msgstr "横排图标(&R)\t\t横排图标显示" #: ../src/XFileImage.cpp:818 #, fuzzy msgid "View icons column-wise." msgstr "竖排图标(&C)\t\t竖排图标显示" #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "" #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 #, fuzzy msgid "Display toolbar." msgstr "工具栏(&T)\t\t显示工具栏" #: ../src/XFileImage.cpp:823 #, fuzzy msgid "&File list" msgstr "详细列表(&F)" #: ../src/XFileImage.cpp:823 #, fuzzy msgid "Display file list." msgstr "文件列表(&F)\t\t显示文件列表" #: ../src/XFileImage.cpp:824 #, fuzzy msgid "File list &before" msgstr "文件列表高亮颜色" #: ../src/XFileImage.cpp:824 #, fuzzy msgid "Display file list before image window." msgstr "\t显示图标\t以大图标显示目录." #: ../src/XFileImage.cpp:825 #, fuzzy msgid "&Filter images" msgstr "文件时间" #: ../src/XFileImage.cpp:825 #, fuzzy msgid "List only image files." msgstr "文件列表(&F)\t\t显示文件列表" #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "" #: ../src/XFileImage.cpp:826 #, fuzzy msgid "Zoom to fit window when opening an image." msgstr "打开时调整窗口(&w)\t\t打开图像时调整窗口" #: ../src/XFileImage.cpp:831 #, fuzzy msgid "&About X File Image" msgstr "关于X File Image" #: ../src/XFileImage.cpp:831 #, fuzzy msgid "About X File Image." msgstr "关于X File Image" #: ../src/XFileImage.cpp:1333 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:1335 msgid "About X File Image" msgstr "关于X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "载入文件错误" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "不支持的类型: %s" #: ../src/XFileImage.cpp:1464 msgid "Unable to load image, the file may be corrupted" msgstr "不能载入图形,文件可能损坏" #: ../src/XFileImage.cpp:1504 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "文本字体将会在重启之后改变\n" "现在就重启X File Explore?" #: ../src/XFileImage.cpp:1619 msgid "Open Image" msgstr "打开图像" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "输入打印指令: \n" "(ex: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "保存文件出错" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "不能打开文件: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "文件%s过大" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "文件%s有丢失" #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "无标题" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "无标题%d" #: ../src/WriteWindow.cpp:1477 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" #: ../src/WriteWindow.cpp:1479 msgid "About X File Write" msgstr "关于X File Write" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "设置字体" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "文本文件" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "C源代码文件" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "C++源代码文件" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "C/C++头文件" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "HTML文件" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "PHP文件" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "未保存的文档" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "保存%s到文件?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "保存文档" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "覆盖文档" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "覆盖已有的文档: %s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (已修改)" #: ../src/WriteWindow.cpp:1851 #, fuzzy msgid " (read only)" msgstr "只读" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "修改" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "插入" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "文件已修改" #: ../src/WriteWindow.cpp:2071 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "已经被另外的程序修改,重新载入文件?" #: ../src/WriteWindow.cpp:2132 msgid "Replace" msgstr "替换" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "转到.." #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "转到..行(&G)" #. Usage message #: ../src/XFileWrite.cpp:217 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "不能关闭目录 %s\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "字节" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "" #: ../src/xfeutils.cpp:1100 #, fuzzy msgid "copy" msgstr "复制文件" #: ../src/xfeutils.cpp:1413 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "不能删除目录 %s" #: ../src/xfeutils.cpp:1417 #, 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 "没有发现相应的包管理器" #~ msgid "&Themes" #~ msgstr "主题(&T)" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "确认删除" #~ msgid "" #~ "Scrolling mode will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "滚动模式将会在重启之后改变\n" #~ "现在就重启X File Explore?" #~ msgid "" #~ "Path linker will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "路径链接将会在重启之后改变\n" #~ "现在就重启X File Explore?" #~ msgid "" #~ "Button style will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "按键风格将会在重启之后改变\n" #~ "现在就重启X File Explore?" #~ msgid "" #~ "Normal font will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "标准字体将会在重启之后改变\n" #~ "现在就重启X File Explore?" #~ msgid "" #~ "Text font will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "文本字体将会在重启之后改变\n" #~ "现在就重启X File Explore?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ 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.44/po/sv.po0000644000200300020030000052460114023353061010540 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: 2021-03-14 10:23+0100\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:333 #, 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:467 #, 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:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Fel vid laddning av ikoner" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "Kunde inte ladda vissa ikoner. Kontrollera deras sökvägar!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" msgstr "Kunde inte ladda vissa ikoner. Kontrollera deras sökvägar!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Egenskaper" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "D&iverse" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Katalog" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Teckenenhet" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Blockenhet" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Namngivet rör" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Uttag" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Program" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Dokument" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Bruten länk" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 #, fuzzy msgid "Link to " msgstr "Länka till " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Plats:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Typ:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu bytes)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Storlek:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Markering:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Flera typer" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d objekt" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d filer, %d kataloger" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d filer, %d kataloger" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d filer, %d kataloger" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d filer, %d kataloger" #: ../src/Properties.cpp:1252 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Visa egenskaper hos valda filer" #: ../src/Properties.cpp:1256 #, fuzzy msgid "Change properties of the selected file?" msgstr "Visa egenskaper hos valda filer" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 #, fuzzy msgid "Confirm Change Properties" msgstr "Filegenskaper" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Varning" #: ../src/Properties.cpp:1401 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Filflyttningsoperationen avbruten!" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Filnamnet är tomt, operationen avbruten!" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 #, 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:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Kan inte skriva till %s: Åtkomst nekad" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "Katalogen %s existerar inte" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Döp om fil" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Filägare" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "Ändra filens/filernas ägare avbrutet!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown i %s misslyckades: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "Chown i %s misslyckades" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 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:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod i %s misslyckades: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Filrättigheter" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Ändra filrättigheter avbrutet!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "Chmod i %s misslyckades" #: ../src/Properties.cpp:1628 #, fuzzy msgid "Apply permissions to the selected items?" msgstr "%s i %s valda objekt" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "Ändra filens/filernas rättigheter avbrutet!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Välj en programfil" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Alla filer" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "PNG-bilder" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "GIF-bilder" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "BMP-bilder" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Välj en ikonfil" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%u filer, %u kataloger" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%u filer, %u kataloger" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%u filer, %u kataloger" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u filer, %u kataloger" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Kopiera hit" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Flytta hit" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Länka hit" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Avbryt" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Kopiera fil" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Flytta fil" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Länka fil" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopiera" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Kopiera %s filer/kataloger.\n" "Från: %s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Flytta" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Flytta %s filer/kataloger.\n" "Från: %s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Symlänka" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "Till:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "Ett fel har uppstått under filflyttningsoperationen!" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "Filflyttningsoperationen avbruten!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "Ett fel har uppstått under filkopieringsoperationen!" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "Filkopieringsoperationen avbruten!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "Monteringspunkten %s svarar inte..." #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "0 bytes i rot" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 #, fuzzy msgid "Panel is active" msgstr "Panel har fokus" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 #, fuzzy msgid "Activate panel" msgstr "Byt paneler" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "Lägg till i arkiv..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Kopiera" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Klipp &ut" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "Klistra &in" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "F&lytta till..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, 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:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, 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:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 msgid "File name is empty, operation cancelled" msgstr "Filnamnet är tomt, operationen avbruten!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Skapa arkiv" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Kopiera " #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "Kopiera %s objekt från: %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Döp om" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Döp om " #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Kopiera till" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Flytta " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "Flytta %s objekt från: %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Symlänka " #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "Symlänka %s objekt från: %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s är inte en katalog" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "Ett fel har uppstått under symlänkningsoperationen!" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "Symlänkningsoperationen avbruten!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "Slutgiltigt ta bort katalog %s ?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Bekräfta borttagning" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Ta bort fil" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Katalogen %s är inte tom, ta bort den ändå?" #: ../src/DirPanel.cpp:2264 #, 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:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "Ta-bort-katalog-operationen avbruten!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "Flytta katalogen %s till papperskorgen?" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Bekräfta flytt" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Flytta till papperskorgen" #: ../src/DirPanel.cpp:2360 #, 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:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "Ett fel har uppstått under flytten till papperskorgen!" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "Flytta-till-papperskorgen-operationen avbruten!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Återställ från papperskorgen" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Återställ katalogen %s till sin ursprungliga plats %s ?" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Bekräfta återställning" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "Återställningsinformation är inte tillgänglig för %s" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, 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:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "Kan inte skapa katalogen %s : %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "Kan inte skapa katalogen %s" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 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:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "Återställningen från papperskorgen avbruten!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Skapa ny katalog:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Ny katalog" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Filnamnet är tomt, operationen avbruten!" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, c-format msgid "Can't execute command %s" msgstr "Kan inte köra kommando %s" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Montera" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Avmontera" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " filsystem..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " katalogen:" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " operationen avbruten!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 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:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Ändrar rättigheter..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "Fil:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Bekräfta ersättning" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "Kan inte kopiera filen %s: %s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "Kan inte kopiera filen %s" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "Källa: " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "Mål: " #: ../src/File.cpp:604 #, 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:608 #, 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:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Kan inte kopiera katalogen %s : Åtkomst nekad" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Kan inte kopiera filen %s : Åtkomst nekad" #: ../src/File.cpp:791 #, 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:795 #, 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:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "Källan %s existerar inte" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "Källan %s är samma som målet" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, 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:1048 #, fuzzy msgid "Delete folder: " msgstr "Ta bort katalog: " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "Från: " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "Kan inte ta bort katalogen %s: %s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "Kan inte ta bort katalogen %s" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "Kan inte ta bort filen %s: %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "Kan inte ta bort filen %s" #: ../src/File.cpp:1213 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Filen eller katalogen %s existerar redan" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Kan inte döpa om till målet %s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "Kan inte skapa ny symbolisk länk %s: %s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "Kan inte skapa ny symbolisk länk %s" #: ../src/File.cpp:1655 ../src/File.cpp:1852 #, fuzzy msgid "Folder: " msgstr "Katalog: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Packa upp arkiv" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Lägg till i arkiv" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Kommandot misslyckades: %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Framgång" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "Katalogen %s monterades framgångsrikt." #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Katalogen %s avmonterades framgångsrikt." #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "Installera/Uppgradera paket" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "Installerar paket: %s \n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Avinstallerar paket" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 msgid "Go to previous folder" msgstr "Gå till föregående katalog" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 msgid "Go to next folder" msgstr "Gå till nästa katalog" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 msgid "Go to parent folder" msgstr "Gå till överliggande katalog" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "Gå till hemkatalogen" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Stora ikoner" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Små ikoner" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Detaljerad fillista" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Visa gömda filer" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "Dölj gömda filer" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Visa miniatyrbilder" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 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:3758 msgid "New File" msgstr "Ny fil" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "Filen eller katalogen %s existerar redan" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "Gå he&m" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Ny katal&og..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "Gömda filer" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "Översikter" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "Stora ikoner" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "Små ikoner" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "Komplett fillista" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "&Rader" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "&Kolumner" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "Autopassa" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "Namn" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "Storlek" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "Typ" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "Filändelse" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "Datum" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "Användare" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "Grupp" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 msgid "Fold&ers first" msgstr "Kataloger först" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "Omvänd ordning" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "Familj:" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "Vikt:" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "Stil:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "Storlek:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Teckenuppsättning:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Godtycklig" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "Västeuropeisk" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Östeuropeisk" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Sydeuropeisk" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Nordeuropeisk" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Kyrillisk" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Arabisk" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Grekisk" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Hebreisk" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Turkisk" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Nordisk" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Thailändsk" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Baltisk" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Keltisk" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Rysk" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Centraleuropeisk (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Rysk (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Grekisk (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Turkisk (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Hebreisk (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Arabisk (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Baltisk (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Vietnamesisk (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Thailändsk (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Sätt bredd:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "Ultrasammandragen" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Extrasammandragen" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Sammandragen" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "Halvsammandragen" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Normal" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Halvutdragen" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Utdragen" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Extrautdragen" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "Ultrautdragen" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "Teckenbredd:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Fast" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Varierbar" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Skalbara:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Alla typsnitt:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Visa:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Starta Xfe som root" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&Nej" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Ja" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Avsluta" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "Spara" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Ja till allt" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Skriv in användarlösenordet:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Skriv in rootlösenordet:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "Ett fel har uppstått!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Namn: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Storlek i rot: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Typ: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Senast ändrad: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Användare: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Grupp: " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Rättigheter: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Orginalsökväg: " #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Borttagen: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Storlek: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Storlek" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Typ" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Filändelse" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Senast ändrad" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Rättigheter" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "Kunde inte ladda bild" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Originalsökväg" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Borttagen" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Filter" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Status" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, 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:1035 ../src/SearchPanel.cpp:790 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Kommandolog" #: ../src/FilePanel.cpp:1832 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Filnamnet är tomt, operationen avbruten!" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "Till katalog:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Kan inte skriva till papperskorgen %s: Åtkomst nekas" #: ../src/FilePanel.cpp:2408 ../src/SearchPanel.cpp:2936 #, c-format msgid "Move file %s to trash can?" msgstr "Flytta filen %s till papperskorgen?" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "Flytta %s valda objekt till papperskorgen?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, 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:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "Flytten till papperskorgen avbruten!" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Återställ filen %s till sin ursprungliga plats %s ?" #: ../src/FilePanel.cpp:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "Återställ %s valda objekt till deras ursprungliga platser?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "Kan inte skapa katalogen %s: %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, c-format msgid "Definitively delete file %s ?" msgstr "Slutgiltigt ta bort katalog %s ?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, c-format msgid "Definitively delete %s selected items?" msgstr "Slutgiltigt ta bort %s valda objekt?" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "Filen %s är skrivskyddad, ta bort den ändå?" #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "Filborttagningen avbruten!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3758 msgid "Create new file:" msgstr "Skapa ny fil:" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "Kan inte skapa filen %s: %s" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "Kan inte skapa filen %s" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Kan inte sätta rättigheterna i %s: %s" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "Det går inte att sätta rättigheterna i %s" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Skapa ny symbolisk länk:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Ny symlänk" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "Välj en symlänkangiven fil eller katalog" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "Symlänkkällan %s existerar inte" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Öppna vald(a) fil(er) med:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Öppna med" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "Associera" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Visa filer:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "Ny &fil..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Ny s&ymlänk..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "Fi<er..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "Komplett fillista" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "Rättigheter" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "Ny &fil..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Montera" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "Öppna med..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Öppna" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 #, fuzzy msgid "Extr&act to folder " msgstr "Packa upp till katalog " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "Packa upp här" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "Packa upp..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "Vi&sa" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Installera/Uppgradera" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "Avinstallera" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Redigera" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 #, fuzzy msgid "Com&pare..." msgstr "Ersätt..." #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4672 #, fuzzy msgid "Packages &query " msgstr "Paketförfrågan " #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 msgid "Scripts" msgstr "Skript" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 msgid "&Go to script folder" msgstr "Gå till skriptkatalog" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Kopiera till..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 msgid "M&ove to trash" msgstr "Flytta till papperskorgen" #: ../src/FilePanel.cpp:4695 msgid "Restore &from trash" msgstr "Återställ från papperskorgen" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 #, fuzzy msgid "Compare &sizes" msgstr "Källa:" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 #, fuzzy msgid "P&roperties" msgstr "Egenskaper" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Välj en destinationskatalog" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Alla filer" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Installera/Uppgradera paket" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Avinstallera paket" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Fel: Utgrening misslyckades: %s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, c-format msgid "Can't create script folder %s: %s" msgstr "Kan inte skapa skriptkatalogen %s: %s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, c-format msgid "Can't create script folder %s" msgstr "Kan inte skapa skriptkatalogen %s" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Ingen kompatibel pakethanterare (rpm eller dpkg) hittad!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "Filen %s tillhör inte något paket." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Information" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, 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:6220 ../src/SearchPanel.cpp:2887 #, fuzzy msgid "Sizes of Selected Items" msgstr "Vald text:" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 bytes" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s i %s valda objekt" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s i %s valda objekt" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s i %s valda objekt" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s i %s valda objekt" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " katalogen:" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d filer, %d kataloger" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d filer, %d kataloger" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d filer, %d kataloger" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Länk" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "Stäng" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Kan inte duplicera rör: %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 msgid "Can't duplicate pipes" msgstr "Kan inte duplicera rör" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> KOMMANDOT AVBRUTET <<<<" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "Inställningar" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Nuvarande tema" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Alternativ" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "Använd papperskorgen för borttagning (säkrast)" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Inkludera ta bort utan papperskorgen (permanent borttagning)" #: ../src/Preferences.cpp:185 msgid "Auto save layout" msgstr "Autospara layouten" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Spara fönsterposition" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "Enkelklick för att öppna kataloger" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Enkelklick för att öppna filer" #: ../src/Preferences.cpp:189 msgid "Display tooltips in file and folder lists" msgstr "Visa verktygstips i fil- och kataloglistor" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "Relativ skalning av fillistor" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Visa en sökvägslänkare ovanför fillistor" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Notifiera när program startas" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Bekräfta körning av textfil" #: ../src/Preferences.cpp:198 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)" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:213 #, fuzzy msgid "Start in home folder" msgstr "I katalog:" #: ../src/Preferences.cpp:214 #, fuzzy msgid "Start in current folder" msgstr "Kan inte skapa katalogen %s" #: ../src/Preferences.cpp:215 #, fuzzy msgid "Start in last visited folder" msgstr "Sök filer och kataloger." #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "Mjuk rullning i fillistor och textfönster" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Musrullningshastighet:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Rullistsfärg" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Rootläge" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "Tillåt rootläge" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Autententisering med sudo (användarlösenordet)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Autententisering med su (använder rootlösenord)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Kommandot misslyckades: %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Kör kommando" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "&Dialoger" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Bekräftelser" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "Bekräfta kopiera/flytta/namnbyte/symlänkning" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "Bekräfta drag och släpp" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "Bekräfta flytt till/återställning från papperskorgen" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Bekräfta borttagning" #: ../src/Preferences.cpp:331 msgid "Confirm delete non empty folders" msgstr "Bekräfta borttagning av ej tomma kataloger" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Bekräfta överskrivning" #: ../src/Preferences.cpp:333 msgid "Confirm execute text files" msgstr "Bekräfta körning av textfil" #: ../src/Preferences.cpp:334 #, fuzzy msgid "Confirm change properties" msgstr "Filegenskaper" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Varningar" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "Varna när nuvarande katalog sätts i sökfönstret" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Varna när monteringspunkter inte svarar" #: ../src/Preferences.cpp:340 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Visa montera/avmontera framgångsmeddelanden" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "Varna när datum bevarande misslyckades" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Varna när programmet körs som root" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Program" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Förvalda program" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Textvisare:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Texteditor:" #: ../src/Preferences.cpp:405 #, fuzzy msgid "File comparator:" msgstr "Filrättigheter" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Bildeditor:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Bildvisare:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Arkiverare:" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "Pdfvisare:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Audiospelare:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Videospelare:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "Terminal:" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 #, fuzzy msgid "Mount:" msgstr "Montera" #: ../src/Preferences.cpp:462 #, fuzzy msgid "Unmount:" msgstr "Avmontera" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Färgtema" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Egna färger" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Dubbelklicka för att välja färgen" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Basfärg" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Kantfärg" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Bakgrundsfärg" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Textfärg" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Markeringens bakgrundsfärg" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Markeringens textfärg" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Fillistans bakgrundsfärg" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Fillistans textfärg" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Fillistans markeringsfärg" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "Förloppsfärg" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Uppmärksamhetsfärg" #: ../src/Preferences.cpp:500 msgid "Scrollbar color" msgstr "Rullistsfärg" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Kontroller" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Standard (klassiska kontroller)" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (moderna kontroller)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "Ikontemats sökväg" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tVälj sökväg..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "Typ&snitt" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Typsnitt" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Normalt typsnitt:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Välj..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Text-typsnitt:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "Tangent&bindningar" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Tangentbindningar" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Ändra tangentbindningar..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Återställ ursprungliga tangentbindningar..." #: ../src/Preferences.cpp:634 msgid "Select an icon theme folder or an icon file" msgstr "Välj en ikontemakatalog eller en ikonfil" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "Ändra normalt typsnitt" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Ändra text-typsnitt" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Skapa ny fil" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Skapa ny katalog" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "Kopiera markeringen till urklippet" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "Klipp ut markeringen till urklippet" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Klistra in från urklippet" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Öppna fil" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Avsluta programmet" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Markera allt" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Avmarkera allt" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Invertera markering" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Visa hjälp" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Visa/dölj gömda filer" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Visa/dölj miniatyrbilder" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Stäng fönster" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Skriv ut fil" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Sök" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Sök föregående" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Sök nästa" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 #, fuzzy msgid "Vertical panels" msgstr "Byt paneler" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 #, fuzzy msgid "Horizontal panels" msgstr "Byt paneler" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Uppdatera paneler" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Skapa ny symbolisk länk" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Filegenskaper" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Flytta filer till papperskorgen" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Återställ filer från papperskorgen" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Ta bort filer" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Skapa nytt fönster" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Skapa nytt rootfönster" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Kör kommando" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Starta terminal" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Montera filsystem... (endast Linux)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Avmontera filsystem... (endast Linux)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "En-panelsläge" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Träd- och panelläge" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "Två-panelsläge" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Träd- och tvåpanelsläge" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Radera platsfältet" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Döp om fil" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Kopiera filer till plats" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Flytta filer till plats" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Symlänka filer till plats" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Lägg till bokmärke" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Synkronisera paneler" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Byt paneler" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Gå till papperskorgen" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Töm papperskorgen" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Visa" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Redigera" #: ../src/Preferences.cpp:1014 msgid "Toggle display hidden folders" msgstr "Visa/dölj gömda kataloger" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Filtrera filer" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "Zooma bild till 100%" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Anpassa till fönster" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "Rotera bild till vänster" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "Rotera bild till höger" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "Spegla bild horisontellt" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "Spegla bild vertikalt" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Skapa nytt dokument" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Spara ändringar till fil" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Gå till rad" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Ångra senaste ändringen" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Upprepa senaste ändringen" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "Ersätt sträng" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "Växla radbrytningsläge" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "Växla radnumreringsläge" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Växla till små bokstäver" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Växla till stora bokstäver" #. Confirmation message #: ../src/Preferences.cpp:1114 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:1115 msgid "Restore default key bindings" msgstr "Återställ ursprungliga tangentbindningar" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Starta om" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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/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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "Stäng" #: ../src/SearchPanel.cpp:165 msgid "Refresh panel" msgstr "Uppdatera panel" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Kopiera valda filer till urklippet" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Klipp ut valda filer till urklippet" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Visa egenskaper hos valda filer" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Flytta valda filer till papperskorgen" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Ta bort valda filer" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "Nuvarande katalog har satts till '%s'" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Komplett fillista" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "Ignorera stora/små" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "&Autoförstora" #: ../src/SearchPanel.cpp:2421 #, fuzzy msgid "&Packages query " msgstr "&Paketförfrågan " #: ../src/SearchPanel.cpp:2435 msgid "&Go to parent folder" msgstr "Gå till överliggande katalog" #: ../src/SearchPanel.cpp:3658 #, c-format msgid "Copy %s items" msgstr "Kopiera %s objekt" #: ../src/SearchPanel.cpp:3674 #, c-format msgid "Move %s items" msgstr "Flytta %s objekt" #: ../src/SearchPanel.cpp:3690 #, c-format msgid "Symlink %s items" msgstr "Symlänka %s objekt" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr "0 objekt" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 objekt" #: ../src/SearchWindow.cpp:71 msgid "Find files:" msgstr "Hitta filer:" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:79 msgid "Hidden files\tShow hidden files and folders" msgstr "Visa gömda filer\tVisa gömda filer och kataloger" #: ../src/SearchWindow.cpp:84 msgid "In folder:" msgstr "Till katalog:" #: ../src/SearchWindow.cpp:86 msgid "\tIn folder..." msgstr "\tTill katalog..." #: ../src/SearchWindow.cpp:89 msgid "Text contains:" msgstr "Text innehåller:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:97 msgid "More options" msgstr "Fler alternativ" #: ../src/SearchWindow.cpp:98 msgid "Search options" msgstr "Sökalternativ" #: ../src/SearchWindow.cpp:99 msgid "Reset\tReset search options" msgstr "Återställ\tÅterställ sökalternativ" #: ../src/SearchWindow.cpp:115 msgid "Min size:" msgstr "Min storlek:" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "Filtrera enligt minimal filstorlek (KBytes)" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 msgid "Max size:" msgstr "Max storlek:" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "Filtrera enligt maximal filstorlek (KBytes)" #. Modification date #: ../src/SearchWindow.cpp:126 msgid "Last modified before:" msgstr "Senast modifierad före:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "Filtrera enligt maximalt ändringsdatum (dagar)" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "Dagar" #: ../src/SearchWindow.cpp:131 msgid "Last modified after:" msgstr "Senast modifierad efter:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "Filtrera enligt minimalt ändringsdatum (dagar)" #. User and group #: ../src/SearchWindow.cpp:137 msgid "User:" msgstr "Användare:" #: ../src/SearchWindow.cpp:140 msgid "\tFilter by user name" msgstr "\tFiltrera enligt användarnamn" #: ../src/SearchWindow.cpp:142 msgid "Group:" msgstr "Grupp:" #: ../src/SearchWindow.cpp:145 msgid "\tFilter by group name" msgstr "\tFiltrera enligt gruppnamn" #. File type #: ../src/SearchWindow.cpp:178 msgid "File type:" msgstr "Filtyp:" #: ../src/SearchWindow.cpp:181 msgid "File" msgstr "Fil" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "Rör" #: ../src/SearchWindow.cpp:187 msgid "\tFilter by file type" msgstr "\tFiltrera enligt filtyp" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 msgid "Permissions:" msgstr "Rättigheter:" #: ../src/SearchWindow.cpp:194 msgid "\tFilter by permissions (octal)" msgstr "\tFiltrera enligt filrättigheter (oktala)" #. Empty files #: ../src/SearchWindow.cpp:197 msgid "Empty files:" msgstr "Tomma filer:" #: ../src/SearchWindow.cpp:198 msgid "\tEmpty files only" msgstr "\tEndast tomma filer" #: ../src/SearchWindow.cpp:202 msgid "Follow symbolic links:" msgstr "Följ symboliska länkar:" #: ../src/SearchWindow.cpp:203 msgid "\tSearch while following symbolic links" msgstr "\tSök och följ symbolisk länkar" #: ../src/SearchWindow.cpp:207 #, fuzzy msgid "Non recursive:" msgstr "Rekursivt" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:212 #, fuzzy msgid "Ignore other file systems:" msgstr "Avmontera filsystem..." #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "&Starta\tStarta sökningen (F3)" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "&Stoppa\tStoppa sökningen (Esc)" #: ../src/SearchWindow.cpp:782 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Sökning startad - Var god vänta..." #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " objekt" #: ../src/SearchWindow.cpp:938 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Sökresultat" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "In/ut-fel" #: ../src/SearchWindow.cpp:973 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "Sökning stoppad..." #: ../src/SearchWindow.cpp:1147 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:201 #: ../src/XFileImage.cpp:327 ../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:808 #, fuzzy msgid "&Vertical panels" msgstr "Byt paneler" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 #, 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:781 msgid "&Thumbnails" msgstr "Miniatyrbilder" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "Pappers&korgen" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "Xfe körs som root!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Kan inte skapa Xfe konfigurationskatalog %s : %s" #: ../src/XFileExplorer.cpp:2274 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Kan inte skapa Xfe konfigurationskatalog %s" #: ../src/XFileExplorer.cpp:2296 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:2300 msgid "XFE configuration file" msgstr "XFE konfigurationsfil" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Kan inte skapa papperskorgens 'files' katalog %s: %s" #: ../src/XFileExplorer.cpp:2339 ../src/XFileExplorer.cpp:3992 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Kan inte skapa papperskorgens 'files' katalog %s" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "Kan inte skapa papperskorgens 'files' katalog %s : %s" #: ../src/XFileExplorer.cpp:2361 ../src/XFileExplorer.cpp:4007 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Kan inte skapa papperskorgens 'files' katalog %s" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "Hjälp" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer Version %s" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Baserad på X WinCommander av Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3214 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" "Finnish: Kimmo Siira\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:3246 #, fuzzy msgid "About X File Explorer" msgstr "Om X File Explorer" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Execute the command:" msgstr "Kör kommandot:" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Console mode" msgstr "Konsolläge" #: ../src/XFileExplorer.cpp:3896 msgid "Search files and folders" msgstr "Sök filer och kataloger." #. Confirmation message #: ../src/XFileExplorer.cpp:3958 #, 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:3958 #, fuzzy msgid " in " msgstr " i rot" #: ../src/XFileExplorer.cpp:3959 #, 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:4049 #, 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:4051 msgid "Trash size" msgstr "Papperskorgens storlek" #: ../src/XFileExplorer.cpp:4058 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Papperskorgens 'files' katalog %s är inte läsbar!" #: ../src/XFileExplorer.cpp:4512 ../src/XFileExplorer.cpp:4586 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Kan inte gå till katalog %s: %s" #: ../src/XFileExplorer.cpp:4591 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "&Filassociationer" #: ../src/XFileExplorer.cpp:4596 #, fuzzy, c-format msgid "File association not found: %s" msgstr "&Filassociationer" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Inställningar" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Öppna paketfil" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "Öppna" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "Verktygsfält" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "Om X File Package" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "Avinstallera" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Installera/Uppgradera" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "Beskrivning" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "Fillista" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "Om X File Package" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "RPM källkodspaket" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "RPM-paket" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "DEB-paket" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Öppna dokument" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Inget paket öppnat" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Okänt paketformat" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Installera/Uppgradera paket" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Avinstallera paket" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[RPM paket]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[DEB paket]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "Förfrågan av %s misslyckades!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Fel vid filöppning" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Kunde inte öppna filen: %s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "GIF-bild" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "BMP-bild" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "XPM-bild" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "PCX-bild" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "ICO-bild" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "RGB-bild" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "XBM-bild" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "TARGA-bild" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "PPM-bild" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "PNG-bild" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "JPEG-bild" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "TIFF-bild" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "&Bild" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Öppna" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Öppna bildfil." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Skriv ut" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 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:660 msgid "Zoom in" msgstr "Zooma in" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "Zooma in bild." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Zooma ut" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "Zooma ut bild." #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "Zooma 100%" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "Zooma bild till 100%." #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "Zooma anpassat" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "Zooma för att passa fönstret." #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "Rotera vänster" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Rotera bild vänster." #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Rotera höger" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Rotera bild höger." #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Spegla horisontellt" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "Spegla bilden horisontellt." #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Spegla vertikalt" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Spegla bilden vertikalt." #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "Skriv &ut..." #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "Rensa senaste filer" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "Rensa senaste filer." #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Avsluta Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "Zooma in" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "Zooma ut" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "Zooma 100%" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "Anpassa till fönstret" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "Rotera &höger" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Rotera höger." #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "Rotera &vänster" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Rotera vänster." #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "Spegla horisontellt" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Spegla horisontellt." #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "Spegla vertikalt" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Spegla vertikalt." #: ../src/XFileImage.cpp:775 msgid "Show hidden files and folders." msgstr "Visa gömda filer och kataloger." #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Visa miniatyrbilder." #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Visa katalog med stora ikoner." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Visa katalog med små ikoner." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "&Detaljerad fillista" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Visa detaljerad kataloglista." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "Visa ikoner radvis." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "Visa ikoner kolumnvis." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Autoförstora ikonnamn." #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Visa verktygsfältet." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "&Fillista" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Visa fillista." #: ../src/XFileImage.cpp:824 #, fuzzy msgid "File list &before" msgstr "Fillistans textfärg" #: ../src/XFileImage.cpp:824 #, fuzzy msgid "Display file list before image window." msgstr "Visa katalog med stora ikoner." #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "&Filtrera bilder" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Visa endast bildfiler." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "Anpassa till fönstret" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "Zooma för att passa fönstret vid bildöppning." #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "&Om X File Image" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "&Om X File Image." #: ../src/XFileImage.cpp:1333 #, 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:1335 msgid "About X File Image" msgstr "&Om X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Fel vid bildöppning" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Typ som ej stöds: %s" #: ../src/XFileImage.cpp:1464 msgid "Unable to load image, the file may be corrupted" msgstr "Kunde inte läsa bilden, filen kan vara korrupt" #: ../src/XFileImage.cpp:1504 #, 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:1619 msgid "Open Image" msgstr "Öppna bild" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Printkommando: \n" "(ex: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Fel vid sparande" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "Kunde inte öppna filen: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "Filen är för stor: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "Filen: %s avhuggen." #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "namnlös" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "namnlös%d" #: ../src/WriteWindow.cpp:1477 #, 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:1479 msgid "About X File Write" msgstr "Om X File Write" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Byt typsnitt" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Textfiler" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "C källkodsfiler" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "C++ källkodsfiler" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "C/C++ headerfiler" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "HTML filer" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "PHP filer" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Osparat dokument" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "Spara %s till fil?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Spara dokument" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Skriv över dokument" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "Skriv över existerande dokument: %s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (ändrad)" #: ../src/WriteWindow.cpp:1851 #, fuzzy msgid " (read only)" msgstr "Skrivskyddad" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "Filen blev ändrad" #: ../src/WriteWindow.cpp:2071 #, 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:2132 msgid "Replace" msgstr "Ersätt" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Gå till rad" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "&Gå till radnummer:" #. Usage message #: ../src/XFileWrite.cpp:217 #, 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Fel: Kan inte stänga katalogen %s\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 #, fuzzy msgid "copy" msgstr "Kopiera fil" #: ../src/xfeutils.cpp:1413 #, c-format msgid "Error: Can't read group list: %s" msgstr "Fel: Kan inte läsa grupplistan: %s" #: ../src/xfeutils.cpp:1417 #, 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" #~ msgid "&Themes" #~ msgstr "&Teman" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "Bekräfta körning av textfil" #~ msgid "KB" #~ msgstr "KB" #~ 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?" #~ 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?" #~ 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?" #~ 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?" #~ 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?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ msgstr "Ett fel har uppstått!" #, 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.44/po/Makevars0000644000200300020030000000341613501733230011240 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.44/po/ru.po0000644000200300020030000066070414023353061010543 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: 2021-03-14 10:23+0100\n" "PO-Revision-Date: 2018-05-19 19:22+0300\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.4\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:333 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:467 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "Внимание: Не найден режим панели, возврат к сохраненному режиму\n" #: ../src/main.cpp:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Ошибка загрузки значков" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "" "Невозможно загрузить некоторые значки. Пожалуйста, проверьте правильность " "пути!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" msgstr "" "Невозможно загрузить некоторые значки. Пожалуйста, проверьте правильность " "пути!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Параметры" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&Главные" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Каталог" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Символьное устройство" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Блочное устройство" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Именованный канал" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Сокет" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Исполняемый" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Документ" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Неверная ссылка" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 msgid "Link to " msgstr "Ссылка на " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Адрес:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Тип:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu байт)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu байт)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Размер:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Выделение:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Несколько типов" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d элементы" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d файлы, %d каталоги" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d файлы, %d каталоги" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d файлы, %d каталоги" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d файлы, %d каталоги" #: ../src/Properties.cpp:1252 msgid "Change properties of the selected folder?" msgstr "Показать свойства выбранных файлов?" #: ../src/Properties.cpp:1256 msgid "Change properties of the selected file?" msgstr "Показать свойства выбранных файлов?" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 msgid "Confirm Change Properties" msgstr "Подтвердить изменение свойств" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Предупреждение" #: ../src/Properties.cpp:1401 msgid "Invalid file name, operation cancelled" msgstr "Неверное имя файла, операция отменена" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Символ / не разрешен в именах каталогов, операция отменена" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 msgid "The / character is not allowed in file names, operation cancelled" msgstr "Символ / не разрешен в именах файлов, операция отменена" #. Error message box #. Error #: ../src/Properties.cpp:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Невозможно записать в %s: доступ запрещен" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "Каталог %s не существует" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Переименовать файл" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Владелец файла" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "Изменение владельца прервано!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "Изменить владельца в %s не удалось: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "Смена владельца %s не удалась" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" "Установка специальных разрешений может быть опасной! Все равно продолжать?" #: ../src/Properties.cpp:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Изменение полномочий %s не удалось: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Права доступа к файлу" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Изменение прав доступа к файлам прервано!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "Изменение полномочий %s не удалось" #: ../src/Properties.cpp:1628 msgid "Apply permissions to the selected items?" msgstr "Применить изменения к выбранным элементам?" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "Изменение прав доступа к файлам прервано!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Выбрать исполняемый файл" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Все файлы" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "Изображения PNG" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "Изображения GIF" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "Изображения BMP" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Выбрать значок файла" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%u файлов а %u папок" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%u файлов а %u папок" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%u файлов а %u папок" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u файлов а %u папок" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Копировать сюда" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Переместить сюда" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Ссылка сюда" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Отменить" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Скопировать файл" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Переместить файл" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Файл символической ссылки" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Копировать" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Копирование %s файлов/папок.\n" "Из: %s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Переместить" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Перемещение %s файлов/папок.\n" "Из: %s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Символическая ссылка" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "Для:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "Произошла ошибка во время перемещения файлов!" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "Перемещение файла прервано!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "Произошла ошибка при копировании файлов!" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "Копирование файла прервано!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "Точка монтирования %s не отвечает..." #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "0 байт в root" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 msgid "Panel is active" msgstr "Панель активна" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 msgid "Activate panel" msgstr "Активировать панель" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "&Добавить к архиву..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Копировать" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "&Вырезать" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "Вст&авить" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Пере&именовать" #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Скоп&ировать в..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "Пе&реместить в..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, c-format msgid "Can't enter folder %s: %s" msgstr "Не удаётся войти в каталог %s: %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, c-format msgid "Can't enter folder %s" msgstr "Не удаётся войти в каталог %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 msgid "File name is empty, operation cancelled" msgstr "Операция отменена, отсутствует имя файла" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Создать архив" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Копировать" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "Копировать элементы %s от: %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Переименовать" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Переименовать" #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Копировать в" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Переместить" #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "Переместить элементы %s из: %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Символическая ссылка" #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "Символическая ссылка %s элементов из: %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s не является каталогом" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "Произошла ошибка при операции с символической ссылкой!" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "Символическая ссылка - операция отменена!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "Удалить каталог %s безвозвратно?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Подтвердить удаление" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Удалить файл" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Каталог %s не пустой, все равно удалить?" #: ../src/DirPanel.cpp:2264 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "Каталог %s защищён от записи, все равно удалить безвозвратно?" #: ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "Удаление отменено!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "Переместить каталог %s в корзину?" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Подтвердить корзину" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Переместить в корзину" #: ../src/DirPanel.cpp:2360 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "Каталог %s защищён от записи, переместить в корзину?" #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "При перемещении в корзину произошла ошибка!" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "Перемещение каталога в корзину отменено!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Восстановить из корзины" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Восстановить каталог %s по изначальному пути %s ?" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Подтвердить удаление" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "Восстановление данных для %s не доступно" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "Родительский каталог %s не существует, хотите её создать?" #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "Невозможно создать каталог %s : %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "Невозможно создать каталог %s" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 msgid "An error has occurred during the restore from trash operation!" msgstr "При восстановлении из корзины произошла ошибка!" #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "Восстановление файла из корзины отменено!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Создать новый каталог:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Новай каталог" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 msgid "Folder name is empty, operation cancelled" msgstr "Пустое имя каталога, операция отменена" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, c-format msgid "Can't execute command %s" msgstr "Не удалось выполнить команду %s" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Монтировать" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Размонтировать" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " файловая система..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " каталог: " #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " операция отменена!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 msgid "Delete:" msgstr "Удаление: " #: ../src/File.cpp:136 msgid "From:" msgstr "Из: " #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Изменение прав доступа..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "Файл: " #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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 "" "Каталог %s уже существует.\n" "Перезаписать?\n" "=> Внимание, все файлы в этом каталоге будут безвозвратно утеряны!" #: ../src/File.cpp:304 ../src/File.cpp:2031 #, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "" "Файл %s уже существует.\n" "Перезаписать?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:2032 msgid "Confirm Overwrite" msgstr "Подтвердить перезапись" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "Невозможно скопировать файл %s: %s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "Невозможно скопировать файл %s" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "Источник: " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "Назначение: " #: ../src/File.cpp:604 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "Не удается сохранить дату при копировании файлов %s : %s" #: ../src/File.cpp:608 #, c-format msgid "Can't preserve date when copying file %s" msgstr "Не удается сохранить дату при копировании файлов %s" #: ../src/File.cpp:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Невозможно скопировать каталог %s: доступ запрещён" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Невозможно скопировать файл %s : доступ запрещён" #: ../src/File.cpp:791 #, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "Не удается сохранить дату при копировании каталога %s : %s" #: ../src/File.cpp:795 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "Не удается сохранить дату при копировании каталога %s" #: ../src/File.cpp:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "Источника %s не существует" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, c-format msgid "Destination %s is identical to source" msgstr "Цель %s совпадает с источником" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, c-format msgid "Target %s is a sub-folder of source" msgstr "Цель %s это подкаталог источника" #. Set labels for progress dialog #: ../src/File.cpp:1048 msgid "Delete folder: " msgstr "Удалить каталог: " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "Источник: " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "Невозможно удалить каталог %s: %s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "Невозможно удалить каталог %s" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "Невозможно удалить файл %s: %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "Невозможно удалить файл %s" #: ../src/File.cpp:1213 #, c-format msgid "Destination %s already exists" msgstr "Цель %s уже существет" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, c-format msgid "Can't rename to target %s: %s" msgstr "Невозможно переименовать в %s: %s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "Невозможно создать символическую ссылку %s: %s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "Невозможно создать символическую ссылку %s" #: ../src/File.cpp:1655 ../src/File.cpp:1852 msgid "Folder: " msgstr "Каталог: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Распаковать архив" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Добавить в архив" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Команда: %s завершилась с ошибкой" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Успешно" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "Каталог %s был успешно смонтирован." #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Каталог %s был успешно размонтирован." #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "Установить/Обновить пакет" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "Установить пакет: %s \n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Удалить пакет" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 msgid "Go to previous folder" msgstr "Перейти в предыдущий каталог" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 msgid "Go to next folder" msgstr "Перейти следующий каталог" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 msgid "Go to parent folder" msgstr "Перейти в родительский каталог" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "Перейти в домашний каталог" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 msgid "Go to working folder" msgstr "Перейти в рабочий каталог" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Новый каталог" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Большие значки в списке" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Маленькие значки в списке" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Подробный список файлов" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Показать скрытые файлы" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "Скрыть скрытые файлы" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Показать миниатюры" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 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:3758 msgid "New File" msgstr "Новый файл" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "Каталог или файл %s уже существуют" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "&Домой" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 msgid "Go &work" msgstr "В &рабочую" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "&Новый файл..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Новый &каталог..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "Скр&ытые файлы" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "&Миниатюры" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "&Большие значки" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "М&аленькие значки" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "Списо&к" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "Строк&и" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "&Колонки" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "Авторазмер" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "Им&я" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "&Размер" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Тип" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "Рас&ширение" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "&Дата" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "Поль&зователь" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "Г&руппа" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 msgid "Fold&ers first" msgstr "Сначала каталоги" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "&Обратный порядок" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "&Гарнитура:" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "&Высота: " #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "&Начертание: " #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "&Размер:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Кодировка:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Все" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "Западноевропейская" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Восточноевропейская" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Южноевропейская" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Северноевропейская" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Кириллица" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Арабская" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Греческая" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Иврит" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Турецкая" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Скандинавская" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Тайская" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Прибалтийская" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Кельтская" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Русская" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Центральноевропейская (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Русская (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Латиница1 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Греческая (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Турецкая (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Иврит (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Арабская (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Прибалтийская (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Вьетнамская (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Тайская (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "Юникод" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Утончение:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "Полное" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Среднее" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Утонченное" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "Слабое" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Нет" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Слабо-расширенное" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Расширенное" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Средне-расширенное" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "Полностью расширенное" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "Шаг:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Фиксированный" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Переменный" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Масштабировать:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Все шрифты: " #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Образец:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Запуск Xfe от root!" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&Нет" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Да" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Выйти" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Сохранить" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Д&а для всех" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Ввод пароля пользователя:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Ввод пароля администратора: " #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "Произошла ошибка!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Имя: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Размер в root:" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Тип:" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Дата изменения:" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Пользователь: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Группа:" #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Права:" #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Первоначальный путь:" #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Дата удаления:" #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Размер:" #: ../src/FileList.cpp:151 msgid "Size" msgstr "Размер" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Тип" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Расширение" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Дата модификации" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Права" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "Невозможно загрузить изображение" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Первоначальный путь" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Дата удаления" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Фильтр" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Статус" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "%s является исполнимым текстовым файлом, что вы хотите сделать?" #: ../src/FilePanel.cpp:1035 ../src/SearchPanel.cpp:790 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Журнал команд" #: ../src/FilePanel.cpp:1832 msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "" "Символ '/' невозможно использовать в именах файлов или каталогов, операция " "отменена" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "В каталог:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Невозможно удалить в корзину %s: доступ запрещён" #: ../src/FilePanel.cpp:2408 ../src/SearchPanel.cpp:2936 #, c-format msgid "Move file %s to trash can?" msgstr "Переместить каталог %s в корзину?" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "Переместить выделенные элементы %s в корзину?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "Файл %s защищен от записи, удалить в корзину?" #: ../src/FilePanel.cpp:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "Перемещение файла в корзину прервано!" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Восстановить файл %s в первоначальный адрес %s ?" #: ../src/FilePanel.cpp:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "Восстановить выбранные элементы %s в первоначальное положение?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "Невозможно создать каталог %s: %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, c-format msgid "Definitively delete file %s ?" msgstr "Удалить каталог %s безвозвратно?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, c-format msgid "Definitively delete %s selected items?" msgstr "Удалить безвозратно выделенные элементы %s?" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "Файл %s защищен от записи, удалить?" #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "Удаление файла отменено!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "Сравнить" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "С:" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" "Команда %s не найдена. Пожалуйста, сначала укажите программу для сравнения в " "\"Настройках\"!" #: ../src/FilePanel.cpp:3758 msgid "Create new file:" msgstr "Создать новый файл:" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "Невозможно создать файл %s: %s" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "Невозможно создать файл %s" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Не удалось установить права доступа в %s: %s" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "Не удалось установить права доступа в %s" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Создать новую символическую ссылку:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Новая символическая ссылка" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "Выбрать символическую ссылку упомянутого файла или каталога" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "Символическая ссылка на источник %s не существует" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Открыть выделенные файлы с помощью:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Открыть с помощью" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "&Ассоциация" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Показать файлы:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "Новый фа&йл..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Новая символическа&я ссылка..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "Фи&льтр..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "С&писок" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "&Права" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "&Новый файл..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Монтировать" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "О&ткрыть с помощью..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Открыть" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 msgid "Extr&act to folder " msgstr "&Распаковать в каталог" #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "Р&аспаковать сюда" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "Распакова&ть в..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Вид" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Установить/Об&новить" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "Удал&ить" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Правка" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 msgid "Com&pare..." msgstr "Сравнение..." #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "Сра&внение" #: ../src/FilePanel.cpp:4672 msgid "Packages &query " msgstr "Запрос пакетов" #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 msgid "Scripts" msgstr "Сценарии" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 msgid "&Go to script folder" msgstr "&Перейти в каталог сценария" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Скопиро&вать в..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 msgid "M&ove to trash" msgstr "Переместить в корзину" #: ../src/FilePanel.cpp:4695 msgid "Restore &from trash" msgstr "Восстановить из корзины" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 msgid "Compare &sizes" msgstr "Сравнить размеры:" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 msgid "P&roperties" msgstr "Параметры" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Выбрать каталог назначения" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Все файлы" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Установка/Обновление пакета" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Удаление пакета" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Ошибка: Ветвление не удалось: %s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, c-format msgid "Can't create script folder %s: %s" msgstr "Невозможно создать каталог %s : %s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, c-format msgid "Can't create script folder %s" msgstr "Невозможно создать каталог %s" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Не найден совместимый менеджер пакетов (rpm или dpkg)!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "Файл %s не входит ни в один пакет." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Информация" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, c-format msgid "File %s belongs to the package: %s" msgstr "Файл %s входит в пакет: %s" #. Make and show command window #: ../src/FilePanel.cpp:6220 ../src/SearchPanel.cpp:2887 msgid "Sizes of Selected Items" msgstr "Размеры выбранных элементов" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 байт" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s в %s выбранных объектах" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s в %s выбранных объектах" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s в %s выбранных объектах" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s в %s выбранных объектах" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " каталог: " #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d файлы, %d каталоги" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d файлы, %d каталоги" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d файлы, %d каталоги" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Ссылка" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "&Закрыть" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" "Подождите...\n" "\n" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Невозможно дублировать каналы: %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 msgid "Can't duplicate pipes" msgstr "Невозможно дублировать каналы" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> КОМАНДА ОТМЕНЕНА <<<<" #: ../src/CommandWindow.cpp:298 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 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 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:135 msgid "Preferences" msgstr "Настройки" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Текущая тема" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Параметры" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "Использовать корзину для удаления файлов" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Удалять без использования корзины (безвозвратное удаление)" #: ../src/Preferences.cpp:185 msgid "Auto save layout" msgstr "Автоматически сохранять схему" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Запоминать расположение окна" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "Открывать каталоги одним кликом" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Открывать файлы одиночным щелчком" #: ../src/Preferences.cpp:189 msgid "Display tooltips in file and folder lists" msgstr "Показывать подсказки в списках файлов и папок" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "Измененять относительный размер списка файлов" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Отображать пути компоновщика выше списка файлов" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Уведомлять о запуске приложений" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Подтверждать выполнение текстовых файлов" #: ../src/Preferences.cpp:198 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 чтобы разобраться с форматом даты)" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "&Режимы" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "Начальный режим" #: ../src/Preferences.cpp:213 msgid "Start in home folder" msgstr "Начать в домашнем каталоге" #: ../src/Preferences.cpp:214 msgid "Start in current folder" msgstr "Начать в текущем каталоге" #: ../src/Preferences.cpp:215 msgid "Start in last visited folder" msgstr "Начать в последнем посещённом каталоге" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "Режим прокрутки" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "Плавно прокручивать спискb файлов и окон" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Скорость прокрутки:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Цвет полосы прокрутки" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Режим администратора" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "Разрешать режим администратора" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Аутентификация с помощью sudo (используется пароль пользователя)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Аутентификация с помощью su (используется пароль root)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Команда: %s завершилась с ошибкой" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Выполнить команду" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "&Диалоги" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Подтверждения" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "" "Подтверждать Копирование/Перемещение/Переименование/Символические ссылки" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "Подтверждать перетаскивания" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "Подтверждать перемещение в корзину/ восстановление из корзины" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Подтверждать удаление" #: ../src/Preferences.cpp:331 msgid "Confirm delete non empty folders" msgstr "Подтверждать удаление не пустых каталогов" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Подтверждать перезапись" #: ../src/Preferences.cpp:333 msgid "Confirm execute text files" msgstr "Подтверждать выполнение текстовых файлов" #: ../src/Preferences.cpp:334 msgid "Confirm change properties" msgstr "Подтверждать установку свойств" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Предупреждения" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "Предупреждать о настройках текущего каталога в окне поиска" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Предупреждать когда точки монтирования не отвечают" #: ../src/Preferences.cpp:340 msgid "Display mount / unmount success messages" msgstr "Отображать удачное монтирования/размонтирования" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "Предупреждать о невозможности сохранения даты" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Предупреждать, если запущено от администратора" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Программы" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Стандартные программы" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Просмотр текста:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Редактирование текста:" #: ../src/Preferences.cpp:405 msgid "File comparator:" msgstr "Сравнитель файлов:" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Редактор изображений:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Просмотрщик изображений:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Архиватор:" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "Просмотр PDF:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Аудио плеер:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Видео плеер:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "Терминал" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "Управление томами" #: ../src/Preferences.cpp:456 msgid "Mount:" msgstr "Монтировать:" #: ../src/Preferences.cpp:462 msgid "Unmount:" msgstr "Размонтировать:" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Цветовая тема" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Пользовательские цвета" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Щёлкнут дважды для настройки цвета" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Основной цвет" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Цвет рамки" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Цвет фона" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Цвет текста" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Цвет фона выделения" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Цвет выделенного текста" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Цвет фона списка файлов" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Цвет текста списка файлов" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Цвет выделенного списка файлов" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "Цвет индикатора выполнений" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Цвет предупреждений" #: ../src/Preferences.cpp:500 msgid "Scrollbar color" msgstr "Цвет полосы прокрутки" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Элементы правления" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Стандарт (обычные элементы управления)" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (требуются современные элементы управления)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "Путь к теме значков" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "Открыть..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Шрифты" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Шрифты" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Обычный шрифт:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Выбрать..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Шрифт текста:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "&Комбинации клавиш" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Комбинации клавиш" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Изменить комбинации клавиш..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Восстановить комбинации клавиш по умолчанию..." #: ../src/Preferences.cpp:634 msgid "Select an icon theme folder or an icon file" msgstr "Выбрать тему значков для файлов и папок" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "Изменить обычный шрифт" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Изменить шрифт текста" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Создать новый файл" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Создать новый каталог" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "Копировать в буфер обмена" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "Вырезать в буфер обмена" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Вставить из буфера обмена" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Открыть файл" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Выйти из приложения" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Выделить все" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Отменить всё выделение" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Обратить выделение" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Показать справку" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Отображение скрытых файлов" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Отображение миниатюр" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Закрыть окно" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Печать файла" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Поиск" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Искать ранее" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Искать далее" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 msgid "Vertical panels" msgstr "Вертикальные панелей" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 msgid "Horizontal panels" msgstr "Горизонтальные панелей" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Обновить панели" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Создать новую символьную ссылку" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Свойства файлов" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Переместить файлы в корзину" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Восстановить файлы из корзины" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Удалить файлы" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Создать новое окно" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Создать новое окно root" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Выполнить команду" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Запустить Терминал" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Монтировать файловую систему (только Linux)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Размонтировать файловую систему (только Linux)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "Одно-панельный режим" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Режим Дерево и панель" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "Режим Две панели" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Режим Дерево и две панели" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Очистить строку адреса" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Переименовать файл" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Скопировать файлы в " #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Переместить файлы в " #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Символическая ссылка адреса файлов" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Добавить закладку" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Синхронизировать панели" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Переключатель панелей" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Перейти в корзину" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Очистить корзину" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Просмотр" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Редактировать" #: ../src/Preferences.cpp:1014 msgid "Toggle display hidden folders" msgstr "Переключить показ скрытых файлов" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Фильтр файлов" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "Увеличить до 100%" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Увеличить до размеров окна" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "Повернуть изображение влево" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "Повернуть изображение вправо" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "Отразить изображение горизонтально" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "Отразить изображение вертикально" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Создать новый документ" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Сохранить изменения в файл" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Перейти к строке" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Отменить последнее изменение" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Вернуть последнее изменение" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "Заменить строку" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "Включить выравнивание слов" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "Включить нумерацию строк" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Включить нижнего регистр" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Включить верхний регистр" #. Confirmation message #: ../src/Preferences.cpp:1114 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:1115 msgid "Restore default key bindings" msgstr "Восстановить значения клавиш по умолчанию" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Перезапустить" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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 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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Закрыть" #: ../src/SearchPanel.cpp:165 msgid "Refresh panel" msgstr "Обновить панели" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Копировать выбранные файлы в буфер обмена" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Вырезать выбранные файлы в буфер обмена" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Показать свойства выбранных файлов" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Удалить выбранные файлы в корзину" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Удалить выбранные файлы" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "Текущий каталог установлена в '%s'" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "&Список" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "Бе&з учёта регистра" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "&Авторазмер" #: ../src/SearchPanel.cpp:2421 msgid "&Packages query " msgstr "Запрос пак&етов " #: ../src/SearchPanel.cpp:2435 msgid "&Go to parent folder" msgstr "&Перейти в родительский каталог" #: ../src/SearchPanel.cpp:3658 #, c-format msgid "Copy %s items" msgstr "Копировать %s элементов" #: ../src/SearchPanel.cpp:3674 #, c-format msgid "Move %s items" msgstr "Перемещение %s элементов" #: ../src/SearchPanel.cpp:3690 #, c-format msgid "Symlink %s items" msgstr "Символическая ссылка %s элементов" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" "Символ '/' не допустим в именах файлов или папок, операция не была выполнена" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "Вы должны ввести абсолютный путь!" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr "0 элементов" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 элемент" #: ../src/SearchWindow.cpp:71 msgid "Find files:" msgstr "Найдено файлов:" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "Игнор регистра\tИгнорировать регистр имени файла" #. Hidden files #: ../src/SearchWindow.cpp:79 msgid "Hidden files\tShow hidden files and folders" msgstr "Скрытые объекты\tПоказать скрытые файлы и каталоги" #: ../src/SearchWindow.cpp:84 msgid "In folder:" msgstr "В каталог:" #: ../src/SearchWindow.cpp:86 msgid "\tIn folder..." msgstr "\tВ каталог..." #: ../src/SearchWindow.cpp:89 msgid "Text contains:" msgstr "Текст содержит:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "Игнор регистра\tИгнорировать регистр текста" #. Search options #: ../src/SearchWindow.cpp:97 msgid "More options" msgstr "Больше опций" #: ../src/SearchWindow.cpp:98 msgid "Search options" msgstr "Опции поиска" #: ../src/SearchWindow.cpp:99 msgid "Reset\tReset search options" msgstr "Сброс\tСбросить опции поиска" #: ../src/SearchWindow.cpp:115 msgid "Min size:" msgstr "Мин. размер:" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "Фильтровать по наименьшей длине файла (КБайты)" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 msgid "Max size:" msgstr "Макс. размер:" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "Фильтровать по наибольшей длине файла (КБайты)" #. Modification date #: ../src/SearchWindow.cpp:126 msgid "Last modified before:" msgstr "Последнее изменение до:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "Фильтровать по наибольшей дате изменения (дни)" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "Дни" #: ../src/SearchWindow.cpp:131 msgid "Last modified after:" msgstr "Последнее изменение после:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "Фильтровать по наименьшей дате изменения (дни)" #. User and group #: ../src/SearchWindow.cpp:137 msgid "User:" msgstr "Пользователь:" #: ../src/SearchWindow.cpp:140 msgid "\tFilter by user name" msgstr "\tФильтр по имени владельца" #: ../src/SearchWindow.cpp:142 msgid "Group:" msgstr "Группа:" #: ../src/SearchWindow.cpp:145 msgid "\tFilter by group name" msgstr "\tФильтр по имени группы" #. File type #: ../src/SearchWindow.cpp:178 msgid "File type:" msgstr "Тип файла:" #: ../src/SearchWindow.cpp:181 msgid "File" msgstr "Файл" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "Именованный канал" #: ../src/SearchWindow.cpp:187 msgid "\tFilter by file type" msgstr "\tФильтр по типу файла" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 msgid "Permissions:" msgstr "Права доступа:" #: ../src/SearchWindow.cpp:194 msgid "\tFilter by permissions (octal)" msgstr "\tФильтр по правам доступа" #. Empty files #: ../src/SearchWindow.cpp:197 msgid "Empty files:" msgstr "Пустые файлы:" #: ../src/SearchWindow.cpp:198 msgid "\tEmpty files only" msgstr "\tТолько пустые файлы" #: ../src/SearchWindow.cpp:202 msgid "Follow symbolic links:" msgstr "Следовать по симв. ссылке:" #: ../src/SearchWindow.cpp:203 msgid "\tSearch while following symbolic links" msgstr "\tИскать следуя по символической ссылке" #: ../src/SearchWindow.cpp:207 msgid "Non recursive:" msgstr "Не рекурсивно:" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "\tНе искать каталоги рекурсивно" #: ../src/SearchWindow.cpp:212 msgid "Ignore other file systems:" msgstr "Игнорировать прочие файловые системы:" #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "\tНе искать в других файловых системах" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "&Старт\tНачать поск (F3)" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "&Стоп\tОстановить поиск (Esc)" #: ../src/SearchWindow.cpp:782 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Поиск запущен, подождите... <<<<" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " Элементы" #: ../src/SearchWindow.cpp:938 msgid ">>>> Search results <<<<" msgstr ">>>> Результаты поиска <<<<" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "Ошибка ввода/вывода" #: ../src/SearchWindow.cpp:973 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Поиск остановлен... <<<<" #: ../src/SearchWindow.cpp:1147 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 "Монтировать (только 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 msgid "&Properties" msgstr "&Параметры" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:201 #: ../src/XFileImage.cpp:327 ../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:808 msgid "&Vertical panels" msgstr "&Вертикальные панели" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 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:781 msgid "&Thumbnails" msgstr "&Миниатюры" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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 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:4240 msgid "T&rash" msgstr "&Корзина" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "&Справка" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "&О программе X File Explorer" #: ../src/XFileExplorer.cpp:2218 msgid "Running Xfe as root!" msgstr "Запуск Xfe от рута!" #: ../src/XFileExplorer.cpp:2253 #, 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 "" "Начиная с Xfe версии 1.32, расположение файлов конфигурации изменилось на " "'%s'.\n" "Обратите внимание, что вы можете вручную редактировать новые файлы " "конфигурации для импорта старых настроек..." #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Невозможно создать каталог с настройками Xfe %s: %s" #: ../src/XFileExplorer.cpp:2274 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Невозможно создать каталог настроек Xfe %s" #: ../src/XFileExplorer.cpp:2296 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "Не найден глобальный файл xferc! Пожалуйста, выберите файл конфигурации ..." #: ../src/XFileExplorer.cpp:2300 msgid "XFE configuration file" msgstr "Файл конфигурации XFE" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Невозможно создать в корзине 'files' каталог %s: %s" #: ../src/XFileExplorer.cpp:2339 ../src/XFileExplorer.cpp:3992 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Невозможно создать в корзине 'files' каталог %s" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "Невозможно создать в корзине 'info' каталог %s: %s" #: ../src/XFileExplorer.cpp:2361 ../src/XFileExplorer.cpp:4007 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Невозможно создать в корзине 'info' каталог %s" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "Помощь" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer версия %s" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "На основе X WinCommander Максима Баранова\n" #: ../src/XFileExplorer.cpp:3214 #, 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" "Finnish: Kimmo Siira\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:3246 msgid "About X File Explorer" msgstr "&О программе" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 msgid "&Panel" msgstr "&Панель" #: ../src/XFileExplorer.cpp:3718 msgid "Execute the command:" msgstr "Выполнить команду:" #: ../src/XFileExplorer.cpp:3718 msgid "Console mode" msgstr "Консольный режим" #: ../src/XFileExplorer.cpp:3896 msgid "Search files and folders" msgstr "Поиск файлов и каталогов" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 msgid "Do you really want to empty the trash can?" msgstr "Вы действительно хотите очистить корзину?" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr " в " #: ../src/XFileExplorer.cpp:3959 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "Все объекты, будет окончательно потеряны!" #: ../src/XFileExplorer.cpp:4049 #, 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:4051 msgid "Trash size" msgstr "Размер корзиры" #: ../src/XFileExplorer.cpp:4058 #, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Невозможно прочитать в корзине каталог 'files' %s!" #: ../src/XFileExplorer.cpp:4512 ../src/XFileExplorer.cpp:4586 #, c-format msgid "Command not found: %s" msgstr "Команда не найдена: %s" #: ../src/XFileExplorer.cpp:4591 #, c-format msgid "Invalid file association: %s" msgstr "Недопустимая ассоциация файла: %s" #: ../src/XFileExplorer.cpp:4596 #, c-format msgid "File association not found: %s" msgstr "Ассоциация файла не найдена: %s" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Параметры" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Открыть файл пакета" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Открыть..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "Панель &инструментов" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "&О программе X File Package" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "&Удаление" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Установка/Обновление" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "&Описание" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "&Список файлов" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "О программе X File Package" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "RPM-пакеты исходников" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "Пакеты RPM" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "Пакеты DEB" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Открыть документ" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Пакет не загружен" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Неизвестный формат пакета" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Установить/Обновить пакет" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Удалить пакет" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[RPM-пакет]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[DEB-пакет]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "Запрос %s не удался!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Ошибка загрузки файла" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Невозможно открыть файл: %s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "Изображение GIF" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "Изображение BPM" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "Изображение XPM" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "Изображение PCX" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "Изображение ICO" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "Изображение RGB" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "Изображение XBM" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "Изображение TARGA" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "Изображение PPM" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "Изображение PNG" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "Изображение JPEG" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "Изображение TIFF" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "&Изображение" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Открыть" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Открыть файл изображения." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Печать" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 msgid "Print image file." msgstr "Печатать файл изображения." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:660 msgid "Zoom in" msgstr "Увеличить" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "Увеличить изображение." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Уменьшить" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "Уменьшить изображение." #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "Раскрыть на 100%" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "Раскрыть изображение на 100%" #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "По размеру" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "По размеру окна." #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "Повернуть влево." #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Повернуть изображение влево." #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Повернуть вправо" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Повернуть изображение вправо." #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Отразить горизонтально." #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "Отразить изображение горизонтально." #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Отразить вертикально" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Отобразить изображение вертикально." #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "&Печать..." #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "Очистить недавно исп&ользовавшиеся файлы." #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "Очистить меню недавно использовавшихся файлов." #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Выход из Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "У&величить" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "У&меньшить" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "Р&азвернуть на 100%" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "К размеру &окна" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "Повернуть в&право" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Повернуть вправо." #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "Повернуть в&лево" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Повернуть влево." #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "Отразить &горизонтально" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Отразить горизонтально." #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "Отразить в&ертикально" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Отразить вертикально." #: ../src/XFileImage.cpp:775 msgid "Show hidden files and folders." msgstr "Показать скрытые файлы и каталоги." #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Показать миниатюры." #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Показать большие значки папок." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Показать маленькие значки папок." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "Подробный с&писок файлов" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Подробный список папок." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "Умный просмотр значков в строках." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "Умный просмотр значков в столбцах." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Авторазмер имен значков." #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Отображать панель." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "С&писок файлов" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Показать список файлов." #: ../src/XFileImage.cpp:824 msgid "File list &before" msgstr "Список файлов до" #: ../src/XFileImage.cpp:824 msgid "Display file list before image window." msgstr "Показывать список файлов над окном изображения." #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "&Фильтр изображений" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Список только файлов изображений." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "По размеру &окна" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "Увеличить изображение до размеров окна." #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "&О программе X File Image" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "О программе X File Image." #: ../src/XFileImage.cpp:1333 #, 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:1335 msgid "About X File Image" msgstr "О программе X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Ошибка загрузки изображения" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Не поддерживаемый тип: %s" #: ../src/XFileImage.cpp:1464 msgid "Unable to load image, the file may be corrupted" msgstr "Невозможно загрузить изображение, возможно файл поврежден" #: ../src/XFileImage.cpp:1504 msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "Изменения будут применены после перезапуска.\n" "Перезапустить X File Explorer немедленно?" #: ../src/XFileImage.cpp:1619 msgid "Open Image" msgstr "Открыть изображение" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Команда печати: \n" "(ex: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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 [параметры] [изображение] \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 "Размер табуляции:" #: ../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 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 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Ошибка сохранения файла" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "Невозможно открыть файл: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "Файл: %s слишком большой" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "Файл: %s урезан" #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "без названия" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "%d без названия" #: ../src/WriteWindow.cpp:1477 #, 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:1479 msgid "About X File Write" msgstr "О программе X File Write" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Изменить шрифт" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Текстовые файлы" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "Исходные файлы С" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "Исходные файлы С++" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "Файлы заголовков C/C++" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "Файлы HTML" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "Файлы PHP" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Не сохраненный Документ" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "Сохранить %s в файл?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Сохранить Документ" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Перезаписать Документ" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "Заменять существующий документ: %s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (изменён)" #: ../src/WriteWindow.cpp:1851 msgid " (read only)" msgstr "(только чтение)" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "ТОЛЬКО ЧТЕНИЕ" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "Замена" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "Детали" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "Файл был изменен" #: ../src/WriteWindow.cpp:2071 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "была изменен другой программой. Перезагрузить файл с диска?" #: ../src/WriteWindow.cpp:2132 msgid "Replace" msgstr "Замена" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Перейти к строке" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "Перейти к номеру &строки" #. Usage message #: ../src/XFileWrite.cpp:217 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 [параметры] [файл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 #, fuzzy, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\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\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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\n" " \n" " " msgstr "" "\n" " \n" " \n" " XFE, X File Explorer - менеджер файлов\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 #, 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 #, 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 #, 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 #, 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 "Ошибка: Невозможно войти в каталог %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 "Ошибка: Невозможно войти в каталог %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:829 ../src/xfeutils.cpp:917 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Ошибка: Не удалось закрыть каталог %s\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "байты" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "ГБ" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "МБ" #: ../src/xfeutils.cpp:1100 msgid "copy" msgstr "Копирование" #: ../src/xfeutils.cpp:1413 #, c-format msgid "Error: Can't read group list: %s" msgstr "Ошибка: Невозможно прочитать список групп: %s" #: ../src/xfeutils.cpp:1417 #, 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 "Легкий файловый менеджер для 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" #~ msgid "&Themes" #~ msgstr "&Темы" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "Подтверждать выполнение текстовых файлов" #~ msgid "KB" #~ msgstr "КБ" #~ msgid "" #~ "Scrolling mode will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "Режим прокрутки будет изменен после перезапуска.\n" #~ "Перезапустить X File Explorer немедленно?" #~ msgid "" #~ "Path linker will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "Пути компоновщика будут изменены после перезапуска.\n" #~ "Перезапустить X File Explorer немедленно?" #~ msgid "" #~ "Button style will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "Стиль кнопок будут изменены после перезапуска.\n" #~ "Перезапустить X File Explorer немедленно?" #~ msgid "" #~ "Normal font will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "Нормальный шрифт будет изменен после перезапуска.\n" #~ "Перезапустить X File Explorer немедленно?" #~ msgid "" #~ "Text font will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "Шрифт текста будет изменена после перезапуска.\n" #~ "Перезапустить X File Explorer немедленно?" #, 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.44/po/tr.po0000644000200300020030000056322414023353061010541 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 # Yaşar Çiv , 2019 msgid "" msgstr "" "Project-Id-Version: Xfe 0.54.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-14 10:23+0100\n" "PO-Revision-Date: 2019-09-03 08:35+0200\n" "Last-Translator: Yaşar Çiv \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" "Plural-Forms: nplurals=1; plural=0;\n" "X-Language: tr_TR\n" "X-Source-Language: C\n" #. Usage message #: ../src/main.cpp:333 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" "Kullanım: xfe [seçenek...] [DİZİN|DOSYA...]\n" "\n" " [seçenek...] aşağıdaki gibi:\n" "\n" " -h, --help (bu) Yardım ekranını yazdır ve çık.\n" " -v, --version Sürüm bilgisini yazdır ve çık.\n" " -i, --iconic Simgeye başla.\n" " -m, --maximized Büyütülmüş başla.\n" " -p n, --panel n Panel görünümü modunu n'ye zorla (n=0 => Üç ve " "bir panel,\n" " n=1 => Bir panel, n=2 => İki panel, n=3 => Üç " "ve iki panel).\n" "\n" " [DİZİN|DOSYA...] açılışta açılacak dizinlerin veya dosyaların " "listesidir.\n" " İlk iki dizin dosya panellerinde görüntülenir, diğerleri göz ardı " "edilir.\n" " Açılacak dosya sayısı sınırlı değildir.\n" "\n" #: ../src/main.cpp:467 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "Uyarı: Bilinmeyen panel modu, kaydedilmiş son panel moduna dönün\n" #: ../src/main.cpp:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Simge yüklemesinde hata" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "Bazı simgeler yüklenemiyor. Lütfen simgelerinizin yolunu kontrol edin!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" msgstr "Bazı simgeler yüklenemiyor. Lütfen simgelerinizin yolunu kontrol edin!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 msgid "Group" msgstr "Grup" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Diğerleri" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Özel" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "UID Ayarla" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "GID Ayarla" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Yapışkan" #. 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 "İşaretli olarak ayarla" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Özyinelemeli" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "İşaretlemeyi sil" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Dosya ve dizinler" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "İşaretleme ekle" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Yalnızca dizinler" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Yalnızca sahibi" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Yalnızca dosyalar" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Özellikler" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "K&abul Et" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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 "&İptal Et" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&Genel" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 msgid "&Permissions" msgstr "İzinle&r" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "&Dosya İlişkileri" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Uzantı:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Tanım:" #: ../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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 msgid "\tSelect file..." msgstr "\tDosya seç..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Göster:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Düzenle:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Çıkar:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Kur/Yükselt:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Büyük Simge:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Küçük Simge:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:146 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 "=> Uyarı: dosya adı UTF-8 kodlu değil!" #: ../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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Dizin" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Karakter Aygıtı" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Blok Aygıtı" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "İsimli Boru" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Soket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Çalıştırılabilir" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Belge" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Kırık bağlantı" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 msgid "Link to " msgstr "Bağlantı " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Konum:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Tür:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 msgid "Total size:" msgstr "Toplam boyut:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Bağlantı:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Kırık bağlantı:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Asıl konum:" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Dosya Tarihi" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Son Düzenleme:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Son Değişiklik:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Son Erişim:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "Başlangıç Bildirimi" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "Bu çalıştırılabilir dosya için başlangıç bildirimini devre dışı bırak" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Silme Tarihi:" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu bayt)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bayt)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Boyut:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Seçim:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Çoklu türler" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d öğe" #: ../src/Properties.cpp:1118 #, c-format msgid "%d file, %d folder" msgstr "%d dosya, %d dizin" #: ../src/Properties.cpp:1122 #, c-format msgid "%d file, %d folders" msgstr "%d dosya, %d dizin" #: ../src/Properties.cpp:1126 #, c-format msgid "%d files, %d folder" msgstr "%d dosya, %d dizin" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d dosya, %d dizin" #: ../src/Properties.cpp:1252 msgid "Change properties of the selected folder?" msgstr "Seçilen dizinin özellikleri değiştirilsin mi?" #: ../src/Properties.cpp:1256 msgid "Change properties of the selected file?" msgstr "Seçilen dosyanın özellikleri değiştirilsin mi?" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 msgid "Confirm Change Properties" msgstr "Özellik Değişikliklerini Onayla" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Uyarı" #: ../src/Properties.cpp:1401 msgid "Invalid file name, operation cancelled" msgstr "Geçersiz dosya adı, işlem iptal edildi" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Dizin adlarında / karakterine izin verilmiyor, işlem iptal edildi" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 msgid "The / character is not allowed in file names, operation cancelled" msgstr "Dosya adlarında / karakterine izin verilmiyor, işlem iptal edildi" #. Error message box #. Error #: ../src/Properties.cpp:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "%s yazılamadı: Erişim engellendi" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "%s dizini mevcut değil" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Dosyayı yeniden adlandır" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Dosya sahibi" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "Sahibin değişikliği iptal edildi!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "%s içinde Chown başarısız oldu: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "%s içinde Chown başarısız oldu" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" "Özel izinler ayarlamak güvensiz olabilir! Gerçekten yapmak istediğin bu mu?" #: ../src/Properties.cpp:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "%s içinde chmod başarısız oldu: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Dosya izinleri" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Dosya izin değişiklikleri iptal edildi!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "%s içinde Chmod başarısız oldu" #: ../src/Properties.cpp:1628 msgid "Apply permissions to the selected items?" msgstr "Seçilen öğelere izin uygulansın mı?" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "Dosya(ların) izin değişikliği iptal edildi!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Bir çalıştırılabilir dosya seç" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Tüm dosyalar" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "PNG Resimleri" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "GIF Resimleri" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "BMP Resimleri" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Bir simge dosyası seç" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, c-format msgid "%u file, %u subfolder" msgstr "%u dosya, %u altdizin" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, c-format msgid "%u file, %u subfolders" msgstr "%u dosya, %u altdizin" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, c-format msgid "%u files, %u subfolder" msgstr "%u dosya, %u altdizin" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u dosya, %u altdizin" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Buraya kopyala" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Buraya taşı" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Buraya bağlantı ver" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "İptal" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Dosya kopyala" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Dosya taşı" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Dosyayı sembolik bağla" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopyala" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "%s dosya/dizin kopyala.\n" "Şuradan: %s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Taşı" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "%s dosya/dizin taşı.\n" "Şuradan: %s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Sembolik bağ" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "Şuraya:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "Dosya taşıma işlemi sırasında bir hata oluştu!" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "Dosya taşıma işlemi iptal edildi!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "Dosya kopyalama işlemi sırasında bir hata oluştu!" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "Dosya kopyalama işlemi iptal edildi!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "%s bağlantı noktası yanıt vermiyor..." #: ../src/DirList.cpp:2021 msgid "Link to Folder" msgstr "Dizine Bağlantı ver" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Dizinler" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Gizli dizinleri göster" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "Gizlenen dizinleri gizle" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3125 msgid "0 bytes in root" msgstr "kök içinde 0 bayt" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 msgid "Panel is active" msgstr "Panel etkin" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 msgid "Activate panel" msgstr "Paneli etkinleştir" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, c-format msgid " Permission to: %s denied." msgstr " İzin: %s reddedildi." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Yeni &dizin..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "&Gizli dizinler" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 msgid "Ignore c&ase" msgstr "Durumu yoks&ay" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "Te&rsine sıra" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "Ağacı &genişlet" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Ağacı &daralt" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4586 #: ../src/SearchPanel.cpp:2361 msgid "Pane&l" msgstr "Pane&l" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "&Bağla" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "&Ayır" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "&Arşive ekle..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Kopyala" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "K&es" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "Ya&pıştır" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Yeniden adla&ndır..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Şuraya kop&yala..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "Şuraya &taşı..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 msgid "Symlin&k to..." msgstr "Şuraya semboli&k bağla..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "Çö&pe taşı" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "Çöpten g&eri al" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4696 #: ../src/SearchPanel.cpp:2444 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "&Sil" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "Özellikl&er" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, c-format msgid "Can't enter folder %s: %s" msgstr "%s dizini girilemiyor: %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, c-format msgid "Can't enter folder %s" msgstr "%s dizini girilemiyor" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 msgid "File name is empty, operation cancelled" msgstr "Dosya adı boş, işlem iptal edildi" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Arşiv oluştur" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Kopyala " #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "Şuradan %s öğe kopyala: %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Yeniden adlandır" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Yeniden adlandır " #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Şuraya kopyala" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Taşı " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "Şuradan %s öğe taşı: %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Sembolik bağ " #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "Şuradan %s öğeyi sembolik bağla: %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s bir dizin değil" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "Sembolik bağlama sırasında bir hata oluştu!" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "Sembolik bağlama işlemi iptal edildi!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "%s dizini kesinlikle silinsin mi?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Silmeyi Onayla" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Dosya sil" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "%s dizini boş değil, yinede silinsin mi?" #: ../src/DirPanel.cpp:2264 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "%s dizini yazma korumalı, yine de kesin olarak silinsin mi?" #: ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "Dizin silme işlemi iptal edildi!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "%s dizini çöp kutusuna taşınsın mı?" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Çöpe Göndermeyi Onayla" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Çöpe taşı" #: ../src/DirPanel.cpp:2360 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "%s dizini yazma korumalı, yine de çöp kutusuna taşınsın mı?" #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "Çöpe taşıma işlemi sırasında bir hata oluştu!" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "Çöpe dizin taşıma işlemi iptal edildi!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Çöpten geri al" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "%s dizini %s asıl konumuna geri alınsın mı?" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Geri Almayı Onayla" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "%s için geri alma bilgisi mevcut değil" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "%s üst dizini mevcut değil, oluşturmak ister misiniz?" #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "%s dizini oluşturulamıyor: %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "%s dizini oluşturulamıyor" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 msgid "An error has occurred during the restore from trash operation!" msgstr "Çöpten geri alma işlemi sırasında bir hata oluştu!" #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "Çöpten dosya geri alma işlemi iptal edildi!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Yeni dizin oluştur:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Yeni Dizin" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 msgid "Folder name is empty, operation cancelled" msgstr "Dizin adı boş, işlem iptal edildi" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, c-format msgid "Can't execute command %s" msgstr "%s komutu çalıştırılamıyor" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Bağla" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Ayır" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " dosya sistemi..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " dizini:" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " işlem iptal edildi!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 msgid " in root" msgstr " kök içinde" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "Kaynak:" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "Hedef:" #: ../src/File.cpp:111 msgid "Copied data:" msgstr "Kopyalanan veri:" #: ../src/File.cpp:126 msgid "Moved data:" msgstr "Taşınan veri:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1133 msgid "Delete:" msgstr "Sil:" #: ../src/File.cpp:136 msgid "From:" msgstr "Şuradan:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "İzinler değiştiriliyor..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "Dosya:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 msgid "Changing owner..." msgstr "Sahip değiştiriliyor..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Dosya sistemi bağla..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "Dizini bağla:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Dosya sistemini ayır..." #: ../src/File.cpp:174 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 "" "%s dizini zaten var.\n" "Üstüne yazılsın mı?\n" "=> Dikkat, bu dizindeki dosyaların üstüne yazılabilir!" #: ../src/File.cpp:304 ../src/File.cpp:2031 #, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "" "%s dosyası zaten var.\n" "Ü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:2032 msgid "Confirm Overwrite" msgstr "Üstüne Yazmayı Onayla" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "%s dosyası kopyalanamıyor: %s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "%s dosyası kopyalanamıyor" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "Kaynak: " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "Hedef: " #: ../src/File.cpp:604 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "%s dosyası kopyalanırken tarih korunamıyor: %s" #: ../src/File.cpp:608 #, c-format msgid "Can't preserve date when copying file %s" msgstr "%s dosyası kopyalanırken tarih korunamıyor" #: ../src/File.cpp:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "%s dizini kopyalanamıyor : İzin reddedildi" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "%s dosyası kopyalanamıyor: İzin reddedildi" #: ../src/File.cpp:791 #, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "%s dizini kopyalanırken tarih korunamıyor: %s" #: ../src/File.cpp:795 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "%s dizini kopyalanırken tarih korunamıyor" #: ../src/File.cpp:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "%s kaynağı mevcut değil" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, c-format msgid "Destination %s is identical to source" msgstr "%s hedefi kaynağa özdeş" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, c-format msgid "Target %s is a sub-folder of source" msgstr "%s hedefi kaynağın alt dizini" #. Set labels for progress dialog #: ../src/File.cpp:1048 msgid "Delete folder: " msgstr "Dizin sil: " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "Şuradan: " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "%s dizini silinemiyor: %s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "%s dizini silinemiyor" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "%s dosyası silinemiyor: %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "%s dosyası silinemiyor" #: ../src/File.cpp:1213 #, c-format msgid "Destination %s already exists" msgstr "%s hedefi zaten var" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, c-format msgid "Can't rename to target %s: %s" msgstr "%s hedefi yeniden adlandırılamıyor: %s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "%s sembolik bağlanamıyor: %s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "%s sembolik bağlanamıyor" #: ../src/File.cpp:1655 ../src/File.cpp:1852 msgid "Folder: " msgstr "Dizin: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Arşiv çıkar" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Arşive ekle" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Başarısız komut: %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "İşlem başarılı" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "%s dizini başarıyla bağlandı." #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "%s dizini başarıyla ayrıldı." #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "Paket Kur/Yükselt" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "Paketin kurulumu: %s \n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Paket kaldır" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, c-format msgid "Uninstalling package: %s \n" msgstr "Paketin kaldırılması: %s \n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "&Dosya Adı:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&Tamam" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "Dosya Süzgec&i:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Salt Okunur" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 msgid "Go to previous folder" msgstr "Önceki dizine git" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 msgid "Go to next folder" msgstr "Sonraki dizine git" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 msgid "Go to parent folder" msgstr "Üst dizine git" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "Ana dizine git" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 msgid "Go to working folder" msgstr "Çalışma dizinine git" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Yeni dizin" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Büyük simge listesi" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Küçük simge listesi" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Ayrıntılı dosya listesi" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Gizlenmiş dosyaları göster" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "Gizlenmiş dosyaları gizle" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Küçük resimleri göster" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Hide thumbnails" msgstr "Küçük resimleri gizle" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Yeni dizin oluştur..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Yeni dosya oluştur..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3758 msgid "New File" msgstr "Yeni Dosya" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "%s dosya veya dizini zaten var" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "E&ve git" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 msgid "Go &work" msgstr "İ&şe git" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "Yeni &dosya..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Yeni di&zin..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "&Gizli dosyalar" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "Küçük &resimler" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "Büyük &simgeler" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "Küçük &simgeler" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "Tam dosya &listesi" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "Satı&rlar" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "Sütu&nlar" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "Otomatik boyut" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "A&d" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "Bo&yut" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Tür" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "U&zantı" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "&Tarih" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "K&ullanıcı" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "&Grup" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 msgid "Fold&ers first" msgstr "Önce dizinl&er" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "Te&rsine sıra" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "Ai&le:" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "A&ğırlık:" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "&Tarz:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "Bo&yut:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Karakter Kümesi:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Herhangi" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "Batı Avrupa" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Doğu Avrupa" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Güney Avrupa" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Kuzey Avrupa" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Kiril" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Arapça" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Yunanca" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "İbranice" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Türkçe" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "İskandinav" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Tayland dili" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Baltık" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Keltçe" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Rusça" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Orta Avrupa (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Rusça (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Yunanca (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Türkçe (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "İbranice (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Arapça (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Baltık (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Vietnamca (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Tayland dili (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Genişliği Ayarla:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "Çok fazla yoğun" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Fazla yoğun" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Yoğun" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "Yarı yoğun" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Normal" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Yarı genişletilmiş" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Genişletilmiş" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Fazla genişletilmiş" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "Çok fazla genişletilmiş" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "Saha:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Sabit" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Değişken" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Ölçeklenebilir:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Tüm Yazıtipleri:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Önizleme:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Xfe'yi kök olarak başlat" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&Hayır" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Evet" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Çık" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Kaydet" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "&Tümüne Evet" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Kullanıcı parolasını girin:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Kök parolasını girin:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "Bir hata oluştu!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Ad: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Kök içindeki boyut: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Tür: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Değiştirilme tarihi: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Kullanıcı: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Grup: " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "İzinler: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Asıl yol: " #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Silinme tarihi: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Boyut: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Boyut" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Tür" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Uzantı" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Değiştirme tarihi" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "İzinler" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "Resim yüklenemiyor" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Asıl yol" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Silinme tarihi" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Süzgeç" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Durum" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "%s dosyası çalıştırılabilir bir metin dosyası, ne yapmak istiyorsunuz?" #: ../src/FilePanel.cpp:1035 ../src/SearchPanel.cpp:790 msgid "Confirm Execute" msgstr "Çalıştırmayı Onayla" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Komut günlüğü" #: ../src/FilePanel.cpp:1832 msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "" "Dosya veya dizin adlarında / karakterine izin verilmiyor, işlem iptal edildi" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "Dizine:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "%s çöp kutusu konumuna yazılamıyor: İzin reddedildi" #: ../src/FilePanel.cpp:2408 ../src/SearchPanel.cpp:2936 #, c-format msgid "Move file %s to trash can?" msgstr "%s dosyası çöp kutusuna taşınsın mı?" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "%s seçili öğe çöp kutusuna taşınsın mı?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "%s dosyası yazmaya karşı korumalı, yine de çöp kutusuna taşınsın mı?" #: ../src/FilePanel.cpp:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "Çöpe dosya taşıma işlemi iptal edildi!" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "%s dosyası %s asıl konumuna geri alınsın mı?" #: ../src/FilePanel.cpp:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "%s seçili öğe asıl konumlarına geri alınsın mı?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "%s dizini oluşturulamıyor: %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, c-format msgid "Definitively delete file %s ?" msgstr "%s dosyası kesinlikle silinsin mi ?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, c-format msgid "Definitively delete %s selected items?" msgstr "%s seçili öğe kesinlikle silinsin mi?" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "%s dosyası yazmaya karşı korumalı, yine de silinsin mi?" #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "Dosya silme işlemi iptal edildi!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "Karşılaştırma" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "İle:" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" "%s programı bulunamadı. Lütfen Tercihler iletişim kutusunda bir dosya " "karşılaştırma programı tanımlayın!" #: ../src/FilePanel.cpp:3758 msgid "Create new file:" msgstr "Yeni dosya oluştur:" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "%s dosyası oluşturulamıyor: %s" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "%s dosyası oluşturulamıyor" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "%s içinde izinler ayarlanamıyor: %s" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "%s içinde izinler ayarlanamıyor" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Yeni sembolik bağ oluştur:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Yeni Sembolik Bağ" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "Sembolik bağ referanslı dosya veya dizin seçin" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "%s sembolik bağ kaynağı mevcut değil" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Seçili dosyayı(ları) şununla aç:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Birlikte Aç" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "İlişkilendi&rme" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Dosyaları göster:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "Yeni& dosya..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Yeni s&embolik bağ..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "Sü&zgeç..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "&Tam dosya listesi" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "İzi&nler" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "&Yeni dosya..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Bağla" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "&Birlikte aç..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Aç" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 msgid "Extr&act to folder " msgstr "Dizine çık&art " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "B&uraya çıkart" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "Şu&raya çıkart..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Göster" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Kur/Yü&kselt" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "Kal&dır" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "Düz&enle" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 msgid "Com&pare..." msgstr "Ka&rşılaştır..." #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "Ka&rşılaştır" #: ../src/FilePanel.cpp:4672 msgid "Packages &query " msgstr "Paket &sorgusu " #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 msgid "Scripts" msgstr "Betikler" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 msgid "&Go to script folder" msgstr "Betik dizinine &git" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Şu&raya kopyala..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 msgid "M&ove to trash" msgstr "Ç&öpe taşı" #: ../src/FilePanel.cpp:4695 msgid "Restore &from trash" msgstr "Çö&pten geri al" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 msgid "Compare &sizes" msgstr "&Boyutları karşılaştır" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 msgid "P&roperties" msgstr "Özellikle&r" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Bir hedef dizin seçin" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Tüm Dosyalar" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Paket Kur/Yükselt" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Paket Kaldır" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Hata: Çatal başarısız oldu: %s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, c-format msgid "Can't create script folder %s: %s" msgstr "%s betik dizini oluşturulamıyor: %s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, c-format msgid "Can't create script folder %s" msgstr "%s betik dizini oluşturulamıyor" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Uyumlu bir paket yöneticisi (rpm veya dpkg) bulunamadı!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "%s dosyası hiçbir pakete ait değil." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Bilgi" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, c-format msgid "File %s belongs to the package: %s" msgstr "%s dosyasının ait olduğu paket: %s" #. Make and show command window #: ../src/FilePanel.cpp:6220 ../src/SearchPanel.cpp:2887 msgid "Sizes of Selected Items" msgstr "Seçili Öğelerin Boyutu" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 Bayt" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s, seçilen %s öğenin içinde (%s dizin, %s dosya)" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s, seçilen %s öğenin içinde (%s dizin, %s dosya)" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s, seçilen %s öğenin içinde (%s dizin, %s dosya)" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s, seçilen %s öğenin içinde (%s dizin, %s dosya)" #: ../src/FilePanel.cpp:6322 msgid "1 item (1 folder)" msgstr "1 öğe (1 dizin)" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "%s öğe (%s dizin, %s dosya)" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, c-format msgid "%s items (%s folder, %s file)" msgstr "%s öğe (%s dizin, %s dosya)" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, c-format msgid "%s items (%s folder, %s files)" msgstr "%s öğe (%s dizin, %s dosya)" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, c-format msgid "%s items (%s folders, %s file)" msgstr "%s öğe (%s dizin, %s dosya)" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Bağlantı" #: ../src/FilePanel.cpp:6402 #, c-format msgid " - Filter: %s" msgstr " - Süzgeç: %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "Yer imlerinin sınırına ulaşıldı. Son yer imi silinecek..." #: ../src/Bookmarks.cpp:137 msgid "Confirm Clear Bookmarks" msgstr "Yer İmleri Silmeyi Onayla" #: ../src/Bookmarks.cpp:137 msgid "Do you really want to clear all your bookmarks?" msgstr "Gerçekten tüm yer imlerini silmek istiyor musunuz?" #: ../src/CommandWindow.cpp:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "&Kapat" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" "Lütfen bekleyin...\n" "\n" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Borular kopyalanamıyor: %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 msgid "Can't duplicate pipes" msgstr "Borular kopyalanamıyor" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> KOMUT İPTAL EDİLDİ <<<<" #: ../src/CommandWindow.cpp:298 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> KOMUT SONU <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tHedef seç..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Bir dosya seç" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Bir dosya veya bir hedef dizin seç" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Arşive Ekle" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Yeni arşiv adı:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Biçim:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tArşiv biçimi tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tArşiv biçimi zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tArşiv biçimi 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tArşiv biçimi tar.bz2" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.xz\tArşiv biçimi tar.xz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tArşiv biçimi tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tArşiv biçimi tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tArşiv biçimi gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tArşiv biçimi bz2" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "xz\tArşiv biçimi xz" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tArşiv biçimi Z" #. Construct window #: ../src/Preferences.cpp:135 msgid "Preferences" msgstr "Seçenekler" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Geçerli Tema" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Seçenekler" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "Dosya silmek için çöp kutusunu kullan (güvenli silme)" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Çöp kutusunu atlamak için bir komut ekle (kalıcı silme)" #: ../src/Preferences.cpp:185 msgid "Auto save layout" msgstr "Düzeni otomatik kaydet" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Pencere konumunu kaydet" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "Dizin açmak için tek tıkla" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Dosya açmak için tek tıkla" #: ../src/Preferences.cpp:189 msgid "Display tooltips in file and folder lists" msgstr "Araç ipuçlarını dosya ve dizin listelerinde görüntüleme" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "Dosya listelerinin göreceli yeniden boyutlandırılması" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Dosya listelerinin üstünde bir yol bağlayıcı görüntüle" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Uygulamalar başladığında bildir" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Metin dosyalarını çalıştırmayı onayla" #: ../src/Preferences.cpp:198 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" "Dosya ve dizin listelerinde kullanılan tarih biçimi:\n" "(Biçim konusunda yardım almak için bir terminalde 'man strftime' yazın)" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "&Modlar" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "Başlangıç modu" #: ../src/Preferences.cpp:213 msgid "Start in home folder" msgstr "Ana dizinde başlat" #: ../src/Preferences.cpp:214 msgid "Start in current folder" msgstr "Geçerli dizinde başlat" #: ../src/Preferences.cpp:215 msgid "Start in last visited folder" msgstr "Son ziyaret edilen dizinde başlat" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "Kaydırma modu" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "Dosya listelerinde ve metin pencerelerinde düzgün kaydırma" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Fare kaydırma hızı:" #: ../src/Preferences.cpp:227 msgid "Scrollbar width:" msgstr "Kaydırma çubuğu genişliği:" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Kök modu" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "Kök moduna izin ver" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Sudo kullanarak kimlik doğrulama (kullanıcı şifresini kullanır)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Su kullanarak kimlik doğrulama (kök şifresini kullanır)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Başarısız komut: %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Komut çalıştır" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "İletişim &Kutuları" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Onaylar" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "Kopyalama/taşıma/yeniden adlandırma/sembolik bağlamayı onayla" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "Sürükle ve bırak işlemini onayla" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "Çöp kutusuna taşımayı/çöpten geri almayı onayla" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Silmeyi onayla" #: ../src/Preferences.cpp:331 msgid "Confirm delete non empty folders" msgstr "Boş olmayan dizinler için silmeyi onayla" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Üstüne yazmayı onayla" #: ../src/Preferences.cpp:333 msgid "Confirm execute text files" msgstr "Metin dosyalarını çalıştırmayı onayla" #: ../src/Preferences.cpp:334 msgid "Confirm change properties" msgstr "Özellikleri değiştirmeyi onayla" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Uyarılar" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "Arama penceresindeki geçerli dizini ayarlarken uyar" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Bağlama noktaları yanıt vermediğinde uyar" #: ../src/Preferences.cpp:340 msgid "Display mount / unmount success messages" msgstr "Başarılı bağlama/ayırma iletilerini görüntüle" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "Tarih koruması başarısız olduğunda uyar" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Kök olarak çalışıyorsa uyar" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Programlar" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Varsayılan programlar" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Metin gösterici:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Metin düzenleyici:" #: ../src/Preferences.cpp:405 msgid "File comparator:" msgstr "Dosya karşılaştırıcı:" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Resim düzenleyici:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Resim gösterici:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Arşiv programı:" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "Pdf gösterici:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Müzik oynatıcı:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Video oynatıcı:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "Terminal:" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "Birim yönetimi" #: ../src/Preferences.cpp:456 msgid "Mount:" msgstr "Bağlama:" #: ../src/Preferences.cpp:462 msgid "Unmount:" msgstr "Ayırma:" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Renk teması" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Özel renkler" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Rengi özelleştirmek için çift tıkla" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Temel renk" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Kenar rengi" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Arka plan rengi" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Metin rengi" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Arkaplan renk seçimi" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Metin rengi seçimi" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Dosya listesi arka plan rengi" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Dosya listesi metin rengi" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Dosya listesi vurgulama rengi" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "İlerleme çubuğu rengi" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Dikkat rengi" #: ../src/Preferences.cpp:500 msgid "Scrollbar color" msgstr "Kaydırma çubuğu rengi" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Kontroller" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Standart (klasik kontroller)" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (modern görünümlü kontroller)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "Simge teması yolu" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tYol seç..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Yazıtipleri" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Yazıtipleri" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Olağan yazıtipi:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Seç..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Metin yazıtipi:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "&Klavye Kısyaolları" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Klavye Kısayolları" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Klavye kısayollarını düzenle..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Varsayılan klavye kısayollarını geri yükle..." #: ../src/Preferences.cpp:634 msgid "Select an icon theme folder or an icon file" msgstr "Bir simge teması dizini veya bir simge dosyası seçin" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "Olağan Yazıtipini Değiştir" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Metin Yazıtipini Değiştir" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Yeni dosya oluştur" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Yeni dizin oluştur" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "Panoya kopyala" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "Panoya kes" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Panodan yapıştır" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Dosya aç" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Uygulamadan çık" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Tümünü seç" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Tüm seçimi kaldır" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Seçimi ters yap" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Yardım görüntüle" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Gizli dosyaları görüntülemeyi aç/kapat" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Küçük resimleri görüntülemeyi aç/kapat" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Pencereyi kapat" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Dosyayı yazdır" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Ara" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Öncekini ara" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Sonrakini ara" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 msgid "Vertical panels" msgstr "Dikey paneller" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 msgid "Horizontal panels" msgstr "Yatay paneller" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Panelleri yenile" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Yeni sembolik bağ oluştur" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Dosya özellikleri" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Dosyaları çöpe taşı" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Dosyaları çöpten geri al" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Dosyaları sil" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Yeni pencere oluştur" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Yeni kök penceresi oluştur" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Komut çalıştır" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Terminali başlat" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Dosya sistemi bağla (sadece Linux)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Dosya sistemini ayır (sadece Linux)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "Bir panel modu" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Ağaç ve panel modu" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "İki panel modu" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Ağaç ve iki panel modu" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Konum çubuğunu temizle" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Dosyayı yeniden adlandır" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Dosyaları konuma kopyala" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Dosyaları konuma taşı" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Dosyaları konuma sembolik bağla" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Yer imi ekle" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Panelleri eşitle" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Panelleri değiştir" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Çöp kutusuna git" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Boş çöp kutusu" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Göster" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Düzenle" #: ../src/Preferences.cpp:1014 msgid "Toggle display hidden folders" msgstr "Gizli dosyaları görüntülemeyi aç/kapat" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Dosyaları süz" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "Resmi 100% yakınlaştır" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Pencereye sığdır" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "Resmi sola döndür" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "Resmi sağa döndür" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "Resmi yatay olarak yansıt" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "Resmi dikey olarak yansıt" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Yeni belge oluştur" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Değişiklikleri dosyaya yaz" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Satıra git" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Son değişikliği geri al" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Son değişikliği yinele" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "Dizeyi değiştir" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "Sözcük kaydırma modunu aç/kapat" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "Satır numaraları modunu aç/kapat" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Küçük harf modunu aç/kapat" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Büyük harf modunu aç/kapat" #. Confirmation message #: ../src/Preferences.cpp:1114 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Varsayılan klavye kısayollarını gerçekten geri yüklemek istiyor musunuz?\n" "\n" "Tüm özelleştirmeleriniz kaybolacak!" #: ../src/Preferences.cpp:1115 msgid "Restore default key bindings" msgstr "Varsayılan klavye kısayollarını geri yükle" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Yeniden başlat" #: ../src/Preferences.cpp:1213 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Klavye kısayolları yeniden başlattıktan sonra değiştirilecektir.\n" "X File Explorer şimdi yeniden başlatılsın mı?" #: ../src/Preferences.cpp:1869 msgid "" "Preferences will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tercihler yeniden başlattıktan sonra değiştirilecektir.\n" "X File Explorer şimdi yeniden başlatılsın mı?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "&Atla" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Tümünü At&la" #: ../src/OverwriteBox.cpp:82 msgid "Source size:" msgstr "Kaynak boyutu:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 msgid "- Modified date:" msgstr "- Değiştirme tarihi:" #: ../src/OverwriteBox.cpp:88 msgid "Target size:" msgstr "Hedef boyutu:" #: ../src/ExecuteBox.cpp:39 msgid "E&xecute" msgstr "&Çalıştır" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "Konsol &Modunda Çalıştır" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Kapat" #: ../src/SearchPanel.cpp:165 msgid "Refresh panel" msgstr "Paneli yenile" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Seçilen dosyaları panoya kopyala" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Seçilen dosyaları panoya kes" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Seçili dosyaların özelliklerini göster" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Seçilen dosyaları çöp kutusuna taşı" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Seçilen dosyaları sil" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "Geçerli dizin '%s' olarak ayarlandı" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "T&am dosya listesi" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "&Durumu yoksay" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "&Otomatik boyut" #: ../src/SearchPanel.cpp:2421 msgid "&Packages query " msgstr "&Paket sorgusu " #: ../src/SearchPanel.cpp:2435 msgid "&Go to parent folder" msgstr "Üst dizine &git" #: ../src/SearchPanel.cpp:3658 #, c-format msgid "Copy %s items" msgstr "%s öğeyi kopyala" #: ../src/SearchPanel.cpp:3674 #, c-format msgid "Move %s items" msgstr "%s öğeyi taşı" #: ../src/SearchPanel.cpp:3690 #, c-format msgid "Symlink %s items" msgstr "%s öğeyi sembolik bağla" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" "Dosya veya dizin adlarında / karakterine izin verilmiyor, işlem iptal edildi" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "Mutlak bir yol girmelisiniz!" #: ../src/SearchPanel.cpp:4231 msgid "0 item" msgstr "0 öğe" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 öğe" #: ../src/SearchWindow.cpp:71 msgid "Find files:" msgstr "Dosyaları bul:" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "Durumu yoksay\tDosya adı durumunu yoksay" #. Hidden files #: ../src/SearchWindow.cpp:79 msgid "Hidden files\tShow hidden files and folders" msgstr "Gizli Dosyalar\tGizli dosya ve dizinleri göster" #: ../src/SearchWindow.cpp:84 msgid "In folder:" msgstr "Dizinde:" #: ../src/SearchWindow.cpp:86 msgid "\tIn folder..." msgstr "\tDizinde..." #: ../src/SearchWindow.cpp:89 msgid "Text contains:" msgstr "Metin içeriyor:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "Durumu yoksay\tMetin durumunu yoksay" #. Search options #: ../src/SearchWindow.cpp:97 msgid "More options" msgstr "Daha fazla seçenek" #: ../src/SearchWindow.cpp:98 msgid "Search options" msgstr "Arama seçenekleri" #: ../src/SearchWindow.cpp:99 msgid "Reset\tReset search options" msgstr "Sıfırla\tArama seçeneklerini sıfırla" #: ../src/SearchWindow.cpp:115 msgid "Min size:" msgstr "En az boyut:" #: ../src/SearchWindow.cpp:117 msgid "Filter by minimum file size (kBytes)" msgstr "En az dosya boyutuna göre süz (kBayt)" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "kB" #: ../src/SearchWindow.cpp:120 msgid "Max size:" msgstr "En fazla boyut:" #: ../src/SearchWindow.cpp:122 msgid "Filter by maximum file size (kBytes)" msgstr "En fazla dosya boyutuna göre süz (kBayt)" #. Modification date #: ../src/SearchWindow.cpp:126 msgid "Last modified before:" msgstr "Son değişiklik öncesi:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "En uzak değiştirme tarihine göre süz (gün)" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "Gün" #: ../src/SearchWindow.cpp:131 msgid "Last modified after:" msgstr "Son değişiklik sonrası:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "En yakın değiştirme tarihine göre süz (gün)" #. User and group #: ../src/SearchWindow.cpp:137 msgid "User:" msgstr "Kullanıcı:" #: ../src/SearchWindow.cpp:140 msgid "\tFilter by user name" msgstr "\tKullanıcı adına göre süz" #: ../src/SearchWindow.cpp:142 msgid "Group:" msgstr "Grup:" #: ../src/SearchWindow.cpp:145 msgid "\tFilter by group name" msgstr "\tGrup adına göre süz" #. File type #: ../src/SearchWindow.cpp:178 msgid "File type:" msgstr "Dosya türü:" #: ../src/SearchWindow.cpp:181 msgid "File" msgstr "Dosya" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "Boru" #: ../src/SearchWindow.cpp:187 msgid "\tFilter by file type" msgstr "\tDosya türüne göre süz" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 msgid "Permissions:" msgstr "İzinler:" #: ../src/SearchWindow.cpp:194 msgid "\tFilter by permissions (octal)" msgstr "\tİzinlere göre süz (sekizlik)" #. Empty files #: ../src/SearchWindow.cpp:197 msgid "Empty files:" msgstr "Boş dosyalar:" #: ../src/SearchWindow.cpp:198 msgid "\tEmpty files only" msgstr "\tSadece boş dosyalar" #: ../src/SearchWindow.cpp:202 msgid "Follow symbolic links:" msgstr "Sembolik bağları takip et:" #: ../src/SearchWindow.cpp:203 msgid "\tSearch while following symbolic links" msgstr "\tSembolik bağları takip ederken ara" #: ../src/SearchWindow.cpp:207 msgid "Non recursive:" msgstr "Özyinelemeli olmayan:" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "\tDizinleri özyinelemeli olarak arama" #: ../src/SearchWindow.cpp:212 msgid "Ignore other file systems:" msgstr "Diğer dosya sistemlerini yoksay:" #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "\tDiğer dosya sistemlerinde arama" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "&Başlat\tAramayı başlat (F3)" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "&Dur\tAramayı durdur (Esc)" #: ../src/SearchWindow.cpp:782 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Arama başladı - Lütfen bekleyin... <<<<" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " öğe" #: ../src/SearchWindow.cpp:938 msgid ">>>> Search results <<<<" msgstr ">>>> Arama sonuçları <<<<" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "Giriş / Çıkış hatası" #: ../src/SearchWindow.cpp:973 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Arama durdu... <<<<" #: ../src/SearchWindow.cpp:1147 msgid "Select path" msgstr "Yol seç" #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Yeni sembolik bağ oluştur" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Seçilen dosyaları çöp kutusundan geri al" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "Xfe'yi başlat" #: ../src/XFileExplorer.cpp:690 msgid "Search files and folders..." msgstr "Dosya ve dizinleri ara..." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Bağla (sadece Linux)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Ayır (sadece Linux)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "Bir panel göster" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Ağaç ve panel göster" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "İki panel göster" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Ağaç ve iki panel göster" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Konumu temizle" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Konuma git" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "Yeni di&zin..." #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "&Ev dizinine git" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "&Yenile" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "Şuraya &kopyala..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "Şuraya &sembolik bağla..." #: ../src/XFileExplorer.cpp:861 msgid "&Properties" msgstr "Ö&zellikler" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:201 #: ../src/XFileImage.cpp:327 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Dosya" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "Tümünü &seç" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "Tüm seçimi &kaldır" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "Ters seç&im" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "Te&rcihler" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "&Genel araç çubuğu" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "&Araçlar araç çubuğu" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "&Panel araç çubuğu" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "&Konum çubuğu" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "&Durum çubuğu" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "&Bir panel" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "&Ağaç ve panel" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "İki &panel" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "A&ğaç ve iki panel" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:808 msgid "&Vertical panels" msgstr "&Dikey paneller" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 msgid "&Horizontal panels" msgstr "&Yatay paneller" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "Yer imi &ekle" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "Yer imlerini &temizle" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Yer imleri" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Süzgeç..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:781 msgid "&Thumbnails" msgstr "&Küçük resimler" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 msgid "&Big icons" msgstr "&Büyük simgeler" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "Tü&r" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "T&arih" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "K&ullanıcı" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "Gr&up" #: ../src/XFileExplorer.cpp:1021 msgid "Fol&ders first" msgstr "Önce &dizinler" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3538 #: ../src/XFileExplorer.cpp:3589 msgid "&Left panel" msgstr "So&l panel" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "&Süzgeç" #: ../src/XFileExplorer.cpp:1051 msgid "&Folders first" msgstr "Önce dizinl&er" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3537 #: ../src/XFileExplorer.cpp:3588 msgid "&Right panel" msgstr "&Sağ panel" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "Yeni &pencere" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Yeni kök pence&resi" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "Komut &çalıştır..." #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "Panelleri &eşitle" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "Panelleri değişt&ir" #: ../src/XFileExplorer.cpp:1096 msgid "Go to script folder" msgstr "Betik dizinine git" #: ../src/XFileExplorer.cpp:1098 msgid "&Search files..." msgstr "Do&syaları ara..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "&Ayır" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Araçlar" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "Çöpe &git" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "Çöp boyu&tu" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "&Boş çöp kutusu" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4240 msgid "T&rash" msgstr "Çö&p" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "&Yardım" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "X File Explorer H&akkında" #: ../src/XFileExplorer.cpp:2218 msgid "Running Xfe as root!" msgstr "Xfe'yi kök olarak çalıştır!" #: ../src/XFileExplorer.cpp:2253 #, 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 "" "Xfe 1.32'den başlayarak, yapılandırma dosyalarının konumu '%s' olarak " "değiştirildi.\n" "Eski özelleştirmelerinizi içe aktarmak için yeni yapılandırma dosyalarını el " "ile düzenleyebileceğinizi unutmayın..." #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Xfe yapılandırma dizini %s oluşturulamıyor: %s" #: ../src/XFileExplorer.cpp:2274 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Xfe yapılandırma dizini %s oluşturulamıyor" #: ../src/XFileExplorer.cpp:2296 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "Küresell xferc dosyası bulunamadı! Lütfen bir yapılandırma dosyası seçin..." #: ../src/XFileExplorer.cpp:2300 msgid "XFE configuration file" msgstr "Xfe yapılandırma dosyası" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Çöp kutusu 'dosyalar' dizini %s oluşturulamıyor: %s" #: ../src/XFileExplorer.cpp:2339 ../src/XFileExplorer.cpp:3992 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Çöp kutusu 'dosyalar' dizini %s oluşturulamıyor" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "Çöp kutusu 'bilgi' dizini %s oluşturulamıyor: %s" #: ../src/XFileExplorer.cpp:2361 ../src/XFileExplorer.cpp:4007 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Çöp kutusu 'bilgi' dizini %s oluşturulamıyor" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "Yardım" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer %s Sürümü" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Maxim Baranov tarafından yazılan X WinCommander tabanlı\n" #: ../src/XFileExplorer.cpp:3214 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" "Finnish: Kimmo Siira\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" "Çevirmenler\n" "-------------\n" "Arjantin İspanyolcası: Bruno Gilberto Luciani\n" "Brezilya Portekizcesi: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Boşnakça: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Katalan: muzzol\n" "Çince: Xin Li\n" "Çince (Taïwan): Wei-Lun Chao\n" "Kolombiya İspanyolcası: Vladimir Támara (Pasos de Jesús)\n" "Çek: David Vachulka\n" "Danimarka dili: Jonas Bardino, Vidar Jon Bauge\n" "Flemenkçe: Hans Strijards\n" "Fince: Kimmo Siira\n" "Fransızca: Claude Leo Mercier, Roland Baudin\n" "Almanca: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Yunanca: Nikos Papadopoulos\n" "Macarca: Attila Szervac, Sandor Sipos\n" "Italyanca: Claudio Fontana, Giorgio Moscardi\n" "Japonca: Karl Skewes\n" "Norveççe: Vidar Jon Bauge\n" "Polonyaca: Jacek Dziura, Franciszek Janowski\n" "Portegizce: Miguel Santinho\n" "Rusça: Dimitri Sertolov, Vad Vad\n" "İspanyolca: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "İsveçce: Anders F. Bjorklund\n" "Türkçe: erkaN, Yaşar Çiv\n" #: ../src/XFileExplorer.cpp:3246 msgid "About X File Explorer" msgstr "X File Explorer Hakkında" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3718 msgid "Execute the command:" msgstr "Komutu çalıştır:" #: ../src/XFileExplorer.cpp:3718 msgid "Console mode" msgstr "Konsol modu" #: ../src/XFileExplorer.cpp:3896 msgid "Search files and folders" msgstr "Dosya ve dizinleri ara" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 msgid "Do you really want to empty the trash can?" msgstr "Gerçekten çöp kutusunu boşaltmak istiyor musunuz?" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr " içinde " #: ../src/XFileExplorer.cpp:3959 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "Tüm öğeler kesinlikle kaybedilecek!" #: ../src/XFileExplorer.cpp:4049 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "Çöp boyutu: %s (%s dosya, %s altdizin)\n" "\n" "Değiştirilme tarihi: %s" #: ../src/XFileExplorer.cpp:4051 msgid "Trash size" msgstr "Çöp boyutu" #: ../src/XFileExplorer.cpp:4058 #, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Çöp kutusu 'dosyalar' dizini %s okunabilir değil!" #: ../src/XFileExplorer.cpp:4512 ../src/XFileExplorer.cpp:4586 #, c-format msgid "Command not found: %s" msgstr "Komut bulunamadı: %s" #: ../src/XFileExplorer.cpp:4591 #, c-format msgid "Invalid file association: %s" msgstr "Geçersiz dosya ilişkisi: %s" #: ../src/XFileExplorer.cpp:4596 #, c-format msgid "File association not found: %s" msgstr "Dosya ilişkisi bulunamadı: %" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Tercihler" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Paket dosyası aç" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Aç..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Araç çubuğu" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "X File Paketi H&akkında" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "&Kaldır" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Kur/Güncelle" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "&Tanımlama" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "Dosya &Listesi" #: ../src/XFilePackage.cpp:304 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X Dosya Paketi Sürümü %s basit bir rpm veya deb paket yöneticisidir.\n" "\n" #: ../src/XFilePackage.cpp:306 msgid "About X File Package" msgstr "X File Paketi Hakkında" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "RPM kaynak paketleri" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "RPM paketleri" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "DEB paketleri" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Belge Aç" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Paket yüklenmedi" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Bilinmeyen paket biçimi" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Paket Kur/Yükselt" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Paket Kaldır" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[RPM Paketi]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[DEB paketi]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "%s sorgusu başarısız oldu!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Dosya Yükleme Hatası" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Dosya açılamıyor: %s" #. Usage message #: ../src/XFilePackage.cpp:719 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" "Kullanım: xfp [seçenekler] [paket] \n" "\n" " [seçenekler] aşağıdakilerden herhangi biri olabilir:\n" "\n" " -h, --help (Bu) yardım ekranını yazdır ve çık.\n" " -v, --version Sürüm bilgisini yazdır ve çık.\n" "\n" " [paket] açılışta açmak istediğiniz rpm veya deb paketinin yolu.\n" "\n" #: ../src/XFileImage.cpp:182 msgid "GIF Image" msgstr "GIF Resmi" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "BMP Resmi" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "XPM Resmi" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "PCX Resmi" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "ICO Resmi" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "RGB Resmi" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "XBM Resmi" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "TARGA Resmi" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "PPM Resmi" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "PNG Resmi" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "JPEG Resmi" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "TIFF Resmi" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "Res&im" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Aç" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Resim dosyası aç." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Yazdır" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 msgid "Print image file." msgstr "Resim dosyası yazdır." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:660 msgid "Zoom in" msgstr "Yakınlaştır" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "Resmi yakınlaştır." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Uzaklaştır" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "Resmi uzaklaştır." #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "100% Yakınlaştır" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "Resmi 100% yakınlaştır." #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "Sığdırmak için yakınlaştır" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "Pencereye sığdırmak için yakınlaştır." #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "Sola döndür" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Resmi sola döndür." #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Sağa döndür" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Resmi sağa döndür." #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Yatay yansıma" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "Resmi yatay olarak yansıt." #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Dikey yansıma" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Resmi dikey olarak yansıt." #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "&Yazdır..." #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "Son dosyaları &temizle" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "Son dosya menüsünü temizle." #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Xfi'den Çık." #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "&Yakınlaştır" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "&Uzaklaştır" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "100% Yakı&nlaştır" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "Pencereye &sığdır" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "Sağa döndü&r" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Sağa döndür." #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "So&la döndür" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Sola döndür." #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "&Yatay yansıma" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Yatay yansıma." #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "&Dikey yansıma" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Dikey yansıma." #: ../src/XFileImage.cpp:775 msgid "Show hidden files and folders." msgstr "Gizli dosya ve dizinleri göster." #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Resmin küçük resimlerini göster." #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Dizinleri büyük simgelerle göster." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Dizinleri küçüük simgelerle göster." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "Ayrıntılı &dosya listesi" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Ayrıntılı dizin listesini görüntüle." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "Simgeleri satır şeklinde görüntüle." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "Simgeleri sütun şeklinde görüntüleyin." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Simge adlarını otomatik boyutlandır." #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Araç çubuğunu görüntüle." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "&Dosya listesi" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Dosya listesini göster." #: ../src/XFileImage.cpp:824 msgid "File list &before" msgstr "Daha &önce dosya listesi" #: ../src/XFileImage.cpp:824 msgid "Display file list before image window." msgstr "Görüntü penceresinden önce dosya listesini görüntüle." #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "Resim &süzgeci" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Sadece resim dosyalarını listele." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "Açarken &pencereye sığdır" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "Bir görüntüyü açarken pencereye sığdırmak için yakınlaştır." #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "X File Image H&akkında" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "X File Image Hakkında." #: ../src/XFileImage.cpp:1333 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "X File Image Sürüm %s basit bir resim görüntüleyicidir.\n" "\n" #: ../src/XFileImage.cpp:1335 msgid "About X File Image" msgstr "X File Image Hakkında" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Resim Yükleme Hatası" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Desteklenmeyen tür: %s" #: ../src/XFileImage.cpp:1464 msgid "Unable to load image, the file may be corrupted" msgstr "Resim yüklenemiyor, dosya bozuk olabilir" #: ../src/XFileImage.cpp:1504 msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "Değişiklik yeniden başlattıktan sonra dikkate alınacaktır.\n" "X File Image şimdi yeniden başlatılsın mı?" #: ../src/XFileImage.cpp:1619 msgid "Open Image" msgstr "Resim Aç" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Yazdırma komutu: \n" "(ör: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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" "Kullanım: xfi [seçenekler] [resim] \n" "\n" " [seçenekler] aşağıdakilerden herhangi biri olabilir:\n" "\n" " -h, --help (Bu) yardım ekranını yazdır ve çık.\n" " -v, --version Sürüm bilgisini yazdır ve çık.\n" "\n" " [resim] başlangıçta açmak istediğiniz resim dosyasının yolu.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "XFileWrite Tercihleri" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "Düzenl&eyici" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Metin" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Kenar kaydırma:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Tablolama boyutu:" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "&Renkler" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Satırlar" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Arka plan:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Metin:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Metin arka planı seçimi:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Metin seçimi:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Vurgulanan metin arka planı:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Vurgulanan metin:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "İmleç:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Satır numaraları arka planı:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Satır numaraları ön planı:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Ara" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "&Pencere" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " Satırlar:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Sütun:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Satır:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Yeni" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Yeni belge oluştur." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Belge dosyası aç." #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Kaydet" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Belgeyi kaydet." #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Kapat" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Belge dosyasını kapat." #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Belgeyi yazdır." #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Çık" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "X File Write'tan çık." #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "Seçimi panoya kopyala." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Kes" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "Seçimi panoya kes." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Yapıştır" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Panoyu yapıştır." #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Satır numarasına git." #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Geri" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Son değişikliği geri al." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Yinele" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "En son geri almayı yinele." #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Metin ara." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Seçimi geriye doğru ara" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "Seçili metni geriye doğru ara." #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "Seçimi ileri doğru ara" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "Seçili metni ileriye doğru ara." #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "Sözcük kaydırma" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "Sözcük kaydırma özelliğini ayarla." #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "Sözcük kaydırmayı kapat" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "Sözcük kaydırma kapatmayı ayarla." #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Satır numaralarını göster" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Satır numaralarını göster." #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Satır numaralarını gizle" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Satır numaralarını gizle." #: ../src/WriteWindow.cpp:741 msgid "&New" msgstr "Ye&ni" #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "Değişiklikleri dosyaya kaydet." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "F&arklı Kaydet..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Belgeyi farklı bir dosyaya kaydet." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Belgeyi kapat." #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "Son dosyaları &temizle" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "&Geri al" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "&Yinele" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "&Kaydedilene geri dön" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Kaydedilen belgeye geri dön." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "Ke&s" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Panodan yapıştır." #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "Kü&çük harf" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Küçük harfle değiştir." #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "Büy&ük harf" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Büyük harfle değiştir." #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "Satıra &git..." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "&Tümünü Seç" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "Durum &satırı" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Durum stırını görüntüle." #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "&Ara..." #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Bir dize ara." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "Ye&rine koy..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Bir dize arayın ve başka bir tane ile değiştirin." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "Seçimi &geriye doğru ara" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Seçimi &ileriye doğru ara" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "&Sözcük kaydırma" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "Sözcük kaydırma modunu aç/kapat." #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "Satır numara&ları" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Satır numaraları modunu aç/kapat." #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "" #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "&Yazıtipi..." #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Metin yazıtipini değiştir." #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "&Daha fazla seçenek..." #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Diğer seçenekleri değiştir." #: ../src/WriteWindow.cpp:959 msgid "&About X File Write" msgstr "X File Write H&akkında" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "X File Write Hakkında." #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "Dosya çok büyük: %s (%d bayt)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "Dosya okunamıyor: %s" #: ../src/WriteWindow.cpp:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Dosya Kaydetme Hatası" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "Dosya açılamıyor: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "Dosya çok büyük: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "Dosya: %s kesildi." #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "başlıksız" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "başlıksız%d" #: ../src/WriteWindow.cpp:1477 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "X File Write Sürüm %s basit bir metin düzenleyicidir.\n" "\n" #: ../src/WriteWindow.cpp:1479 msgid "About X File Write" msgstr "X File Write Hakkında" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Yazıtipini Değiştir" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Metin Dosyaları" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "C Kaynak Dosyaları" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "C++ Kaynak Dosyaları" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "C/C++ Başlık Dosyaları" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "HTML Dosyaları" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "PHP Dosyaları" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Kaydedilmemiş Belge" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "%s dosyaya kaydedilsin mi?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Belge Kaydet" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Belgenin Üzerine Yaz" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "Mevcut belgenin üzerine yaz: %s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (değiştirildi)" #: ../src/WriteWindow.cpp:1851 msgid " (read only)" msgstr " (salt okunur)" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "SALT OKUNUR" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "Dosya Değiştirildi" #: ../src/WriteWindow.cpp:2071 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "başka bir program tarafından değiştirildi. Bu dosya diskten yeniden " "yüklensin mi?" #: ../src/WriteWindow.cpp:2132 msgid "Replace" msgstr "Yerine koy" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Satıra Git" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "Satır numarasına &git:" #. Usage message #: ../src/XFileWrite.cpp:217 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" "Kullanım: xfw [seçenekler] [dosya1] [dosya2] [dosya3]...\n" "\n" " [seçenekler] aşağıdakilerden herhangi biri olabilir:\n" "\n" " -r, --read-only Dosyaları salt okunur modda aç.\n" " -h, --help (Bu) yardım ekranını yazdır ve çık.\n" " -v, --version Sürüm bilgisini yazdır ve çık.\n" "\n" " [dosya1] [dosya2] [dosya3]... Açılışta açmak istediğiniz dosya (ların) " "yolu(ları)dur..\n" "\n" #: ../src/foxhacks.cpp:164 msgid "Root folder" msgstr "Kök dizini" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Hazır." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "Değişti&r" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Tümünü &Değiştir" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Şunun için ara:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "İle dğiştir:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "Çık&ar" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "Durumu &Yoksay" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "&İfade" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "&Geri al" #: ../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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\n" " \n" " " msgstr "" "\n" " \n" " \n" " XFE, X File Explorer Dosya Yöneticisi\n" " \n" " \n" " \n" " \n" " \n" " \n" " [Bu yardım dosyası en iyi şekilde sabit bir yazı tipi kullanılarak " "görüntülenebilir. Tercihler iletişim kutusunun yazı tipi sekmesini " "kullanarak ayarlayabilirsiniz.]\n" " \n" " \n" " \n" " Bu program ücretsiz bir yazılımdır; GNU şartlarına göre yeniden " "dağıtabilir ve/veya değiştirebilirsiniz\n" " Özgür Yazılım Vakfı tarafından yayınlanan Genel Kamu Lisansı; ya sürüm 2, " "ya da (isteğe bağlı)\n" " sonraki herhangi bir sürümde.\n" " \n" " Bu program faydalı olacağı umuduyla dağıtılmıştır, ancak HİÇBİR GARANTİ " "YOKTUR; \n" " belirli bir AMACA UYGUNLUK veya TİCARİ SATILABİLİRLİK GARANTİSİ " "VERİLMEKSİZİN. \n" " Daha fazla bilgi için GNU Genel Kamu Lisansına bakınız..\n" " \n" " \n" " \n" " Tanım\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) FOX araç seti kullanılarak yazılmış X11 için hafif " "bir dosya yöneticisidir.\n" " Masaüstü bağımsız ve kolayca özelleştirilebilir.\n" " Komutan veya Gezgin tarzları vardır ve çok hızlı ve küçüktür.\n" " Xfe, aslen Maxim Baranov tarafından yazılmış popüler fakat üretime son " "verilen X Win Commander'ı temel alıyor.\n" " \n" " \n" " \n" " Özellikler\n" " =-=-=-=-=\n" " \n" " - Çok hızlı grafik kullanıcı arayüzü\n" " - UTF-8 desteği\n" " - Dört dosya yöneticisi modlu Komutan/Gezgin arayüzü: a) bir panel, b) " "bir dizin ağacı ve bir panel, c) iki panel ve\n" " - d) bir dizin ağacı ve iki panel\n" " - İstiflenen yatay veya dikey dosya panelleri\n" " - Panel eşitleme ve değiştirme\n" " - Entegre metin düzenleyici ve görüntüleyici (X File Write, Xfw)\n" " - Entegre resim görüntüleyici (X File Image, Xfi)\n" " - Entegre paket (rpm veya deb) görüntüleyici / yükleyici / kaldırıcı (X " "File Package, Xfp)\n" " - Özel kabuk betikleri (Nautilus betikleri gibi)\n" " - Dosya ve dizinleri arama\n" " - Doğal sıralama düzeni (foo10.txt foo2.txt'den sonra gelir...)\n" " - En sevdiğiniz masaüstünden ve masaüstünüze Kopyala/Kes/Yapıştır " "(GNOME/KDE/XFCE/ROX)\n" " - En sevdiğiniz masaüstünden veya masaüstüne Sürükle Bırak (GNOME/KDE/" "XFCE/ROX)\n" " - Disk kullanım komutu \n" " - Su veya sudo kimlik doğrulama yöntemiyile kök modu\n" " - Durum satırı\n" " - Dosya ilişkilendirmeleri\n" " - İsteğe bağlı çöp kutusu, dosya silme işlemleri için olabilir " "(freedesktop.org standartlarıyla uyumlu)\n" " - Kayıt defterini otomatik kaydet\n" " - Çift tıklama veya tek tıklama ile dosya ve dizin gezintisi\n" " - Ağaç listesinde ve dosya listesinde farenin sağ tıklayıp açılan " "menüsü\n" " - Dosya niteliklerini değiştirme\n" " - Aygıtları bağlama/ayırma (sadece Linux)\n" " - Bağlantı noktası yanıt vermediğinde uyarma (yalnızca Linux)\n" " - Araç çubukları\n" " - Yer imleri\n" " - Dizin gezintisi için geri ve ileri geçmiş listeleri\n" " - Renk temaları (GNOME, KDE, Windows...)\n" " - Simge temaları (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Kontrol temaları (Standard or Clearlooks like)\n" " - Arşiv oluşturma (tar, compress, zip, gzip, bzip2, xz ve 7zip " "biçimleri desteklenmektedir)\n" " - Dosya karşılaştırması (harici araç üzerinden)\n" " - Arşiv çıkarma (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj ve 7zip biçimleri desteklenmektedir)\n" " - Dosya özellikli araç ipuçları\n" " - Uzun dosya işlemleri için ilerleme çubukları veya iletişim kutuları\n" " - Resim önizlemeleri için küçük resimler\n" " - Yapılandırılabilir klavye kısayolları\n" " - Başlangıç bildirimi (isteğe bağlı)\n" " - ve daha fazlası...\n" " \n" " \n" " \n" " Varsayılan tuş kısayolları\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Aşağıda genel varsayılan klavye kısayolları bulunmaktadır. Bu kısayollar, " "tüm X Dosyası uygulamaları için ortaktır.\n" " \n" " * Tümünü seç - Ctrl-A\n" " * Panoya kopyala - Ctrl-C\n" " * Ara - Ctrl-F\n" " * Öncekini ara - Ctrl-Shift-G\n" " * Sonrakini ara - Ctrl-G\n" " * Ev dizinine git - Ctrl-H\n" " * Ters seçim - Ctrl-I\n" " * Dosya aç - Ctrl-O\n" " * Dosya yazdır - Ctrl-P\n" " * Uygulamadan çık - Ctrl-Q\n" " * Panodan yapıştır - Ctrl-V\n" " * Pencereyi kapat - Ctrl-W\n" " * Panoya kes - Ctrl-X\n" " * Tüm seçimi kaldır - Ctrl-Z\n" " * Yardım görüntüle - F1\n" " * Yeni dosya oluştur - Ctrl-N\n" " * Yeni dizin oluştur - F7\n" " * Büyük simge listesi - F10\n" " * Küçük simge listesi - F11\n" " * Ayrıntılı dosya listesi - F12\n" " * Gizli dosya görüntülemeyi aç/kapat - Ctrl-F6\n" " * Küçük resim görüntülemeyi aç/kapat - Ctrl-F7\n" " * Dikey paneller - Ctrl-Shift-F1\n" " * Yatay paneller - Ctrl-Shift-F2\n" " * Çalışma dizinine git - Shift-F2\n" " * Üst dizine git - Backspace\n" " * Önceki dizine git - Ctrl-Backspace\n" " * Sonraki dizine git - Shift-Backspace\n" " \n" " \n" " Aşağıda varsayılan X File Ekplorer klavye kısayollarıı bulunmaktadır. Bu " "kısayollar, Xfe uygulamasına özeldir.\n" " \n" " * Yer imi ekle - Ctrl-B\n" " * Dosyaları süz - Ctrl-D\n" " * Komut çalıştır - Ctrl-E\n" " * Yeni sembolik bağ oluştur - Ctrl-J\n" " * Panelleri değiştir - Ctrl-K\n" " * Konum çubuğunu değiştir - Ctrl-L\n" " * Dosya sistemini bağla (sadece Linux) - Ctrl-M\n" " * Dosyayı yeniden adlandır - F2\n" " * Panelleri yenile - Ctrl-R\n" " * Dosyaları konuma sembolik bağla - Ctrl-S\n" " * Terminal başlat - Ctrl-T\n" " * Dosya sistemini ayır (sadece Linux) - Ctrl-U\n" " * Panelleri eşitle - Ctrl-Y\n" " * Yeni pencere oluştur - F3\n" " * Düzenle - F4\n" " * Dosyaları konuma kopyala - F5\n" " * Dosyaları konuma taşı - F6\n" " * Dosya özellikleri - F9\n" " * Bir panel modu - Ctrl-F1\n" " * Ağaç ve panel modu - Ctrl-F2\n" " * İki panel modu - Ctrl-F3\n" " * Ağaç ve iki panel modu - Ctrl-F4\n" " * Gizli dosyaları göstermeyi aç/kapat - Ctrl-F5\n" " * Çöp kutusuna git - Ctrl-F8\n" " * Yeni kök penceresi oluştur - Shift-F3\n" " * Görünüm - Shift-F4\n" " * Dosyaları çöp kutusuna taşı - Del\n" " * Dosyaları çöp kutusundan geri al - Alt-Del\n" " * Dosyaları sil - Shift-Del\n" " * Çöp kutusunu boşalt - Ctrl-Del\n" " \n" " \n" " Aşağıda varsayılan X File Image klavye kısayolları bulunmaktadır. Bu " "kısayollar, Xfi uygulamasına özeldir.\n" " \n" " * Pencere sığdırmak için yakınlaştır - Ctrl-F\n" " * Resmi yatay yansıt - Ctrl-H\n" " * Resmi100% yakınlaştır - Ctrl-I\n" " * Resmi sola döndür - Ctrl-L\n" " * Resmi sağa döndür - Ctrl-R\n" " * Resmi dikey yansıt - Ctrl-V\n" " \n" " \n" " Aşağıda varsayılan X File Write klavye kısayolları bulunmaktadır. Bu " "kısayollar, Xfw uygulamasına özeldir.\n" " \n" " * Sözcük kaydırma modunu aç/kapat - Ctrl-K\n" " * Satıra git - Ctrl-L\n" " * Yeni belge oluştur - Ctrl-N\n" " * Dizeyi değiştir - Ctrl-R\n" " * Dosyadaki değişiklikleri kaydet - Ctrl-S\n" " * Satır numaraları modunu aç/kapat - Ctrl-T\n" " * Büyük harf modunu aç/kapat - Ctrl-Shift-U\n" " * Küçük harf modunu aç/kapat - Ctrl-U\n" " * Son değişiklikleri yinele - Ctrl-Y\n" " * Son değişiklikleri geri al - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) yalnızca genel klavye kısayollarının bazılarını " "kullanır.\n" " \n" " Yukarıda listelenen tüm varsayılan klavye kısayollarının, Xfe Tercihleri " "iletişim kutusunda özelleştirilebileceğini unutmayın. Ancak,\n" " bazı klavye eylemleri kodlanmıştır ve değiştirilemez. Bunlar şunları " "içerir:\n" " \n" " * Ctrl-+ and Ctrl-- - Xfi içinde resmi yakınlaştır ve " "uzaklaştır\n" " * Shift-F10 - Xfe'de bağlam menülerini " "görüntüleme\n" " * Space - dosya listesinde bir öğeyi seç\n" " * Return - dosya listelerine dizinleri gir, " "dosyaları aç, düğme eylemlerini seç, vb.\n" " * Esc - geçerli iletişim penceresini " "kapat, dosya seçimlerini kaldır, vb.\n" " \n" " \n" " \n" " Sürükle ve Bırak işlemleri\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Bir dosyayı veya dosya grubunu bir dizine veya dosya paneline sürüklemek " "(farenin sol düğmesini basılı tutarken\n" " hareket ettirerek) isteğe göre dosya işlemi için birini seçmesini sağlayan " "bir iletişim kutusu açar:\n" " kopyala, taşı, bağ koy veya iptal et.\n" " \n" " \n" " \n" " Çöp sistemi\n" " =-=-=-=-=-=-=\n" " \n" " Sürüm 1.32 ile başlayan Xfe, freedesktop.org standartlarına tam olarak " "uyan bir çöp sistemi uygular.\n" " Bu, kullanıcının dosyaları çöp kutusuna taşımasına ve dosyaları Xfe'den " "veya sık kullandığınız masaüstünden geri yüklemesine\n" " olanak sağlar.\n" " Çöp kutusu konumunun böyle olduğuna dikkat edin: ~/.local/share/Trash/" "files\n" " \n" " \n" " \n" " Yapılandırma\n" " =-=-=-=-=-=-=\n" " \n" " Herhangi bir dosyayı el ile düzenlemeden herhangi bir Xfe özelleştirmesini " "(düzen, dosya ilişkilendirmeleri, anahtar bağlantıları vb.)\n" " gerçekleştirebilirsiniz. Ancak, yapılandırma ilkelerini anlamak " "isteyebilirsiniz, çünkü bazı özelleştirmeler yapılandırma dosyalarını elle\n" " düzenleyerek de kolayca yapılabilir.\n" " Herhangi bir yapılandırma dosyasını elle düzenlemeden önce Xfe'den " "ayrıldığınızdan emin olun, aksi takdirde değişiklikler\n" " hesaba katılmaz.\n" " \n" " Sistem genelinde xferc yapılandırma dosyası, verilen öncelik sırasına " "göre /usr/share/xfe, /usr/local/ share/xfe\n" " veya /opt/local/share/xfe dizininde bulunur.\n" " \n" " Sürüm 1.32 ile başlayarak, yerel yapılandırma dosyalarının konumu değişti. " "Bu, freedesktop.org\n" " standartlarıyla uyumlu olmaktır.\n" " Xfe, Xfw, Xfi, Xfp için yerel yapılandırma dosyaları şimdi ~/.config/xfe " "dizininde bulunur.\n" " Bunlara xferc, xfwrc, xfirc ve xfprc denir.\n" " \n" " İlk Xfe çalışmasında, sistem genelinde konfigürasyon dosyası, henüz mevcut " "olmayan yerel\n" " ~/.config/xfe/xferc yapılandırma dosyasına kopyalanır. Sistem genelinde " "bir yapılandırma dosyası bulunamazsa\n" " (olağandışı bir kurulum yeri olması durumunda), bir iletişim kutusu " "kullanıcıdan doğru yeri seçmesini ister. Bu nedenle,\n" " tüm yerel seçenekler aynı dosyada bulunduğundan, Xfe'yi özelleştirmek (bu " "özellikle dosya ilişkilendirmeleri için geçerlidir),\n" " elle düzenlenerek daha kolaydır.\n" " \n" " Varsayılan PNG simgeleri, kurulumunuza bağlı olarak /usr/share/xfe/icons/" "xfe-theme veya /usr/local/share/xfe/icons/xfe-theme\n" " yolunda bulunur. Simge tema yolunu Tercihler iletişim kutusundan kolayca " "değiştirebilirsiniz.\n" " \n" " \n" " \n" " Betikler\n" " =-=-=-=\n" " \n" " Özel kabuk betikleri, panelde seçilen dosyalar üzerinde Xfe içinden " "çalıştırılabilir. Önce devam etmek\n" " istediğiniz dosyaları seçmeli, ardından dosya listesine sağ tıklayıp " "Betikler alt menüsüne gitmelisiniz. Son olarak,\n" " seçilen dosyalara uygulamak istediğiniz betiği seçin.\n" " \n" " Betik dosyaları ~/.config/xfe/scripts dizininde bulunmalı ve " "çalıştırılabilir olmalıdır. Alt dizinleri kullanarak\n" " bu dizini istediğiniz gibi düzenleyebilirsiniz. Doğrudan betiğe gitmek ve " "onu yönetmek için Araçlar/Betik dizinine git\n" " menü öğesini kullanabilirsiniz.\n" " \n" " İşte Xfe'nin başlatıldığı uçbirimde seçilen her dosyayı listeleyen basit " "bir kabuk betiğine bir örnek:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " Elbette xmessage, zenity veya kdialog gibi programları betikle etkileşime " "girmenize izin veren düğmeler içeren\n" " bir pencere görüntülemek için kullanabilirsiniz. İşte xmessage kullanan " "yukarıdaki örnekte yapılan bir değişiklik:\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" " Çoğu zaman, Internet'te bulunan Nautilus betiklerini değişiklik " "yapmaksızın doğrudan kullanmak mümkündür.\n" " \n" " \n" " \n" " Dosya ve dizinleri ara\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe, find ve grep komutunun arka uçlarını kullanarak dosyaları ve " "dizinleri hızla arayabilir. Bu,\n" " Araçlar/Dosyaları Ara menü öğesiyle (veya Ctrl-F kısayolunu kullanarak) " "yapılır.\n" " \n" " Arama penceresinde, kullanıcılar daha sonra ad ve metin gibi normal arama " "kalıplarını belirleyebilir, ancak daha karmaşık\n" " arama seçenekleri de kullanılabilir (boyut, tarih, izinler, kullanıcılar, " "gruplar, sembolik bağlar ve boş dosyalar). Sonuçlar bir\n" " dosya listesinde belirir ve kullanıcılar, dosya panellerinde olduğu gibi " "dosyalarını yönetmek için sağ tıklama\n" " menüsünü kullanabilir.\n" " \n" " Durdur düğmesine basılarak veya Escape tuşuna basılarak arama " "kesilebilir.\n" " \n" " \n" " \n" " Latince temelli olmayan diller\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe, karakter kümenizi destekleyen bir Unicode yazı tipi seçmişseniz, " "kullanıcı arabirimini ve ayrıca dosya adlarını\n" " latince olmayan karakter tabanlı dillerde görüntüleyebilir. Uygun bir yazı " "tipi seçmek için,\n" " Düzenle / Tercihler / Yazıtipi menü öğesini kullanın.\n" " \n" " Çok dilli Unicode TrueType yazı tipleri şu adreste bulunabilir: http://www." "slovo.info/unifonts.htm\n" " \n" " \n" " \n" " İpuçları\n" " =-=-=\n" " \n" " Dosya listesi\n" " - Seçili dosyalar üzerinde bir içerik menüsü açmak için dosyaları seçin " "ve sağ tıklayın\n" " - Dosya panelinde bir içerik menüsü açmak için Ctrl + sağ tuşa basın\n" " - Bir dosyayı/dizini bir dizine sürüklerken, açmak için fareyi dizinin " "üzerinde tutun.\n" " \n" " Ağaç listesi\n" " - Bir dizin seçin ve seçilen dizindeki bağlam menüsünü açmak için sağ " "tıklayın\n" " - Ağaç panelinde bir içerik menüsü açmak için Ctrl + sağ tuşa basın\n" " - Bir dosyayı/dizini bir dizine sürüklerken, genişletmek için fareyi " "dizinin üzerinde tutun.\n" " \n" " Dosya adlarını kopyala/yapıştır\n" " - Bir dosya seçin ve adını panoya kopyalamak için Ctrl-C tuşlarına " "basın. Ardından bir iletişim kutusunda, dosya adını\n" " yapıştırmak için Ctrl-V tuşlarına basın.\n" " - Bir dosya işlemi iletişim kutusunda, kaynak adını içeren satırda bir " "dosya adı seçin ve farenizin orta düğmesini\n" " kullanarak doğrudan hedefe yapıştırın. Sonra ihtiyaçlarınıza göre " "değiştirin.\n" " \n" " Panoya dosya ekle\n" " - Dosyaları bir dizinden seçebilir, Ctrl-C tuşlarına basarak panoya " "kopyalayabilirsiniz. Bu, önceki pano içeriğini siler.\n" " Daha sonra başka bir dizine geçebilir, başka dosyalar seçebilir ve " "Shift-Ctrl-C tuşlarına basarak bunları pano içeriğine\n" " ekleyebilirsiniz. Bu, önceki pano içeriğini silmez. Sonunda, hedefe " "gidebilir ve panodaki tüm dosyaları kopyalamak için\n" " Ctrl-V tuşlarına basabilirsiniz. Elbette bu, dosyaları kesmek ve " "yapıştırmak için Ctrl-X ve Shift-Ctrl-X ile de çalışır.\n" " \n" " Başlangıç bildirimi\n" " - Başlangıç bildirimi, kullanıcıya bir işlem başlattığında (dosya " "kopyalama, uygulama başlatma vb.) bir geri bildirim\n" " (bir sanal alan imleci veya her neyse) görüntüleyen işlemdir. Sisteme " "bağlı olarak, başlangıç bildirimi ile ilgili bazı sorunlar\n" " olabilir. Xfe başlangıç bildirim desteğiyle derlendiyse, kullanıcı " "bunu genel Tercihler düzeyindeki tüm uygulamalar için\n" " devre dışı bırakabilir. Ayrıca, Özellikler iletişim kutusunun ilk " "sekmesindeki özel seçeneği kullanarak, bireysel uygulamalar\n" " için devre dışı bırakabilir. Bu son yol yalnızca dosya " "çalıştırılabilir olduğunda kullanılabilir. Başlangıç bildirimini devre dışı " "bırakmak,\n" " başlangıç bildirim protokolünü desteklemeyen eski bir uygulamayı " "başlatırken yararlı olabilir (ör. Xterm).\n" " \n" " Kök modu\n" " - Sudo root modunu kullanıyorsanız, sudo komutuna şifre geribildirimi " "eklemek faydalı olabilir. Bunun için sudoers dosyanızı\n" " şu şekilde düzenleyin:\n" " sudo visudo -f /etc/suoders\n" " ve sonra, aşağıda gösterildiği gibi varsayılan seçeneklere " "'pwfeedback' ekleyin:\n" " Defaults env_reset,pwfeedback\n" " Ondan sonra, küçük doğrulama penceresine şifrenizi yazarken " "yıldızları (***** gibi) görmelisiniz.\n" " \n" " \n" " \n" " Hatalar\n" " =-=-=\n" " \n" " Lütfen bulunan herhangi bir hatayı Roland Baudin " "adresine bildirin. Kullandığınız Xfe sürümünü,\n" " FOX kitaplığı sürümünü ve sisteminizin adını ve sürümünü belirtmeyi " "unutmayın.\n" " \n" " \n" " \n" " Çeviriler\n" " =-=-=-=-=-=-=\n" " \n" " Xfe artık 24 dilde sunuluyor ancak bazı çeviriler sadece kısmi. Xfe'yi " "kendi dilinize çevirmek için, kaynak ağacın\n" " po dizininde bulunan Xfe.pot dosyasını poedit, kbabel veya gtranslator " "gibi bir yazılımla açın ve tercüme edilmiş\n" " dizgilerinizle doldurun (kısayol tuşlarına ve c-format karakterlerine " "dikkat edin) , ve sonra bana geri gönderin.\n" " Çalışmalarınızı bir sonraki Xfe sürümüne dahil etmekten memnuniyet " "duyarım.\n" " \n" " \n" " \n" " Yamalar\n" " =-=-=-=\n" " \n" " Bazı ilginç yamaları kodladıysanız, lütfen bana gönderin, bir sonraki " "sürümde eklemeye çalışacağım...\n" " \n" " \n" " Mükemmel X Win Commander'ı için Maxim Baranov'a ve faydalı yamalar, " "çeviriler, testler ve tavsiyeler sunan\n" " herkese çok teşekkürler.\n" " \n" " [Son sürüm: 7/11/2016]\n" " \n" " " #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "&Küresel Klavye Kısayolları" #: ../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 "" "Bu klavye kısayolları tüm Xfe uygulamalarında ortaktır.\n" "Seçilen klavye kısayolunu değiştirmek için bir öğeye çift tıklayın..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Xf&e Klavye Kısayolları" #: ../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 "" "Bu klavye kısayolları X File Explorer uygulamasına özeldir.\n" "Seçilen klavye kısayolunu değiştirmek için bir öğeye çift tıklayın..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Xf&i Klavye Kısayolları" #: ../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 "" "Bu klavye kısayolları X File Image uygulamasına özeldir.\n" "Seçilen klavye kısayolunu değiştirmek için bir öğeye çift tıklayın..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Xf&w Klavye Kısayolları" #: ../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 "" "Bu klavye kısayolları X File Write uygulamasına özeldir.\n" "Seçilen klavye kısayolunu değiştirmek için bir öğeye çift tıklayın..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Eylem Adı" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Kayıtlı Tuş" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Klavye Kısayolu" #: ../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 "İşlem için kullanmak istediğiniz tuşların birleşimine bası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 "" "[Bu işlem için klavye kısayolunu devre dışı bırakmak için boşluk tuşuna " "basın]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Klavye Kısayolunu Düzenle" #: ../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 "" "%s klavye kısayolu genel bölümde zaten kullanılıyor.\n" "Yeniden ayarlamadan önce mevcut kısayolu silmelisiniz." #: ../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 "" "%s klavye kısayolu Xfe bölümünde zaten kullanılıyor.\n" "Yeniden ayarlamadan önce mevcut kısayolu silmelisiniz." #: ../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 "" "%s klavye kısayolu Xfi bölümünde zaten kullanılıyor.\n" "Yeniden ayarlamadan önce mevcut kısayolu silmelisiniz." #: ../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 "" "%s klavye kısayolu Xfw bölümünde zaten kullanılıyor.\n" "Yeniden ayarlamadan önce mevcut kısayolu silmelisiniz." #: ../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 "Hata: %s dizinine girilemiyor: %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 "Hata: %s dizinine girilemiyor" #: ../src/startupnotification.cpp:126 #, c-format msgid "Error: Can't open display\n" msgstr "Hata: Görüntü açılamıyor\n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "%s başlangıcı" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, c-format msgid "Error: Can't execute command %s" msgstr "Hata: %s komutu çalıştırılamıyor" #: ../src/xfeutils.cpp:829 ../src/xfeutils.cpp:917 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Hata: %s dizini kapatılamıyor\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "bayt" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 msgid "copy" msgstr "kopyala" #: ../src/xfeutils.cpp:1413 #, c-format msgid "Error: Can't read group list: %s" msgstr "Hata: Grup listesi okunamıyor: %s" #: ../src/xfeutils.cpp:1417 #, c-format msgid "Error: Can't read group list" msgstr "Hata: Grup listesi okunamıyor" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "Xfe" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "Dosya Yöneticisi" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "X Penceresi için hafif bir dosya yöneticisi" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "Xfi" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "Resim Gösterici" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "Xfe için basit bir resim gösterici" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "Xfw" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Metin Düzenleyici" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Xfe için basit bir metin düzenleyici" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "Xfp" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Paket Yöneticisi" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Xfe için basit bir paket yöneticisi" #~ msgid "&Themes" #~ msgstr "&Temalar" xfe-1.44/po/no.po0000644000200300020030000052632014023353061010524 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: 2021-03-14 10:23+0100\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:333 #, 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:467 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" #: ../src/main.cpp:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Error loading icons" msgstr "Feil under åpning av fil" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 msgid "Unable to load some icons. Please check your icon theme!" msgstr "" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Egenskaper" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&Generelt" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 #, 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Mappe" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Character Device" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Block Device" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Named Pipe" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Kjørbar fil" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Dokument" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Ugyldige lenker" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 #, fuzzy msgid "Link to " msgstr "Lenke til" #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Plassering:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Type:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Størrelse:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Utvalg" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Flere Typer" #. Number of selected files #: ../src/Properties.cpp:1113 #, fuzzy, c-format msgid "%d items" msgstr " Oppføringer" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d oppføringer i %d mappe(r) og %d file(r)" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d oppføringer i %d mappe(r) og %d file(r)" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d oppføringer i %d mappe(r) og %d file(r)" #: ../src/Properties.cpp:1130 #, fuzzy, c-format msgid "%d files, %d folders" msgstr "%d oppføringer i %d mappe(r) og %d file(r)" #: ../src/Properties.cpp:1252 #, fuzzy msgid "Change properties of the selected folder?" msgstr "\tVis egenskaper til markerte filer (F9)" #: ../src/Properties.cpp:1256 #, fuzzy msgid "Change properties of the selected file?" msgstr "\tVis egenskaper til markerte filer (F9)" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 #, fuzzy msgid "Confirm Change Properties" msgstr "Egenskaper" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Advarsel" #: ../src/Properties.cpp:1401 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Flytting av filer avbrudt!" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Sletning av fil avbrudt!" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Sletning av fil avbrudt!" #. Error message box #. Error #: ../src/Properties.cpp:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Kunne ikke skrive til %s: Adgang nektet" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "Mappen %s finnes ikke" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Gi nytt navn" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Eier" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "Endring av eier avbrudt!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, fuzzy, c-format msgid "Chown in %s failed: %s" msgstr "Chmod av %s mislykket: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, fuzzy, c-format msgid "Chown in %s failed" msgstr "Chmod av %s mislykket: %s" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" #: ../src/Properties.cpp:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod av %s mislykket: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Rettigheter" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Endring av rettigheter avbrudt!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, fuzzy, c-format msgid "Chmod in %s failed" msgstr "Chmod av %s mislykket: %s" #: ../src/Properties.cpp:1628 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " markerte filer" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "Endring av rettigheter avbrudt!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 #, fuzzy msgid "Select an executable file" msgstr " Mappen :" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Alle filer" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "PNG Billeder" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "GIF Billeder" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "BMP Billeder" #: ../src/Properties.cpp:1990 #, fuzzy msgid "Select an icon file" msgstr " Mappen :" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%d oppføringer i %d mappe(r) og %d file(r)" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%d oppføringer i %d mappe(r) og %d file(r)" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%d oppføringer i %d mappe(r) og %d file(r)" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, fuzzy, c-format msgid "%u files, %u subfolders" msgstr "%d oppføringer i %d mappe(r) og %d file(r)" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 #, fuzzy msgid "Copy here" msgstr "Kopier" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 #, fuzzy msgid "Move here" msgstr "Flytt " #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 #, fuzzy msgid "Link here" msgstr "Lenke" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 #, fuzzy msgid "Cancel" msgstr "Avbryt" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Kopier fil" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Flytt fil" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Symlink " #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopier" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Flytt" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Symlenke" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "Til:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "Flytting av filer avbrudt!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "Kopiering av filer avbrudt!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "Monteringspunkt %s svarer ikke." #: ../src/DirList.cpp:2021 #, 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:3125 #, fuzzy msgid "0 bytes in root" msgstr "0 Byte" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 msgid "Panel is active" msgstr "" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 #, fuzzy msgid "Activate panel" msgstr "To &paneler\tCtrl-F2" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 #, 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:4586 #: ../src/SearchPanel.cpp:2361 #, 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "Legg til i &arkiv" #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "Kopier" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Klipp" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "Lim inn" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 #, fuzzy msgid "&Move to..." msgstr "Flytt" #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 #, 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, 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:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, 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:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 #, fuzzy msgid "File name is empty, operation cancelled" msgstr "Sletning av fil avbrudt!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Opprett arkiv" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Kopier" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, fuzzy, c-format msgid "Copy %s items from: %s" msgstr "" " Filer/mapper.\n" "Fra: " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Omdøp" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Omdøp" #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Kopier til" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Flytt " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, fuzzy, c-format msgid "Move %s items from: %s" msgstr "" " Filer/mapper.\n" "Fra: " #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Symlink" #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, fuzzy, c-format msgid "Symlink %s items from: %s" msgstr "" " Filer/mapper.\n" "Fra: " #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s er ikke en mappe" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 #, fuzzy msgid "Symlink operation cancelled!" msgstr "Opprettelse av symlink avbrudt!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, fuzzy, c-format msgid "Definitively delete folder %s ?" msgstr "Slett mappe permanent" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Bekreft sletning" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 #, fuzzy msgid "File delete" msgstr "Slett fil" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, fuzzy, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr " er skrivebeskyttet, slett allikevel?" #: ../src/DirPanel.cpp:2264 #, fuzzy, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr " er skrivebeskyttet, slett allikevel?" #: ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "Sletning av mappe avbrudt!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, fuzzy, c-format msgid "Move folder %s to trash can?" msgstr "\tSlett markerte filer (Del, F8)" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 #, fuzzy msgid "Confirm Trash" msgstr "Bekreft avslutning " #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "" #: ../src/DirPanel.cpp:2360 #, fuzzy, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr " er skrivebeskyttet, slett allikevel?" #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 #, fuzzy msgid "Move to trash folder operation cancelled!" msgstr "Flytting av filer avbrudt!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 #, fuzzy msgid "Restore from trash" msgstr "Tøm papirkurven: " #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 #, fuzzy msgid "Confirm Restore" msgstr "Bekreft sletning" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2640 #, fuzzy, c-format msgid "Can't create folder %s : %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, fuzzy, c-format msgid "Can't create folder %s" msgstr "Kan ikke slette mappen" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 msgid "An error has occurred during the restore from trash operation!" msgstr "" #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 #, fuzzy msgid "Restore from trash file operation cancelled!" msgstr "Flytting av filer avbrudt!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 #, fuzzy msgid "Create new folder:" msgstr "Opprett ny mappe..." #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Ny mappe" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Sletning av fil avbrudt!" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Kjør kommando :" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Monter" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Avmonter" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " filsystem..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 #, fuzzy msgid " the folder:" msgstr " mappen: " #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " handling avbrudt!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 #, 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:1133 #, 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:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Endring av rettigheter..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 #, fuzzy msgid "File:" msgstr "Fil :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Bekreft overskrivning" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, fuzzy, c-format msgid "Can't copy file %s: %s" msgstr "Kan ikke kopiere filen " #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, fuzzy, c-format msgid "Can't copy file %s" msgstr "Kan ikke kopiere filen " #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 #, fuzzy msgid "Source: " msgstr "Kilde : " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 #, fuzzy msgid "Target: " msgstr "Mål : " #: ../src/File.cpp:604 #, 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:608 #, 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:750 #, fuzzy, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Kunne ikke skrive til %s: Adgang nektet" #: ../src/File.cpp:754 #, fuzzy, c-format msgid "Can't copy file %s : Permission denied" msgstr "Kunne ikke skrive til %s: Adgang nektet" #: ../src/File.cpp:791 #, 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:795 #, 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:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "Mappen %s finnes ikke" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "Kilden %s er identisk med målfilen" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1048 #, fuzzy msgid "Delete folder: " msgstr "Slett mappe : " #: ../src/File.cpp:1054 ../src/File.cpp:1139 #, fuzzy msgid "From: " msgstr "Fra : " #: ../src/File.cpp:1095 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "Kan ikke slette mappen" #: ../src/File.cpp:1099 #, fuzzy, c-format msgid "Can't delete folder %s" msgstr "Kan ikke slette mappen" #: ../src/File.cpp:1160 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "Kan ikke slette filen" #: ../src/File.cpp:1164 #, fuzzy, c-format msgid "Can't delete file %s" msgstr "Kan ikke slette filen" #: ../src/File.cpp:1213 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Filen eller mappen %s finnes allered" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Kan ikke omdøpe til målet %s" #: ../src/File.cpp:1572 #, fuzzy, c-format msgid "Can't symlink %s: %s" msgstr "Opprett ny fil..." #: ../src/File.cpp:1576 #, fuzzy, c-format msgid "Can't symlink %s" msgstr "Opprett ny fil..." #: ../src/File.cpp:1655 ../src/File.cpp:1852 #, fuzzy msgid "Folder: " msgstr "Mappe : " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Pakk ut arkiv" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Legg til i arkiv" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, fuzzy, c-format msgid "Failed command: %s" msgstr "Kommandoen %s mislykkes" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Sukssess" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "Montering av mappen %s fullført." #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Avmontering av mappen %s fullført." #. Make and show command window #: ../src/File.cpp:2126 #, fuzzy msgid "Install/Upgrade package" msgstr "Installer/Oppgrader RPM pakke..." #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, fuzzy, c-format msgid "Installing package: %s \n" msgstr "Avinstaller RPM Pakke..." #. Make and show command window #: ../src/File.cpp:2144 #, fuzzy msgid "Uninstall package" msgstr "Avinstaller RPM Pakke..." #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 #, fuzzy msgid "Go to previous folder" msgstr "\tGå til mappen over\tGå opp et nivå." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 #, fuzzy msgid "Go to next folder" msgstr "\tGå til mappen over\tGå opp et nivå." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 #, fuzzy msgid "Go to parent folder" msgstr " Mappen :" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 #, fuzzy msgid "Go to home folder" msgstr " mappen: " #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 #, 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 #, fuzzy msgid "Big icon list" msgstr "Store &Ikoner" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 #, fuzzy msgid "Small icon list" msgstr "&Små Ikoner" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 #, fuzzy msgid "Detailed file list" msgstr "\tListe over filer\tVis filliste." #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 #, fuzzy msgid "Show hidden files" msgstr "Vis skjulte filer" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 #, fuzzy msgid "Hide hidden files" msgstr "Skjulte filer" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 #, fuzzy msgid "Show thumbnails" msgstr "\tVis miniatyrer" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 #, 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:3758 msgid "New File" msgstr "Ny fil" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "Filen eller mappen %s finnes allered" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 #, fuzzy msgid "Go ho&me" msgstr "Gå til &Hjemmemappen\tCtrl-H" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Ny Mappe" #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "Skjulte filer" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 #, fuzzy msgid "Thum&bnails" msgstr "Minia&tyrer" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "Store &Ikoner" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "&Små Ikoner" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 #, fuzzy msgid "Fu&ll file list" msgstr "Detaljert filliste" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "&Rekker" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "Kolonner" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "&Navn" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "Størrelse" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Type" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 #, fuzzy msgid "E&xtension" msgstr "Endelse:" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 #, fuzzy msgid "&Date" msgstr "Lim inn" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 #, fuzzy msgid "&User" msgstr "Bruker" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 #, fuzzy msgid "&Group" msgstr "Gruppe" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 #, fuzzy msgid "Fold&ers first" msgstr "Mapper" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 #, fuzzy msgid "Re&verse order" msgstr "Omvendt rekkefølge" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 #, fuzzy msgid "&Family:" msgstr "&Fil" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 #, fuzzy msgid "Si&ze:" msgstr "Størrelse:" #. Character set choice #: ../src/FontDialog.cpp:82 #, fuzzy msgid "Character Set:" msgstr "Character Device" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "" #: ../src/FontDialog.cpp:92 #, fuzzy msgid "Greek" msgstr "Ledig:" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "" #: ../src/FontDialog.cpp:94 #, fuzzy msgid "Turkish" msgstr "Fil " #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "" #. Set width #: ../src/FontDialog.cpp:114 #, fuzzy msgid "Set Width:" msgstr "Åpne med" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "" #: ../src/FontDialog.cpp:122 #, fuzzy msgid "Normal" msgstr "Normal font:" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "" #: ../src/FontDialog.cpp:124 #, fuzzy msgid "Expanded" msgstr "&Utvid" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "" #: ../src/FontDialog.cpp:134 #, fuzzy msgid "Fixed" msgstr "Finn" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "" #: ../src/FontDialog.cpp:144 #, fuzzy msgid "All Fonts:" msgstr "Fonter" #: ../src/FontDialog.cpp:148 #, fuzzy msgid "Preview:" msgstr "Se på:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 #, fuzzy msgid "Launch Xfe as root" msgstr "Du kjører Xfe som root!" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&Nei" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "Ja" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "Avslutt" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "Lagre" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Ja til &alt" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 #, fuzzy msgid "Name: " msgstr "Navn" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 #, fuzzy msgid "Size in root: " msgstr " i " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 #, fuzzy msgid "Type: " msgstr "Type:" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "Modified date: " msgstr "Endret dato" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "User: " msgstr "Bruker" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "Group: " msgstr "Gruppe" #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 #, fuzzy msgid "Permissions: " msgstr "Rettigheter" #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "" #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 #, fuzzy msgid "Deletion date: " msgstr "Utvalg" #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 #, fuzzy msgid "Size: " msgstr "Størrelse:" #: ../src/FileList.cpp:151 msgid "Size" msgstr "Størrelse" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Type" #: ../src/FileList.cpp:153 #, fuzzy msgid "Extension" msgstr "Endelse:" #: ../src/FileList.cpp:154 #, fuzzy msgid "Modified date" msgstr "Endret dato" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Rettigheter" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "Kan ikke laste billede: %s" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 #, fuzzy msgid "Deletion date" msgstr "Utvalg" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Filter" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Status" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:1035 ../src/SearchPanel.cpp:790 #, 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Kommando logg" #: ../src/FilePanel.cpp:1832 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Sletning av fil avbrudt!" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 #, fuzzy msgid "To folder:" msgstr "Monter mappen :" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, fuzzy, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Kunne ikke skrive til %s: Adgang nektet" #: ../src/FilePanel.cpp:2408 ../src/SearchPanel.cpp:2936 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "\tSlett markerte filer (Del, F8)" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, fuzzy, c-format msgid "Move %s selected items to trash can?" msgstr "\tSlett markerte filer (Del, F8)" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, fuzzy, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr " er skrivebeskyttet, slett allikevel?" #: ../src/FilePanel.cpp:2575 ../src/SearchPanel.cpp:3090 #, fuzzy msgid "Move to trash file operation cancelled!" msgstr "Flytting av filer avbrudt!" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" #: ../src/FilePanel.cpp:2721 #, fuzzy, c-format msgid "Restore %s selected items to their original locations?" msgstr "\tSlett markerte filer (Del, F8)" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, fuzzy, c-format msgid "Can't create folder %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "Slett mappe permanent" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr " Slett markerte oppføringer ? " #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, fuzzy, c-format msgid "File %s is write-protected, delete it anyway?" msgstr " er skrivebeskyttet, slett allikevel?" #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "Sletning av fil avbrudt!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3758 #, fuzzy msgid "Create new file:" msgstr "Opprett ny fil..." #: ../src/FilePanel.cpp:3794 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/FilePanel.cpp:3798 #, fuzzy, c-format msgid "Can't create file %s" msgstr "Kan ikke slette mappen" #: ../src/FilePanel.cpp:3813 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "Opprett ny fil..." #: ../src/FilePanel.cpp:3817 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "Kunne ikke skrive til %s: Adgang nektet" #: ../src/FilePanel.cpp:3865 #, fuzzy msgid "Create new symbolic link:" msgstr "Opprett ny fil..." #: ../src/FilePanel.cpp:3865 #, fuzzy msgid "New Symlink" msgstr "Symlenke" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "" #: ../src/FilePanel.cpp:3899 #, fuzzy, c-format msgid "Symlink source %s does not exist" msgstr "Mappen %s finnes ikke" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 #, fuzzy msgid "Open selected file(s) with:" msgstr "Åpne markerte filer med :" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Åpne med" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "Tilknytt" #: ../src/FilePanel.cpp:4401 #, fuzzy msgid "Show files:" msgstr "Vis filer :" #. Menu items #: ../src/FilePanel.cpp:4512 #, fuzzy msgid "New& file..." msgstr "Ny &fil" #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 #, fuzzy msgid "New s&ymlink..." msgstr "Ny &fil" #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "Fi<er..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 #, fuzzy msgid "&Full file list" msgstr "Detaljert filliste" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 #, fuzzy msgid "Per&missions" msgstr "Rettigheter" #: ../src/FilePanel.cpp:4555 #, fuzzy msgid "Ne&w file..." msgstr "Ny &fil" #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Monter" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "Åpne med..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Åpne:" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 #, fuzzy msgid "Extr&act to folder " msgstr "Kan ikke kopiere mappen " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "Pakk ut h&er" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "Pakk ut til..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Vis" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Installer/Opp&grader" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "Av&installer" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "R&ediger" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 #, fuzzy msgid "Com&pare..." msgstr "Velg Ikon" #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4672 #, fuzzy msgid "Packages &query " msgstr "Pakke :" #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 #, fuzzy msgid "Scripts" msgstr "&Beskrivelse" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 #, fuzzy msgid "&Go to script folder" msgstr " Mappen :" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Kopier &til..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 #, fuzzy msgid "M&ove to trash" msgstr "\tTo paneler (Ctrl-F2)" #: ../src/FilePanel.cpp:4695 #, fuzzy msgid "Restore &from trash" msgstr "Tøm papirkurven: " #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 #, fuzzy msgid "Compare &sizes" msgstr "Kilde :" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 #, fuzzy msgid "P&roperties" msgstr "Egenskaper" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 #, fuzzy msgid "Select a destination folder" msgstr " Velg..." #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Alle Filer" #. File object #: ../src/FilePanel.cpp:5523 #, fuzzy msgid "Package Install/Upgrade" msgstr "RPM Installer/Oppgrader" #. File object #: ../src/FilePanel.cpp:5572 #, fuzzy msgid "Package Uninstall" msgstr "RPM Avinstaller" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "Kan ikke slette mappen" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 #, fuzzy msgid "No compatible package manager (rpm or dpkg) found!" msgstr "RedHat package manager (RPM) ikke funnet!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr " Tilhører RPM Pakken : " #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Informasjon" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, fuzzy, c-format msgid "File %s belongs to the package: %s" msgstr " Tilhører RPM Pakken : " #. Make and show command window #: ../src/FilePanel.cpp:6220 ../src/SearchPanel.cpp:2887 #, fuzzy msgid "Sizes of Selected Items" msgstr " markerte filer" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 Byte" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr " markerte filer" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr " markerte filer" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr " markerte filer" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr " markerte filer" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " mappen: " #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d oppføringer i %d mappe(r) og %d file(r)" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d oppføringer i %d mappe(r) og %d file(r)" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d oppføringer i %d mappe(r) og %d file(r)" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Lenke" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 #, fuzzy msgid "Cl&ose" msgstr "Lukk" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "Kan ikke slette filen" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 #, fuzzy msgid "Can't duplicate pipes" msgstr "Kan ikke slette filen" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "Brukervalg" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Aktuelt Tema" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Valg" #: ../src/Preferences.cpp:183 #, fuzzy msgid "Use trash can for file deletion (safe delete)" msgstr "Bruk papirkurven ved sletting av filer" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "" #: ../src/Preferences.cpp:185 #, fuzzy msgid "Auto save layout" msgstr "Lagre Layout &automatisk" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "" #: ../src/Preferences.cpp:189 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "\tDetaljer\tDetaljert listevisning " #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Bekreft sletning" #: ../src/Preferences.cpp:198 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:213 #, fuzzy msgid "Start in home folder" msgstr " Mappen :" #: ../src/Preferences.cpp:214 #, fuzzy msgid "Start in current folder" msgstr " Mappen :" #: ../src/Preferences.cpp:215 #, fuzzy msgid "Start in last visited folder" msgstr " Mappen :" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Rammer" #: ../src/Preferences.cpp:231 #, fuzzy msgid "Root mode" msgstr "Kjør i konsollen" #: ../src/Preferences.cpp:232 #, fuzzy msgid "Allow root mode" msgstr "Kjør i konsollen" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Kommandoen %s mislykkes" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Kjør kommando :" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 #, fuzzy msgid "&Dialogs" msgstr "Velg farge" #: ../src/Preferences.cpp:326 #, fuzzy msgid "Confirmations" msgstr "Bekreftelse" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "" #: ../src/Preferences.cpp:330 #, fuzzy msgid "Confirm delete" msgstr "Bekreft sletning" #: ../src/Preferences.cpp:331 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Kan ikke slette mappen %s" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Bekreft overskrivning" #: ../src/Preferences.cpp:333 #, fuzzy msgid "Confirm execute text files" msgstr "Bekreft sletning" #: ../src/Preferences.cpp:334 #, fuzzy msgid "Confirm change properties" msgstr "Egenskaper" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Advarsler" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Advar når monteringspunkter ikke svarer" #: ../src/Preferences.cpp:340 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Vis melding ved vellykket montering/avmontering" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Advarsel ved start som root" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Programmer" #: ../src/Preferences.cpp:390 #, fuzzy msgid "Default programs" msgstr "Terminal" #: ../src/Preferences.cpp:393 #, fuzzy msgid "Text viewer:" msgstr "Standard tekstviser" #: ../src/Preferences.cpp:399 #, fuzzy msgid "Text editor:" msgstr "Standard Teksteditor" #: ../src/Preferences.cpp:405 #, fuzzy msgid "File comparator:" msgstr "Rettigheter" #: ../src/Preferences.cpp:411 #, fuzzy msgid "Image editor:" msgstr "Standard Teksteditor" #: ../src/Preferences.cpp:417 #, fuzzy msgid "Image viewer:" msgstr "Standard tekstviser" #: ../src/Preferences.cpp:423 #, fuzzy msgid "Archiver:" msgstr "Opprett arkiv" #: ../src/Preferences.cpp:429 #, fuzzy msgid "Pdf viewer:" msgstr "Standard tekstviser" #: ../src/Preferences.cpp:435 #, fuzzy msgid "Audio player:" msgstr "Standard tekstviser" #: ../src/Preferences.cpp:441 #, fuzzy msgid "Video player:" msgstr "Standard tekstviser" #: ../src/Preferences.cpp:447 #, fuzzy msgid "Terminal:" msgstr "&Terminal" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 #, fuzzy msgid "Mount:" msgstr "Monter" #: ../src/Preferences.cpp:462 #, fuzzy msgid "Unmount:" msgstr "Avmonter" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 #, fuzzy msgid "Color theme" msgstr "Fargetema" #: ../src/Preferences.cpp:482 #, fuzzy msgid "Custom colors" msgstr "Farger" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Basisfarge" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Rammer" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Bakgrunn" #: ../src/Preferences.cpp:492 #, fuzzy msgid "Text color" msgstr "Basisfarge" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Bakgrunn utvalg" #: ../src/Preferences.cpp:494 #, fuzzy msgid "Selection text color" msgstr "Forgrunn utvalg " #: ../src/Preferences.cpp:495 #, fuzzy msgid "File list background color" msgstr "Bakgrunn utvalg" #: ../src/Preferences.cpp:496 #, fuzzy msgid "File list text color" msgstr "Bakgrunn utvalg" #: ../src/Preferences.cpp:497 #, fuzzy msgid "File list highlight color" msgstr "Bakgrunn utvalg" #: ../src/Preferences.cpp:498 #, fuzzy msgid "Progress bar color" msgstr "Rammer" #: ../src/Preferences.cpp:499 #, fuzzy msgid "Attention color" msgstr "Basisfarge" #: ../src/Preferences.cpp:500 #, fuzzy msgid "Scrollbar color" msgstr "Rammer" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 #, fuzzy msgid "Controls" msgstr "Fonter" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "" #: ../src/Preferences.cpp:523 #, fuzzy msgid "\tSelect path..." msgstr " Velg..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Fonter" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Fonter" #: ../src/Preferences.cpp:533 #, fuzzy msgid "Normal font:" msgstr "Normal font:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Velg..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Tekst font:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "" #: ../src/Preferences.cpp:634 #, fuzzy msgid "Select an icon theme folder or an icon file" msgstr " Mappen :" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "Velg normal font" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Velg tekst font" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 #, fuzzy msgid "Create new file" msgstr "Opprett ny fil..." #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 #, fuzzy msgid "Create new folder" msgstr "Opprett ny mappe..." #: ../src/Preferences.cpp:803 #, fuzzy msgid "Copy to clipboard" msgstr "\tKopier (Ctrl-C, F5)" #: ../src/Preferences.cpp:807 #, fuzzy msgid "Cut to clipboard" msgstr "\tKlipp (Ctrl-X)" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 #, fuzzy msgid "Paste from clipboard" msgstr "\tLim inn (Ctrl-V)" #: ../src/Preferences.cpp:827 #, fuzzy msgid "Open file" msgstr "&Åpne fil...\tCtrl-O" #: ../src/Preferences.cpp:831 #, fuzzy msgid "Quit application" msgstr "Applikasjon" #: ../src/Preferences.cpp:835 #, fuzzy msgid "Select all" msgstr "Velg Ikon" #: ../src/Preferences.cpp:839 #, fuzzy msgid "Deselect all" msgstr "Fravelg alle\tCtrl-Z" #: ../src/Preferences.cpp:843 #, fuzzy msgid "Invert selection" msgstr "&Inverter utvalg\tCtrl-I" #: ../src/Preferences.cpp:847 #, fuzzy msgid "Display help" msgstr "&Verktøyslinje\t\tVis verktøyslinjen" #: ../src/Preferences.cpp:851 #, fuzzy msgid "Toggle display hidden files" msgstr "Vis skjulte filer" #: ../src/Preferences.cpp:855 #, fuzzy msgid "Toggle display thumbnails" msgstr "Vis billeder som miniatyrer" #: ../src/Preferences.cpp:863 #, fuzzy msgid "Close window" msgstr "&Finn" #: ../src/Preferences.cpp:867 #, fuzzy msgid "Print file" msgstr "Skriv ut" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 #, fuzzy msgid "Search" msgstr "&Søk" #: ../src/Preferences.cpp:875 #, fuzzy msgid "Search previous" msgstr "Finn ikoner i" #: ../src/Preferences.cpp:879 #, fuzzy msgid "Search next" msgstr "&Søk" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 #, fuzzy msgid "Vertical panels" msgstr "To &paneler\tCtrl-F2" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 #, fuzzy msgid "Horizontal panels" msgstr "To &paneler\tCtrl-F2" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 #, fuzzy msgid "Refresh panels" msgstr "Venstre pane&l" #: ../src/Preferences.cpp:901 #, fuzzy msgid "Create new symbolic link" msgstr "Opprett ny fil..." #: ../src/Preferences.cpp:905 #, fuzzy msgid "File properties" msgstr "Egenskaper" #: ../src/Preferences.cpp:909 #, fuzzy msgid "Move files to trash" msgstr "\tSlett markerte filer (Del, F8)" #: ../src/Preferences.cpp:913 #, fuzzy msgid "Restore files from trash" msgstr "Tøm papirkurven: " #: ../src/Preferences.cpp:917 #, fuzzy msgid "Delete files" msgstr "Slett mappe: " #: ../src/Preferences.cpp:921 #, fuzzy msgid "Create new window" msgstr "Opprett ny fil..." #: ../src/Preferences.cpp:925 #, fuzzy msgid "Create new root window" msgstr "Opprett ny mappe..." #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Kjør kommando :" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 #, fuzzy msgid "Launch terminal" msgstr "&Terminal" #: ../src/Preferences.cpp:938 #, fuzzy msgid "Mount file system (Linux only)" msgstr "Monter filsystem..." #: ../src/Preferences.cpp:942 #, fuzzy msgid "Unmount file system (Linux only)" msgstr "Avmonter filsystem..." #: ../src/Preferences.cpp:946 #, fuzzy msgid "One panel mode" msgstr "Venstre pane&l" #: ../src/Preferences.cpp:950 #, fuzzy msgid "Tree and panel mode" msgstr "T&re og panel\tCtrl-F1" #: ../src/Preferences.cpp:954 #, fuzzy msgid "Two panels mode" msgstr "To &paneler\tCtrl-F2" #: ../src/Preferences.cpp:958 #, fuzzy msgid "Tree and two panels mode" msgstr "Tre og to p&aneler\tStrg-F2" #: ../src/Preferences.cpp:962 #, fuzzy msgid "Clear location bar" msgstr "\tTøm Adressefeltet\tTøm Adressefeltet." #: ../src/Preferences.cpp:966 #, fuzzy msgid "Rename file" msgstr "Omdøp" #: ../src/Preferences.cpp:970 #, fuzzy msgid "Copy files to location" msgstr "\tGå\tGå til adresse" #: ../src/Preferences.cpp:974 #, fuzzy msgid "Move files to location" msgstr "\tGå\tGå til adresse" #: ../src/Preferences.cpp:978 #, fuzzy msgid "Symlink files to location" msgstr "\tGå\tGå til adresse" #: ../src/Preferences.cpp:982 #, fuzzy msgid "Add bookmark" msgstr "Legg til bokmerke\tCtrl-B" #: ../src/Preferences.cpp:986 #, fuzzy msgid "Synchronize panels" msgstr "&Et panel\tStrg-F3" #: ../src/Preferences.cpp:990 #, fuzzy msgid "Switch panels" msgstr "To &paneler\tCtrl-F2" #: ../src/Preferences.cpp:994 #, fuzzy msgid "Go to trash can" msgstr "\tTo paneler (Ctrl-F2)" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Tøm papirkurven" #: ../src/Preferences.cpp:1002 #, fuzzy msgid "View" msgstr "Se på:" #: ../src/Preferences.cpp:1006 #, fuzzy msgid "Edit" msgstr "Rediger:" #: ../src/Preferences.cpp:1014 #, fuzzy msgid "Toggle display hidden folders" msgstr "Vis skjulte filer" #: ../src/Preferences.cpp:1018 #, fuzzy msgid "Filter files" msgstr "Fil tid" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "" #: ../src/Preferences.cpp:1033 #, fuzzy msgid "Zoom to fit window" msgstr "Linje:" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "" #: ../src/Preferences.cpp:1059 #, fuzzy msgid "Create new document" msgstr "Opprett ny mappe..." #: ../src/Preferences.cpp:1063 #, fuzzy msgid "Save changes to file" msgstr "\tÅpne (Strg-O)\tÅpne billedfil (Strg-O)" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 #, fuzzy msgid "Goto line" msgstr "Linje:" #: ../src/Preferences.cpp:1071 #, fuzzy msgid "Undo last change" msgstr "Zoom ut\t(Ctrl-)\tZoom ut. (Ctrl-)" #: ../src/Preferences.cpp:1075 #, fuzzy msgid "Redo last change" msgstr "Zoom ut\t(Ctrl-)\tZoom ut. (Ctrl-)" #: ../src/Preferences.cpp:1079 #, fuzzy msgid "Replace string" msgstr "Velg Ikon" #: ../src/Preferences.cpp:1083 #, fuzzy msgid "Toggle word wrap mode" msgstr "\tFinn igjen (Ctrl-G)\tFinn igjen. (Ctrl-G)" #: ../src/Preferences.cpp:1087 #, fuzzy msgid "Toggle line numbers mode" msgstr "\tRoter til venstre (Ctrl-L)\tRoter til venstre. (Ctrl-L)" #: ../src/Preferences.cpp:1091 #, fuzzy msgid "Toggle lower case mode" msgstr "\tFinn igjen (Ctrl-G)\tFinn igjen. (Ctrl-G)" #: ../src/Preferences.cpp:1095 #, fuzzy msgid "Toggle upper case mode" msgstr "\tFinn igjen (Ctrl-G)\tFinn igjen. (Ctrl-G)" #. Confirmation message #: ../src/Preferences.cpp:1114 #, 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:1115 msgid "Restore default key bindings" msgstr "" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Gjenstart" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "Lukk" #: ../src/SearchPanel.cpp:165 #, fuzzy msgid "Refresh panel" msgstr "Venstre pane&l" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 #, fuzzy msgid "Copy selected files to clipboard" msgstr "\tKopier (Ctrl-C, F5)" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 #, fuzzy msgid "Cut selected files to clipboard" msgstr "\tKlipp (Ctrl-X)" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 #, fuzzy msgid "Show properties of selected files" msgstr "\tVis egenskaper til markerte filer (F9)" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 #, fuzzy msgid "Move selected files to trash can" msgstr "\tSlett markerte filer (Del, F8)" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 #, fuzzy msgid "Delete selected files" msgstr "\tKlipp (Ctrl-X)" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Detaljert filliste" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnorer store/små bokstaver" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "" #: ../src/SearchPanel.cpp:2421 #, fuzzy msgid "&Packages query " msgstr "Pakke :" #: ../src/SearchPanel.cpp:2435 #, fuzzy msgid "&Go to parent folder" msgstr " Mappen :" #: ../src/SearchPanel.cpp:3658 #, fuzzy, c-format msgid "Copy %s items" msgstr "" " Filer/mapper.\n" "Fra: " #: ../src/SearchPanel.cpp:3674 #, fuzzy, c-format msgid "Move %s items" msgstr "" " Filer/mapper.\n" "Fra: " #: ../src/SearchPanel.cpp:3690 #, fuzzy, c-format msgid "Symlink %s items" msgstr "" " Filer/mapper.\n" "Fra: " #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr " Oppføringer" #: ../src/SearchPanel.cpp:4299 #, fuzzy msgid "1 item" msgstr " Oppføringer" #: ../src/SearchWindow.cpp:71 #, fuzzy msgid "Find files:" msgstr "Skriv ut" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:79 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr " Mappen :" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "In folder:" msgstr "Monter mappen :" #: ../src/SearchWindow.cpp:86 #, fuzzy msgid "\tIn folder..." msgstr "Ny Mappe" #: ../src/SearchWindow.cpp:89 #, fuzzy msgid "Text contains:" msgstr "Tekst font:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "More options" msgstr "Finn ikoner i" #: ../src/SearchWindow.cpp:98 #, fuzzy msgid "Search options" msgstr "Finn ikoner i" #: ../src/SearchWindow.cpp:99 #, fuzzy msgid "Reset\tReset search options" msgstr "Finn ikoner i" #: ../src/SearchWindow.cpp:115 #, fuzzy msgid "Min size:" msgstr "Skriv ut" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "Fil tid" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 #, fuzzy msgid "Max size:" msgstr "Total størrelse" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "Fil tid" #. Modification date #: ../src/SearchWindow.cpp:126 #, fuzzy msgid "Last modified before:" msgstr "Sist Modifisert:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:131 #, fuzzy msgid "Last modified after:" msgstr "Sist Modifisert:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:137 #, fuzzy msgid "User:" msgstr "Bruker" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "\tFilter by user name" msgstr "Fil tid" #: ../src/SearchWindow.cpp:142 #, fuzzy msgid "Group:" msgstr "Gruppe" #: ../src/SearchWindow.cpp:145 #, fuzzy msgid "\tFilter by group name" msgstr "Fil tid" #. File type #: ../src/SearchWindow.cpp:178 #, fuzzy msgid "File type:" msgstr "Filsystem:" #: ../src/SearchWindow.cpp:181 #, fuzzy msgid "File" msgstr "Fil :" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:187 #, fuzzy msgid "\tFilter by file type" msgstr "Fil tid" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 #, fuzzy msgid "Permissions:" msgstr "Rettigheter" #: ../src/SearchWindow.cpp:194 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Rettigheter" #. Empty files #: ../src/SearchWindow.cpp:197 #, fuzzy msgid "Empty files:" msgstr "Vis filer :" #: ../src/SearchWindow.cpp:198 #, fuzzy msgid "\tEmpty files only" msgstr "Vis filer :" #: ../src/SearchWindow.cpp:202 #, fuzzy msgid "Follow symbolic links:" msgstr "Opprett ny fil..." #: ../src/SearchWindow.cpp:203 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Opprett ny fil..." #: ../src/SearchWindow.cpp:207 #, fuzzy msgid "Non recursive:" msgstr "Rekursivt" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:212 #, fuzzy msgid "Ignore other file systems:" msgstr "Avmonter filsystem..." #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:782 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Finn ikoner i" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 #, fuzzy msgid " items" msgstr " Oppføringer" #: ../src/SearchWindow.cpp:938 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Finn ikoner i" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:973 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "&Søk" #: ../src/SearchWindow.cpp:1147 #, 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:201 #: ../src/XFileImage.cpp:327 ../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:808 #, fuzzy msgid "&Vertical panels" msgstr "To &paneler\tCtrl-F2" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 #, 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:781 msgid "&Thumbnails" msgstr "Minia&tyrer" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 #, fuzzy msgid "T&rash" msgstr "Fil " #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "Du kjører Xfe som root!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, 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:2274 #, fuzzy, c-format msgid "Can't create Xfe config folder %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/XFileExplorer.cpp:2296 msgid "No global xferc file found! Please select a configuration file..." msgstr "" #: ../src/XFileExplorer.cpp:2300 msgid "XFE configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, 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:2339 ../src/XFileExplorer.cpp:3992 #, 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:2357 ../src/XFileExplorer.cpp:4005 #, 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:2361 ../src/XFileExplorer.cpp:4007 #, 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:3181 msgid "Help" msgstr "Hjelp" #: ../src/XFileExplorer.cpp:3211 #, fuzzy, c-format msgid "X File Explorer Version %s" msgstr "Om X File Explorer" #: ../src/XFileExplorer.cpp:3212 #, 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:3214 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" "Finnish: Kimmo Siira\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:3246 #, fuzzy msgid "About X File Explorer" msgstr "Om X File Explorer" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Execute the command:" msgstr "Kjør kommandoen :" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Console mode" msgstr "Kjør i konsollen" #: ../src/XFileExplorer.cpp:3896 #, fuzzy msgid "Search files and folders" msgstr " Mappen :" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Vil du virkelig avslutte Xfe?" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr " i " #: ../src/XFileExplorer.cpp:3959 #, 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:4049 #, fuzzy, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "Endret dato" #: ../src/XFileExplorer.cpp:4051 #, fuzzy msgid "Trash size" msgstr "Total størrelse" #: ../src/XFileExplorer.cpp:4058 #, 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:4512 ../src/XFileExplorer.cpp:4586 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Kan ikke slette mappen" #: ../src/XFileExplorer.cpp:4591 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "&Filtilknytninger" #: ../src/XFileExplorer.cpp:4596 #, fuzzy, c-format msgid "File association not found: %s" msgstr "&Filtilknytninger" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "Brukervalg" #: ../src/XFilePackage.cpp:213 #, fuzzy msgid "Open package file" msgstr "\tÅpne pakke (Ctrl-O)" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 #, fuzzy msgid "&Open..." msgstr "Åpne:" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 #, fuzzy msgid "&Toolbar" msgstr "&Verktøyslinje\t\tVis verktøyslinjen" #. Help Menu entries #: ../src/XFilePackage.cpp:235 #, fuzzy msgid "&About X File Package" msgstr "Om X File Image" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "&Avinstaller" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Installer/Oppgrader" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "&Beskrivelse" #. Second item is File List #: ../src/XFilePackage.cpp:272 #, fuzzy msgid "File &List" msgstr "&Filoversikt" #: ../src/XFilePackage.cpp:304 #, 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:306 #, fuzzy msgid "About X File Package" msgstr "Om X File Image" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "RPM kilde pakker" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "RPM pakker" #: ../src/XFilePackage.cpp:321 #, fuzzy msgid "DEB packages" msgstr "RPM pakker" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Åpne Dokument" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 #, fuzzy msgid "No package loaded" msgstr "Ingen RPM pakke åpnet" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "" #. Make and show command window #: ../src/XFilePackage.cpp:374 #, fuzzy msgid "Install/Upgrade Package" msgstr "Installer/Oppgrader RPM pakke..." #. Make and show command window #: ../src/XFilePackage.cpp:424 #, fuzzy msgid "Uninstall Package" msgstr "Avinstaller RPM Pakke..." #: ../src/XFilePackage.cpp:573 #, fuzzy msgid "[RPM package]\n" msgstr "RPM pakker" #: ../src/XFilePackage.cpp:578 #, fuzzy msgid "[DEB package]\n" msgstr "RPM pakker" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "Forespørsel på %s mislykket!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../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:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Kan ikke åpne filen: %s" #. Usage message #: ../src/XFilePackage.cpp:719 #, 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:182 msgid "GIF Image" msgstr "GIF Billede" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "BMP Billede" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "XPM Billede" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "PCX Billede" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "ICO Billede" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "RGB Billede" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "XBM Billede" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "TARGA Billede" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "PPM Billede" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "PNG Billede" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "JPEG Billede" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "TIFF Billede" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "B&illede" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 #, fuzzy msgid "Open" msgstr "Åpne:" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 #, fuzzy msgid "Open image file." msgstr "Åpne billedfil" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 #, fuzzy msgid "Print" msgstr "Skriv ut fil" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 #, 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:660 #, fuzzy msgid "Zoom in" msgstr "Linje:" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "" #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "" #: ../src/XFileImage.cpp:675 #, fuzzy msgid "Zoom to fit" msgstr "Linje:" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "" #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "" #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "" #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "" #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 #, fuzzy msgid "&Print..." msgstr "Skriv ut fil" #: ../src/XFileImage.cpp:721 #, fuzzy msgid "&Clear recent files" msgstr "C Source Filer" #: ../src/XFileImage.cpp:721 #, fuzzy msgid "Clear recent file menu." msgstr "C Source Filer" #: ../src/XFileImage.cpp:727 #, fuzzy msgid "Quit Xfi." msgstr "Avslutt Xfe" #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "" #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "" #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "" #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "" #: ../src/XFileImage.cpp:775 #, fuzzy msgid "Show hidden files and folders." msgstr " Mappen :" #: ../src/XFileImage.cpp:781 #, fuzzy msgid "Show image thumbnails." msgstr "\tVis miniatyrer" #: ../src/XFileImage.cpp:789 #, fuzzy msgid "Display folders with big icons." msgstr "\tStore Ikoner\tVis innhold med store ikoner." #: ../src/XFileImage.cpp:795 #, fuzzy msgid "Display folders with small icons." msgstr "\tSmå ikoner\tVis innhold med små ikoner." #: ../src/XFileImage.cpp:801 #, fuzzy msgid "&Detailed file list" msgstr "Detaljert filliste" #: ../src/XFileImage.cpp:801 #, fuzzy msgid "Display detailed folder listing." msgstr "\tDetaljer\tDetaljert listevisning " #: ../src/XFileImage.cpp:817 #, fuzzy msgid "View icons row-wise." msgstr "Ikoner på &Rekke\t\tVis ikoner på rekke." #: ../src/XFileImage.cpp:818 #, fuzzy msgid "View icons column-wise." msgstr "Ikoner i kolonner\t\tVis ikoner i kolonner" #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "" #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 #, fuzzy msgid "Display toolbar." msgstr "Verktøjslinjen\t\tVis Verktøjslinjen" #: ../src/XFileImage.cpp:823 #, fuzzy msgid "&File list" msgstr "Detaljert filliste" #: ../src/XFileImage.cpp:823 #, fuzzy msgid "Display file list." msgstr "\tListe over filer\tVis filliste." #: ../src/XFileImage.cpp:824 #, fuzzy msgid "File list &before" msgstr "Bakgrunn utvalg" #: ../src/XFileImage.cpp:824 #, fuzzy msgid "Display file list before image window." msgstr "\tStore Ikoner\tVis innhold med store ikoner." #: ../src/XFileImage.cpp:825 #, fuzzy msgid "&Filter images" msgstr "Fil tid" #: ../src/XFileImage.cpp:825 #, fuzzy msgid "List only image files." msgstr "\tListe over filer\tVis filliste." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "" #: ../src/XFileImage.cpp:831 #, fuzzy msgid "&About X File Image" msgstr "Om X File Image" #: ../src/XFileImage.cpp:831 #, fuzzy msgid "About X File Image." msgstr "Om X File Image" #: ../src/XFileImage.cpp:1333 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:1335 msgid "About X File Image" msgstr "Om X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Fejl under åpning av billede" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Ikke understøttet: %s" #: ../src/XFileImage.cpp:1464 #, fuzzy msgid "Unable to load image, the file may be corrupted" msgstr "Kan ikke åpne hele filen: %s" #: ../src/XFileImage.cpp:1504 #, 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:1619 msgid "Open Image" msgstr "Åpne billedfil" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" #. Usage message #: ../src/XFileImage.cpp:2685 #, 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 #, fuzzy msgid "Error Saving File" msgstr "Feil under lesning av fil" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "Kan ikke åpne filen: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "" #: ../src/WriteWindow.cpp:1206 #, fuzzy, c-format msgid "File: %s truncated." msgstr "Gi nytt navn" #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "" #: ../src/WriteWindow.cpp:1477 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" #: ../src/WriteWindow.cpp:1479 #, fuzzy msgid "About X File Write" msgstr "Om X File View" #: ../src/WriteWindow.cpp:1501 #, fuzzy msgid "Change Font" msgstr "Velg tekst font" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Tekstfiler" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "C Source Filer" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "C++ Source Filer" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "C/C++ Header Filer" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 #, fuzzy msgid "HTML Files" msgstr "HTML Header filer" #: ../src/WriteWindow.cpp:1549 #, fuzzy msgid "PHP Files" msgstr "Alle Filer" #: ../src/WriteWindow.cpp:1670 #, fuzzy msgid "Unsaved Document" msgstr "Åpne Dokument" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 #, fuzzy msgid "Save Document" msgstr "Åpne Dokument" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, fuzzy msgid "Overwrite Document" msgstr "Åpne Dokument" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "" #: ../src/WriteWindow.cpp:1841 #, fuzzy msgid " (changed)" msgstr "Sist Endret:" #: ../src/WriteWindow.cpp:1851 #, fuzzy msgid " (read only)" msgstr "Skrivebeskyttet" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "" #: ../src/WriteWindow.cpp:2071 #, fuzzy msgid "File Was Changed" msgstr "Sist Endret:" #: ../src/WriteWindow.cpp:2071 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" #: ../src/WriteWindow.cpp:2132 #, fuzzy msgid "Replace" msgstr "Velg Ikon" #: ../src/WriteWindow.cpp:2293 #, fuzzy msgid "Goto Line" msgstr "Linje:" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "" #. Usage message #: ../src/XFileWrite.cpp:217 #, 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "Kan ikke slette mappen %s" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 #, fuzzy msgid "copy" msgstr "Kopier fil" #: ../src/xfeutils.cpp:1413 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "Kan ikke slette mappen" #: ../src/xfeutils.cpp:1417 #, 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 "Never execute text files" #~ msgstr "Bekreft sletning" #~ msgid "KB" #~ msgstr "KB" #, 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å?" #, 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å?" #, 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å?" #~ 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å?" #~ 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å?" #, 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.44/po/hu.po0000644000200300020030000057216214023353061010531 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: 2021-03-14 10:23+0100\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:333 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:467 #, 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:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Hiba történt az ikonok betöltése során" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "" "Hiba történt az ikonok betöltése során. Kérem, ellenőrizze az ikonok elérési " "útvonalát!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" 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:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Tulajdonságok" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&Általános" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Könyvtár" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Karakter eszköz" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Blokk eszköz" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Cső" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Futtatható" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Dokumentum" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Törött hivatkozás" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 #, fuzzy msgid "Link to " msgstr "Hivatkozás ide " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Cím:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Típus:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu bájt)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bájt)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Méret:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Kijelölés:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Több típus" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d db elem" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d db fájl, %d db könyvtár" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d db fájl, %d db könyvtár" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d db fájl, %d db könyvtár" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d db fájl, %d db könyvtár" #: ../src/Properties.cpp:1252 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Kijelölt fájlok tulajdonságai" #: ../src/Properties.cpp:1256 #, fuzzy msgid "Change properties of the selected file?" msgstr "Kijelölt fájlok tulajdonságai" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 #, fuzzy msgid "Confirm Change Properties" msgstr "Tulajdonságok" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Figyelem" #: ../src/Properties.cpp:1401 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Fájlmozgatás törölve!" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 #, 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:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 #, 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:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Nem írható: %s: Hozzáférés megtagadva" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "A(z) %s könyvtár nem létezik" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Fájl átnevezés" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Fájl tulajdonos" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "A fájl tulajdonosának átállítása megszakítva!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "%s chown hiba: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "Chown hiba: %s" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 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:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod hiba %s:%s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Fájl jogok" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Fájl jogok cseréje megszakítva!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "Chmod hiba %s" #: ../src/Properties.cpp:1628 #, fuzzy msgid "Apply permissions to the selected items?" msgstr "%s %s kijelölt elemben" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "A fájl jogosultságok átállítása megszakítva!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Válasszon ki egy futtatható fájlt" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Minden fájl" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "PNG képek" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "GIF képek" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "BMP képek" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Ikon fájl kiválasztása" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%u fájl, %u alkönyvtár" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%u fájl, %u alkönyvtár" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%u fájl, %u alkönyvtár" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u fájl, %u alkönyvtár" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Másolás ide" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Mozgatás ide" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Hivatkozás ide" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Mégsem" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Fájl másolás" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Fájl mozgatás" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Fájl szimbolikus hivatkozás" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Másolás" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, 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:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Mozgatás" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, 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:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Szimbolikus hivatkozás" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "Ide:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 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:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "Fájlmozgatás törölve!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 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:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "Fájlmásolás törölve!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "Az alábbi csatolási pont nem válaszol: %s" #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "0 bájt a gyökér könyvtárban" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 #, fuzzy msgid "Panel is active" msgstr "Aktív a panel" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 #, fuzzy msgid "Activate panel" msgstr "Függőleges panelek" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "Hozzáadás &archívumhoz..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../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:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "&Kivágás" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Beillesztés" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "Mo&zgatás..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, 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:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, 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:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 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:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Archívum létrehozása" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Másolás " #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "%s elem másolása innen: %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Átnevezés" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Átnevezés " #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Másolás ide" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Mozgatás " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "%s elem mozgatása innen: %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Szimbolikus hivatkozás " #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "%s szimbolikus hivatkozása innen: %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s nem könyvtár" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 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:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "Szimbolikus link létrehozása megszakítva!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "Biztosan törölni akarja %s könyvtárat?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Törlés megerősítése" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Fájl törlése" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, 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:2264 #, 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:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "Könyvtártörlés megszakítva!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "Mozgassam a(z) %s könyvtárat a kukába?" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Kukába dobás megerősítése" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Kukába mozgat" #: ../src/DirPanel.cpp:2360 #, 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:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 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:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "Fájlmozgatás megszakítva!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Visszaállítás a kukából" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, 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:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Visszaállítás megerősítése" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, 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:2521 ../src/FilePanel.cpp:2748 #, 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:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "Nem tudom létrehozni a %s könyvtárat: %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "Nem tudom létrehozni a %s könyvtárat" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 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:2571 ../src/FilePanel.cpp:2798 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:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Új könyvtár létrehozása:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Új könyvtár" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "A fájl neve üres, a művelet megszakítva" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, c-format msgid "Can't execute command %s" msgstr "Nem tudom végrehajtani a %s parancsot" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Csatolás" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Lecsatolás" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " fájlrendszer..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " a könyvtár :" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " művelet megszakítva!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 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:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Jogosultságok cseréje..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "Fájl:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Felülírás jóváhagyása" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "A %s fájl nem másolható: %s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "A %s fájl nem másolható" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "Forrás: " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "Cél: " #: ../src/File.cpp:604 #, 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:608 #, 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:750 #, 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:754 #, 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:791 #, 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:795 #, 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:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "A %s forrás nem létezik" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, c-format msgid "Destination %s is identical to source" msgstr "A %s cél megegyezik a forrással" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, 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:1048 #, fuzzy msgid "Delete folder: " msgstr "Könyvtár törlése: " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "Innen: " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "A %s könyvtárat nem tudom törölni: %s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "A %s könyvtárat nem tudom törölni" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "A %s fájlt nem tudom letörölni: %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "A %s fájlt nem tudom letörölni" #: ../src/File.cpp:1213 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Már létezik %s fájl vagy könyvtár" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Nem nevezhető át %s névre: %s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "Nem tudok %s hivatkozást létrehozni: %s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "Nem tudok %s hivatkozást létrehozni" #: ../src/File.cpp:1655 ../src/File.cpp:1852 #, fuzzy msgid "Folder: " msgstr "Könyvtár: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Archívum kibontása" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Hozzáadás az archívumhoz" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Hiba a %s parancs végrehajtása során" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Sikeresen végrehajtva" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "A %s könyvtár csatlakoztatása sikeresen végrehajtva." #: ../src/File.cpp:2115 #, 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:2126 msgid "Install/Upgrade package" msgstr "Csomag telepítése/frissítése:" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "Csomag telepítése: %s \n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Csomag eltávolítása" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 msgid "Go to previous folder" msgstr "Ugrás az előző könyvtárba" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 msgid "Go to next folder" msgstr "Ugrás a következő könyvtárba" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 msgid "Go to parent folder" msgstr "Ugrás a szülő könyvtárba" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "Ugrás a saját könyvtárba" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Nagy ikonok listája" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Kis ikonok listája" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Részletes fájllista" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Rejtett fájlok mutatása" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "Rejtett fájlok elrejtése" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Előképek megjelenítése" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 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:3758 msgid "New File" msgstr "Új fájl" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, 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:906 msgid "Go ho&me" msgstr "Ugrás a saját könyvtárba" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Új &könyvtár..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "&Rejtett fájlok" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "&Előképek" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "N&agy ikonok" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "K&is ikonok" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "Te&ljes fájl lista" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "&Sorok" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "&Oszlopok" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "Automatikus méret" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "&Név" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "&Méret" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Típus" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "&Kiterjesztés" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "&Dátum" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "&Felhasználó" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "&Csoport" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 msgid "Fold&ers first" msgstr "Könyvtárak előre" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "Fordított sorrend" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "&Család:" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "Vastagság:" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "Stílus" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "&Méret:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Karakter kódolás:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Bármilyen" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "Nyugat Európai" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Kelet Európai" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Dél Európai" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Észak Európai" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Cirill" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Arab" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Görög" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Héber" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Török" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Skandináv" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Thai" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Balti" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Kelta" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Orosz" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Közép Európai (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Orosz (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Görög (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Török (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Héber (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Arab (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Balti (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Vietnami (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Thai (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Betűköz:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "Ultra sűrű" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Extra sűrű" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Sűrű" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "Félig sűrű" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Normál" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Félig nyújtott" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Nyújtott" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Extra nyújtott" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "Ultra nyújtott" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "Sűrűség:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Fix" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Változó" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Méretezhető:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Minden betűtípus" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Előnézet:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "XFE indítása rootként" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&Nem" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Igen" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Kilépés" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Mentés" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Igen, &mindet" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Kérem, adja meg a jelszavát:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Kérem, adja meg a root jelszavát:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "Hiba történt!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Név: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Mérete a gyökérkönyvtárban: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Típus: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Módosítás dátuma: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Felhasználó: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Csoport: " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Jogok: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Eredeti útvonal: " #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Törlés dátuma: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Méret: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Méret" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Típus" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Kiterjesztés" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Módosítás dátuma" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Jogok" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "A kép betöltése sikertelen" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Eredeti útvonal" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Törlés dátuma" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Szűrő" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Állapot" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, 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:1035 ../src/SearchPanel.cpp:790 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Parancsnapló" #: ../src/FilePanel.cpp:1832 #, 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:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "Könyvtárba:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, 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:2408 ../src/SearchPanel.cpp:2936 #, c-format msgid "Move file %s to trash can?" msgstr "Mozgassam a %s könyvtárat a kukába?" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "A kukába mozgatja a %s kijelölt elemet?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, 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:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "A kukába mozgatás megszakítva!" #: ../src/FilePanel.cpp:2716 #, 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:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "Visszaállítsam a %s kijelölt elemet?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "Nem tudom létrehozni a %s könyvtárat: %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, c-format msgid "Definitively delete file %s ?" msgstr "Biztosan törölni akarja %s könyvtárat?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, c-format msgid "Definitively delete %s selected items?" msgstr "Biztosan törölni akarja a %s kijelölt elemet?" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, 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:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "Fájltörlés elvetve!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "Összehasonlítás" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "Ezzel:" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, 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:3758 msgid "Create new file:" msgstr "Új fájl létrehozása:" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "Nem tudom létrehozni a %s fájlt: %s" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "Nem tudom létrehozni a %s fájlt" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Nem tudom a %s jogosultságait beállítani: %s" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "Nem tudom a %s jogosultságait beállítani" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Új hivatkozás létrehozása:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Új szimbolikus hivatkozás" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "Válassza ki a hivatkozott fájlt, vagy könyvtárat" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "A %s hivatkozott forrás nem létezik" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Kijelölt fájl(ok) megnyitása ezzel: " #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Megnyitás ezzel:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "Hozzárendelés" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Fájlok mutatása:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "Új &fájl..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Új &hivatkozás..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "S&zűrő..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "&Teljes fájl lista" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "&Jogok" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "Új &fájl..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Felcsatolás" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "Megnyitás &ezzel..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Megnyitás" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 #, fuzzy msgid "Extr&act to folder " msgstr "Kitömörítés könyvtárb&a " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "&Kitömörítés ide" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "Ki&tömörítés ide.." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Nézet" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Telepítés/Frissítés" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "Eltávolítás" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Szerkesztés" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 msgid "Com&pare..." msgstr "&Összehasonlítás..." #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "&Összehasonlítás" #: ../src/FilePanel.cpp:4672 #, fuzzy msgid "Packages &query " msgstr "A fájlt tartalmazó &csomag lekérdezése " #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 msgid "Scripts" msgstr "Parancsfájlok" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 msgid "&Go to script folder" msgstr "Ugrás a parancsfájlok könyvtárába" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Másolás &ide..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 msgid "M&ove to trash" msgstr "&Kukába mozgat" #: ../src/FilePanel.cpp:4695 msgid "Restore &from trash" msgstr "&Visszaállítás a kukából" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 #, fuzzy msgid "Compare &sizes" msgstr "Összehasonlítás" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 #, fuzzy msgid "P&roperties" msgstr "Tulajdonságok" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Cél kiválasztása" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Minden fájl" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Csomag telepítés/frissítés:" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Csomag eltávolítása" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Hiba: Fork sikertelen: %s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, 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:5832 ../src/SearchPanel.cpp:4210 #, c-format msgid "Can't create script folder %s" msgstr "Nem tudom létrehozni a %s parancsfájl könyvtárat" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Nem találtam megfelelő csomagkezelőt (rpm vagy dpkg)!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "A %s fájl nem tartozik semmilyen csomaghoz." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Információ" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, 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:6220 ../src/SearchPanel.cpp:2887 #, fuzzy msgid "Sizes of Selected Items" msgstr "Kijelölt szöveg:" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 bájt" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s %s kijelölt elemben" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s %s kijelölt elemben" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s %s kijelölt elemben" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s %s kijelölt elemben" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " a könyvtár :" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d db fájl, %d db könyvtár" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d db fájl, %d db könyvtár" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d db fájl, %d db könyvtár" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Hivatkozás" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "&Bezár" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Nem tudom duplikálni a csöveket: %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 msgid "Can't duplicate pipes" msgstr "Nem tudok új csöveket létrehozni" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> PARANCS MEGSZAKÍTVA <<<<" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "Beállítások" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Jelenlegi téma" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Beállítások" #: ../src/Preferences.cpp:183 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:184 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:185 msgid "Auto save layout" msgstr "Elrendezés &automatikus mentése" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Az ablak helyének mentése" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "Könyvtár megnyitása egy kattintással" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Fájl megnyitása egy kattintással" #: ../src/Preferences.cpp:189 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:190 msgid "Relative resizing of file lists" msgstr "A fájl listák relatív mérete" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Útvonal kiválasztó megjelenítése a fájl listák felett" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Alkalmazás indításának visszajelzése" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Fájlok végrehajtásának megerősítése" #: ../src/Preferences.cpp:198 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')" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "&Módok" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "Indítási mód" #: ../src/Preferences.cpp:213 msgid "Start in home folder" msgstr "Indulás a saját könyvtárban" #: ../src/Preferences.cpp:214 msgid "Start in current folder" msgstr "Indulás az aktuális könyvtárban" #: ../src/Preferences.cpp:215 msgid "Start in last visited folder" msgstr "Indulás az utoljára meglátogatott könyvtárban" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "Görgetési mód" #: ../src/Preferences.cpp:220 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:224 msgid "Mouse scrolling speed:" msgstr "Az egér görgő sebessége:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Görgető színe" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Root mód" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "Root mód engedélyezése" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Azonosítás sudo-val (felhasználó jelszavának használata)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Azonosítás \"su\"-val (root jelszó használata)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Hiba a %s parancs végrehajtása során" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Parancs futtatása" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "&Ablakok" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Megerősítések" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "Másolás/Mozgatás/Átnevezés/Hivatkozás megerősítése" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "\"Drag and Drop\" megerősítése" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "Kukába mozgatás, visszaállítás megerősítése" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Törlés megerősítése" #: ../src/Preferences.cpp:331 msgid "Confirm delete non empty folders" msgstr "Nem üres könyvtárak törlésének megerősítése" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Felülírás megerősítése" #: ../src/Preferences.cpp:333 msgid "Confirm execute text files" msgstr "Fájlok végrehajtásának megerősítése" #: ../src/Preferences.cpp:334 #, fuzzy msgid "Confirm change properties" msgstr "Tulajdonságok" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Figyelmeztetések" #: ../src/Preferences.cpp:337 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:339 msgid "Warn when mount points are not responding" msgstr "Figyelmeztetés, ha a csatolási pontok nem válaszolnak" #: ../src/Preferences.cpp:340 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Le és felcsatlakoztatások eredményének mutatása" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "Figyelmeztessen ha a fájl dátuma nem tartható meg" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Figyelmeztetés rendszergazda mód lépéskor" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Programok" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Alapértelmezett programok" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Szöveg megjelenítő:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Szövegszerkesztő:" #: ../src/Preferences.cpp:405 #, fuzzy msgid "File comparator:" msgstr "Fájl összehasonlító:" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Képszerkesztő:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Kép megjelenítő:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Tömörítő:" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "PDF megjelenítő:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Hang lejátszó:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Videó lejátszó:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "Terminál:" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 #, fuzzy msgid "Mount:" msgstr "Csatolás" #: ../src/Preferences.cpp:462 #, fuzzy msgid "Unmount:" msgstr "Lecsatolás" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Színtéma" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Saját színek" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Kattintson duplán a szín kiválasztásához" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Alapszín" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Keretszín" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Háttérszín" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Betűszín" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Kijelölés háttérszín" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Kijelölés betűszíne" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Fájl lista háttérszíne" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Fájl lista betűszíne" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Fájl lista háttérszíne" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "Folyamatjelző színe" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Figyelmeztetés színe" #: ../src/Preferences.cpp:500 msgid "Scrollbar color" msgstr "Görgető színe" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Megjelenés" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Alap (klasszikus megjelenés)" #: ../src/Preferences.cpp:517 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:520 msgid "Icon theme path" msgstr "Ikon téma útvonala" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tÚtvonal kiválasztása..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Betűtípusok" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Betűtípusok" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Normál betű:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Választás..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Szöveg betű:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "Billentyűparancso&k" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Billentyűparancsok" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Billentyűparancs módosítása..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Billentyűparancs visszaállítása.." #: ../src/Preferences.cpp:634 msgid "Select an icon theme folder or an icon file" msgstr "Ikon téma útvonalának kiválasztása" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "Alap betű cseréje" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Szöveg betű cseréje" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Új fájl létrehozása" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Új könyvtár létrehozása" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "Vágólapra másolás" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "Vágólapra vágás" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Beillesztés a vágólapról" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Fájl megnyitása" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Kilépés az alkalmazásból" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Mindent kijelöl" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Kijelölések elvetése" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Kijelölés megfordítása" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Súgó megjelenítése" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Rejtett fájlok mutatása" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Előképek mutatása" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Ablak bezárása" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Nyomtatás" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Keresés" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Előző keresése" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Következő keresése" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 msgid "Vertical panels" msgstr "Függőleges panelek" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 msgid "Horizontal panels" msgstr "Vízszintes panelek" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Panelek frissítése" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Új hivatkozás létrehozása" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Tulajdonságok" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Fájlok kukába mozgatása" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Fájlok visszaállítása a kukából" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Fájlok törlése" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Új ablak" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Új root ablak" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Parancs futtatása" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Terminál megnyitása" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Fájlrendszer csatolása (csak Linuxon)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Fájlrendszer lecsatolása (csak Linuxon)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "1 paneles megjelenés" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Fa és 1 paneles megjelenés" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "2 paneles megjelenés" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Fa és 2 paneles megjelenés" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Címsor törlése" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Átnevezés" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Fájl másolása" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Fájl mozgatása" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Fájlhivatkozás létrehozása" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Könyvjelző hozzáadása" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Panelek szinkronizálása" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Panelek felcserélése" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Ugrás a Kukába" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Kuka ürítése" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Megtekintés" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Szerkesztés" #: ../src/Preferences.cpp:1014 msgid "Toggle display hidden folders" msgstr "Rejtett könyvtárak mutatása" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Fájlok szűrése" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "A kép 100%-ra nagyítása" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Ablakhoz illesztés" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "A kép balra forgatása" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "A kép jobbra forgatása" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "A kép vízszintes tükrözése" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "A kép függőleges tükrözése" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Új dokumentum létrehozása" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Változtatások mentése" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Sorra ugrás" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Utolsó módosítás visszavonása" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Utolsó módosítás ismétlése" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "Csere" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "Tördelés üzemmódjának átállítása" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "Sorszámozás üzemmódjának átállítása" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Kisbetűs üzemmód" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Nagybetűs üzemmód" #. Confirmation message #: ../src/Preferences.cpp:1114 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:1115 msgid "Restore default key bindings" msgstr "Alapértelmezett billentyűparancsok" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Újraindítás" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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/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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Bezár" #: ../src/SearchPanel.cpp:165 msgid "Refresh panel" msgstr "Panel frissítése" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Kijelölt fájlok vágólapra másolása" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Kijelölt fájlok vágólapra vágása" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Kijelölt fájlok tulajdonságai" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Kijelölt fájlok kukába mozgatása" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Kijelölt fájlok törlése" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "Az aktuális könyvtár: %s" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Te&ljes fájl lista" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "&kis/Nagy minde&gy" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "&Automatikus méret" #: ../src/SearchPanel.cpp:2421 #, fuzzy msgid "&Packages query " msgstr "Csomag lekérdezése " #: ../src/SearchPanel.cpp:2435 msgid "&Go to parent folder" msgstr "Ugrás a szülő könyvtárba" #: ../src/SearchPanel.cpp:3658 #, c-format msgid "Copy %s items" msgstr "%s elem másolása" #: ../src/SearchPanel.cpp:3674 #, c-format msgid "Move %s items" msgstr "%s elem mozgatása" #: ../src/SearchPanel.cpp:3690 #, c-format msgid "Symlink %s items" msgstr "%s elem szimbolikus hivatkozása" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "Abszolút útvonalat kell megadni" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr "0 elem" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 elem" #: ../src/SearchWindow.cpp:71 msgid "Find files:" msgstr "Fájlok keresése:" #: ../src/SearchWindow.cpp:74 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:79 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:84 msgid "In folder:" msgstr "Könyvtárban:" #: ../src/SearchWindow.cpp:86 msgid "\tIn folder..." msgstr "\tKönyvtárban..." #: ../src/SearchWindow.cpp:89 msgid "Text contains:" msgstr "Szöveg tartalmazása:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "kisbetű/Nagy betű figyelmen kívül" #. Search options #: ../src/SearchWindow.cpp:97 msgid "More options" msgstr "További lehetőségek" #: ../src/SearchWindow.cpp:98 msgid "Search options" msgstr "Keresési beállítások" #: ../src/SearchWindow.cpp:99 msgid "Reset\tReset search options" msgstr "Alaphelyzet\tKeresési beállítások alaphelyzetbe állítása" #: ../src/SearchWindow.cpp:115 msgid "Min size:" msgstr "Minimális méret" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "Szűrés minimális fájl méret szerint (KByte)" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 msgid "Max size:" msgstr "Maximálist méret:" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "Szűrés maximális fájl méret szerint (KByte)" #. Modification date #: ../src/SearchWindow.cpp:126 msgid "Last modified before:" msgstr "Utolsó módosítás ez előtt:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "Utolsó módosítás végső napja" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "Nap" #: ../src/SearchWindow.cpp:131 msgid "Last modified after:" msgstr "Utolsó módosítás ez után:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "Utolsó módosítás kezdő napja" #. User and group #: ../src/SearchWindow.cpp:137 msgid "User:" msgstr "Felhasználó:" #: ../src/SearchWindow.cpp:140 msgid "\tFilter by user name" msgstr "\tSzűrés felhasználónév alapján" #: ../src/SearchWindow.cpp:142 msgid "Group:" msgstr "Csoport: " #: ../src/SearchWindow.cpp:145 msgid "\tFilter by group name" msgstr "\tSzűrés csoport alapján" #. File type #: ../src/SearchWindow.cpp:178 msgid "File type:" msgstr "Fájltípus:" #: ../src/SearchWindow.cpp:181 msgid "File" msgstr "Fájl" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "Cső" #: ../src/SearchWindow.cpp:187 msgid "\tFilter by file type" msgstr "\tSzűrés típus alapján" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 msgid "Permissions:" msgstr "Jogok:" #: ../src/SearchWindow.cpp:194 msgid "\tFilter by permissions (octal)" msgstr "\tSzűrés jogok alapján (oktális)" #. Empty files #: ../src/SearchWindow.cpp:197 msgid "Empty files:" msgstr "Üres fájlok:" #: ../src/SearchWindow.cpp:198 msgid "\tEmpty files only" msgstr "\tCsak üres fájlok" #: ../src/SearchWindow.cpp:202 msgid "Follow symbolic links:" msgstr "Szimbolikus hivatkozás követése:" #: ../src/SearchWindow.cpp:203 msgid "\tSearch while following symbolic links" msgstr "\tSzimbolikus hivatkozás követése keresés során" #: ../src/SearchWindow.cpp:207 msgid "Non recursive:" msgstr "Alkönyvtárakban:" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "\tNe keressen az alkönyvtárakban" #: ../src/SearchWindow.cpp:212 msgid "Ignore other file systems:" msgstr "Ne keressen más fájlrendszerekben:" #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "\tNe keressen más fájlrendszerekben" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "&Keresés\tKeresés indítása (F3)" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "&Megállítás\tKeresés megállítása (Esc)" #: ../src/SearchWindow.cpp:782 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Keresés elindult - Kérem, várjon... <<<<" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " elem" #: ../src/SearchWindow.cpp:938 msgid ">>>> Search results <<<<" msgstr ">>>> Keresési eredmények <<<<" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "Input / output hiba" #: ../src/SearchWindow.cpp:973 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Keresés megszakítva... <<<<" #: ../src/SearchWindow.cpp:1147 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:201 #: ../src/XFileImage.cpp:327 ../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:808 msgid "&Vertical panels" msgstr "&Függőleges panelek" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 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:781 msgid "&Thumbnails" msgstr "&Előképek" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "&Kuka" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "Xfe rendszergazdaként!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, 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:2274 #, 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:2296 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:2300 msgid "XFE configuration file" msgstr "XFE beállítás fájl" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, 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:2339 ../src/XFileExplorer.cpp:3992 #, 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:2357 ../src/XFileExplorer.cpp:4005 #, 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:2361 ../src/XFileExplorer.cpp:4007 #, 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:3181 msgid "Help" msgstr "Súgó" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer %s verzió" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Maxim Baranov X WinCommander-je alapján\n" #: ../src/XFileExplorer.cpp:3214 #, 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" "Finnish: Kimmo Siira\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:3246 #, fuzzy msgid "About X File Explorer" msgstr "X File Explorer &névjegy" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Execute the command:" msgstr "Parancs futtatása:" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Console mode" msgstr "Konzol mód" #: ../src/XFileExplorer.cpp:3896 msgid "Search files and folders" msgstr "Fájlok és könyvtárak keresése" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 msgid "Do you really want to empty the trash can?" msgstr "Biztos, hogy ki akarja üríteni a kukát?" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr " : " #: ../src/XFileExplorer.cpp:3959 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "Minden elem elvész!" #: ../src/XFileExplorer.cpp:4049 #, 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:4051 msgid "Trash size" msgstr "A kuka mérete" #: ../src/XFileExplorer.cpp:4058 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "A kuka %s könyvtára nem olvasható!" #: ../src/XFileExplorer.cpp:4512 ../src/XFileExplorer.cpp:4586 #, c-format msgid "Command not found: %s" msgstr "Nem találom a parancsot: %s" #: ../src/XFileExplorer.cpp:4591 #, c-format msgid "Invalid file association: %s" msgstr "Érvénytelen fájl társítás: %s" #: ../src/XFileExplorer.cpp:4596 #, c-format msgid "File association not found: %s" msgstr "Nem találom a fájl társítást: %s" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Beállítások" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Csomag megnyitása" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "Meg&nyitás..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Eszköztár" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "X File Package &névjegy" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "&Eltávolítás" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Telepítés/Frissítés" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "&Leírás" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "Fájl lista" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "X File Package névjegy" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "RPM forrás csomagok" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "RPM csomagok" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "DEB csomagok" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Dokumentum megnyitása" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Nincs csomag megnyitva" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Ismeretlen csomag formátum" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Csomag Telepítése/Frissítése" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Csomag eltávolítása" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[RPM csomag]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[DEB csomag]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "%s lekérdezése sikertelen!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../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:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Nem tudom megnyitni a fájlt: %s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "GIF kép" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "BMP kép" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "XPM kép" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "PCX kép" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "ICO kép" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "RGB kép" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "XBM kép" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "TARGA kép" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "PPM kép" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "PNG kép" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "JPEG kép" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "TIFF kép" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "&Kép" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Megnyitás" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Kép megnyitása." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Nyomtatás" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 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:660 msgid "Zoom in" msgstr "Nagyítás" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "A kép nagyítása" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Kicsinyítés" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "A kép kicsinyítése" #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "100%-os méret" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "A kép eredeti méretben." #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "Nagyítás ablakmérethez." #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 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:682 msgid "Rotate left" msgstr "Balra forgatás" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Balra forgatás." #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Jobbra forgatás" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Jobbra forgatás" #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Vízszintes tükrözés" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "Vízszintes tükrözés" #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Függőleges tükrözés" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Függőleges tükrözés" #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "&Nyomtatás" #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "\"&Aktuális Fájlok\" ürítése" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "Aktuális fájlok menüpont ürítése" #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Kilépés az Xfi-ből." #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "Nagyítás" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "Kicsinyítés" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "100%-os méret" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "Ablakhoz illesztés" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "&Jobbra forgat" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Jobbra forgat" #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "&Balra forgat" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Balra forgat" #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "&Vízszintes tükrözés" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Vízszintes tükrözés" #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "&Függőleges tükrözés" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Függőleges tükrözés" #: ../src/XFileImage.cpp:775 msgid "Show hidden files and folders." msgstr "Rejtett fájlok és mappák mutatása." #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Előképek mutatása." #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Könyvtár mutatása nagy ikonokkal." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Könyvtár mutatása kis ikonokkal." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "Részletes fájl lista" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Részletes könyvtárlista." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "Ikonok sorokba rendezése." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "Ikonok oszlopba rendezése." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Automatikus méretű ikon nevek." #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Eszköztár mutatása." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "&Fájl lista" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Fájllista mutatása." #: ../src/XFileImage.cpp:824 msgid "File list &before" msgstr "Fájl lista &előre" #: ../src/XFileImage.cpp:824 msgid "Display file list before image window." msgstr "A fájl lista a kép nézete előtt" #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "&Szűrés képekre" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Csak a képek mutatása." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "&Ablakhoz illesztés megnyitáskor." #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "Ablakhoz illesztés megnyitáskor." #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "X File Image &névjegy" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "X File Image névjegy." #: ../src/XFileImage.cpp:1333 #, 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:1335 msgid "About X File Image" msgstr "X File Image névjegy" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Hiba a kép betöltése során" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Nem támogatott típus: %s" #: ../src/XFileImage.cpp:1464 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:1504 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:1619 msgid "Open Image" msgstr "Kép megnyitása" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Nyomtatási parancs:\n" "(például: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Hiba a mentés során" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "Nem tudom megnyitni a fájlt: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "A fájl túl nagy: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "A %s fájl csonka." #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "névtelen" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "névtelen%d" #: ../src/WriteWindow.cpp:1477 #, 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:1479 msgid "About X File Write" msgstr "X File Write névjegy" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Betűtípus megváltoztatása" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Szövegfájlok" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "C forrásfájlok" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "C++ forrásfájlok" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "C/C++ fejléc fájlok" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "HTML fájlok" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "PHP fájlok" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Nem mentett dokumentum" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "Mentsük %s fájlt?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Dokumentum mentése" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Dokumentum felülírása" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "Felülírjam a már létező %s dokumentumot?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (módosítva)" #: ../src/WriteWindow.cpp:1851 msgid " (read only)" msgstr " (csak olvasható)" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "CSAK OLVASHATÓ" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "FELÜLÍR" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "BESZÚR" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "A fájl módosult" #: ../src/WriteWindow.cpp:2071 #, 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:2132 msgid "Replace" msgstr "Cserélés" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Sorra ugrás" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "&Sorszámra ugrás:" #. Usage message #: ../src/XFileWrite.cpp:217 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Nem tudom bezárni a %s könyvtárat\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "bájt" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 msgid "copy" msgstr "másolás" #: ../src/xfeutils.cpp:1413 #, c-format msgid "Error: Can't read group list: %s" msgstr "Hiba! Nem tudom olvasni: %s" #: ../src/xfeutils.cpp:1417 #, 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" #~ msgid "&Themes" #~ msgstr "&Témák" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "Fájlok végrehajtásának megerősítése" #~ msgid "KB" #~ msgstr "KB" #~ 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?" #~ 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?" #~ 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?" #~ 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?" #~ 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?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ msgstr "Hiba történt!" #, 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.44/po/fr.po0000644000200300020030000060106214023353061010514 00000000000000# Xfe - X File Explorer, a file manager for X # Copyright (C) 2002-2017 Roland Baudin # This file is distributed under the same license as the Xfe package. # Roland Baudin , 2013-2021. # msgid "" msgstr "" "Project-Id-Version: Xfe 1.40.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-14 10:23+0100\n" "PO-Revision-Date: 2021-03-14 10:21+0100\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 3.36.0\n" #. Usage message #: ../src/main.cpp:333 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:467 #, 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:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Erreur de chargement des icônes" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "" "Le chemin d'accès aux icônes n'existe pas, le thème d'icônes par défaut a " "été sélectionné. Vérifiez votre chemin d'accès aux icônes !" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 msgid "Unable to load some icons. Please check your icon theme!" msgstr "" "Impossible de charger certaines icônes. Vérifiez votre thème d'icônes !" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Propriétés" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&Général" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Dossier" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Character Device" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Block Device" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Named Pipe" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Exécutable" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Document" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Lien brisé" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 msgid "Link to " msgstr "Lien vers " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Emplacement :" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Type :" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu octets)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu octets)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Taille :" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Sélection" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Types multiples" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d éléments" #: ../src/Properties.cpp:1118 #, c-format msgid "%d file, %d folder" msgstr "%d fichier, %d dossier" #: ../src/Properties.cpp:1122 #, c-format msgid "%d file, %d folders" msgstr "%d fichier, %d dossiers" #: ../src/Properties.cpp:1126 #, c-format msgid "%d files, %d folder" msgstr "%d fichiers, %d dossier" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d fichiers, %d dossiers" #: ../src/Properties.cpp:1252 msgid "Change properties of the selected folder?" msgstr "Changer les propriétés du dossier sélectionné ?" #: ../src/Properties.cpp:1256 msgid "Change properties of the selected file?" msgstr "Changer les propriétés du fichier sélectionné ?" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 msgid "Confirm Change Properties" msgstr "Confirmer changer les propriétés" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Avertissement" #: ../src/Properties.cpp:1401 msgid "Invalid file name, operation cancelled" msgstr "Nom de fichier invalide, opération annulée !" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 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:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 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:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Ne peut écrire dans %s: Permission refusée" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "Le dossier %s n'existe pas" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Renommer un fichier" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Propriétaire du fichier" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "Opération de changement de propriétaire annulée !" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown dans %s a échoué : %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "Chown dans %s a échoué" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 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:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod dans %s a échoué : %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Permissions de fichier" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Opération de changement de permissions de fichier annulée !" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "Chmod dans %s a échoué" #: ../src/Properties.cpp:1628 msgid "Apply permissions to the selected items?" msgstr "Appliquer les permissions aux éléments sélectionnés ?" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "Opération de changement de permissions de fichier(s) annulée !" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Sélectionner un fichier exécutable" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Tous les fichiers" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "Images PNG" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "Images GIF" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "Images BMP" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Sélectionner un fichier d'icône" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, c-format msgid "%u file, %u subfolder" msgstr "%u fichier, %u sous-dossier" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, c-format msgid "%u file, %u subfolders" msgstr "%u fichier, %u sous-dossiers" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, c-format msgid "%u files, %u subfolder" msgstr "%u fichiers, %u sous-dossier" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u fichiers, %u sous-dossiers" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Copier ici" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Déplacer ici" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Lien symbolique ici" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Annuler" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Copier un fichier" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Déplacer un fichier" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Lier symboliquement un fichier" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Copier" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Copier %s fichiers/dossiers.\n" "De : %s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Déplacer" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Déplacer %s fichiers/dossiers.\n" "De : %s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Lien symbolique" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "Vers :" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "Une erreur s'est produite durant la copie de fichiers !" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "Opération de déplacement de fichiers annulée !" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "Une erreur s'est produite durant la copie de fichiers !" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "Opération de copie de fichiers annulée !" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "Le point de montage %s ne répond pas..." #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "0 octet dans la racine" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 msgid "Panel is active" msgstr "Le panneau est actif" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 msgid "Activate panel" msgstr "Activer le panneau" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "&Ajouter à l'archive..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Copier" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Co&uper" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "C&oller" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "Dép&lacer dans..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, 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:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, 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:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 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:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Créer une archive" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Copier " #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "Copier %s éléments de : %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Renommer" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Renommer " #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Copier dans" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Déplacer " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "Déplacer %s éléments de : %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Lier symboliquement " #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "Lier symboliquement %s éléments de : %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s n'est pas un dossier" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 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:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "Lien symbolique annulé !" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "Supprimer définitivement le dossier %s ?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Confirmer supprimer" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Supprimer un fichier" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, 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:2264 #, 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:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "Suppression de dossier annulée !" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "Mettre le dossier %s à la corbeille ?" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Confirmer mettre à la corbeille" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Mettre à la corbeille" #: ../src/DirPanel.cpp:2360 #, 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:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 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:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "Opération de déplacement vers la corbeille annulée !" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Restaurer depuis la corbeille" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Restaurer le dossier %s à son emplacement original %s ?" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Confirmer la restauration" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "Information de restauration inexistante pour %s" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, 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:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "Ne peut créer le dossier %s : %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "Ne peut créer le dossier %s" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 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:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "Opération de restauration depuis la corbeille annulée !" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Créer le nouveau dossier :" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Nouveau dossier" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 msgid "Folder name is empty, operation cancelled" msgstr "Le nom de dossier est vide, opération annulée" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, c-format msgid "Can't execute command %s" msgstr "Ne peut exécuter la commande %s" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Monter" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Démonter" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " système de fichiers..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " le dossier :" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " opération annulée !" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 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:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Changement des permissions..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "Fichier :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Confirmer écraser" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "Ne peut copier le fichier %s : %s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "Ne peut copier le fichier %s" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "Source : " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "Destination : " #: ../src/File.cpp:604 #, 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:608 #, 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:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Ne peut copier le dossier %s: Permission refusée" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Ne peut copier le fichier %s : permission refusée" #: ../src/File.cpp:791 #, 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:795 #, 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:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "La source %s n'existe pas" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, c-format msgid "Destination %s is identical to source" msgstr "La destination %s est identique à la source" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, 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:1048 msgid "Delete folder: " msgstr "Supprimer le dossier : " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "De : " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "Ne peut supprimer le dossier %s : %s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "Ne peut supprimer le fichier %s" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "Ne peut supprimer le fichier %s : %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "Ne peut supprimer le fichier %s" #: ../src/File.cpp:1213 #, c-format msgid "Destination %s already exists" msgstr "La destination %s existe déjà" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, c-format msgid "Can't rename to target %s: %s" msgstr "Ne peut renommer vers la destination %s : %s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "Ne peut lier symboliquement %s : %s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "Ne peut lier symboliquement %s" #: ../src/File.cpp:1655 ../src/File.cpp:1852 msgid "Folder: " msgstr "Dossier : " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Extraire l'archive" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Ajouter à l'archive" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Commande échouée : %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Succès" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "Le dossier %s a été monté avec succès." #: ../src/File.cpp:2115 #, 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:2126 msgid "Install/Upgrade package" msgstr "Installation/Mise à jour du paquet" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "Installe le paquet : %s\n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Désinstaller le paquet" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 msgid "Go to previous folder" msgstr "Revenir au dossier précédent" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 msgid "Go to next folder" msgstr "Avancer au dossier suivant" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 msgid "Go to parent folder" msgstr "Aller au dossier parent" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "Aller au dossier personnel" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Liste avec grandes icônes" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Liste avec petites icônes" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Liste détaillée" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Afficher les fichiers cachés" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "Masquer les fichiers cachés" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Afficher les imagettes" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 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:3758 msgid "New File" msgstr "Nouveau fichier" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, 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:906 msgid "Go ho&me" msgstr "&Dossier personnel" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Nouveau &dossier..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "Fic&hiers cachés" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "I&magettes" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "&Grandes icônes" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "&Petites icônes" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "Li&ste détaillée" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "&Lignes" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "&Colonnes" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "Taille auto." #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "&Nom" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "&Taille" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "T&ype" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "E&xtension" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "D&ate" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "&Utilisateur" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "&Groupe" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 msgid "Fold&ers first" msgstr "&Dossiers d'abord" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "O&rdre inverse" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "&Famille :" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "&Graisse :" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "&Style :" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "&Taille :" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Jeu de caractères :" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Quelconque" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "Europe de l'Ouest" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Europe de l'Est" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Europe du Sud" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Europe du Nord" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Cyrillique" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Arabe" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Grec" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Hébreu" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Turc" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Nordique" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Thaï" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Balte" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Celtique" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Russe" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Europe Centrale (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Russe (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Grec (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Turc (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Hébreu (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Arabe (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Balte (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Vietnam (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Thaï (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Largeur :" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "Ultra condensée" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Extra condensée" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Condensée" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "Semi condensée" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Normal" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Semi étendue" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Etendue" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Extra étendue" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "Ultra étendue" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "Chasse :" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Fixe" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Variable" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Vectorielle :" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Toutes les polices :" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Prévisualiser :" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Lancer Xfe en tant que root" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&Non" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Oui" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Quitter" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Enregistrer" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Oui pour &Tout" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Entrer le mot de passe utilisateur :" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Entrer le mot de passe root :" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "Une erreur s'est produite !" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Nom : " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Taille dans la racine : " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Type : " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Date de modification : " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Utilisateur : " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Groupe : " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Permissions : " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Chemin original :" #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Date de suppression : " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Taille : " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Taille" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Type" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Extension" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Date de modification" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Permissions" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "Impossible de charger l'image" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Emplacement original" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Date de suppression" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Filtrer" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Etat" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, 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:1035 ../src/SearchPanel.cpp:790 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Journal de la commande" #: ../src/FilePanel.cpp:1832 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:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "Vers le dossier :" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, 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:2408 ../src/SearchPanel.cpp:2936 #, c-format msgid "Move file %s to trash can?" msgstr "Mettre le fichier %s dans la corbeille ?" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "Mettre les %s éléments sélectionnés à la corbeille ?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, 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:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "Opération de déplacement vers la corbeille annulée !" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Restaurer le fichier %s à son emplacement original %s ?" #: ../src/FilePanel.cpp:2721 #, 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:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "Ne peut créer le dossier %s : %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, c-format msgid "Definitively delete file %s ?" msgstr "Supprimer définitivement le fichier %s ?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, c-format msgid "Definitively delete %s selected items?" msgstr "Supprimer définitivement les %s éléments sélectionnés ?" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, 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:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "Opération de suppression de fichier annulée !" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "Comparer" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "Avec :" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, 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:3758 msgid "Create new file:" msgstr "Créer le nouveau fichier :" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "Ne peut créer le fichier %s : %s" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "Ne peut créer le fichier %s" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Ne peut appliquer les permissions dans %s : %s" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "Ne peut appliquer les permissions dans %s" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Créer le nouveau lien symbolique :" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Nouveau lien symbolique" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "Sélectionnez le fichier ou le dossier pointé par le lien" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "La cible du lien %s n'existe pas" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Ouvrir le(s) fichier(s) sélectionné(s) avec :" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Ouvrir avec" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "A&ssocier" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Montrer les fichiers :" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "Nouveau &fichier..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Nouveau lien s&ymbolique..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "F&iltrer..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "Li&ste détaillée" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "&Permissions" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "Nouveau &fichier..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Monter" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "Ouvrir a&vec..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Ouv&rir" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 msgid "Extr&act to folder " msgstr "Extr&aire dans le dossier " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "&Extraire ici" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "E&xtraire dans..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Afficher" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Installer/Mettre à &jour" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "Dés&installer" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Éditer" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 msgid "Com&pare..." msgstr "Com&parer..." #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "Com&parer" #: ../src/FilePanel.cpp:4672 msgid "Packages &query " msgstr "&Interroger les paquets " #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 msgid "Scripts" msgstr "Scripts" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 msgid "&Go to script folder" msgstr "&Aller au dossier de scripts" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Copier &dans..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 msgid "M&ove to trash" msgstr "&Mettre à la corbeille" #: ../src/FilePanel.cpp:4695 msgid "Restore &from trash" msgstr "R&estaurer depuis la corbeille" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 msgid "Compare &sizes" msgstr "Comparer les &tailles" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 msgid "P&roperties" msgstr "P&ropriétés" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Sélectionner un dossier de destination" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Tous les fichiers" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Installer/Mettre à jour le paquet" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Désinstaller le paquet" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Erreur : Fork a échoué : %s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, c-format msgid "Can't create script folder %s: %s" msgstr "Ne peut créer le dossier de scripts %s : %s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, c-format msgid "Can't create script folder %s" msgstr "Ne peut créer le dossier de scripts %s" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 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:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "Le fichier %s n'appartient à aucun paquet." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Information" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, 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:6220 ../src/SearchPanel.cpp:2887 msgid "Sizes of Selected Items" msgstr "Tailles des éléments sélectionnés" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 octet" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s dans %s éléments sélectionnés (%s dossier, %s fichier)" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s dans %s éléments sélectionnés (%s dossier, %s fichiers)" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s dans %s éléments sélectionnés (%s dossiers, %s fichier)" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s dans %s éléments sélectionnés (%s dossiers, %s fichiers)" #: ../src/FilePanel.cpp:6322 msgid "1 item (1 folder)" msgstr "1 élément (1 dossier)" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "%s éléments (%s dossiers, %s fichiers)" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, c-format msgid "%s items (%s folder, %s file)" msgstr "%s éléments (%s dossier, %s fichier)" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, c-format msgid "%s items (%s folder, %s files)" msgstr "%s éléments (%s dossier, %s fichiers)" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, c-format msgid "%s items (%s folders, %s file)" msgstr "%s éléments (%s dossiers, %s fichier)" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Lien" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "&Fermer" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" "Veuillez patienter...\n" "\n" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Ne peut dupliquer les tubes : %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 msgid "Can't duplicate pipes" msgstr "Ne peut dupliquer les tubes" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> COMMANDE ANNULÉE <<<<" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "Préférences" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Thème actuel" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Options" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "" "Utiliser la corbeille pour la suppression de fichiers (suppression sûre)" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "" "Inclure une commande qui contourne la corbeille (suppression permanente)" #: ../src/Preferences.cpp:185 msgid "Auto save layout" msgstr "Enregistrer l'agencement" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Sauvegarder la position des fenêtres" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "Ouvrir les dossiers avec un simple clic" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Ouvrir les fichiers avec un simple clic" #: ../src/Preferences.cpp:189 msgid "Display tooltips in file and folder lists" msgstr "Afficher les info-bulles dans les listes de fichiers et de dossiers" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "Redimensionnement relatif des listes de fichiers" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Afficher le chemin cliquable au dessus des listes de fichiers" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Notifier le démarrage des applications" #: ../src/Preferences.cpp:195 msgid "Don't execute text files" msgstr "Ne pas exécuter les fichiers textes" #: ../src/Preferences.cpp:198 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)" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "&Modes" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "Mode de lancement" #: ../src/Preferences.cpp:213 msgid "Start in home folder" msgstr "Lancement dans le dossier personnel" #: ../src/Preferences.cpp:214 msgid "Start in current folder" msgstr "Lancement dans le dossier courant" #: ../src/Preferences.cpp:215 msgid "Start in last visited folder" msgstr "Lancement dans le dernier dossier visité" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "Mode de défilement" #: ../src/Preferences.cpp:220 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:224 msgid "Mouse scrolling speed:" msgstr "Vitesse de défilement de la souris à roulette :" #: ../src/Preferences.cpp:227 msgid "Scrollbar width:" msgstr "Largeur de la barre de défilement" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Mode root" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "Autoriser le mode root" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Authentifier avec sudo (utilise le mot de passe utilisateur)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Authentifier avec su (utilise le mot de passe root)" #: ../src/Preferences.cpp:238 msgid "sudo command:" msgstr "Commande sudo :" #: ../src/Preferences.cpp:240 msgid "su command:" msgstr "Commande su :" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "&Dialogues" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Confirmations" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "Confirmer copier/déplacer/renommer/lier symboliquement" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "Confirmer le glisser/déposer" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "Confirmer mettre à la corbeille/restaurer depuis la corbeille" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Confirmer supprimer" #: ../src/Preferences.cpp:331 msgid "Confirm delete non empty folders" msgstr "Confirmer supprimer les dossiers non vides" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Confirmer écraser" #: ../src/Preferences.cpp:333 msgid "Confirm execute text files" msgstr "Confirmer exécuter les fichiers textes" #: ../src/Preferences.cpp:334 msgid "Confirm change properties" msgstr "Confirmer changer les propriétés" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Avertissements" #: ../src/Preferences.cpp:337 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:339 msgid "Warn when mount points are not responding" msgstr "Avertir quand un point de montage ne répond pas" #: ../src/Preferences.cpp:340 msgid "Display mount / unmount success messages" msgstr "Avertir quand le montage / démontage a réussi" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "Avertir quand la conservation de la date a échoué" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Avertir que Xfe a les droits root" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Programmes" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Programmes par défaut" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Visualiseur de texte :" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Éditeur de texte :" #: ../src/Preferences.cpp:405 msgid "File comparator:" msgstr "Comparateur de fichiers :" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Éditeur d'images :" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Visualiseur d'images :" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Archiveur :" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "Visualiseur de PDF :" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Lecteur audio :" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Lecteur video :" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "Terminal :" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "Gestion des volumes" #: ../src/Preferences.cpp:456 msgid "Mount:" msgstr "Monter :" #: ../src/Preferences.cpp:462 msgid "Unmount:" msgstr "Démonter :" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "&Apparence" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Thème de couleurs" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Couleurs personnalisées" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Double-cliquer pour personnaliser la couleur" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Couleur de base" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Couleur de bord" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Couleur d'arrière plan" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Couleur de texte" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Couleur d'arrière plan de sélection" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Couleur de texte de la sélection" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Couleur d'arrière plan des listes de fichiers" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Couleur de texte des listes de fichiers" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Couleur surlignée des listes de fichiers" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "Couleur de la barre de progression" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Couleur d'attention" #: ../src/Preferences.cpp:500 msgid "Scrollbar color" msgstr "Couleur de la barre de défilement" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "Résolution d'écran" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "DPI :" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Contrôles" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Standard (contrôles classiques)" #: ../src/Preferences.cpp:517 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:520 msgid "Icon theme path" msgstr "Chemin du thème d'icônes" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tSélectionner un chemin..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "P&olices" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Polices" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Police normale :" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Sélectionner..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Police de texte :" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "&Raccourcis claviers" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Raccourcis claviers" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Modifier les raccourcis claviers..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Restaurer les raccourcis claviers..." #: ../src/Preferences.cpp:634 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:723 msgid "Change Normal Font" msgstr "Changer la police normale" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Changer la police de texte" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Créer un nouveau fichier" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Créer un nouveau dossier" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "Copier dans le presse-papier" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "Couper dans le presse-papier" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Coller le contenu du presse-papier" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Ouvrir un fichier" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Quitter l'application" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Sélectionner tout" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Désélectionner tout" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Inverser la sélection" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Afficher l'aide" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Basculer l'affichage des fichiers cachés" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Basculer l'affichage des imagettes" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Fermer la fenêtre" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Imprimer le fichier" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Rechercher" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Rechercher le précédent" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Rechercher le suivant" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 msgid "Vertical panels" msgstr "Panneaux verticaux" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 msgid "Horizontal panels" msgstr "Panneaux horizontaux" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Rafraîchir les panneaux" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Créer le nouveau lien symbolique" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Propriétés de fichiers" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Mettre à la corbeille" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Restaurer des fichiers depuis la corbeille" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Supprimer les fichiers" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Créer une nouvelle fenêtre" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Créer une nouvelle fenêtre root" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Exécuter une commande..." #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Lancer un terminal" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Monter un système de fichiers (Linux seulement)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Démonter un système de fichiers (Linux seulement)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "Mode un panneau" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Mode arbre et un panneau" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "Mode deux panneaux" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Mode arbre et deux panneaux" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Effacer l'emplacement" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Renommer un fichier" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Copier les fichiers à l'emplacement" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Déplacer les fichiers à l'emplacement" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Lier symboliquement les fichiers à l'emplacement" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Ajouter un signet" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Synchroniser les panneaux" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Permuter les panneaux" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Aller à la corbeille" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Vider la corbeille" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Voir" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Éditer" #: ../src/Preferences.cpp:1014 msgid "Toggle display hidden folders" msgstr "Basculer l'affichage des dossiers cachés" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Filtrer les fichiers" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "Zoomer l'image à 100%" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Zoomer sur l'image de manière ajustée à la fenêtre" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "Pivoter l'image à gauche" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "Pivoter l'image à droite" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "Renverser l'image horizontalement" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "Renverser l'image verticalement" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Créer un nouveau document" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Enregistrer les modifications dans le fichier" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Aller à la ligne" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Annuler la dernière modification" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Rétablir la dernière modification." #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "Remplacer la chaîne" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "Basculer l'enroulement du texte" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "Basculer l'affichage des numéros de ligne" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Basculer en minuscules" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Basculer en majuscules" #. Confirmation message #: ../src/Preferences.cpp:1114 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:1115 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:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Redémarrer" #: ../src/Preferences.cpp:1213 ../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:1869 msgid "" "Preferences will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Les préférences seront modifiées 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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "Fe&rmer" #: ../src/SearchPanel.cpp:165 msgid "Refresh panel" msgstr "Rafraîchir le panneau" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Copier les fichiers sélectionnés dans le presse-papier" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Couper les fichiers sélectionnés dans le presse-papier" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Afficher les propriétés des fichiers sélectionnés" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Mettre les fichiers sélectionnés à la corbeille" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Supprimer les fichiers sélectionnés" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "Le dossier courant est maintenant '%s'" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Li&ste détaillée" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "Ign&orer la casse" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "&Taille auto." #: ../src/SearchPanel.cpp:2421 msgid "&Packages query " msgstr "&Interroger les paquets " #: ../src/SearchPanel.cpp:2435 msgid "&Go to parent folder" msgstr "&Aller au dossier parent" #: ../src/SearchPanel.cpp:3658 #, c-format msgid "Copy %s items" msgstr "Copier %s éléments" #: ../src/SearchPanel.cpp:3674 #, c-format msgid "Move %s items" msgstr "Déplacer %s éléments" #: ../src/SearchPanel.cpp:3690 #, c-format msgid "Symlink %s items" msgstr "Lier symboliquement %s éléments" #: ../src/SearchPanel.cpp:3734 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:3807 msgid "You must enter an absolute path!" msgstr "Vous devez entrer un chemin absolu !" #: ../src/SearchPanel.cpp:4231 msgid "0 item" msgstr "0 élément" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 élément" #: ../src/SearchWindow.cpp:71 msgid "Find files:" msgstr "Rechercher les fichiers :" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "Ignorer la casse\tIgnorer la casse des noms de fichiers" #. Hidden files #: ../src/SearchWindow.cpp:79 msgid "Hidden files\tShow hidden files and folders" msgstr "Fichiers cachés\tAfficher les fichiers et dossiers cachés" #: ../src/SearchWindow.cpp:84 msgid "In folder:" msgstr "Dans le dossier :" #: ../src/SearchWindow.cpp:86 msgid "\tIn folder..." msgstr "\tDans le dossier..." #: ../src/SearchWindow.cpp:89 msgid "Text contains:" msgstr "Le texte contient :" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "Ignorer la casse\tIgnorer la casse du texte" #. Search options #: ../src/SearchWindow.cpp:97 msgid "More options" msgstr "Plus d'options" #: ../src/SearchWindow.cpp:98 msgid "Search options" msgstr "Options de recherche" #: ../src/SearchWindow.cpp:99 msgid "Reset\tReset search options" msgstr "R.A.Z.\tRéinitialiser les options de recherche" #: ../src/SearchWindow.cpp:115 msgid "Min size:" msgstr "Taille minimale :" #: ../src/SearchWindow.cpp:117 msgid "Filter by minimum file size (kBytes)" msgstr "Filtrer par taille de fichier minimale (koctets)" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "ko" #: ../src/SearchWindow.cpp:120 msgid "Max size:" msgstr "Taille maximale :" #: ../src/SearchWindow.cpp:122 msgid "Filter by maximum file size (kBytes)" msgstr "Filtrer par taille de fichier maximale (koctets)" #. Modification date #: ../src/SearchWindow.cpp:126 msgid "Last modified before:" msgstr "Dernière modification avant :" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "Filtrer par date de modification maximale (jours)" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "Jours" #: ../src/SearchWindow.cpp:131 msgid "Last modified after:" msgstr "Dernière modification après :" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "Filtrer par date de modification minimale (jours)" #. User and group #: ../src/SearchWindow.cpp:137 msgid "User:" msgstr "Utilisateur :" #: ../src/SearchWindow.cpp:140 msgid "\tFilter by user name" msgstr "\tFiltrer par nom d'utilisateur" #: ../src/SearchWindow.cpp:142 msgid "Group:" msgstr "Groupe :" #: ../src/SearchWindow.cpp:145 msgid "\tFilter by group name" msgstr "\tFiltrer par nom de groupe" #. File type #: ../src/SearchWindow.cpp:178 msgid "File type:" msgstr "Type de fichiers :" #: ../src/SearchWindow.cpp:181 msgid "File" msgstr "Fichier" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "Tube" #: ../src/SearchWindow.cpp:187 msgid "\tFilter by file type" msgstr "\tFiltrer par type de fichier" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 msgid "Permissions:" msgstr "Permissions :" #: ../src/SearchWindow.cpp:194 msgid "\tFilter by permissions (octal)" msgstr "\tFiltrer par permissions (octal)" #. Empty files #: ../src/SearchWindow.cpp:197 msgid "Empty files:" msgstr "Fichiers vides :" #: ../src/SearchWindow.cpp:198 msgid "\tEmpty files only" msgstr "\tSeulement les fichiers vides" #: ../src/SearchWindow.cpp:202 msgid "Follow symbolic links:" msgstr "Suivre les liens symboliques :" #: ../src/SearchWindow.cpp:203 msgid "\tSearch while following symbolic links" msgstr "\tChercher en suivant les liens symboliques" #: ../src/SearchWindow.cpp:207 msgid "Non recursive:" msgstr "Non récursif :" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "\tNe pas rechercher récursivement" #: ../src/SearchWindow.cpp:212 msgid "Ignore other file systems:" msgstr "Ignorer autres FS :" #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "\tNe pas rechercher dans les autres systèmes de fichiers" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "&Démarrer\tDémarrer la recherche (F3)" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "&Stop\tArrêter la recherche (Esc)" #: ../src/SearchWindow.cpp:782 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Recherche démarrée - Veuillez patienter... <<<<" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " éléments" #: ../src/SearchWindow.cpp:938 msgid ">>>> Search results <<<<" msgstr ">>>> Résultats de la recherche <<<<" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "Erreur d'entrée / sortie" #: ../src/SearchWindow.cpp:973 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Recherche arrêtée... <<<<" #: ../src/SearchWindow.cpp:1147 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:201 #: ../src/XFileImage.cpp:327 ../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:808 msgid "&Vertical panels" msgstr "Panneaux &verticaux" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 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:781 msgid "&Thumbnails" msgstr "&Imagettes" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "&Corbeille" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "Vous utilisez Xfe en tant que root !" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, 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:2274 #, 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:2296 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:2300 msgid "XFE configuration file" msgstr "XFE configuration" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "Xfe ne peut fonctionner sans fichier de configuration globale xferc" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, 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:2339 ../src/XFileExplorer.cpp:3992 #, 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:2357 ../src/XFileExplorer.cpp:4005 #, 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:2361 ../src/XFileExplorer.cpp:4007 #, 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:3181 msgid "Help" msgstr "Aide" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer Version %s" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Basé sur X WinCommander par Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3214 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" "Finnish: Kimmo Siira\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" "Finlandais : Kimmo Siira\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:3246 msgid "About X File Explorer" msgstr "À &propos de X File Explorer" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 msgid "&Panel" msgstr "&Panneau" #: ../src/XFileExplorer.cpp:3718 msgid "Execute the command:" msgstr "Exécuter la commande :" #: ../src/XFileExplorer.cpp:3718 msgid "Console mode" msgstr "Mode console" #: ../src/XFileExplorer.cpp:3896 msgid "Search files and folders" msgstr "Rechercher des fichiers et dossiers" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 msgid "Do you really want to empty the trash can?" msgstr "Voulez-vous vraiment vider la corbeille ?" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr " dans " #: ../src/XFileExplorer.cpp:3959 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "Tous les éléments seront définitivement perdus !" #: ../src/XFileExplorer.cpp:4049 #, 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:4051 msgid "Trash size" msgstr "Taille de la corbeille" #: ../src/XFileExplorer.cpp:4058 #, 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:4512 ../src/XFileExplorer.cpp:4586 #, c-format msgid "Command not found: %s" msgstr "Commande non trouvée : %s" #: ../src/XFileExplorer.cpp:4591 #, c-format msgid "Invalid file association: %s" msgstr "Association de fichier invalide : %s" #: ../src/XFileExplorer.cpp:4596 #, c-format msgid "File association not found: %s" msgstr "Association de fichier non trouvée : %s" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Préférences" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Ouvrir le paquet" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Ouvrir..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Barre d'outils" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "&À propos de X File Package" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "Dé&sinstaller" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Installer/Mettre à jour" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "D&escription" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "&Liste des fichiers" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "À propos de X File Package" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "Paquets source RPM" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "Paquets RPM" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "Paquets DEB" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Ouvrir un document" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Aucun paquet chargé" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Format de paquet inconnu" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Installation/Mise à jour de paquets" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Désinstallation de paquets..." #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[Paquet RPM]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[Paquet DEB]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "L'interrogation de %s a échoué !" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../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:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Impossible d'ouvrir le fichier : %s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "Image GIF" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "Image BMP" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "Image XPM" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "Image PCX" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "Image ICO" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "Image RGB" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "Image XBM" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "Image TARGA" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "Image PPM" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "Image PNG" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "Image JPEG" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "Image TIFF" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "&Image" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Ouvrir" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Ouvrir le fichier image." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Imprimer" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 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:660 msgid "Zoom in" msgstr "Zoom avant" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "Zoomer en avant sur l'image." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Zoom arrière" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "Zoomer en arrière sur l'image." #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "Zoom 100%" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "Zoomer l'image à 100%." #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "Zoom ajusté à la fenêtre" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "Zoomer sur l'image de manière ajustée à la fenêtre." #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "Pivoter à gauche" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Pivoter l'image à gauche." #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Pivoter à droite" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Pivoter l'image vers la droite." #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Miroir horizontal" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "Renverser l'image horizontalement." #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Miroir horizontal" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Renverser l'image verticalement." #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "&Imprimer..." #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "&Effacer les fichiers récents" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "Effacer les fichiers récents." #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Quitter Xfi" #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "Zoom &avant" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "Zoom a&rrière" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "Zoo&m 100%" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "Zoom ajusté à la &fenêtre" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "Pivoter à &droite" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Pivoter l'image vers la droite." #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "Pivoter à &gauche" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Pivoter à gauche." #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "Miroir &horizontal" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Miroir horizontal." #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "Miroir &vertical" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Miroir vertical." #: ../src/XFileImage.cpp:775 msgid "Show hidden files and folders." msgstr "Afficher les fichiers et dossiers cachés" #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Afficher les imagettes." #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Afficher les dossiers avec de grandes icônes." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Afficher les dossiers avec de petites icônes." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "Li&ste détaillée" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Afficher les dossiers sous forme de liste détaillée." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "Vue en lignes." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "Vue en colonnes." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Redimensionne automatiquement les noms des icônes." #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Afficher la barre d'outils." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "&Liste des fichiers" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Afficher la liste des fichiers." #: ../src/XFileImage.cpp:824 msgid "File list &before" msgstr "L&iste de fichiers d'abord" #: ../src/XFileImage.cpp:824 msgid "Display file list before image window." msgstr "Afficher la liste des fichiers avant l'image." #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "&Filtrer les images" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Afficher uniquement les fichiers d'images." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "&Ajuster à la fenêtre à l'ouverture" #: ../src/XFileImage.cpp:826 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:831 msgid "&About X File Image" msgstr "&À propos de X File Image" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "À propos de X File Image." #: ../src/XFileImage.cpp:1333 #, 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:1335 msgid "About X File Image" msgstr "À propos de X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Erreur lors du chargement de l'image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Type non supporté : %s" #: ../src/XFileImage.cpp:1464 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:1504 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:1619 msgid "Open Image" msgstr "Ouvrir l'image" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Commande d'impression : \n" "(ex : lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Erreur d'enregistrement du fichier" #: ../src/WriteWindow.cpp:1159 #, c-format msgid "Unable to save file: %s" msgstr "Impossible d'enregistrer le fichier : %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" "Espace disponible insuffisant, impossible d'enregistrer le fichier : %s\n" "\n" "=> Pour éviter de perdre des données, vous devriez enregistrer le fichier " "sur un autre périphérique avant de quitter !" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "Le fichier est trop volumineux : %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "Fichier : %s tronqué." #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "sans titre" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "sans titre%d" #: ../src/WriteWindow.cpp:1477 #, 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:1479 msgid "About X File Write" msgstr "À propos de X File Write" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Changer la police de texte" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Fichiers texte" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "Fichiers source C" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "Fichiers source C++" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "Fichiers d'en-tête C/C++" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "Fichiers HTML" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "Fichiers PHP" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Document non enregistré" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "Enregistrer %s dans un fichier ?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Enregistrer un document" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Écraser le document" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "Écraser le document existant : %s ?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (modifié)" #: ../src/WriteWindow.cpp:1851 msgid " (read only)" msgstr " (lecture seule)" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "LECTURE SEULE" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "RFP" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "Le fichier a été modifié" #: ../src/WriteWindow.cpp:2071 #, 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:2132 msgid "Replace" msgstr "Remplacer" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Aller à la ligne" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "&Aller au numéro de ligne :" #. Usage message #: ../src/XFileWrite.cpp:217 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\n" " \n" " " msgstr "" "\n" "\n" " XFE, le gestionnaire de fichiers X File " "Explorer\n" "\n" " \n" " \n" "\n" "\n" "\n" " Ce programme est un logiciel libre : vous pouvez le redistribuer et / ou le " "modifier sous les conditions de la\n" " licence GNU General Public License telle que publiée par la Free Software " "Foundation : soit la version 2 ou\n" " (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" " - Support des écrans HiDPI\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 et 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 dans le dossier personnel de " "l'utilisateur. Si le fichier de configuration\n" " système n'est pas trouvé (dans le cas où l'installation n'a pas lieu dans " "l'emplacement par défaut) une boîte de\n" " dialogue s'ouvre pour demander à l'utilisateur d'indiquer l'endroit " "approprié.\n" " Il est alors facile de configurer Xfe en éditant les fichiers de " "configuration (spécialement en ce qui concerne les\n" " associations de fichiers), parce que toutes les 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" " Support du HiDPI\n" " =-=-=-=-=-=-=-=-=\n" "\n" " À partir de la version 1.44, Xfe supporte les écrans HiDPI. Il suffit pour " "cela que l'utilisateur règle\n" " manuellement la résolution de l'écran à l'aide de l'option Éditer / " "Préférences / Résolution d'écran / DPI.\n" " Une valeur de 200 - 240 dpi doit convenir pour des écrans Ultra HD (4K).\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\n" " fichiers que vous désirez traiter, puis faites un clic droit sur la liste " "de fichiers et sélectionnez le sous-menu\n" " 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\n" " exécutables. Vous pouvez utiliser le menu Outils / Aller au dossier de " "scripts pour vous rendre directement dans\n" " 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\n" " 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\n" " 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\n" " cela d'invoquer le 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\n" " et le texte, mais des critères plus sophistiqués sont également disponibles " "en cliquant sur le bouton Plus d'options.\n" " Il est alors possible de rechercher des fichiers selon la taille, la date " "de modification, le nom d'utilisateur\n" " ou de groupe, les permissions, le suivi des liens symboliques ou les " "fichiers vides. Les résultats de la recherche\n" " apparaissent ensuite dans une liste de fichiers que les utilisateurs " "peuvent manipuler avec le menu clic droit,\n" " 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,\n" " à 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 :\n" " 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 : 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Erreur : Ne peut fermer le dossier %s\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "octets" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "Go" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "Mo" #: ../src/xfeutils.cpp:1100 msgid "copy" msgstr "copie" #: ../src/xfeutils.cpp:1413 #, c-format msgid "Error: Can't read group list: %s" msgstr "Erreur : Ne peut lire la liste de groupes : %s" #: ../src/xfeutils.cpp:1417 #, 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" xfe-1.44/po/de.po0000644000200300020030000052624414023353061010505 00000000000000# Xfe - X File Explorer, a file manager for X # Copyright (C) 2002-2016 Roland Baudin # This file is distributed under the same license as the xfe package. # Joachim Wiedorn , 2011, 2013, 2014, 2015, 2016. # Roland Baudin , 2019. # msgid "" msgstr "" "Project-Id-Version: Xfe 1.42.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-14 10:23+0100\n" "PO-Revision-Date: 2019-04-30 15:33+0200\n" "Last-Translator: Roland Baudin \n" "Language-Team: français <>\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: Gtranslator 2.91.7\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. Usage message #: ../src/main.cpp:333 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:467 #, 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:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Fehler beim Laden der Symbole" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "" "Einige Symbole konnten nicht geladen werden. Bitte den Symbole-Pfad " "überprüfen!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" 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:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Eigenschaften" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&Allgemein" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Ordner" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Zeichenorientiertes Gerät" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Blockorientiertes Gerät" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Benannte \"Pipe\"" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Ausführbar" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Dokument" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Ungültige Verknüpfung" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 msgid "Link to " msgstr "Verknüpfung zu " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Adresse:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Typ:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu Bytes)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu Bytes)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Größe:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Auswahl:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Mehrfache Typen" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d Einträge" #: ../src/Properties.cpp:1118 #, c-format msgid "%d file, %d folder" msgstr "%d Datei, %d Ordner" #: ../src/Properties.cpp:1122 #, c-format msgid "%d file, %d folders" msgstr "%d Datei, %d Ordner" #: ../src/Properties.cpp:1126 #, c-format msgid "%d files, %d folder" msgstr "%d Dateien, %d Ordner" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d Dateien, %d Ordner" #: ../src/Properties.cpp:1252 msgid "Change properties of the selected folder?" msgstr "Eigenschaften des ausgewählten Ordners ändern?" #: ../src/Properties.cpp:1256 msgid "Change properties of the selected file?" msgstr "Eigenschaften der ausgewählten Datei ändern?" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 msgid "Confirm Change Properties" msgstr "Änderung der Eigenschaften bestätigen" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Warnung" #: ../src/Properties.cpp:1401 msgid "Invalid file name, operation cancelled" msgstr "Ungültiger Dateiname, Ausführung wurde abgebrochen" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 msgid "The / character is not allowed in folder names, operation cancelled" msgstr "" "Das \"/\" Zeichen ist nicht in Ordnernamen erlaubt, Ausführung wurde " "abgebrochen" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 msgid "The / character is not allowed in file names, operation cancelled" msgstr "" "Das \"/\" Zeichen ist nicht in Dateinamen erlaubt, Ausführung wurde " "abgebrochen" #. Error message box #. Error #: ../src/Properties.cpp:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Konnte nicht nach %s schreiben: Zugriff verweigert" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "Ordner %s existiert nicht" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Datei umbenennen" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Datei Eigentümer" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "Ändern des Eigentümers abgebrochen!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "chown in %s fehlgeschlagen: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "chown in %s fehlgeschlagen" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 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:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "chmod in %s fehlgeschlagen: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Datei Berechtigungen" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Ändern der Berechtigungen abgebrochen!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "chmod in %s fehlgeschlagen" #: ../src/Properties.cpp:1628 msgid "Apply permissions to the selected items?" msgstr "Berechtigungen den ausgewählten Objekte zuweisen?" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "Ändern der Dateiberechtigungen abgebrochen!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Eine ausführbare Datei auswählen" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Alle Dateien" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "PNG Bilder" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "GIF Bilder" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "BMP Bilder" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Symbol-Datei auswählen" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, c-format msgid "%u file, %u subfolder" msgstr "%u Datei, %u Unterordner" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, c-format msgid "%u file, %u subfolders" msgstr "%u Datei, %u Unterordner" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, c-format msgid "%u files, %u subfolder" msgstr "%u Dateien, %u Unterordner" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u Datei(en), %u Unterordner" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Hierher kopieren" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Hierher verschieben " #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Hierher verknüpfen" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Abbrechen" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Datei kopieren" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Datei verschieben" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Datei-Verknüpfung" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopieren" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "%s Dateien/Ordner kopieren.\n" "Von: %s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Verschieben" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "%s Dateien/Ordner verschieben.\n" "Von: %s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Verknüpfung" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "Nach:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "Ein Fehler ist während dem Verschieben einer Datei aufgetreten!" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "Datei verschieben abgebrochen!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "Ein Fehler ist während dem Kopiern einer Datei aufgetreten!" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "Datei kopieren abgebrochen!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "Eingehängter Datenträger %s reagiert nicht..." #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "0 Byte im Wurzelverzeichnis" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 msgid "Panel is active" msgstr "Anzeigefeld ist aktiv" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 msgid "Activate panel" msgstr "Aktives Anzeigefeld" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "Ein komprimiertes Paket &herstellen..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Kopieren" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Aus&schneiden" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Einfügen" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Verschieben nach..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, 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:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, 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:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 msgid "File name is empty, operation cancelled" msgstr "Dateiname ist leer, Ausführung wurde abgebrochen" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Archiv erstellen" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Kopieren " #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "%s Einträge kopieren von: %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Umbenennen" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Umbenennen " #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Kopieren nach" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Verschieben " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "%s Einträge verschieben von: %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Verknüpfung" #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "%s Einträge verknüpfen von: %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s ist kein Ordner" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 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:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "Erstellung der symbolischen Verknüpfung wurde abgebrochen!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "Ordner %s endgültig löschen?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Löschen bestätigen" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Datei löschen" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Ordner %s ist nicht leer, trotzdem löschen?" #: ../src/DirPanel.cpp:2264 #, 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:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "Löschen des Ordners - abgebrochen!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "Ordner %s in den Papierkorb verschieben?" # JOO: ist das richtig ? #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Papierkorb-Leeren bestätigen" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Verschieben in den Papierkorb" #: ../src/DirPanel.cpp:2360 #, 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:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 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:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "Verschieben in den Papierkorb - abgebrochen!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Wiederherstellen aus dem Papierkorb" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Ordner %s an ursprünglicher Adresse %s wiederherstellen?" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Wiederherstellen bestätigen" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "Informationen herstellen ist für %s nicht verfügbar" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, 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:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "Kann Ordner %s nicht erstellen: %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "Kann Ordner %s nicht erstellen" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 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:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "Abbruch der Wiederherstellung aus dem Papierkorb!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Neuen Ordner erstellen:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Neuer Ordner" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 msgid "Folder name is empty, operation cancelled" msgstr "Ordnername ist leer, Ausführung wurde abgebrochen" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, c-format msgid "Can't execute command %s" msgstr "Kann Befehl %s nicht ausführen" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Laufwerk einhängen" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Laufwerk trennen" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " Dateisystem..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " der Ordner:" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " Aktion abgebrochen!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 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:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Ändere Berechtigungen..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "Datei :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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 #, 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, Dateien im Verzeichnis könnten überschrieben werden!" #: ../src/File.cpp:304 ../src/File.cpp:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Überschreiben bestätigen" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "Kann Datei %s nicht kopieren: %s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "Kann Datei %s nicht kopieren" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "Quelle : " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "Ziel : " #: ../src/File.cpp:604 #, 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:608 #, c-format msgid "Can't preserve date when copying file %s" msgstr "Kann Datum der Datei %s beim Kopieren nicht erhalten" #: ../src/File.cpp:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Kann Ordner %s nicht kopieren: Zugriff verweigert" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Kann Datei %s nicht kopieren: Zugriff verweigert" #: ../src/File.cpp:791 #, 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:795 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "Kann Datum der Ordner %s beim Kopieren nicht erhalten" #: ../src/File.cpp:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "Quelle %s existiert nicht" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, c-format msgid "Destination %s is identical to source" msgstr "Ziel %s ist identisch zur Quelle" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, 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:1048 msgid "Delete folder: " msgstr "Ordner löschen: " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "Von : " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "Kann Ordner %s nicht löschen: %s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "Kann Ordner %s nicht löschen" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "Kann Datei %s nicht löschen: %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "Kann Datei %s nicht löschen" #: ../src/File.cpp:1213 #, c-format msgid "Destination %s already exists" msgstr "Ziel %s existiert bereits" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, c-format msgid "Can't rename to target %s: %s" msgstr "Kann nicht nach Ziel %s umbenennen: %s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "Kann Verknüpfung %s nicht erstellen: %s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "Kann Verknüpfung %s nicht erstellen" #: ../src/File.cpp:1655 ../src/File.cpp:1852 msgid "Folder: " msgstr "Ordner: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Archiv entpacken" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Zu Archiv hinzufügen" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Fehlgeschlagener Befehl: %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Erfolg" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "Ordner %s wurde erfolgreich eingehängt." #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Ordner %s wurde erfolgreich getrennt." #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "Pakete installieren/aktualisieren" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "Paket installieren: %s \n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Deinstalliere Paket" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 msgid "Go to previous folder" msgstr "Zum vorherigen Ordner wechseln" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 msgid "Go to next folder" msgstr "Zum nächsten Ordner wechseln" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 msgid "Go to parent folder" msgstr "Zum übergeordneten Ordner wechseln" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "Zum Heimatordner wechseln" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Liste mit großen Symbolen" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Liste mit kleinen Symbolen" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Detaillierte Dateiliste" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Versteckte Dateien anzeigen" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "Versteckte Dateien nicht anzeigen" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Thumbnails anzeigen" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 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:3758 msgid "New File" msgstr "Neue Datei" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "Datei oder Ordner %s existiert bereits" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "Gehe zum &Heimatordner" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Neuer &Ordner..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "Ver&steckte Dateien" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "Vorsc&haubilder" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "&Große Symbole" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "&Kleine Symbole" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "&Lange Dateiliste" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "&Zeilen" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "S&palten" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "Automatische Größe" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "&Name" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "G&röße" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Typ" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "&Endung" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "&Datum" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "&Benutzer" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "Gru&ppe" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 msgid "Fold&ers first" msgstr "Ordn&er zuerst" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "Sortierung &umkehren" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "&Familie:" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "&Gewicht:" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "&Stil:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "G&röße:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Zeichensatz:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Beliebig" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "West-Europäisch" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Ost-Europäisch" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Süd-Europäisch" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Nord-Europäisch" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Kyrillisch" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Arabisch" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Griechisch" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Hebräisch" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Türkisch" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Skandinavisch" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Thai" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Baltisch" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Irisch" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Russisch" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Zentral-Europäisch (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Russisch (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Griechisch (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Türkisch (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Hebräisch (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Arabisch (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Baltisch (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Vietnamesisch (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Thai (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Breite setzen:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "Sehr stark verdichtet" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Stark verdichtet" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Verdichtet" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "Etwas verdichtet" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Normal" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Etwas gedehnt" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Gedehnt" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Stark gedehnt" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "Sehr stark gedeht" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "Zeichen/Zoll:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Fest" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Variable" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Einstellbar:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Alle Schriften:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Voransicht:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Xfe als \"root\" starten" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&Nein" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Ja" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Beenden" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Speichern" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Ja für &Alle" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Bitte User Passwort eingeben:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Bitte \"root\" Passwort eingeben:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "Ein Fehler ist aufgetreten!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Name: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Größe im Wurzelverzeichnis: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Typ: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Änderungsdatum: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Benutzer: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Gruppe: " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Berechtigungen: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Ursprungspfad:" #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Löschdatum: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Größe: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Größe" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Typ" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Endung" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Änderungsdatum" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Berechtigungen" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "Konnte Bilddatei nicht laden" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Ursprungspfad" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Löschen Datum" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Filter" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Status" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, 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:1035 ../src/SearchPanel.cpp:790 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Befehlssprotokoll" #: ../src/FilePanel.cpp:1832 msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "" "Das \"/\" Zeichen ist nicht in Datei- oder Ordnernamen erlaubt, Ausführung " "wurde abgebrochen" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "In den Ordner: " #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, 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:2408 ../src/SearchPanel.cpp:2936 #, c-format msgid "Move file %s to trash can?" msgstr "Datei %s in den Papierkorb verschieben?" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "%s markierte Dateien in den Papierkorb verschieben?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, 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:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "Datei in den Papierkorb verschieben wurde abgebrochen!" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Datei %s an urspünglicher Adresse %s wiederherstellen?" #: ../src/FilePanel.cpp:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "%s markierte Einträge an ursprünglicher Adresse wiederherstellen?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "Kann den Ordner %s nicht erstellen: %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, c-format msgid "Definitively delete file %s ?" msgstr "Datei %s endgültig löschen?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, c-format msgid "Definitively delete %s selected items?" msgstr "%s markierte Einträge endgültig löschen?" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "Datei %s ist schreibgeschützt, trotzdem löschen?" #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "Löschen der Datei abgebrochen!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "Vergleichen" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "Mit:" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, 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:3758 msgid "Create new file:" msgstr "Neue Datei anlegen:" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "Kann Datei %s nicht erstellen: %s" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "Kann Datei %s nicht erstellen" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Kann keine Berechtigungen in %s setzen: %s" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "Kann keine Berechtigungen in %s setzen" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Neue Verknüpfung anlegen :" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Neue Verknüpfung" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "Mit dem Symlink verbundene Datei / Ordner auswählen" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "Die Verknüpfung Quelle %s existiert nicht" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Öffne die markierte(n) Datei(en) mit :" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Öffnen mit" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "&Zuordnen" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Dateien anzeigen:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "Neue &Datei..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Neue &Verknüpfung..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "&Filter..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "&Lange Dateiliste" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "Bere&chtigungen" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "Neue &Datei..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "Laufwerk &einhängen" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "Öffnen &mit..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Ö&ffnen" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 msgid "Extr&act to folder " msgstr "Entp&acken in den Ordner " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "&Hier entpacken" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "Ent&packen nach..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "Be&trachten" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "&Installieren/Aktualisieren" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "&Deinstallieren" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Bearbeiten" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 msgid "Com&pare..." msgstr "Ver&gleichen..." #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "Ver&gleichen" #: ../src/FilePanel.cpp:4672 msgid "Packages &query " msgstr "&Paketabfrage " #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 msgid "Scripts" msgstr "Skript-Programme" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 msgid "&Go to script folder" msgstr "Zum Skript-Ordner wechseln" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Kopieren &nach..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 msgid "M&ove to trash" msgstr "Verschieben &in den Papierkorb" #: ../src/FilePanel.cpp:4695 msgid "Restore &from trash" msgstr "Wiederherstellen &aus dem Papierkorb" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 msgid "Compare &sizes" msgstr "Größe &vergleichen" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 msgid "P&roperties" msgstr "&Eigenschaften" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Zielordner auswählen" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Alle Dateien" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Paket installieren/aktualisieren" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Paket deinstallieren" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Fehler: Aufteilung misslang: %s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, c-format msgid "Can't create script folder %s: %s" msgstr "Kann Skript-Ordner %s nicht erstellen: %s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, c-format msgid "Can't create script folder %s" msgstr "Kann Skript-Ordner %s nicht erstellen" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "RedHat Paket Verwalter (RPM) nicht gefunden!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "Datei %s gehört zu keinem Paket." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Information" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, 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:6220 ../src/SearchPanel.cpp:2887 msgid "Sizes of Selected Items" msgstr "Größe der ausgewählten Objekte" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 Byte" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s in %s markierten Einträgen (%s Ordner, %s Datei)" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s in %s markierten Einträgen (%s Ordner, %s Dateien)" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s in %s markierten Einträgen (%s Ordner, %s Datei)" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s in %s markierten Einträgen (%s Ordner, %s Dateien)" #: ../src/FilePanel.cpp:6322 msgid "1 item (1 folder)" msgstr "1 Eintrag (1 Ordner)" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "%s Einträge (%s Ordner, %s Dateien)" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, c-format msgid "%s items (%s folder, %s file)" msgstr "%s Einträge (%s Ordner, %s Datei)" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, c-format msgid "%s items (%s folder, %s files)" msgstr "%s Einträge (%s Ordner, %s Dateien)" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, c-format msgid "%s items (%s folders, %s file)" msgstr "%s Einträge (%s Ordner, %s Datei)" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Verknüpfung" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "&Schließen" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" "Bitte warten...\n" "\n" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Kann \"Pipes\" nicht duplizieren: %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 msgid "Can't duplicate pipes" msgstr "Kann \"Pipes\" nicht duplizieren" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> ABBRUCH DES BEFEHLS <<<<" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "Einstellungen" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Aktuelles Schema" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Optionen" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "Benutze Papierkorb für gelöschte Dateien (sicheres Löschen)" #: ../src/Preferences.cpp:184 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:185 msgid "Auto save layout" msgstr "Layout automatisch speichern" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Fensterposition speichern" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "Einfacher Klick zum Öffnen von Ordnern" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Einfacher Klick zum Öffnen von Dateien" #: ../src/Preferences.cpp:189 msgid "Display tooltips in file and folder lists" msgstr "Hinweise in Datei- und Ordnerlisten anzeigen" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "Größe der Dateiliste relativ ändern" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Pfad-Linker oberhalb der Dateiliste anzeigen" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Programmstart anzeigen" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Ausführen von Textdateien bestätigen" #: ../src/Preferences.cpp:198 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)" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "&Modi" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "Start-Modus" #: ../src/Preferences.cpp:213 msgid "Start in home folder" msgstr "Im Heimatordner starten" #: ../src/Preferences.cpp:214 msgid "Start in current folder" msgstr "Im aktuellen Ordner starten" #: ../src/Preferences.cpp:215 msgid "Start in last visited folder" msgstr "Im zuletzt besuchten Ordner starten" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "Scroll-Modus" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "Sanftes Rollen in Dateilisten und Textfenstern" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Roll-Geschwindigkeit:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Farbe Fortschrittsbalken" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "\"Root\" Modus" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "\"Root\" Modus erlauben" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Authentifizierung mittels sudo (verwendet Benutzer-Passwort)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Authentifizierung mittels su (verwendet \"root\" Passwort)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Fehlgeschlagener Befehl: %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Befehl ausführen" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "&Dialoge" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Bestätigungen" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "Kopieren/verschieben/umbenennen/symlinken bestätigen" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "\"drag and drop\" bestätigen" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "Verschieben in / Zurückholen aus dem Papierkorb bestätigen" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Löschen bestätigen" #: ../src/Preferences.cpp:331 msgid "Confirm delete non empty folders" msgstr "Löschen von nicht leeren Verzeichnissen bestätigen" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Überschreiben bestätigen" #: ../src/Preferences.cpp:333 msgid "Confirm execute text files" msgstr "Ausführen von Textdateien bestätigen" #: ../src/Preferences.cpp:334 msgid "Confirm change properties" msgstr "Änderung der Eigenschaften bestätigen" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Warnungen" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "Warnen, wenn aktueller Ordner im Suchfenster gesetzt wird" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Warnen, wenn eingehängte Datenträger nicht reagieren" #: ../src/Preferences.cpp:340 msgid "Display mount / unmount success messages" msgstr "Erfolgsmeldungen für Einhängen/Trennen anzeigen" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "Warnen, wenn das Datum nicht erhalten werden konnte" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Warnen, falls als \"root\" angemeldet" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Programme" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Voreingestellte Programme" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Textbetrachter: " #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Texteditor: " #: ../src/Preferences.cpp:405 msgid "File comparator:" msgstr "Dateivergleich:" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Bildeditor: " #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Bildbetrachter: " #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Archivierer: " #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "PDF-Betrachter: " #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Audioprogramm: " #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Videoprogramm: " #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "Terminal:" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 msgid "Mount:" msgstr "Laufwerk einhängen:" #: ../src/Preferences.cpp:462 msgid "Unmount:" msgstr "Laufwerk trennen:" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Farbschema" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Selbstdefinierte Farben" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Doppelklick um die Farbe zu ändern" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Grundfarbe" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Rahmenfarbe" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Hintergrundfarbe" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Textfarbe" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Auswahl-Hintergrundfarbe" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Auswahl-Textfarbe" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Dateilisten-Hintergrundfarbe" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Dateilisten-Textfarbe" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Dateilisten-Hervorhebungsfarbe" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "Fortschrittsbalken-Farbe" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Achtungsmeldung-Farbe" #: ../src/Preferences.cpp:500 msgid "Scrollbar color" msgstr "Farbe Fortschrittsbalken" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Bedienelemente" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Standard (klassische Bedienelemente)" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (modernes Aussehen)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "Pfad zum Symbol-Verzeichnis" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tPfad auswählen..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Schriftarten" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Schriftarten" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Standardschrift:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Auswählen..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Textschriftart:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "Tasten&belegung" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Tastenbelegung" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Tastenbelegung ändern..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Tastenbelegung wiederherstellen..." #: ../src/Preferences.cpp:634 msgid "Select an icon theme folder or an icon file" msgstr "Symbolthemen-Ordner oder Symbol auswählen" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "Standardschriftart ändern" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Textschriftart ändern" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Neue Datei anlegen" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Neuen Ordner anlegen" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "In die Zwischenablage kopieren" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "In die Zwischenablage ausschneiden" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Aus der Zwischenablage einfügen" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Datei öffnen" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Anwendung beenden" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Alles auswählen" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Alles abwählen" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Auswahl umkehren" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Hilfe anzeigen" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Versteckte Ordner anzeigen oder verstecken" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Vorschaubilder anzeigen oder verstecken" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Fenster schließen" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Datei drucken" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Suchen" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Rückwärts suchen" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Vorwärts suchen" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 msgid "Vertical panels" msgstr "Vertikale Felder" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 msgid "Horizontal panels" msgstr "Waagrechte Felder" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Felder Aktualisieren" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Neue Verknüpfung erstellen" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Datei-Eigenschaften" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Dateien in den Papierkorb verschieben" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Dateien aus dem Papierkorb zurückholen" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Dateien löschen " #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Neues Fenster erstellen" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Neues \"root\"-Fenster erstellen" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Befehl ausführen" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Terminal starten" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Laufwerk einhängen (nur unter Linux)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Laufwerk trennen (nur unter Linux)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "Ein Feld" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Baum und ein Feld" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "Zwei Felder" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Baum und zwei Felder" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Adresseleiste löschen" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Datei umbenennen" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Dateien an die Adresse kopieren" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Dateien an die Adresse verschieben" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Dateien mit der Adresse verknüpfen" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Lesezeichen setzen" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Felder synchronisieren" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Felder vertauschen" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Zum Papierkorb wechseln" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Papierkorb leeren" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Ansicht" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Editieren" #: ../src/Preferences.cpp:1014 msgid "Toggle display hidden folders" msgstr "Versteckte Ordner anzeigen oder verstecken" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Dateien filtern" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "Bild auf 100% zoomen" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Fensterfüllend zoomen" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "Bild links herumdrehen" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "Bild rechts herumdrehen" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "Bild horizontal spiegeln" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "Bild vertikal spiegeln" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Neues Dokument anlegen" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Änderungen in Datei speichern " #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Gehe zur Zeile" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Letzte Änderung zurücknehmen" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Letzte Änderung zurückholen" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "Text ersetzen" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "Zeilenumbruch ein- oder ausschalten" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "Zeilennummern anzeigen oder verstecken" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Kleinschreibung ein- oder ausschalten" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Großschreibung ein- oder ausschalten" #. Confirmation message #: ../src/Preferences.cpp:1114 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:1115 msgid "Restore default key bindings" msgstr "Tastenbelegung wiederherstellen" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Neustart" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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/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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Schließen" #: ../src/SearchPanel.cpp:165 msgid "Refresh panel" msgstr "Anzeigefeld aktualisieren" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Ausgewählte Dateien in die Zwischenablage kopieren" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Ausgewählte Dateien in die Zwischenablage ausschneiden" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Eigenschaften der markierten Datei anzeigen" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Markierte Datei in den Papierkorb verschieben" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Markierte Datei löschen" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "'%s' wurde als aktueller Ordner gesetzt" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "&Lange Dateiliste" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "&Ignoriere Groß-/Kleinschreibung" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "&Automatische Größenanpassung" #: ../src/SearchPanel.cpp:2421 msgid "&Packages query " msgstr "&Paketabfrage " #: ../src/SearchPanel.cpp:2435 msgid "&Go to parent folder" msgstr "Zum über&geordneten Ordner wechseln" #: ../src/SearchPanel.cpp:3658 #, c-format msgid "Copy %s items" msgstr "%s Einträge kopieren" #: ../src/SearchPanel.cpp:3674 #, c-format msgid "Move %s items" msgstr "%s Einträge verschieben" #: ../src/SearchPanel.cpp:3690 #, c-format msgid "Symlink %s items" msgstr "%s Einträge symbolisch verknüpfen" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" "Zeichen \"/\" ist nicht in Datei- oder Ordnernamen erlaubt, Ausführung wurde " "abgebrochen" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "Bitte den absoluten Pfad angeben!" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr "0 Eintrag" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 Eintrag" #: ../src/SearchWindow.cpp:71 msgid "Find files:" msgstr "Datei finden:" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "" "Groß-/Kleinschreibung ignorieren\tGroß-/Kleinschreibung im Dateinamen " "ignorieren" #. Hidden files #: ../src/SearchWindow.cpp:79 msgid "Hidden files\tShow hidden files and folders" msgstr "Versteckte Dateien\tVersteckte Dateien und Verzeichnisse anzeigen" #: ../src/SearchWindow.cpp:84 msgid "In folder:" msgstr "In den Ordner: " #: ../src/SearchWindow.cpp:86 msgid "\tIn folder..." msgstr "\tIn den Ordner..." #: ../src/SearchWindow.cpp:89 msgid "Text contains:" msgstr "Text beinhaltet:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "" "Groß-/Kleinschreibung ignorieren\tGroß-/Kleinschreibung im Text ignorieren" #. Search options #: ../src/SearchWindow.cpp:97 msgid "More options" msgstr "Mehr Optionen" #: ../src/SearchWindow.cpp:98 msgid "Search options" msgstr "Suchoptionen" #: ../src/SearchWindow.cpp:99 msgid "Reset\tReset search options" msgstr "Zurücksetzen\tSuchoptionen zurücksetzen" #: ../src/SearchWindow.cpp:115 msgid "Min size:" msgstr "Minimale Größe:" #: ../src/SearchWindow.cpp:117 msgid "Filter by minimum file size (kBytes)" msgstr "Nach kleinster Dateigröße (kBytes) filtern" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "kB" #: ../src/SearchWindow.cpp:120 msgid "Max size:" msgstr "Maximale Größe:" #: ../src/SearchWindow.cpp:122 msgid "Filter by maximum file size (kBytes)" msgstr "Nach größter Dateigröße (kBytes) filtern" #. Modification date #: ../src/SearchWindow.cpp:126 msgid "Last modified before:" msgstr "Letzte Änderung vor:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "Nach größtem Änderungsdatum (Tage) filtern" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "Tage" #: ../src/SearchWindow.cpp:131 msgid "Last modified after:" msgstr "Letzte Änderung nach:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "Nach kleinstem Änderungsdatum (Tage) filtern" #. User and group #: ../src/SearchWindow.cpp:137 msgid "User:" msgstr "Benutzer:" #: ../src/SearchWindow.cpp:140 msgid "\tFilter by user name" msgstr "\tFiltern nach Benutzername" #: ../src/SearchWindow.cpp:142 msgid "Group:" msgstr "Gruppe:" #: ../src/SearchWindow.cpp:145 msgid "\tFilter by group name" msgstr "\tFiltern nach Gruppenname" #. File type #: ../src/SearchWindow.cpp:178 msgid "File type:" msgstr "Dateityp:" #: ../src/SearchWindow.cpp:181 msgid "File" msgstr "Datei" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "\"Pipe\"" #: ../src/SearchWindow.cpp:187 msgid "\tFilter by file type" msgstr "\tFiltern nach Dateityp" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 msgid "Permissions:" msgstr "Berechtigungen:" #: ../src/SearchWindow.cpp:194 msgid "\tFilter by permissions (octal)" msgstr "\tFiltern nach Berechtigungen (oktal)" #. Empty files #: ../src/SearchWindow.cpp:197 msgid "Empty files:" msgstr "Leere Dateien:" #: ../src/SearchWindow.cpp:198 msgid "\tEmpty files only" msgstr "\tNur leere Dateien" #: ../src/SearchWindow.cpp:202 msgid "Follow symbolic links:" msgstr "Folge symbolischen Verknüpfungen:" #: ../src/SearchWindow.cpp:203 msgid "\tSearch while following symbolic links" msgstr "Suche, folge dabei symbolischen Verknüpfungen" #: ../src/SearchWindow.cpp:207 msgid "Non recursive:" msgstr "Nicht-Rekursiv:" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "\tNicht rekursiv in Ordnern suchen" #: ../src/SearchWindow.cpp:212 msgid "Ignore other file systems:" msgstr "Andere Dateisysteme ignorieren:" #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "\tNicht in anderen Dateisystemen suchen" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "&Start\tDie Suche starten (F3)" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "&Stopp\tDie Suche beenden (Esc)" #: ../src/SearchWindow.cpp:782 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Suche gestartet - Bitte warten... <<<<" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " Einträge" #: ../src/SearchWindow.cpp:938 msgid ">>>> Search results <<<<" msgstr ">>>> Suchergebnisse <<<<" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "Input / Output - Fehler" #: ../src/SearchWindow.cpp:973 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Suche beendet... <<<<" #: ../src/SearchWindow.cpp:1147 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 msgid "&Properties" msgstr "&Eigenschaften" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:201 #: ../src/XFileImage.cpp:327 ../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:808 msgid "&Vertical panels" msgstr "&Vertikale Felder" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 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:781 msgid "&Thumbnails" msgstr "V&orschaubilder" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "Pa&pierkorb" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "Führe Xfe als \"root\" aus!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Xfe Konfigurationsordner %s kann nicht erstellt werden: %s" #: ../src/XFileExplorer.cpp:2274 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Xfe Konfigurationsordner %s kann nicht erstellt werden" #: ../src/XFileExplorer.cpp:2296 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:2300 msgid "XFE configuration file" msgstr "XFE Konfigurationsdatei" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, 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:2339 ../src/XFileExplorer.cpp:3992 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "'files' Papierkorb-Ordner %s kann nicht erstellt werden" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, 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:2361 ../src/XFileExplorer.cpp:4007 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "'info' Papierkorb-Ordner %s kann nicht erstellt werden" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "Hilfe" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer Version %s" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Basierend auf X WinCommander von Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3214 #, 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" "Finnish: Kimmo Siira\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:3246 msgid "About X File Explorer" msgstr "Über X File Explorer" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 msgid "&Panel" msgstr "Bedien&feld" #: ../src/XFileExplorer.cpp:3718 msgid "Execute the command:" msgstr "Befehl ausführen:" #: ../src/XFileExplorer.cpp:3718 msgid "Console mode" msgstr "Konsole-Modus" #: ../src/XFileExplorer.cpp:3896 msgid "Search files and folders" msgstr "Dateien und Verzeichnisse suchen." #. Confirmation message #: ../src/XFileExplorer.cpp:3958 msgid "Do you really want to empty the trash can?" msgstr "Wollen Sie den Papierkorb wirklich leeren?" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr " in " #: ../src/XFileExplorer.cpp:3959 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "Alle Einträge gehen endgültig verloren!" #: ../src/XFileExplorer.cpp:4049 #, 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:4051 msgid "Trash size" msgstr "Papierkorb Größe" #: ../src/XFileExplorer.cpp:4058 #, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "'files' Papierkorb-Ordner %s ist nicht lesbar!" #: ../src/XFileExplorer.cpp:4512 ../src/XFileExplorer.cpp:4586 #, c-format msgid "Command not found: %s" msgstr "Befehl nicht gefunden: %s" #: ../src/XFileExplorer.cpp:4591 #, c-format msgid "Invalid file association: %s" msgstr "Ungültige Dateiverbindung: %s" #: ../src/XFileExplorer.cpp:4596 #, c-format msgid "File association not found: %s" msgstr "Dateiverbindung nicht gefunden: %s" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Einstellungen" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Paketdatei öffnen" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "Ö&ffnen..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Werkzeugleiste" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "&Über X File Package" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "&Deinstallieren" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Installieren/aktualisieren" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "&Beschreibung" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "&Dateiliste" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "Über X File Package" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "RPM Quellcode Pakete" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "RPM Pakete" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "DEB Pakete" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Dokument öffnen" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Keine Pakete geladen" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Unbekanntes Paketformat" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Paket installieren/aktualisieren" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Paket deinstallieren" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[RPM Pakete]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[DEB Pakete]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "Suche nach %s fehlgeschlagen!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../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:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Konnte Datei nicht öffnen: %s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "GIF Bild" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "BMP Bild" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "XPM Bild" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "PCX Bild" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "ICO Bild" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "RGB Bild" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "XBM Bild" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "TARGA Bild" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "PPM Bild" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "PNG Bild" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "JPEG Bild" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "TIFF Bild" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "&Bild" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Öffnen" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Bilddatei öffnen." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Drucken" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 msgid "Print image file." msgstr "Bilddatei drucken." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:660 msgid "Zoom in" msgstr "Vergrößern" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "Das Bild vergrößern." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Verkleinern" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "Das Bild verkleinern." #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "Zoom 100%" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "Bild in Originalgröße darstellen." #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "In das Fenster einpassen" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "Fensterfüllend vergrößern." #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "Nach links drehen" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Bild nach links drehen." #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Nach rechts drehen" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Bild nach rechts drehen." #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Horizonal spiegeln" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "Bild horizonal spiegeln." #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Vertikal spiegeln" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Bild vertikal spiegeln." #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "&Drucken..." #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "Dateiliste l&eeren" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "Dateiliste leeren." #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Xfi beenden." #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "Ver&größern" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "Ver&kleinern" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "&Originalgröße" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "&Einpassen" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "&Rechts herum drehen" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Rechts herum drehen." #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "&Links herum drehen" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Links herum drehen." #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "&Horizontal spiegeln" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Horizontal spiegeln." #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "&Vertikal spiegeln" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Vertikal spiegeln." #: ../src/XFileImage.cpp:775 msgid "Show hidden files and folders." msgstr "Versteckte Dateien und Verzeichnisse anzeigen." #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Mit Vorschaubildern anzeigen." #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Ordner mit großen Symbolen anzeigen." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Ordner mit kleinen Symbolen anzeigen." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "&Detaillierte Dateiliste" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Detaillierte Ordnerliste anzeigen." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "Zeileweise Ansicht mit Symbolen." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "Spaltenweise Ansicht mit Symbolen." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Automatische Größenanpassung der Symbolnamen." #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Felder-Werkzeugleiste anzeigen." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "&Dateiliste" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Dateiliste anzeigen." #: ../src/XFileImage.cpp:824 msgid "File list &before" msgstr "Dateiliste &davor" #: ../src/XFileImage.cpp:824 msgid "Display file list before image window." msgstr "Dateiliste vor dem Bilder-Fenster anzeigen." #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "Bilder &filtern" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Nur Bilddateien anzeigen." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "&Fensterfüllend öffnen " #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "Fenster beim Öffnen eines Bildes anpassen." #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "&Über X File Image" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "Über X File Image." #: ../src/XFileImage.cpp:1333 #, 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:1335 msgid "About X File Image" msgstr "Über X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Fehler beim Laden des Bildes" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Nicht unterstützter Typ: %s" #: ../src/XFileImage.cpp:1464 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:1504 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:1619 msgid "Open Image" msgstr "Bild öffnen" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Druckbefehl festlegen: \n" "(z.B. lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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 msgid "&New" msgstr "&Neu" #: ../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 msgid "&About X File Write" msgstr "Üb&er 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Fehler beim Speichern der Datei" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "Konnte Datei nicht öffnen: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "Die Datei ist zu groß: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "Datei: %s abgeschnitten." #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "unbekannt" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "unbekannt%d" #: ../src/WriteWindow.cpp:1477 #, 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:1479 msgid "About X File Write" msgstr "Über X File Write" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Textschriftart ändern" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Textdateien" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "C Quellcode-Dateien" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "C++ Quellcode-Dateien" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "C/C++ \"Header\"-Dateien" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "HTML Dateien" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "PHP-Dateien" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Nicht gespeichertes Dokument" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "Speichern von %s in die Datei?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Dokument speichern" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Dokument überschreiben" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "Überschreiben des vorhandenen Dokuments: %s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (geändert)" #: ../src/WriteWindow.cpp:1851 msgid " (read only)" msgstr "Nur-Lese-Modus" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "NUR-LESE-MODUS" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "Datei wurde geändert" #: ../src/WriteWindow.cpp:2071 #, 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:2132 msgid "Replace" msgstr "Ersetzen" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Wechsel in die Zeile" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "&Wechsel zu Zeile Nr.:" #. Usage message #: ../src/XFileWrite.cpp:217 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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 #, 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" "Sie sollten die vorhandene Tastenkombination löschen, bevor Sie diese erneut " "festlegen." #: ../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 "" "Die Tastenkombination %s wird bereits im Xfe Abschnitt verwendet.\n" "Sie sollten die vorhandene Tastenkombination löschen, bevor Sie diese erneut " "festlegen." #: ../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 "" "Die Tastenkombination %s wird bereits im Xfi Abschnitt verwendet.\n" "Sie sollten die vorhandene Tastenkombination löschen, bevor Sie diese erneut " "festlegen." #: ../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 "" "Die Tastenkombination %s wird bereits im Xfw Abschnitt verwendet.\n" "Sie 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:829 ../src/xfeutils.cpp:917 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Fehler: Kann den Ordner %s nicht schließen\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "Byte" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 msgid "copy" msgstr "kopieren" #: ../src/xfeutils.cpp:1413 #, c-format msgid "Error: Can't read group list: %s" msgstr "Fehler: Kann die Gruppenliste nicht lesen: %s" #: ../src/xfeutils.cpp:1417 #, 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" #~ msgid "&Themes" #~ msgstr "&Themen" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "Ausführen von Textdateien bestätigen" #~ msgid "KB" #~ msgstr "KB" #~ 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?" #~ 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?" #~ 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?" #~ 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?" #~ 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?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ msgstr "Ein Fehler ist aufgetreten!" #, 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.44/po/Makefile.in.in0000644000200300020030000001532313501733230012216 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.44/po/pt_BR.po0000644000200300020030000057001414023353061011115 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: 2021-03-14 10:23+0100\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:333 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:467 #, 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:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Erro ao abrir os ícones" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "" "Não foi possível abrir alguns ícones. Favor checar o caminho dos ícones!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" 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:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Propriedades" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&Geral" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Diretório" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Dispositivo de saída" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Dispositivo de bloco" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Tubo nomeado" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Soquete" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Execução" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Documento" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Ligação quebrada" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 #, fuzzy msgid "Link to " msgstr "Ligação para " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Endereço:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Tipo:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, c-format msgid "%s (%lu bytes)" msgstr "" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Tamanho:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Selecione:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Múltiplos tipos" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d itens" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d arquivos, %d diretórios" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d arquivos, %d diretórios" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d arquivos, %d diretórios" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d arquivos, %d diretórios" #: ../src/Properties.cpp:1252 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Exibir propriedades dos arquivos selecionados" #: ../src/Properties.cpp:1256 #, fuzzy msgid "Change properties of the selected file?" msgstr "Exibir propriedades dos arquivos selecionados" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 #, fuzzy msgid "Confirm Change Properties" msgstr "Propriedades de arquivo" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Atenção" #: ../src/Properties.cpp:1401 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Cancelado mover arquivo!" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 #, 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:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 #, 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:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Impossível gravar em %s: Permissão negada" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "Diretório %s não existe" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Renomear arquivo" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Dono do arquivo" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "Modificação de dono cancelada!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown em %s falhou: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "Chown em %s falhou" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 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:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod em %s falhou: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Permissões do arquivo" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Modificação de permissões de arquivos cancelada!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "Chmod em %s falhou" #: ../src/Properties.cpp:1628 #, fuzzy msgid "Apply permissions to the selected items?" msgstr "%s em %s itens selecionados" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "Modificação de permissões de arquivos cancelada!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Selecione um arquivo executável" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Todos os arquivos" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "Imagens PNG" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "Imagens GIF" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "Imagens BMP" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Selecione um arquivo de ícone" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%u arquivos, %u subdiretórios" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%u arquivos, %u subdiretórios" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%u arquivos, %u subdiretórios" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u arquivos, %u subdiretórios" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Copiar aqui" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Mover aqui" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Ligação aqui" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Cancelar" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Copiar arquivo" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Mover arquivo" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Ligação simbólica" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Copiar" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Copiar %s arquivos/diretórios.\n" "De: %s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Mover" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Mover %s arquivos/diretórios.\n" "De: %s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Ligação simbólica" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "Para:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "Ocorreu um erro ao mover o arquivo!" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "Cancelado mover arquivo!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "Ocorreu um erro ao copiar o arquivo!" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "Cancelado copiar arquivo!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "Ponto de montagem %s não está respondendo..." #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "0 bytes na raiz" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 #, fuzzy msgid "Panel is active" msgstr "Painel possui foco" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 #, fuzzy msgid "Activate panel" msgstr "Painéis verticais" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "&Adicionar ao pacote..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Copiar" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Cor&tar" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "C&olar" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Mover para..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, 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:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, 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:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 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:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Criar um pacote" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Copiar " #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "Copiar %s itens de: %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Renomear" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Renomear " #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Copiar para" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Mover " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "Mover %s itens de: %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Ligação simbólica " #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "Ligação simbólica de %s itens de: %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s não é um diretório" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 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:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "Criação de ligação simbólica cancelada!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "Remover o diretório %s definitivamente ?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Confirmar a remoção" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Remover o arquivo" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, 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:2264 #, 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:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "Remoção de diretório cancelada!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "Mover diretório %s para a lixeira?" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Confirmar o Lixo" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Mover para a lixeira" #: ../src/DirPanel.cpp:2360 #, 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:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "Ocorreu um erro ao mover para a lixeira!" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "Operação de remoção para a lixeira cancelada!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Restaurar da lixeira" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, 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:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Confirmar a Restauração" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "Restaurar informação não disponível para %s" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, 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:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "Impossível criar diretório %s : %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "Impossível criar diretório %s" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 msgid "An error has occurred during the restore from trash operation!" msgstr "Ocorreu um erro ao restaurar da lixeira!" #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "Operação de restauração da lixeira cancelada!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Criar novo diretório:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Novo diretório" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "O nome do arquivo está vazio, operação cancelada" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, c-format msgid "Can't execute command %s" msgstr "Impossível executar comando %s" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Montar" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Desmontar" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " sistema de arquivos..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " o diretório:" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " operação cancelada!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 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:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Modificando permissões..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "Arquivo:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Confirmar a Sobrescrita" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "Impossível copiar arquivo %s: %s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "Impossível copiar arquivo %s" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "Origem: " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "Destino: " #: ../src/File.cpp:604 #, 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:608 #, c-format msgid "Can't preserve date when copying file %s" msgstr "Impossível preservar data ao copiar arquivo %s" #: ../src/File.cpp:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Impossível copiar diretório %s: Permissão negada" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Impossível copiar arquivo %s: Permissão negada" #: ../src/File.cpp:791 #, 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:795 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "Impossível preservar data ao copiar diretório %s" #: ../src/File.cpp:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "A origem %s não existe" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, c-format msgid "Destination %s is identical to source" msgstr "O destino %s é igual à origem" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, 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:1048 #, fuzzy msgid "Delete folder: " msgstr "Remover diretório: " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "De: " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "Impossível remover o diretório %s: %s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "Impossível remover o diretório %s" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "Impossível remover o arquivo %s: %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "Impossível remover o arquivo %s" #: ../src/File.cpp:1213 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Arquivo ou diretório %s já existe" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Impossível renomear para o destino %s: %s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "Impossível criar nova ligação simbólica %s: %s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "Impossível criar nova ligação simbólica %s" #: ../src/File.cpp:1655 ../src/File.cpp:1852 #, fuzzy msgid "Folder: " msgstr "Diretório: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Extrair pacote" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Adicionar ao pacote" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Falha no comando: %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Sucesso" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "O diretório %s foi montado com sucesso." #: ../src/File.cpp:2115 #, 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:2126 msgid "Install/Upgrade package" msgstr "Instalar/Atualizar pacote" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "Instalando o pacote: %s \n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Desinstalar o pacote" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 msgid "Go to previous folder" msgstr "Ir para o diretório anterior" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 msgid "Go to next folder" msgstr "Ir para o próximo diretório" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 msgid "Go to parent folder" msgstr "Ir para o diretório pai" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "Ir para o diretório pessoal" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Lista com ícones grandes" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Lista com ícones pequenos" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Lista detalhada de arquivos" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Exibir arquivos ocultos" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "Não exibir arquivos ocultos" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Exibir miniaturas" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 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:3758 msgid "New File" msgstr "Novo arquivo" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "Arquivo ou diretório %s já existe" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "Ir para diretório do &usuário" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Novo &diretório..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "Arquivos &ocultos" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "Mi&niaturas" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "Ícones &grandes" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "Ícones &pequenos" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "&Lista inteira de arquivos" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "&Linhas" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "&Colunas" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "Tamanho automático" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "&Nome" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "&Tamanho" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Tipo" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "E&xtensão" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "&Data" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "&Usuário" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "&Grupo" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 msgid "Fold&ers first" msgstr "Dir&etórios primeiro" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "Ord&em reversa" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "&Família:" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "&Peso:" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "&Estilo:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "&Tamanho:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Codificação:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Qualquer" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "Europeu Ocidental" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Europeu Ocidental" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Sul Europeu" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Norte Europeu" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Cirílico" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Arábico" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Grego" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Hebraico" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Turco" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Nórdico" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Tailandês" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Báltico" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Céltico" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Russo" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Europa Central (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Russo (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Latino1 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Grego (cp1251)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Turco (cp1251)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Hebreu (cp1251)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Arábico (cp1251)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Báltico (cp1251)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Vietnamita (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Tailandês (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Configurar Largura:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "Ultra condensado" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Extra condensado" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Condensado" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "Semi condensado" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Semi expandido" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Expandido" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Extra expandido" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "Ultra expandido" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "Espaçamento:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Fixo" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Variável" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Escalável:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Todas as Fontes:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Previsualizar:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Lançar o Xfe como superusuário" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&Não" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Sim" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "Sai&r" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Salvar" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Sim para &Todos" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Entre com a senha de usuário:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Entre com a senha de superusuário:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "Ocorreu um erro!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Nome: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Tamanho na raiz: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Tipo: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Data de modificação: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Usuário: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Grupo: " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Permissões: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Caminho original: " #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Data de remoção: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Tamanho: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Tamanho" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Tipo" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Extensão" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Data de modificação" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Permissões" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "Impossível abrir a imagem: %s" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Caminho original" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Data de remoção" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Filtro" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Estado" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, 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:1035 ../src/SearchPanel.cpp:790 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Registro de comandos" #: ../src/FilePanel.cpp:1832 #, 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:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "Para o diretório:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, 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:2408 ../src/SearchPanel.cpp:2936 #, c-format msgid "Move file %s to trash can?" msgstr "Mover arquivo %s para a lixeira?" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "Mover %s itens selecionados para a lixeira?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, 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:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "Operação de remoção para a lixeira cancelada!" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Restaurar arquivo %s para sua localização original %s ?" #: ../src/FilePanel.cpp:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "Restaurar %sitens selecionados para suas localizações originais?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "Impossível criar diretório %s: %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, c-format msgid "Definitively delete file %s ?" msgstr "Remover o arquivo %s definitivamente ?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, c-format msgid "Definitively delete %s selected items?" msgstr "Remover definitivamente %s itens selecionados?" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, 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:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "Operação de remoção de arquivo cancelada!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "Comparar" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "Com:" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, 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:3758 msgid "Create new file:" msgstr "Criar novo arquivo:" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "Impossível criar arquivo %s: %s" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "Impossível criar arquivo %s" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Impossível aplicar permissões em %s: %s" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "Impossível aplicar permissões em %s" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Criar nova ligação simbólica:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Nova Ligação Simbólica" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "Selecione o arquivo ou diretório referenciado pela ligação simbólica" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "A origem da ligação simbólica %s não existe" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Abrir arquivo(s) selecionado(s) com:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Abrir com" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "A&ssociar" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Exibir arquivos:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "Novo& arquivo..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Nova &ligação simbólica..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "Fi<ro..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "Lista &inteira de arquivos" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "Per&missões" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "Nov&o arquivo..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Montar" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "A&brir com..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Abrir" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 #, fuzzy msgid "Extr&act to folder " msgstr "Extr&air para o diretório " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "&Extrair aqui" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "E&xtrair para..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Ver" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "I&nstalar/Atualizar" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "De&sinstalar" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Editar" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 msgid "Com&pare..." msgstr "Com¶r..." #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "Com¶r" #: ../src/FilePanel.cpp:4672 #, fuzzy msgid "Packages &query " msgstr "Pesquisa de &pacotes " #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 msgid "Scripts" msgstr "" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 msgid "&Go to script folder" msgstr "&Ir para o diretório de scripts" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Copiar Pa&ra..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 msgid "M&ove to trash" msgstr "M&over para a lixeira" #: ../src/FilePanel.cpp:4695 msgid "Restore &from trash" msgstr "&Restaurar da lixeira" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 #, fuzzy msgid "Compare &sizes" msgstr "Comparar" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 #, fuzzy msgid "P&roperties" msgstr "Propriedades" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Selecione um diretório de destino" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Todos os arquivos" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Instalar/Atualizar Pacote" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Desinstalar Pacote" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Erro: Falha no fork: %s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, c-format msgid "Can't create script folder %s: %s" msgstr "Impossível criar diretório de script %s: %s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, c-format msgid "Can't create script folder %s" msgstr "Impossível criar diretório de script %s" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 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:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "Arquivo %s não pertence a nenhum pacote." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Informação" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, 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:6220 ../src/SearchPanel.cpp:2887 #, fuzzy msgid "Sizes of Selected Items" msgstr "Texto selecionado:" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s em %s itens selecionados" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s em %s itens selecionados" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s em %s itens selecionados" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s em %s itens selecionados" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " o diretório:" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d arquivos, %d diretórios" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d arquivos, %d diretórios" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d arquivos, %d diretórios" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Ligação" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "&Fechar" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Impossível duplicar pipes: %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 msgid "Can't duplicate pipes" msgstr "Impossível duplicar pipes" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> COMANDO CANCELADO <<<<" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "Preferências" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Tema atual" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Opções" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "Utilizar a lixeira ao remover arquivos (remoção segura)" #: ../src/Preferences.cpp:184 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:185 msgid "Auto save layout" msgstr "Salvar layout automaticamente" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Salvar posição da janela" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "Clique simples abre o diretório" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Clique simples abre o arquivo" #: ../src/Preferences.cpp:189 msgid "Display tooltips in file and folder lists" msgstr "Exibir dicas de ferramentas nas lista de arquivo e diretório" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "Redimensionamento relativo de listas de arquivo" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Exibir um ligador de caminho acima de listas de arquivo" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Notificar quando aplicações iniciam" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Confirmar a execução de arquivos de texto" #: ../src/Preferences.cpp:198 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)" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "&Modos" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "Modo de início" #: ../src/Preferences.cpp:213 msgid "Start in home folder" msgstr "Iniciar no diretório pessoal" #: ../src/Preferences.cpp:214 msgid "Start in current folder" msgstr "Iniciar no diretório atual" #: ../src/Preferences.cpp:215 msgid "Start in last visited folder" msgstr "Iniciar no último diretório visitado" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "Modo de rolagem" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "Rolagem suave em listas de arquivos e janelas de texto" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Aceleração do scroll do mouse:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Cor da barra de progresso" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Modo Superusuário" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "Permitir modo superusuário" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Autenticação usando sudo (usa senha de usuário)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Autenticação usando su (usa senha de superusuário)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Falha no comando: %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Executar comando" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "&Diálogos" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Confirmações" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "Confirmar copiar/mover/renomear/criar ligação simbólica" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "Confirmar \"arrastar e soltar\"" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "Confirmar mover para/restaurar da lixeira" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Confirmar a remoção" #: ../src/Preferences.cpp:331 msgid "Confirm delete non empty folders" msgstr "Confirmar a remoção de diretórios não vazios" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Confirmar a sobrescrita" #: ../src/Preferences.cpp:333 msgid "Confirm execute text files" msgstr "Confirmar a execução de arquivos de texto" #: ../src/Preferences.cpp:334 #, fuzzy msgid "Confirm change properties" msgstr "Propriedades de arquivo" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Avisos" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "Avisar ao configurar diretório atual na lista de janela" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Avisar quando pontos de montagem não responderem" #: ../src/Preferences.cpp:340 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Exibir mensagens de sucesso ao montar/desmontar" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "Avisar quando a preservação de data falhar" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Avisar se executar como superusuário" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Programas" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Programas padrão" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Visualizador de texto:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Editor de texto:" #: ../src/Preferences.cpp:405 #, fuzzy msgid "File comparator:" msgstr "Comparação de arquivos:" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Editor de imagens:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Visualizador de imagens:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Arquivador:" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "Visualizador de PDF:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Reprodutor de áudio:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Reprodutor de vídeo:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 #, fuzzy msgid "Mount:" msgstr "Montar" #: ../src/Preferences.cpp:462 #, fuzzy msgid "Unmount:" msgstr "Desmontar" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Tema de cor" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Cores personalizadas" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Clique duplo para personalizar a cor" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Cor de base" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Cor de borda" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Cor de plano de fundo" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Cor do texto" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Cor de fundo de seleção" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Cor de do texto de seleção" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Cor de fundo de Lista de arquivos" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Cor de texto da lista de arquivos" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Cor de destaque da lista de arquivos" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "Cor da barra de progresso" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Cor de atenção" #: ../src/Preferences.cpp:500 msgid "Scrollbar color" msgstr "Cor da barra de progresso" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Controles" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Padrão (cores clássicas)" #: ../src/Preferences.cpp:517 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:520 msgid "Icon theme path" msgstr "Caminho do tema de ícones" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tSelecionar caminho..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Fontes" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Fontes" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Fonte normal:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Selecionar..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Fonte do texto:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "&Atalhos de Teclas" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Atalhos de Teclas" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Modificar atalhos de teclas..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Restaurar atalhos de tecla padrões..." #: ../src/Preferences.cpp:634 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:723 msgid "Change Normal Font" msgstr "Mudar a Fonte normal" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Mudar fonte do texto" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Criar novo arquivo" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Criar novo diretório" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "Copiar para a área de transferência" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "Cortar para a área de transferência" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Colar da área de transferência" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Abrir arquivo" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Sair da aplicação" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Selecionar tudo" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Desmarcar tudo" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Inverter seleção" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Exibir ajuda" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Alternar exibição de arquivos ocultos" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Alternar exibição de miniaturas" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Fechar janela" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Imprimir arquivo" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Pesquisar" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Pesquisar anterior" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Pesquisar próximo" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 msgid "Vertical panels" msgstr "Painéis verticais" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 msgid "Horizontal panels" msgstr "Painéis horizontais" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Atualizar painéis" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Criar nova ligação simbólica" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Propriedades de arquivo" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Mover arquivos para a lixeira" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Restaurar arquivos da lixeira" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Remover diretório: " #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Criar nova janela" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Criar nova janela como superusuário" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Executar comando" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Lançar terminal" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Montar sistema de arquivos (somente Linux)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Desmontar sistema de arquivos (somente Linux)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "Modo de um painel" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Modo árvore e painel" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "Modo de dois painéis" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Modo árvore e dois painéis" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Limpar barra de endereços" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Renomear arquivo" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Copiar arquivos para localização" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Mover arquivos para localização" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Ligação simbólica de arquivos para localização" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Adicionar marcador" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Sincronizar painéis" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Trocar painéis" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Ir para a lixeira" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Limpar a lixeira" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Ver" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Editar" #: ../src/Preferences.cpp:1014 msgid "Toggle display hidden folders" msgstr "Alternar exibição de arquivos ocultos" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Filtrar arquivos" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "Ampliar imagem para 100%" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Ampliar para caber na janela" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "Rotacionar imagem para esquerda" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "Rotacionar imagem para direita" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "Espelhar imagem horizontalmente" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "Espelhar imagem verticalmente" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Criar novo documento" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Salvar alterações para arquivo" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Ir para a linha" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Desfazer a última alteração" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Refazer a última alteração" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "Substituir expressão" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "Alternar modo de quebra de linhas" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "Alternar modo de numeração de linhas" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Alternar modo de caixa baixa" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Alternar modo de caixa alta" #. Confirmation message #: ../src/Preferences.cpp:1114 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:1115 msgid "Restore default key bindings" msgstr "Restaurar atalhos de tecla padrões" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Reiniciar" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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/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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Fechar" #: ../src/SearchPanel.cpp:165 msgid "Refresh panel" msgstr "Atualizar painel" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Copiar arquivos selecionados para área de transferência" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Cortar arquivos selecionados para área de transferência" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Exibir propriedades dos arquivos selecionados" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Mover os arquivos selecionados para a lixeira" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Remover arquivos selecionados" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "Diretório atual foi configurado para '%s'" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Lista detal&hada" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnorar caixa" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "Dimensionamento &automático" #: ../src/SearchPanel.cpp:2421 #, fuzzy msgid "&Packages query " msgstr "Pesquisa de &pacotes" #: ../src/SearchPanel.cpp:2435 msgid "&Go to parent folder" msgstr "&Ir para o diretório pai" #: ../src/SearchPanel.cpp:3658 #, c-format msgid "Copy %s items" msgstr "Copiar %s itens" #: ../src/SearchPanel.cpp:3674 #, c-format msgid "Move %s items" msgstr "Mover %s itens" #: ../src/SearchPanel.cpp:3690 #, c-format msgid "Symlink %s items" msgstr "Ligação simbólica de %s itens" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "Você deve inserir um caminho absoluto!" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr "0 itens" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "" #: ../src/SearchWindow.cpp:71 msgid "Find files:" msgstr "Encontrar arquivos:" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "Ignorar caixa\tIgnorar caixa de nome de arquivo" #. Hidden files #: ../src/SearchWindow.cpp:79 msgid "Hidden files\tShow hidden files and folders" msgstr "Arquivos ocultos\tExibir arquivos e diretórios ocultos." #: ../src/SearchWindow.cpp:84 msgid "In folder:" msgstr "No diretório:" #: ../src/SearchWindow.cpp:86 msgid "\tIn folder..." msgstr "\tNo diretório..." #: ../src/SearchWindow.cpp:89 msgid "Text contains:" msgstr "Texto contém:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "Ignorar caixa\tIgnorar caixa de texto" #. Search options #: ../src/SearchWindow.cpp:97 msgid "More options" msgstr "Mais opções" #: ../src/SearchWindow.cpp:98 msgid "Search options" msgstr "Opções de pesquisa" #: ../src/SearchWindow.cpp:99 msgid "Reset\tReset search options" msgstr "Reconfigurar\tReconfigurar opções de pesquisa" #: ../src/SearchWindow.cpp:115 msgid "Min size:" msgstr "Tamanho mínimo:" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "Filtrar pelo tamanho mínimo de arquivo (KBytes)" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 msgid "Max size:" msgstr "Tamanho total:" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "Filtrar pelo tamanho máximo de arquivo (KBytes)" #. Modification date #: ../src/SearchWindow.cpp:126 msgid "Last modified before:" msgstr "Última modificação antes de:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "Filtrar pela data de modificação máxima (dias)" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "Dias" #: ../src/SearchWindow.cpp:131 msgid "Last modified after:" msgstr "Última modificação após:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "Filtrar pela data de modificação mínima (dias)" #. User and group #: ../src/SearchWindow.cpp:137 msgid "User:" msgstr "Usuário:" #: ../src/SearchWindow.cpp:140 msgid "\tFilter by user name" msgstr "\tFiltrar pelo nome de usuário" #: ../src/SearchWindow.cpp:142 msgid "Group:" msgstr "Grupo:" #: ../src/SearchWindow.cpp:145 msgid "\tFilter by group name" msgstr "\tFiltrar pelo nome de grupo" #. File type #: ../src/SearchWindow.cpp:178 msgid "File type:" msgstr "Tipo de de arquivo:" #: ../src/SearchWindow.cpp:181 msgid "File" msgstr "Arquivo" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:187 msgid "\tFilter by file type" msgstr "\tFiltrar pelo tipo de arquivo" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 msgid "Permissions:" msgstr "Permissões:" #: ../src/SearchWindow.cpp:194 msgid "\tFilter by permissions (octal)" msgstr "\tFiltrar pelas permissões (octal)" #. Empty files #: ../src/SearchWindow.cpp:197 msgid "Empty files:" msgstr "Arquivos vazios:" #: ../src/SearchWindow.cpp:198 msgid "\tEmpty files only" msgstr "\tSomente arquivos vazios" #: ../src/SearchWindow.cpp:202 msgid "Follow symbolic links:" msgstr "Seguir ligações simbólicas:" #: ../src/SearchWindow.cpp:203 msgid "\tSearch while following symbolic links" msgstr "\tPesquisar enquanto segue ligações simbólicas" #: ../src/SearchWindow.cpp:207 msgid "Non recursive:" msgstr "Não recursivo:" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "\tNão pesquisar em diretórios recursivamente" #: ../src/SearchWindow.cpp:212 msgid "Ignore other file systems:" msgstr "Ignorar outros sistemas de arquivos:" #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "\tNão pesquisar em outros sistema de arquivos" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "&Iniciar\tIniciar a pesquisa (F3)" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "&Parar\tParar a pesquisa (Esc)" #: ../src/SearchWindow.cpp:782 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Pesquisa iniciada - Por favor espere... <<<<" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " itens" #: ../src/SearchWindow.cpp:938 msgid ">>>> Search results <<<<" msgstr ">>>> Resultados da pesquisa <<<<" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "Erro de entrada/saída" #: ../src/SearchWindow.cpp:973 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Pesquisa parada... <<<<" #: ../src/SearchWindow.cpp:1147 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:201 #: ../src/XFileImage.cpp:327 ../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:808 msgid "&Vertical panels" msgstr "Painéis &verticais" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 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:781 msgid "&Thumbnails" msgstr "M&iniaturas" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "Li&xo" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "Executando Xfe como superusuário!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, 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:2274 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Impossível criar diretório de config do Xfe %s" #: ../src/XFileExplorer.cpp:2296 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:2300 msgid "XFE configuration file" msgstr "arquivo de configuração do XFE" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, 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:2339 ../src/XFileExplorer.cpp:3992 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Impossível criar diretório 'files' da lixeira %s" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, 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:2361 ../src/XFileExplorer.cpp:4007 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Impossível criar diretório 'info' da lixeira %s" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "Ajuda" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "Versão do X File Explorer %s" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Baseado no X WinCommander de Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3214 #, 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" "Finnish: Kimmo Siira\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:3246 #, fuzzy msgid "About X File Explorer" msgstr "&Sobre X File Explorer" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 #, fuzzy msgid "&Panel" msgstr "&Painel" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Execute the command:" msgstr "Executar o comando:" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Console mode" msgstr "Modo console" #: ../src/XFileExplorer.cpp:3896 msgid "Search files and folders" msgstr "Pesquisar arquivos e diretórios" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 msgid "Do you really want to empty the trash can?" msgstr "Você deseja realmente limpar a lixeira?" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr " em " #: ../src/XFileExplorer.cpp:3959 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "Todos os itens serão perdidos definitivamente!" #: ../src/XFileExplorer.cpp:4049 #, 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:4051 msgid "Trash size" msgstr "Tamanho da lixeira" #: ../src/XFileExplorer.cpp:4058 #, 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:4512 ../src/XFileExplorer.cpp:4586 #, c-format msgid "Command not found: %s" msgstr "Comando não encontrado: %s" #: ../src/XFileExplorer.cpp:4591 #, c-format msgid "Invalid file association: %s" msgstr "Associação de arquivo inválida: %s" #: ../src/XFileExplorer.cpp:4596 #, c-format msgid "File association not found: %s" msgstr "Associação de arquivo não encontrada: %s" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Preferências" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Abrir pacote" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Abrir..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Barra de ferramentas" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "&Sobre X File Package" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "&Desinstalar" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Instalar/Atualizar" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "&Descrição" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "&Lista de arquivos" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "Sobre X File Package" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "Pacotes fonte RPM" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "Pacotes RPM" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "Pacotes DEB" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Abrir documento" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Nenhum pacote aberto" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Formato desconhecido de pacote" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Instalar/Atualizar um Pacote" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Desinstalar um Pacote" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[Pacote RPM]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[Pacote DEB]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "Consulta de %s falhou!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Erro abrindo arquivo" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Impossível abrir arquivo: %s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "Imagem GIF" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "Imagem BMP" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "Imagem XPM" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "Imagem PCX" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "Imagem ICO" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "Imagem RGB" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "Imagem XBM" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "Imagem TARGA" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "Imagem PPM" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "Imagem PNG" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "Imagem JPEG" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "Imagem TIFF" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "&Imagem" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Abrir" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Abre imagem." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Imprimir" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 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:660 msgid "Zoom in" msgstr "Ampliar" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "Amplia a imagem." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Reduzir" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "Reduz a imagem." #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "Amplia a imagem para 100%." #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "Ampliar para caber" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "Amplia para caber na janela." #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "Rotacionar para esquerda" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Rotaciona a imagem para esquerda." #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Rotacionar para direita" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Rotaciona a imagem para direita." #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Espelhar horizontalmente" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "Espelha a imagem horizontalmente." #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Espelhar verticalmente" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Espelha a imagem verticalmente." #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "Im&primir..." #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "&Limpar arquivosrecentes" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "Limpa menu de arquivos recentes." #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Sai do Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "Ampl&iar" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "Red&uzir" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "Ampliar para caber na &janela" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "Rotacionar para &direita" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Rotaciona para direita." #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "Rotacionar para &esquerda" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Rotaciona para esquerda." #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "Espelhar &horizontalmente" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Espelha horizontalmente." #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "Espelhar &verticalmente" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Esplha verticalmente." #: ../src/XFileImage.cpp:775 msgid "Show hidden files and folders." msgstr "Exibe arquivos e diretórios ocultos." #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Exibe miniaturas." #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Exibe diretório com ícones grandes." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Exibe diretório com ícones pequenos." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "Lista de arquivos &detalhada" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Exibe lista detalhada do diretório." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "Vê como fila." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "Vê como colunas." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Dimensionar automaticamente nome de ícones." #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Exibir barra de ferramentas." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "Lista de &arquivos" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Exibe a lista de arquivos." #: ../src/XFileImage.cpp:824 msgid "File list &before" msgstr "Lista de arquivos &antes" #: ../src/XFileImage.cpp:824 msgid "Display file list before image window." msgstr "Exibe lista de arquivos antes da janela de imagem." #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "&Filtrar imagens" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Exibe somente arquivos de imagem." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "Ajustar &janela ao abrir" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "Amplia para caber na janela ao abrir uma imagem." #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "&Sobre X File Image" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "Sobre X File Image." #: ../src/XFileImage.cpp:1333 #, 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:1335 msgid "About X File Image" msgstr "Sobre X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Erro abrindo a imagem" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Tipo não suportado: %s" #: ../src/XFileImage.cpp:1464 msgid "Unable to load image, the file may be corrupted" msgstr "Impossível carregar a imagem, o arquivo pode estar corrompido" #: ../src/XFileImage.cpp:1504 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:1619 msgid "Open Image" msgstr "Abrir a imagem" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Comando de impressão:\n" "(ex: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Erro Salvando o Arquivo" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "Impossível abrir arquivo: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "O arquivo é muito grande: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "Arquivo: %s truncado." #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "sem título" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "sem nome%d" #: ../src/WriteWindow.cpp:1477 #, 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:1479 msgid "About X File Write" msgstr "Sobre X File Write" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Mudar a Fonte" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Arquivos de texto" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "Arquivos fonte C" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "Arquivo fonte C++" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "Arquivos de Cabeçalho C/C++" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "Arquivos HTML" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "Arquivos PHP" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Documento não Salvo" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "Salvar %s?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Salvar Documento" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Sobrescrever Documento" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "Substituir o documento existente: %s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (alterado)" #: ../src/WriteWindow.cpp:1851 msgid " (read only)" msgstr " (somente leitura)" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "SOMENTE LEITURA" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "O Arquivo foi Alterado" #: ../src/WriteWindow.cpp:2071 #, 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:2132 msgid "Replace" msgstr "Substituir" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Ir para a Linha" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "Ir p&ara a linha:" #. Usage message #: ../src/XFileWrite.cpp:217 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Erro: Impossível fechar o diretório %s\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "" #: ../src/xfeutils.cpp:1100 msgid "copy" msgstr "copiar" #: ../src/xfeutils.cpp:1413 #, c-format msgid "Error: Can't read group list: %s" msgstr "Erro: Impossível ler lista do grupo: %s" #: ../src/xfeutils.cpp:1417 #, 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" #~ msgid "&Themes" #~ msgstr "&Temas" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "Confirmar a execução de arquivos de texto" #~ 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?" #~ 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?" #~ 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?" #~ 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?" #~ 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?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ msgstr "Ocorreu um erro!" #, 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.44/po/pl.po0000644000200300020030000054154314023353061010527 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: 2021-03-14 10:23+0100\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:333 #, 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:467 #, 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:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Błąd wczytywania ikon" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "Nie powiodło się wczytanie ikon. Sprawdź ścieżkę do ikon!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" msgstr "Nie powiodło się wczytanie ikon. Sprawdź ścieżkę do ikon!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Właściwości" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&Główne" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Katalog" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Urządzenie znakowe" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Urządzenie blokowe" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Nazwany strumień" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Gniazdko" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Wykonywalny" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Dokument" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Niedziałający odnośnik" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 #, fuzzy msgid "Link to " msgstr "Odnośnik do " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Lokalizacja: " #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Typ:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu bajtów)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bajtów)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Rozmiar:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Zaznaczenie:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Wiele typów" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d obiektów" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d plików, %d katalogów" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d plików, %d katalogów" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d plików, %d katalogów" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d plików, %d katalogów" #: ../src/Properties.cpp:1252 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Pokaż właściwości zaznaczonych plików" #: ../src/Properties.cpp:1256 #, fuzzy msgid "Change properties of the selected file?" msgstr "Pokaż właściwości zaznaczonych plików" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 #, fuzzy msgid "Confirm Change Properties" msgstr "Właściwości pliku" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Ostrzeżenie" #: ../src/Properties.cpp:1401 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Przeniesienie plików anulowane" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Nazwa pliku jest pusta, operacja anulowana" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 #, 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:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Błąd zapisu do %s: Dostęp zabroniony" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "Katalog %s nie istnieje" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Zmiana nazwy" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Właściciel pliku" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "Zmiana właściciela anulowana!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "Chmod w %s nieudane: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "Chmod w %s nieudane" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 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:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod w %s nieudane: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Uprawnienia do pliku" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Zmiana dostępu do plików anulowana!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "Chmod w %s nieudane" #: ../src/Properties.cpp:1628 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " w jednym zaznaczonym obiekcie" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "Zmiana dostępu do pliku(ów) anulowana!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Wybierz plik wykonywalny" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Wszystkie pliki" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "Obrazki PNG" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "Obrazki GIF" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "Obrazki BMP" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Wybierz plik ikony" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%u plików, %u podkatalogów" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%u plików, %u podkatalogów" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%u plików, %u podkatalogów" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u plików, %u podkatalogów" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Kopiuj tutaj" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Przenieś tutaj" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Link tutaj" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Anuluj" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Kopiuj plik" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Przenieś plik" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Link symboliczny pliku" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopiuj" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Kopiuj %s plików/katalogów.\n" "Z: %s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Przenieś" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Przenieś %s plików/katalogów.\n" "Z: %s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Link symboliczny" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "Do:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "Wystąpił błąd podczas przenoszenia pliku!" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "Przeniesienie plików anulowane" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "Wystąpił błąd podczas kopiowania pliku!" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "Kopiowanie plików anulowane" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "Punkt montowania %s nie odpowiada..." #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "0 bajtów dla roota" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 #, fuzzy msgid "Panel is active" msgstr "Panel jest aktywny" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 #, fuzzy msgid "Activate panel" msgstr "Zamień panele" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "Dodaj do archiwum" #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "Kopiuj" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Wytnij" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "Wklej" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Przenieś do..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, 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:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, 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:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 msgid "File name is empty, operation cancelled" msgstr "Nazwa pliku jest pusta, operacja anulowana" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Utwórz archiwum" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Kopiuj" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "Kopiuj %s pozycji z: %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Zmień nazwę" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Zmiana nazwy " #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Kopiuj do" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Przenieś" #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "Przenieś %s pozycji z: %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Link symboliczny" #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "Dowiąż %s items from: %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s nie jest katalogiem" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "Wystąpił błąd podczas tworzenia dowiązania symbolicznego!" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "Tworzenie linku symbolicznego anulowane" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "Ostatecznie usunąć katalog %s ?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Potwierdź usunięcie" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Usuwanie pliku" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Katalog %s nie jest pusty, usunąc mimo to?" #: ../src/DirPanel.cpp:2264 #, 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:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "Usuwanie katalogu anulowano!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "Przenieść katalog %s do kosza?" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Potwierdź przeniesienie do kosza" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Przenieś do kosza" #: ../src/DirPanel.cpp:2360 #, 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:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "Podczas przenoszenia do kosza wystąpił błąd!" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "Przeniesienie do kosza anulowane!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Przywróć z kosza" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Przywrócić katalog %s do jego oryginalnej lokalizacji %s ?" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Potwierdź przywrócenie" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "Brak informacji o przywracaniu dla %s" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, 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:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "Nie można utworzyć katalogu %s : %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "Nie można utworzyć katalogu %s" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 msgid "An error has occurred during the restore from trash operation!" msgstr "Podczas przywracania z kosza wystąpił błąd!" #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "Przywrócenie z kosza anulowane!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Utwórz nowy katalog:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Nowy katalog" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Nazwa pliku jest pusta, operacja anulowana" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Wykonaj polecenie" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Montuj" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "OdMontuj" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " plik systemowy..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " katalog:" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " operacja anulowana!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 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:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Zmiana uprawnień..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "Plik:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Potwierdź nadpisanie" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "Nie można skopiować pliku %s: %s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "Nie można skopiować pliku %s" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "Źródło: " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "Cel: " #: ../src/File.cpp:604 #, 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:608 #, c-format msgid "Can't preserve date when copying file %s" msgstr "Nie można zachować daty podczas kopiowania pliku %s" #: ../src/File.cpp:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Nie można skopiować katalogu %s : Odmowa dostępu" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Nie można skopiować pliku %s : Odmowa dostępu" #: ../src/File.cpp:791 #, 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:795 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "Nie można zachować daty podczas kopiowania katalogu %s" #: ../src/File.cpp:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "Źródło %s nie istnieje" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "Źródło %s jest identyczne jak cel" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1048 #, fuzzy msgid "Delete folder: " msgstr "Usuń katalog: " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "Z: " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "Nie można usunąć katalogu %s: %s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "Nie można usunąć katalogu %s" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "Nie można usunąć pliku %s: %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "Nie można usunąć pliku %s" #: ../src/File.cpp:1213 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Plik lub katalog %s już istnieje" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Nie można zmienić nazwy %s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "Nie można utworzyć dowiązania symbolicznego %s: %s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "Nie można utworzyć dowiązania symbolicznego %s" #: ../src/File.cpp:1655 ../src/File.cpp:1852 #, fuzzy msgid "Folder: " msgstr "Katalog: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Rozpakuj archiwum" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Dodaj do archiwum" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Błędne polecenie: %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Sukces " #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "Katalog %s zamontowano poprawnie." #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Katalog %s odmontowano poprawnie." #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "Instaluj/Uaktualnij pakiet" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "Instalacja pakietu: %s \n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Odinstalowanie pakietu" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 #, fuzzy msgid "Go to previous folder" msgstr "Przenieś katalog wyżej" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 #, fuzzy msgid "Go to next folder" msgstr "Przenieś do następnego katalogu." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 #, fuzzy msgid "Go to parent folder" msgstr "Przejdź do nadrzędnego katalogu" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "Przejdź do katalogu domowego" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Duże ikony lista" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Małe ikony lista" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Lista szczegółowa" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Pokaż ukryte pliki" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "Nie pokazuj plików ukrytych" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Pokaż miniatury" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 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:3758 msgid "New File" msgstr "Nowy plik" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "Plik lub katalog %s już istnieje" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "Do katalogu domowego" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Nowy katalog..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "Pliki ukryte" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "Miniatury" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "Duże ikony" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "Małe ikony" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "Pełna lista plików" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "&Wiersze" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "&Kolumny " #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "Automatyczny rozmiar" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "&Nazwa" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "Ro&zmiar" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Typ" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "&Rozszerzenie:" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "&Data" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "&Użytkownik" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "&Grupa" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 #, fuzzy msgid "Fold&ers first" msgstr "Katalogi" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "Odwrotna kolejność" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "Rodzina:" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "&Grubość:" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "&Styl:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "Rozmiar:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Kodowanie:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Każdy" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "Zachodnioeuropejskie" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Wschodnioeuropejskie" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Południowoeuropejskie" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Północnoeuropejskie" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Cyrylica" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Arabskie" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Greckie" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Hebrajskie" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Tureckie" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Nordyckie" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Tajskie" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Bałtyckie" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Celtyckie" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Rosyjskie" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Środkowoeuropejskie (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Rosyjskie (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Greckie (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Tureckie (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Hebrajskie (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Arabskie (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Bałtyckie(cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Wietnamskie (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Tajskie (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Szerokość:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Ekstra skondensowane" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Skondensowane" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Normalny" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Rozwinięte" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "Odstep:" #: ../src/FontDialog.cpp:134 #, fuzzy msgid "Fixed" msgstr "Wyszukaj " #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Zmienna" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Skalowalne:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Wszystkie czcionki:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Podgląd:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Uruchom XFE jako root" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&Nie" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Tak" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Zakończ" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Zapisz" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "T&ak na wszystkie" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Wpisz hasło użytkownika:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Wpisz hasło administratora:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "Wystąpił błąd!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Nazwa: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Rozmiar: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Typ: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Data modyfikacji: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Użytkownik: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Grupa: " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Prawa dostępu: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Oryginalna ścieżka:" #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Data usunięcia: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Rozmiar: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Rozmiar" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Typ" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Rozszerzenie" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Data modyfikacji" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Prawa dostępu " #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "Błąd ładowania obrazu" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Oryginalna ścieżka" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Data usunięcia" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Filtr" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Status" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:1035 ../src/SearchPanel.cpp:790 #, 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Dziennik poleceń" #: ../src/FilePanel.cpp:1832 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Nazwa pliku jest pusta, operacja anulowana" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "Do katalogu:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, 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:2408 ../src/SearchPanel.cpp:2936 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "Przenieść katalog %s do kosza?" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "Przenieść %s zaznaczone pliki do kosza?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, 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:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "Przeniesienie plików do kosza anulowane!" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Przywrócić plik %s to jego oryginalnej lokalizacji %s ?" #: ../src/FilePanel.cpp:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "Przywrócić %s zaznaczone obiekty do ich oryginalnych lokalizacji?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "Nie można utworzyć katalogu %s: %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "Ostatecznie usunąć katalog %s ?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr "Ostatecznie usunąć %s zaznaczonych obiektów?" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, 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:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "Usuwanie plików anulowano!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3758 msgid "Create new file:" msgstr "Utwórz nowy plik..." #: ../src/FilePanel.cpp:3794 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "Nie można utworzyć katalogu %s: %s" #: ../src/FilePanel.cpp:3798 #, fuzzy, c-format msgid "Can't create file %s" msgstr "Nie można utworzyć katalogu %s" #: ../src/FilePanel.cpp:3813 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "Nie można utworzyć dowiązania symbolicznego %s: %s" #: ../src/FilePanel.cpp:3817 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "Błąd zapisu do %s: Dostęp zabroniony" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Utwórz nowy link symboliczny:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Nowy link symboliczny" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "Wybierz link symboliczny, wskazujący na plik lub katalog" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "Obiekt docelowy %s linku symbolicznego nie istnieje" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Otwórz zaznaczony plik(i) przez:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Otwórz z " #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "&Skojarz" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Pokaż pliki:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "Nowy& plik..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Nowy link s&ymboliczny..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "Filtr" #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "Pełna lista plików" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "Prawa dostępu " #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "Nowy plik..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "Montuj" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "Otwórz przez..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Otwórz" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 #, fuzzy msgid "Extr&act to folder " msgstr "Rozpakuj do katalogu" #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "&Rozpakuj tutaj" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "Rozpakuj do..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Widok" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Instaluj/Uaktualnij" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "Odinstaluj" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Edycja " #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 #, fuzzy msgid "Com&pare..." msgstr "Zastąp..." #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4672 #, fuzzy msgid "Packages &query " msgstr "Informacja o pakietach" #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 #, fuzzy msgid "Scripts" msgstr "&Opis" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 #, fuzzy msgid "&Go to script folder" msgstr "Przejdź do nadrzędnego katalogu" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Kopiuj do..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 #, fuzzy msgid "M&ove to trash" msgstr "Przenieś do kosza" #: ../src/FilePanel.cpp:4695 #, fuzzy msgid "Restore &from trash" msgstr "Przywróć z kosza" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 #, fuzzy msgid "Compare &sizes" msgstr "Źródło:" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 #, fuzzy msgid "P&roperties" msgstr "Właściwości" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Wybierz katalog docelowy" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Wszystkie pliki " #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Instaluj/uaktualnij pakiet" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Odinstaluj pakiet" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "Nie można utworzyć katalogu %s : %s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "Nie można utworzyć katalogu %s" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Menedżer RPM nie znaleziony!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "Plik %s nie należy do żadnego pakietu." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Informacja" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, 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:6220 ../src/SearchPanel.cpp:2887 #, fuzzy msgid "Sizes of Selected Items" msgstr "Otwórz zaznaczny plik(i) przez:" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 bajtów" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s w %s wybranych obiektów" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s w %s wybranych obiektów" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s w %s wybranych obiektów" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s w %s wybranych obiektów" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " katalog:" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d plików, %d katalogów" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d plików, %d katalogów" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d plików, %d katalogów" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Odnośnik " #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "Z&amknij " #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "Nie można usunąć pliku %s: %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 #, fuzzy msgid "Can't duplicate pipes" msgstr "Nie można usunąć pliku %s" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "Ustawienia " #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Bieżący motyw" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Opcje" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "Używaj kosza do usuwania pilików (bezpieczne usuwanie)" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Pozwalaj na usunięcie bez kosza (permanentne usunięcie)" #: ../src/Preferences.cpp:185 msgid "Auto save layout" msgstr "Automatycznie zapisz układ" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Zachowaj pozycję okna" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Single click folder open" msgstr "Otwieranie pliku jednym kliknięciem" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Otwieranie pliku jednym kliknięciem" #: ../src/Preferences.cpp:189 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "Pokazuj podpowiedzi na liście plików i katalogów" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "Relatywna zmiana rozmiaru listy plików" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Pokazuj katalogi ścieżki jako przyciski" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Powiadamiaj gdy program jest uruchamiany" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Potwierdź usunięcie" #: ../src/Preferences.cpp:198 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:213 #, fuzzy msgid "Start in home folder" msgstr "Przejdź do katalogu domowego" #: ../src/Preferences.cpp:214 #, fuzzy msgid "Start in current folder" msgstr "Przejdź do nadrzędnego katalogu" #: ../src/Preferences.cpp:215 #, fuzzy msgid "Start in last visited folder" msgstr "Pokazuj ukryte pliki i katalogi." #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "Gładkie przewijanie listy plików i okien tekstowych" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Szybkość przewijania kółkiem myszy:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Kolor paska postępu" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Tryb administratora" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "Zezwól na tryb administratora" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Autoryzacja przy użyciu sudo (używa hasła użytkownika)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Autoryzacja przy użyciu su (używa hasła roota)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Błędne polecenie: %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Wykonaj polecenie" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "&Dialogi" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Potwierdzenia" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "" "Potwierdzaj kopiowanie/przenoszenie/zmianę nazwy/linkowanie symboliczne" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "Potwierdzaj przeciąganie i upuszczanie" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "Potwierdzaj przenoszenie do kosza/przywracanie z kosza" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Potwierdź usunięcie" #: ../src/Preferences.cpp:331 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Potwierdź usunięcie nie pustych katalogów" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Potwierdź nadpisanie" #: ../src/Preferences.cpp:333 #, fuzzy msgid "Confirm execute text files" msgstr "Potwierdź usunięcie" #: ../src/Preferences.cpp:334 #, fuzzy msgid "Confirm change properties" msgstr "Właściwości pliku" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Ostrzeżenie" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Ostrzegaj gdy punkty montowania są nieosiągalne" #: ../src/Preferences.cpp:340 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Pokazuj komunikaty o powodzeniu montowania/odmontowania" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Ostrzeż gdy uruchomiony jako root" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Programy" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Domyślne programy" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Podgląd tekstu:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Edytor tekstu:" #: ../src/Preferences.cpp:405 #, fuzzy msgid "File comparator:" msgstr "Uprawnienia do pliku" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Edytor obrazów:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Podgląd obrazów" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Archiwizer:" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "Przeglądarka Pdf:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Odtwarzacz audio:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Odtwarzacz wideo:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "Terminal:" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 #, fuzzy msgid "Mount:" msgstr "Montuj" #: ../src/Preferences.cpp:462 #, fuzzy msgid "Unmount:" msgstr "OdMontuj" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Motyw kolorów" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Kolory użytkownika" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Podwójne kliknięcie dopasowuje kolor" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Kolor podstawowy" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Kolor ramki" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Kolor tła" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Kolor tekstu" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Zaznaczenie tła kolor" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Kolor zaznaczonego tekstu" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Kolor tła listy plików" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Kolor tekstu listy plików" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Kolor alternatywny tła listy plików" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "Kolor paska postępu" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Kolor alarmu" #: ../src/Preferences.cpp:500 #, fuzzy msgid "Scrollbar color" msgstr "Kolor paska postępu" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Kontrolki" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Standardowe (klasyczne kontrolki)" #: ../src/Preferences.cpp:517 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:520 msgid "Icon theme path" msgstr "Ścieżka do motywu ikon" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tWybierz ścieżkę..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Czcionki" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Czcionki" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Normalna czcionka:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr "Wybierz..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Czcionka tekstu:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "Skróty &klawiszowe" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Skróty klawiszowe" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Modyfikuj skróty klawiszowe" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Przywróć domyślne skróty klawiszowe" #: ../src/Preferences.cpp:634 msgid "Select an icon theme folder or an icon file" msgstr "Wybierz katalog z motywem ikon lub plik ikony" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "Zmień zwykłą czcionkę" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Zmień czcionkę tekstu" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Utwórz nowy plik" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Utwórz nowy katalog" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "Kopiuj do schowka" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "Wytnij do schowka" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Wklej ze schowka" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Otwórz plik" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Zakończ aplikację" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Wybierz wszystko" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Odznacz wszystko" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Odwróć zaznaczenie" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Wyświetl pomoc" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Pokaż ukryte pliki" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Pokaż miniatury" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Zamknij okno" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Drukuj plik" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Szukaj " #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Szukaj poprzedniego" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Szukaj następnego" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 #, fuzzy msgid "Vertical panels" msgstr "Zamień panele" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 #, fuzzy msgid "Horizontal panels" msgstr "Zamień panele" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Odśwież panele" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Utwórz nowy link symboliczny" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Właściwości pliku" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Przenieś pliki do kosza" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Przywróć pliki z kosza" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Usuń pliki" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Utwórz nowe okno" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Utwórz nowe okno jako root" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Wykonaj polecenie" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Uruchom terminal" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Montuj system plików (tylko Linux)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Odmontuj system plików (tylko Linux)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "Jeden panel" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Drzewo i panel" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "Dwa panele" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Drzewo i dwa panele" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Wyczyść pasek lokalizacji" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Zmiana nazwy" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Kopiuj pliki do lokalizacji" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Przenieś pliki do lokalizacji" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Dowiąż pliki do lokalizacji" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Dodaj zakładkę" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Synchronizuj panele" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Zamień panele" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Przejdź do kosza" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Opróżnij kosz" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Podgląd" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Edycja" #: ../src/Preferences.cpp:1014 #, fuzzy msgid "Toggle display hidden folders" msgstr "Pokaż ukryte pliki" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Filtruj pliki" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "Rozmiar oryginalny" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Rozciągnij do rozmiaru okna" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "Obróć obraz w lewo" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "Obróć obraz w prawo" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "Odbicie lustrzane w poziomie" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "Odbicie lustrzane w pionie" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Utwórz nowy dokument" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Zapisz zmiany do pliku" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Przejdź do linii" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Cofnij ostatnia zmianę" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Przywróć ostatnią zmianę" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "Zamień ciąg" #: ../src/Preferences.cpp:1083 #, fuzzy msgid "Toggle word wrap mode" msgstr "\tZnajdź tekst (Ctrl-F)" #: ../src/Preferences.cpp:1087 #, fuzzy msgid "Toggle line numbers mode" msgstr "\tZnajdź tekst (Ctrl-F)" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Włącz tryb małych liter" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Włącz tryb wielkich liter" #. Confirmation message #: ../src/Preferences.cpp:1114 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:1115 msgid "Restore default key bindings" msgstr "Przywróć domyślne skróty klawiszowe" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Uruchom ponownie " #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Motyw zostanie zmieniony 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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "Z&amknij " #: ../src/SearchPanel.cpp:165 #, fuzzy msgid "Refresh panel" msgstr "Odśwież panele" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Kopiuj zaznaczone pliki do schowka" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Wytnij zaznaczone pliki do schowka" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Pokaż właściwości zaznaczonych plików" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Przenieś zaznaczone pliki do kosza" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Usuń zaznaczone pliki" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Pełna lista plików" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnoruj wielkośc liter" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "Autorozmiar" #: ../src/SearchPanel.cpp:2421 #, fuzzy msgid "&Packages query " msgstr "Informacja o pakietach" #: ../src/SearchPanel.cpp:2435 #, fuzzy msgid "&Go to parent folder" msgstr "Przejdź do nadrzędnego katalogu" #: ../src/SearchPanel.cpp:3658 #, fuzzy, c-format msgid "Copy %s items" msgstr "Kopiuj %s pozycji z: %s" #: ../src/SearchPanel.cpp:3674 #, fuzzy, c-format msgid "Move %s items" msgstr "Przenieś %s pozycji z: %s" #: ../src/SearchPanel.cpp:3690 #, fuzzy, c-format msgid "Symlink %s items" msgstr "Dowiąż %s items from: %s" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr " obiektów" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 obiekt" #: ../src/SearchWindow.cpp:71 #, fuzzy msgid "Find files:" msgstr "Drukuj plik" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:79 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr "Pokazuj ukryte pliki i katalogi." #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "In folder:" msgstr "Do katalogu:" #: ../src/SearchWindow.cpp:86 #, fuzzy msgid "\tIn folder..." msgstr "Nowy katalog" #: ../src/SearchWindow.cpp:89 #, fuzzy msgid "Text contains:" msgstr "Czcionka tekstu:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "More options" msgstr "Szukaj poprzedniego" #: ../src/SearchWindow.cpp:98 #, fuzzy msgid "Search options" msgstr "Szukaj poprzedniego" #: ../src/SearchWindow.cpp:99 #, fuzzy msgid "Reset\tReset search options" msgstr "Szukaj poprzedniego" #: ../src/SearchWindow.cpp:115 #, fuzzy msgid "Min size:" msgstr "Drukuj plik" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "Filtruj pliki" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 #, fuzzy msgid "Max size:" msgstr "Razem:" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "Filtruj pliki" #. Modification date #: ../src/SearchWindow.cpp:126 #, fuzzy msgid "Last modified before:" msgstr "Ostatnia modyfikacja" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:131 #, fuzzy msgid "Last modified after:" msgstr "Ostatnia modyfikacja" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:137 #, fuzzy msgid "User:" msgstr "Użytkownik: " #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "\tFilter by user name" msgstr "Filtruj pliki" #: ../src/SearchWindow.cpp:142 #, fuzzy msgid "Group:" msgstr "Grupa: " #: ../src/SearchWindow.cpp:145 #, fuzzy msgid "\tFilter by group name" msgstr "Filtruj pliki" #. File type #: ../src/SearchWindow.cpp:178 #, fuzzy msgid "File type:" msgstr "Plik systemowy:" #: ../src/SearchWindow.cpp:181 #, fuzzy msgid "File" msgstr "Plik:" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:187 #, fuzzy msgid "\tFilter by file type" msgstr "Filtruj pliki" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 #, fuzzy msgid "Permissions:" msgstr "Prawa dostępu: " #: ../src/SearchWindow.cpp:194 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Uprawnienia do pliku" #. Empty files #: ../src/SearchWindow.cpp:197 #, fuzzy msgid "Empty files:" msgstr "Pokaż pliki:" #: ../src/SearchWindow.cpp:198 #, fuzzy msgid "\tEmpty files only" msgstr "Pokaż pliki:" #: ../src/SearchWindow.cpp:202 #, fuzzy msgid "Follow symbolic links:" msgstr "Utwórz nowy link symboliczny:" #: ../src/SearchWindow.cpp:203 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Utwórz nowy link symboliczny" #: ../src/SearchWindow.cpp:207 #, fuzzy msgid "Non recursive:" msgstr "W głąb katalogów" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:212 #, fuzzy msgid "Ignore other file systems:" msgstr "Odmontuj system plików..." #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:782 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Szukaj poprzedniego" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " obiektów" #: ../src/SearchWindow.cpp:938 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Szukaj poprzedniego" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:973 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "Znajdź tekst." #: ../src/SearchWindow.cpp:1147 #, 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:201 #: ../src/XFileImage.cpp:327 ../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:808 #, fuzzy msgid "&Vertical panels" msgstr "Zam&ień panele" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 #, 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:781 msgid "&Thumbnails" msgstr "&Miniatury" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "&Kosz" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "XFE uruchomiony jako root!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, 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:2274 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Nie można utworzyć katalogu konfiguracji Xfe %s" #: ../src/XFileExplorer.cpp:2296 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "Nie znaleziono pliku globalnej konfiguracji xferc. Wybierz plik " "konfiguracyjny..." #: ../src/XFileExplorer.cpp:2300 msgid "XFE configuration file" msgstr "Plik konfiguracyjny XFE" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, 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:2339 ../src/XFileExplorer.cpp:3992 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Nie można utworzyć katalogu 'files' %s w koszu" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, 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:2361 ../src/XFileExplorer.cpp:4007 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Nie można utworzyć katalogu 'info' %s w koszu" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "Pomoc" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer wersja %s" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Bazuje na X WinCommander by Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3214 #, 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" "Finnish: Kimmo Siira\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:3246 #, fuzzy msgid "About X File Explorer" msgstr "O X File Explorer" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Execute the command:" msgstr "Wykonaj polecenie:" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Console mode" msgstr "Tryb konsoli" #: ../src/XFileExplorer.cpp:3896 #, fuzzy msgid "Search files and folders" msgstr "Pokazuj ukryte pliki i katalogi." #. Confirmation message #: ../src/XFileExplorer.cpp:3958 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Czy chcesz zakończyć Xfe?" #: ../src/XFileExplorer.cpp:3958 #, fuzzy msgid " in " msgstr " w root" #: ../src/XFileExplorer.cpp:3959 #, 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:4049 #, 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:4051 msgid "Trash size" msgstr "Rozmiar kosza" #: ../src/XFileExplorer.cpp:4058 #, 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:4512 ../src/XFileExplorer.cpp:4586 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Nie można usunąć katalogu %s: %s" #: ../src/XFileExplorer.cpp:4591 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "&Skojarzenia plików" #: ../src/XFileExplorer.cpp:4596 #, fuzzy, c-format msgid "File association not found: %s" msgstr "&Skojarzenia plików" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "Ustawienia" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Otwórz plik pakietu" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Otwórz" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "Pasek narzędzi" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "O X File Package" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "&Odinstaluj " #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Instaluj " #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "&Opis" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "&Lista plików" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "O X File Package" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "Źródła pakietu RPM" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "Pakiety RPM" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "Pakiety DEB" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Otwórz dokument " #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Nie wczytano pakietu" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Nieznany format pakietu" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Instaluj/Uaktualnij pakiet" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Odinstalowanie pakietu" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[pakiet RPM]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[pakiet DEB]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "Zapytanie %s niepoprawne!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Błąd wczytywania pliku" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Błąd otwarcia pliku : %s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "Obrazek GIF" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "Obrazek BMP" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "Obrazek XPM" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "Obrazek PCX" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "Obrazek ICO" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "Obrazki RGB" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "Obrazek XBM" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "Obrazek TARGA" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "Obrazek PPM" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "Obrazek PNG" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "Obrazek JPEG" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "Obrazek TIFF" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "Obrazek" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Otwórz" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Otwórz plik obrazka." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Drukuj" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 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:660 msgid "Zoom in" msgstr "Powiększenie" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "Powiększ obrazek." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Zmniejsz" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "Zmniejsz obrazek." #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "Powiększenie do rozmiaru oryginalnego" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "Powiększ obrazek do rozmiaru oryginalnego." #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "Dopasuj" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "Dopasuj do okna." #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "Obróć w lewo" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Obróć obrazek w lewo." #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Obróć w prawo" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Obróć obrazek w prawo." #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Odbicie lustrzane w poziomie" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "Odbicie lustrzane obrazka w poziomie." #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Odbicie lustrzane w pionie" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Odbicie lustrzane obrazka w pionie." #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "Drukuj" #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "Wyczyść ostatnio otwierane pliki" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "Wyczyść listę ostatnio otwieranych plików" #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Wyjście z Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "Powiększ" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "Zmniejsz" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "Powiększ do rozmiaru oryginalnego" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "Dopasuj do okna" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "Obróć w p&rawo" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Obróć w prawo." #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "Obróć w &lewo" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Obróć w lewo." #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "Odbicie lustrzane w poziomie" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Odbicie lustrzane w poziomie." #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "Odbicie lustrzane w pionie" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Odbicie lustrzane w pionie." #: ../src/XFileImage.cpp:775 #, fuzzy msgid "Show hidden files and folders." msgstr "Pokazuj ukryte pliki i katalogi." #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Pokaż miniatury obrazów." #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Pokaż katalogi z dużymi ikonami." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Pokaż katalogi z małymi ikonami." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "Sczegółowa lista plików" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Pokaż szczegółowy listing katalogu." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "Ikony w szeregach." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "Ikony w kolumnach." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Autorozmiar nazw ikon." #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Wyświetl pasek narzędzi." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "Lista plików" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Pokaż listę plików." #: ../src/XFileImage.cpp:824 #, fuzzy msgid "File list &before" msgstr "Kolor tekstu listy plików" #: ../src/XFileImage.cpp:824 #, fuzzy msgid "Display file list before image window." msgstr "Pokaż katalog z dużymi ikonami." #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "&Filtruj obrazy" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Pokaż tylko pliki obrazów." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "Dopasuj do okna po otwarciu" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "Dopasuj do okna po otwarciu obrazka." #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "O X File Image" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "O X File Image" #: ../src/XFileImage.cpp:1333 #, 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:1335 msgid "About X File Image" msgstr "O X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Błąd wczytywania obrazu" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Nieobsługiwany typ: %s" #: ../src/XFileImage.cpp:1464 msgid "Unable to load image, the file may be corrupted" msgstr "Błąd ładowania obrazu, plik może być uszkodzony" #: ../src/XFileImage.cpp:1504 #, 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:1619 msgid "Open Image" msgstr "Otwórz obraz" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" #. Usage message #: ../src/XFileImage.cpp:2685 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Błąd zapisu pliku" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "Błąd otwarcia pliku : %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "Plik jest za duży: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "Plik: %s niekompletny." #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "bez tytułu" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "bez_tytułu%d" #: ../src/WriteWindow.cpp:1477 #, 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:1479 msgid "About X File Write" msgstr "O X File Write" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Zmień czcionkę" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Plik tekstowy" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "Źródło C" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "Źródło C++" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "Nagłówek C/C++" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "Pliki HTML" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "Pliki PHP" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Niezapisany dokument " #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "Zapisać %s do pliku?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Zapisz dokument " #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Nadpisz dokument " #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "Nadpisać istniejący dokument: %s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (zmieniony)" #: ../src/WriteWindow.cpp:1851 #, fuzzy msgid " (read only)" msgstr "Tylko do odczytu" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "Plik został zmieniony" #: ../src/WriteWindow.cpp:2071 #, 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:2132 msgid "Replace" msgstr "Zastąp" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Przejdź do linii" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "Przejdź do linii:" #. Usage message #: ../src/XFileWrite.cpp:217 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "Nie można zamknąć katalogu %s\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "bajtów" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 #, fuzzy msgid "copy" msgstr "Kopiuj plik" #: ../src/xfeutils.cpp:1413 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "Błąd! Nie można otworzyć ekranu\n" #: ../src/xfeutils.cpp:1417 #, 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" #~ msgid "&Themes" #~ msgstr "Motywy" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "Potwierdź usunięcie" #~ msgid "KB" #~ msgstr "KB" #~ 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?" #~ 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?" #~ 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?" #~ 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?" #~ 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?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ msgstr "Wystąpił błąd!" #, 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.44/po/es.po0000644000200300020030000062554014023353061010523 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, 2017. msgid "" msgstr "" "Project-Id-Version: Xfe 1.40\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-14 10:23+0100\n" "PO-Revision-Date: 2017-05-28 23:17+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 2.0\n" "X-Poedit-Bookmarks: 1026,-1,-1,-1,-1,-1,-1,-1,-1,-1\n" #. Usage message #: ../src/main.cpp:333 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:467 #, 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:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Error al cargar los iconos" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "No se pueden cargar algunos iconos. ¡Revisa tus rutas de iconos!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" msgstr "No se pueden cargar algunos iconos. ¡Revisa tus rutas de iconos!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 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 carpetas" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Añadir marcados" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Solo carpetas" #: ../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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Propiedades" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&General" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 msgid "&Permissions" msgstr "Pe&rmisos" #. 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Carpeta" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Dispositivo de caracteres" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Dispositivo de bloques" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Tubería con nombre" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Ejecutable" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Documento" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Enlace roto" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 msgid "Link to " msgstr "Enlace a " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Dirección:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Tipo:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu bytes)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Tamaño:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Selección:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Tipos múltiples" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d elementos" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d archivos, %d carpetas" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d archivos, %d carpetas" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d archivos, %d carpetas" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d archivos, %d carpetas" #: ../src/Properties.cpp:1252 msgid "Change properties of the selected folder?" msgstr "¿Quiere cambiar las propiedades de la carpeta seleccionada?" #: ../src/Properties.cpp:1256 msgid "Change properties of the selected file?" msgstr "¿Quiere cambiar las propiedades del archivo seleccionado?" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 msgid "Confirm Change Properties" msgstr "Confirmar el cambio de propiedades" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Aviso" #: ../src/Properties.cpp:1401 msgid "Invalid file name, operation cancelled" msgstr "Nombre de archivo no válido, se ha cancelado la operación" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 msgid "The / character is not allowed in folder names, operation cancelled" msgstr "" "El carácter / no está permitido en los nombres de carpetas; operación " "cancelada" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 msgid "The / character is not allowed in file names, operation cancelled" msgstr "" "El carácter / no está permitido en los nombres de archivos: operación " "cancelada" #. Error message box #. Error #: ../src/Properties.cpp:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "No se puede escribir en %s: Permiso denegado" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "La carpeta %s no existe" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Renombrar archivo" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Propietario del archivo" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "¡Se ha cancelado el cambio de propietario!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown en %s ha fallado: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "Chmod en %s ha fallado" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 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:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod en %s ha fallado: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Permisos de archivo" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "¡Se ha cancelado el cambio de permisos!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "Chmod en %s ha fallado" #: ../src/Properties.cpp:1628 msgid "Apply permissions to the selected items?" msgstr "¿Quiere aplicar los permisos a los elementos seleccionados?" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "¡Se ha cancelado el cambio de permisos en archivo(s)!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Selecciona un archivo ejecutable" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Todos los archivos" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "Imágenes PNG" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "Imágenes GIF" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "Imágenes BMP" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Selecciona un archivo de icono" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%u archivos, %u subcarpetas" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%u archivos, %u subcarpetas" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%u archivos, %u subcarpetas" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u archivos, %u subcarpetas" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Copiar aquí" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Mover aquí" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Enlazar aquí" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Cancelar" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Copiar archivo" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Mover archivo" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Enlazar archivo" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Copiar" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Copiar %s archivos/carpetas.\n" "Desde: %s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Mover" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Mover %s archivos/carpetas.\n" "Desde: %s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Enlace simbólico" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "A:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "¡Ha ocurrido un error al mover los archivos!" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "¡Se ha cancelado la operación de mover archivos!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "¡Ha ocurrido un error al copiar los archivos!" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "¡Se ha cancelado la operación de copiar archivos!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "El punto de montaje %s no está respondiendo..." #: ../src/DirList.cpp:2021 msgid "Link to Folder" msgstr "Enlace a carpeta" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Carpetas" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Mostrar las carpetas ocultas" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "No mostrar las carpetas ocultas" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3125 msgid "0 bytes in root" msgstr "0 bytes en la raíz" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 msgid "Panel is active" msgstr "El panel tiene el foco" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 msgid "Activate panel" msgstr "Activar el panel" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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 "Crear &carpeta..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "&Carpetas ocultas" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 msgid "Ignore c&ase" msgstr "No distinguir ma&y. 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 el árbol" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "&Contraer el árbol" # Menú del clic derecho #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4586 #: ../src/SearchPanel.cpp:2361 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" # Menu del clic derecho #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "A&ñadir a archivo comprimido..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Copiar" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Cor&tar" # Menu Editar y del clic derecho #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "Pe&gar" # Menu del clic derecho #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Re&nombrar..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "C&opiar a..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Mover a..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 msgid "Symlin&k to..." msgstr "Enla&zar con..." # Menú Archivo #: ../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 desde la papelera" # Corregir conflicto en el menú Archivo # Menú Archivo y del clic derecho #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4696 #: ../src/SearchPanel.cpp:2444 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "El&iminar" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "Propiedad&es" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, c-format msgid "Can't enter folder %s: %s" msgstr "No se puede entrar a la carpeta %s: %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, c-format msgid "Can't enter folder %s" msgstr "No se puede entrar a la carpeta %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 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:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Crear archivo" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Copiar " #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "Copiar %s elementos desde: %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Renombrar" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Renombrar " #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Copiar a" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Mover " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "Mover %s elementos desde: %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Enlace simbólico " #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "Enlazar a %s elementos desde: %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s no es una carpeta" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "¡Ha ocurrido un error al enlazar los archivos!" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "¡Se ha cancelado la operación de enlazar archivos!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "¿Eliminar definitivamente la carpeta %s?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Confirmar eliminación" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Eliminar archivo" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "La carpeta %s no está vacía. ¿Quiere borrarla de todas formas?" #: ../src/DirPanel.cpp:2264 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "" "La carpeta %s está protegida contra escritura. ¿La quiere borrar " "definitivamente de todas formas?" #: ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "¡Se ha cancelado la operación de eliminar carpetas!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "¿Mover la carpeta %s a la papelera?" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Confirmar papelera" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Mover a la papelera" #: ../src/DirPanel.cpp:2360 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "" "La carpeta %s está protegida contra escritura. ¿Quiere moverla a la papelera " "de todas formas?" #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "¡Ha ocurrido un error al mover a la papelera!" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "¡Se ha cancelado la operación de mover a la papelera!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Restaurar de la papelera" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "¿Restaurar la carpeta %s a su ubicación original %s?" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Confirmar restauración" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "Información de restauración no disponible para %s" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "La carpeta padre %s no existe. ¿Desea crearla?" #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "No se puede crear la carpeta %s: %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "No se puede crear la carpeta %s" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 msgid "An error has occurred during the restore from trash operation!" msgstr "¡Ha ocurrido un error al recuperar desde la papelera!" #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "¡Se ha cancelado la restauración desde la papelera!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Crear una carpeta nueva:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Crear carpeta" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 msgid "Folder name is empty, operation cancelled" msgstr "El nombre de la carpeta está vacío: operación cancelada" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, c-format msgid "Can't execute command %s" msgstr "No se puede ejecutar el comando %s" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Montar" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Desmontar" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " sistema de archivos..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " la carpeta:" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " ¡operación cancelada!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 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:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Cambiando permisos..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "Archivo:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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 la carpeta:" #. 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 la carpeta:" #: ../src/File.cpp:300 #, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "La carpeta %s ya existe.\n" "¿Sobrescribir?\n" "=> ¡Precaución, los archivos en esta carpeta podrían ser sobrescritos!" #: ../src/File.cpp:304 ../src/File.cpp:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Confirmar sobrescritura" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "No se puede copiar el archivo %s: %s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "No se puede copiar el archivo %s" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "Origen: " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "Destino: " #: ../src/File.cpp:604 #, 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:608 #, 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:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "No se puede copiar la carpeta %s: Permiso denegado" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "No se puede copiar el archivo %s : Permiso denegado" #: ../src/File.cpp:791 #, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "No se puede preservar la fecha al copiar la carpeta %s: %s" #: ../src/File.cpp:795 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "No se puede preservar la fecha al copiar la carpeta %s" #: ../src/File.cpp:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "El origen %s no existe" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, c-format msgid "Destination %s is identical to source" msgstr "El destino %s es idéntico al origen" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, c-format msgid "Target %s is a sub-folder of source" msgstr "El destino %s es una subcarpeta del origen" #. Set labels for progress dialog #: ../src/File.cpp:1048 msgid "Delete folder: " msgstr "Borrar la carpeta: " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "Desde: " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "No se puede eliminar la carpeta %s: %s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "No se puede eliminar la carpeta %s" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "No se puede eliminar el archivo %s: %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "No se puede eliminar el archivo %s" #: ../src/File.cpp:1213 #, c-format msgid "Destination %s already exists" msgstr "El destino %s ya existe" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, c-format msgid "Can't rename to target %s: %s" msgstr "No se puede renombrar al destino %s: %s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "No se puede crear el enlace simbólico %s: %s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "No se puede crear el enlace simbólico %s" #: ../src/File.cpp:1655 ../src/File.cpp:1852 msgid "Folder: " msgstr "Carpeta: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Extraer archivo" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Añadir a archivo comprimido" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Comando fallido: %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Éxito" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "La carpeta %s se ha montado con éxito." #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "La carpeta %s se ha desmontado con éxito." #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "Instalar/Actualizar paquete" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "Instalando paquete: %s \n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Desinstalar paquete" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 msgid "Go to previous folder" msgstr "Ir a la carpeta anterior" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 msgid "Go to next folder" msgstr "Ir a la carpeta siguiente" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 msgid "Go to parent folder" msgstr "Ir a la carpeta padre" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "Ir a la carpeta personal" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 msgid "Go to working folder" msgstr "Ir a la carpeta de trabajo" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Crear carpeta" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Lista de iconos grandes" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Lista de iconos pequeños" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Lista de archivos detallada" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Mostrar archivos ocultos" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "No mostrar archivos ocultos" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Mostrar miniaturas" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Hide thumbnails" msgstr "No mostrar miniaturas" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Crear una carpeta nueva..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Crear un archivo nuevo..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3758 msgid "New File" msgstr "Crear archivo" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "El archivo o carpeta %s ya existe" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "&Ir a la carpeta personal" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 msgid "Go &work" msgstr "Ir a la carpeta de &trabajo" # Menú Archivo #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "Crear &archivo..." # Menú del clic derecho #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Crear carpeta&..." # Menú Panel y del clic derecho #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "Archivos &ocultos" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "&Miniaturas" # Menú del clic derecho #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "Iconos g&randes" # Menú Panel y del clic derecho #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "Iconos pe&queños" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "&Lista completa de archivos" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "F&ilas" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "&Columnas" # Menú Panel #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "Tama&ño automático" # Menú Archivo y del clic derecho #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "&Nombre" # Menú Panel y del clic derecho #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "&Tamaño" # Menú del clic derecho #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "Ti&po" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "E&xtensión" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "&Fecha" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "&Usuario" # Menú del clic derecho #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "Grupo" # Menú del clic derecho: no hay letras suficientes para asignarle un atajo #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 msgid "Fold&ers first" msgstr "Carpetas primero" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "In&vertir orden" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "&Familia:" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "&Peso:" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "&Estilo:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "&Tamaño:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Juego de caracteres:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Cualquiera" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "Europa-Oeste" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Europa-Este" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Europa-Sur" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Europa-Norte" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Cirílico" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Arábigo" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Griego" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Hebreo" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Turco" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Nórdico" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Tailandés" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Báltico" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Celta" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Ruso" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Europa central (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Ruso (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Griego (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Turco (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Hebreo (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Arábigo (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Báltico (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Vietnamita (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Tailandés (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Indicar ancho:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "Ultracondensado" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Extracondensado" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Condensado" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "Semicondensado" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Normal" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Semiexpandido" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Expandido" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Extraexpandido" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "Ultraexpandido" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "Espaciado:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Fijo" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Variable" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Escalable:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Todas las fuentes:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Previsualizar:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Ejecutar Xfe como administrador" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&No" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Sí" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Salir" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Guardar" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Sí a &todo" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Introduzca la contraseña de usuario:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Introduzca la contraseña de administrador:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "¡Ha ocurrido un error!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Nombre: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Tamaño en raíz: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Tipo: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Fecha de modificación: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Usuario: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Grupo: " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Permisos: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Ruta original: " #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Fecha de eliminación: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Tamaño: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Tamaño" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Tipo" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Extensión" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Fecha de modificación" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Permisos" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "No se puede cargar la imagen" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Rut&a original" # Menú Panel y del clic derecho #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Fecha de &eliminación" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Filtro" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Estado" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, 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:1035 ../src/SearchPanel.cpp:790 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Registro de comandos" #: ../src/FilePanel.cpp:1832 msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "" "El carácter / no está permitido ni en el nombre de archivos ni en el de " "carpetas: operación cancelada" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "A la carpeta:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, 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:2408 ../src/SearchPanel.cpp:2936 #, c-format msgid "Move file %s to trash can?" msgstr "¿Mover la carpeta %s a la papelera?" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "¿Mover %s archivos seleccionados a la papelera?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, 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:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "¡Se ha cancelado la operación de mover a la papelera!" #: ../src/FilePanel.cpp:2716 #, 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:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "¿Restaurar %s elementos seleccionados a sus ubicaciones originales?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "No se puede crear la carpeta %s: %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, c-format msgid "Definitively delete file %s ?" msgstr "¿Eliminar definitivamente la carpeta %s?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, c-format msgid "Definitively delete %s selected items?" msgstr "¿Eliminar definitivamente %s elementos seleccionados?" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, 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:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "¡Se ha cancelado la operación de borrar archivos!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "Comparar" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "Con:" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, 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:3758 msgid "Create new file:" msgstr "Crear un archivo nuevo:" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "No se puede crear el archivo %s: %s" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "No se puede crear el archivo %s" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "No se pueden establecer los permisos en %s: %s" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "No se pueden establecer los permisos en %s" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Crear un enlace simbólico nuevo:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Crear enlace simbólico" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "" "Seleccionar el archivo o carpeta al que hace referencia el enlace simbólico" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "El origen %s del enlace no existe" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Abrir archivo(s) seleccionado(s) con:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Abrir con" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "A&sociar" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Mostrar archivos:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "Crear archiv&o" # Menú Archivo y del clic derecho #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Crear enlace sim&bólico..." # Menú del clic derecho #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "&Filtro..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "&Lista completa de archivos" # Menú del clic derecho #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "Permi&sos" # Menú del clic derecho #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "Crear &archivo" #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Montar" # Menu del clic derecho #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "&Abrir con..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "A&brir" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 msgid "Extr&act to folder " msgstr "Extr&aer en la carpeta " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "Ext&raer aquí" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "E&xtraer a..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Ver" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Instalar/Actuali&zar" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "De&sinstalar" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Editar" # Menu del clic derecho #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 msgid "Com&pare..." msgstr "Compa&rar..." #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "Com¶r" #: ../src/FilePanel.cpp:4672 msgid "Packages &query " msgstr "Consultar pa&quetes " #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 msgid "Scripts" msgstr "Scripts" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 msgid "&Go to script folder" msgstr "Ir a la carpeta de &scripts" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "C&opiar a..." # Menú del clic derecho #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 msgid "M&ove to trash" msgstr "Mover a la &papelera" # Menú del clic derecho #: ../src/FilePanel.cpp:4695 msgid "Restore &from trash" msgstr "Resta&urar de la papelera" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 msgid "Compare &sizes" msgstr "Comparar tamaño&s" # Menú del clic derecho #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 msgid "P&roperties" msgstr "Propie&dades" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Seleccionar una carpeta de destino" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Todos los archivos" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Instalar/Actualizar paquete" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Desinstalar paquete" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Error: Bifurcación fallida: %s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, c-format msgid "Can't create script folder %s: %s" msgstr "No se puede crear la carpeta de scripts %s: %s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, c-format msgid "Can't create script folder %s" msgstr "No se puede crear la carpeta de scripts %s" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "¡No encontrado un gestor de paquetes compatible (rpm o dpkg)!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "El archivo %s no pertenece a ningún paquete." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Información" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, 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:6220 ../src/SearchPanel.cpp:2887 msgid "Sizes of Selected Items" msgstr "Tamaños de los elementos seleccionados" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 bytes" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s de %s elementos seleccionados" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s de %s elementos seleccionados" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s de %s elementos seleccionados" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s de %s elementos seleccionados" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " la carpeta:" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d archivos, %d carpetas" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d archivos, %d carpetas" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d archivos, %d carpetas" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Enlace" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "&Cerrar" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" "Por favor, espere...\n" "\n" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, c-format msgid "Can't duplicate pipes: %s" msgstr "No se pueden duplicar las tuberías: %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 msgid "Can't duplicate pipes" msgstr "No se pueden duplicar las tuberías" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> COMANDO CANCELADO <<<<" #: ../src/CommandWindow.cpp:298 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 un archivo o carpeta 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:135 msgid "Preferences" msgstr "Preferencias" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Tema actual" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Opciones" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "Usar la papelera para borrar archivos (borrado reversible)" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Incluir un comando para evitar la papelera (borrado permanente)" #: ../src/Preferences.cpp:185 msgid "Auto save layout" msgstr "Recordar la disposición" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Guardar la posición de la ventana" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "Abrir carpetas con un solo clic" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Abrir archivos con un solo clic" #: ../src/Preferences.cpp:189 msgid "Display tooltips in file and folder lists" msgstr "Mostrar pistas en listas de archivos y carpetas" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "Dimensionado relativo de las listas de archivos" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Mostrar enlazador de ruta sobre las listas de archivos" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Notificar el inicio de aplicaciones" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Confirmar la ejecución de archivos de texto" #: ../src/Preferences.cpp:198 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 usado en las listas de archivos y carpetas:\n" "(Escriba «man strftime» en una terminal para obtener ayuda sobre el formato)" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "&Modos" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "Modo inicial" #: ../src/Preferences.cpp:213 msgid "Start in home folder" msgstr "Iniciar en la carpeta personal" #: ../src/Preferences.cpp:214 msgid "Start in current folder" msgstr "Iniciar en la carpeta actual" #: ../src/Preferences.cpp:215 msgid "Start in last visited folder" msgstr "Iniciar en la última carpeta visitada" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "Modo de desplazamiento" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "Desplazamiento suave en las listas de archivos y ventanas de texto" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Velocidad de desplazamiento del ratón:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Color de la barra de progreso" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Modo de administrador" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "Permitir modo de administrador" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Identificación mediante «sudo» (usa la contraseña de usuario)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Identificación mediante «su» (usa la contraseña de administrador)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Comando fallido: %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Ejecutar comando" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "&Diálogos" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Confirmaciones" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "Confirmar copiar/mover/renombrar/enlazar" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "Confirmar arrastrar y soltar" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "Confirmar mover a la papelera/restaurar" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Confirmar eliminación" #: ../src/Preferences.cpp:331 msgid "Confirm delete non empty folders" msgstr "Confirmar la eliminación de carpetas no vacías" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Confirmar sobrescritura" #: ../src/Preferences.cpp:333 msgid "Confirm execute text files" msgstr "Confirmar la ejecución de archivos de texto" #: ../src/Preferences.cpp:334 msgid "Confirm change properties" msgstr "Confirmar el cambio de propiedades" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Avisos" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "Avisar si se selecciona la carpeta actual en la ventana de búsqueda" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Avisar cuando los puntos de montaje no respondan" #: ../src/Preferences.cpp:340 msgid "Display mount / unmount success messages" msgstr "Mostrar mensajes de éxito al montar/desmontar" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "Avisar si falla la preservación de fecha" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Avisar si se ejecuta como administrador" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Programas" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Programas predeterminados" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Visor de texto:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Editor de texto:" #: ../src/Preferences.cpp:405 msgid "File comparator:" msgstr "Comparador de archivos:" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Editor de imágenes:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Visor de imágenes:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Compresor:" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "Visor de PDF:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Reproductor de audio:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Reproductor de vídeo:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "Terminal:" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "Gestión de volúmenes" #: ../src/Preferences.cpp:456 msgid "Mount:" msgstr "Montar:" #: ../src/Preferences.cpp:462 msgid "Unmount:" msgstr "Desmontar:" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Tema de color" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Colores personalizados" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Doble clic para personalizar el color" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Color base" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Color del borde" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Color de fondo" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Color del texto" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Color del fondo de la selección" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Color de selección del texto" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Color de fondo en la lista de archivos" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Color del texto de la lista de archivos" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Color de resaltado en la lista de archivos" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "Color de la barra de progreso" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Color de atención" #: ../src/Preferences.cpp:500 msgid "Scrollbar color" msgstr "Color de la barra de progreso" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Controles" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Estándar (controles clásicos)" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (estilo moderno)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "Ruta del tema de iconos" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tSeleccionar ruta..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Fuentes" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Fuentes" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Fuente normal:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Seleccionar..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Fuente de texto:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "A&tajos de teclado" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Atajos de teclado" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Modificar atajos de teclado..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Restaurar los atajos predeterminados..." #: ../src/Preferences.cpp:634 msgid "Select an icon theme folder or an icon file" msgstr "Seleccionar la carpeta del tema de iconos o un archivo de icono" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "Cambiar fuente normal" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Cambiar fuente del texto" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Crear un archivo nuevo" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Crear una carpeta nueva" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "Copiar al portapapeles" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "Cortar al portapapeles" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Pegar desde el portapapeles" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Abrir archivo" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Salir de la aplicación" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Seleccionar todo" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Deseleccionar todo" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Invertir la selección" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Mostrar ayuda" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Conmutar mostrar archivos ocultos" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Conmutar mostrar miniaturas" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Cerrar ventana" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Imprimir archivo" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Buscar" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Buscar anterior" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Buscar siguiente" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 msgid "Vertical panels" msgstr "Paneles verticales" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 msgid "Horizontal panels" msgstr "Paneles horizontales" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Refrescar paneles" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Crear un enlace simbólico nuevo" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Propiedades del archivo" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Mover archivos a la papelera" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Restaurar archivos de la papelera" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Eliminar archivos" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Abrir una ventana nueva" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Abrir una ventana principal nueva" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Ejecutar comando" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Ejecutar terminal" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Montar el sistema de archivos (solo Linux)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Desmontar el sistema de archivos (solo Linux)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "Modo con un panel" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Modo con árbol y panel" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "Modo con dos paneles" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Modo con árbol y dos paneles" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Limpiar barra de dirección" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Renombrar archivo" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Copiar archivos a la ubicación" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Mover archivos a la ubicación" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Crear enlaces simbólicos a la ubicación" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Añadir favorito" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Sincronizar paneles" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Intercambiar paneles" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Ir a la papelera" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Vaciar la papelera" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Ver" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Editar" #: ../src/Preferences.cpp:1014 msgid "Toggle display hidden folders" msgstr "Conmutar mostrar archivos ocultos" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Filtrar archivos" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "Zum de la imagen al 100%" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Zum hasta ajustar a la ventana" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "Rotar la imagen a la izquierda" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "Rotar la imagen a la derecha" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "Reflejar la imagen horizontalmente" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "Reflejar la imagen verticalmente" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Crear un documento nuevo" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Guardar cambios al archivo" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Ir a la línea" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Deshacer el último cambio" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Rehacer el último cambio" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "Reemplazar cadena" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "Conmutar el modo división de palabras" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "Conmutar el modo numerar líneas" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Conmutar el modo minúsculas" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Conmutar el modo mayúsculas" #. Confirmation message #: ../src/Preferences.cpp:1114 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:1115 msgid "Restore default key bindings" msgstr "Restaurar los atajos de teclado predeterminadas" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Reiniciar" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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/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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Cerrar" #: ../src/SearchPanel.cpp:165 msgid "Refresh panel" msgstr "Refrescar el panel" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Copiar los archivos seleccionados al portapapeles" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Cortar los archivos seleccionados al portapapeles" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Mostrar las propiedades de los archivos seleccionados" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Mover los archivos seleccionados a la papelera" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Eliminar los archivos seleccionados" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "La carpeta actual ha sido fijada a «%s»" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "&Lista completa de archivos" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "No distinguir ma&y. de minúsc." # Menú del clic derecho del diálogo de búsqueda de Xfe y menú Ver de Xfi #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "Tama&ño automático" #: ../src/SearchPanel.cpp:2421 msgid "&Packages query " msgstr "Consultar &paquetes" #: ../src/SearchPanel.cpp:2435 msgid "&Go to parent folder" msgstr "&Ir a la carpeta padre" #: ../src/SearchPanel.cpp:3658 #, c-format msgid "Copy %s items" msgstr "Copiar %s elementos" #: ../src/SearchPanel.cpp:3674 #, c-format msgid "Move %s items" msgstr "Mover %s elementos" #: ../src/SearchPanel.cpp:3690 #, c-format msgid "Symlink %s items" msgstr "Enlazar %s elementos" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" "El carácter «/» no está permitido ni en el nombre de archivos ni en el de " "carpetas: operación cancelada" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "¡Debe introducir una ruta absoluta!" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr " 0 elementos" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 elemento" #: ../src/SearchWindow.cpp:71 msgid "Find files:" msgstr "Buscar archivos:" #: ../src/SearchWindow.cpp:74 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:79 msgid "Hidden files\tShow hidden files and folders" msgstr "Archivos ocultos\tMostrar archivos y carpetas ocultos" #: ../src/SearchWindow.cpp:84 msgid "In folder:" msgstr "En la carpeta:" #: ../src/SearchWindow.cpp:86 msgid "\tIn folder..." msgstr "\tEn la carpeta..." #: ../src/SearchWindow.cpp:89 msgid "Text contains:" msgstr "El texto contiene:" #: ../src/SearchWindow.cpp:92 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:97 msgid "More options" msgstr "Más opciones" #: ../src/SearchWindow.cpp:98 msgid "Search options" msgstr "Opciones de búsqueda" #: ../src/SearchWindow.cpp:99 msgid "Reset\tReset search options" msgstr "Reinicializar\tReinicializar las opciones de búsqueda" #: ../src/SearchWindow.cpp:115 msgid "Min size:" msgstr "Tamaño mínimo:" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "Filtrar por tamaño mínimo del archivo (KBytes)" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 msgid "Max size:" msgstr "Tamaño máximo:" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "Filtrar por tamaño máximo del archivo (KBytes)" #. Modification date #: ../src/SearchWindow.cpp:126 msgid "Last modified before:" msgstr "Última modificación antes de:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "Filtrar por fecha de modificación mayor (días)" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "Días" #: ../src/SearchWindow.cpp:131 msgid "Last modified after:" msgstr "Última modificación después de:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "Filtrar por fecha de modificación menor (días)" #. User and group #: ../src/SearchWindow.cpp:137 msgid "User:" msgstr "Usuario:" #: ../src/SearchWindow.cpp:140 msgid "\tFilter by user name" msgstr "\tFiltrar por nombre de usuario" #: ../src/SearchWindow.cpp:142 msgid "Group:" msgstr "Grupo:" #: ../src/SearchWindow.cpp:145 msgid "\tFilter by group name" msgstr "\tFiltrar por nombre de grupo" #. File type #: ../src/SearchWindow.cpp:178 msgid "File type:" msgstr "Tipo de archivo:" #: ../src/SearchWindow.cpp:181 msgid "File" msgstr "Archivo" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "Tubería" #: ../src/SearchWindow.cpp:187 msgid "\tFilter by file type" msgstr "\tFiltrar por tipo de archivo" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 msgid "Permissions:" msgstr "Permisos:" #: ../src/SearchWindow.cpp:194 msgid "\tFilter by permissions (octal)" msgstr "\tFiltrar por permisos (octal)" #. Empty files #: ../src/SearchWindow.cpp:197 msgid "Empty files:" msgstr "Archivos vacíos:" #: ../src/SearchWindow.cpp:198 msgid "\tEmpty files only" msgstr "\tSolo archivos vacíos" #: ../src/SearchWindow.cpp:202 msgid "Follow symbolic links:" msgstr "Seguir enlaces simbólicos:" #: ../src/SearchWindow.cpp:203 msgid "\tSearch while following symbolic links" msgstr "\tBuscar siguiendo enlaces simbólicos" #: ../src/SearchWindow.cpp:207 msgid "Non recursive:" msgstr "No recursivo:" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "\tNo buscar recursivamente en carpetas" #: ../src/SearchWindow.cpp:212 msgid "Ignore other file systems:" msgstr "Ignorar otros sistema de archivos:" #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "\tNo buscar en otros sistemas de archivos" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "&Iniciar\tIniciar la búsqueda (F3)" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "&Detener\tDetener la búsqueda (Esc)" #: ../src/SearchWindow.cpp:782 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Búsqueda iniciada - Por favor, espere... <<<<" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " elementos" #: ../src/SearchWindow.cpp:938 msgid ">>>> Search results <<<<" msgstr ">>>> Resultados de la búsqueda <<<<" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "Error de Entrada/Salida" #: ../src/SearchWindow.cpp:973 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Búsqueda detenida... <<<<" #: ../src/SearchWindow.cpp:1147 msgid "Select path" msgstr "Seleccionar ruta" #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Crear un enlace simbólico nuevo" #: ../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 carpetas..." #: ../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 "Crear &carpeta..." # Menú Archivo #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "Ir a la carpeta &personal" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "&Recargar" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "C&opiar a..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "Enla&zar a..." #: ../src/XFileExplorer.cpp:861 msgid "&Properties" msgstr "Propie&dades" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:201 #: ../src/XFileImage.cpp:327 ../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 la selección" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "&Invertir la selección" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "Pre&ferencias" #: ../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 del &panel" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "Barra de &direcciones" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "Barra de &estado" #: ../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:808 msgid "&Vertical panels" msgstr "Paneles &verticales" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 msgid "&Horizontal panels" msgstr "Paneles hori&zontales" #: ../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" # Menú Panel #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Filtro..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:781 msgid "&Thumbnails" msgstr "&Miniaturas" # Menú Panel #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 msgid "&Big icons" msgstr "Iconos &grandes" # Menú Panel #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "Ti&po" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "Fec&ha" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "&Usuario" # Menú Panel #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "&Grupo" # Menú Panel #: ../src/XFileExplorer.cpp:1021 msgid "Fol&ders first" msgstr "Carpeta&s primero" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3538 #: ../src/XFileExplorer.cpp:3589 msgid "&Left panel" msgstr "Panel i&zquierdo" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "&Filtro" #: ../src/XFileExplorer.cpp:1051 msgid "&Folders first" msgstr "Carpetas &primero" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3537 #: ../src/XFileExplorer.cpp:3588 msgid "&Right panel" msgstr "Panel de&recho" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "Abrir una &ventana nueva" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Abrir una ventana de &administrador" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "&Ejecutar comando..." #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "&Sincronizar paneles" # Opción del menú Herramientas #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "&Intercambiar paneles" # Opción del menú Herramientas #: ../src/XFileExplorer.cpp:1096 msgid "Go to script folder" msgstr "Ir a la &carpeta 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" # Opción del menú Papelera #: ../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:4240 msgid "T&rash" msgstr "Pape&lera" # Menú Ayuda de Xfe, Xfi, Xfw y Xfp #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "¡Ejecutando Xfe como administrador!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "No se puede crear la carpeta de configuración de Xfe %s : %s" #: ../src/XFileExplorer.cpp:2274 #, c-format msgid "Can't create Xfe config folder %s" msgstr "No se puede crear la carpeta de configuración de Xfe %s" #: ../src/XFileExplorer.cpp:2296 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:2300 msgid "XFE configuration file" msgstr "Archivo de configuración de XFE" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "No se puede crear la carpeta «files» de la papelera %s: %s" #: ../src/XFileExplorer.cpp:2339 ../src/XFileExplorer.cpp:3992 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "No se puede crear la carpeta «files» de la papelera %s" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "No se puede crear la carpeta «info» de la papelera %s: %s" #: ../src/XFileExplorer.cpp:2361 ../src/XFileExplorer.cpp:4007 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "No se puede crear la carpeta «info» de la papelera %s" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "Ayuda" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer versión %s" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Basado en X WinCommander de Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3214 #, 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" "Finnish: Kimmo Siira\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:3246 msgid "About X File Explorer" msgstr "Acerca de X File Explorer" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3718 msgid "Execute the command:" msgstr "Ejecutar el comando:" #: ../src/XFileExplorer.cpp:3718 msgid "Console mode" msgstr "Modo de consola" #: ../src/XFileExplorer.cpp:3896 msgid "Search files and folders" msgstr "Buscar archivos y carpetas" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 msgid "Do you really want to empty the trash can?" msgstr "¿Seguro que quiere vaciar la papelera?" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr " en " #: ../src/XFileExplorer.cpp:3959 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "¡Todos los elementos se perderán para siempre!" #: ../src/XFileExplorer.cpp:4049 #, 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 subcarpetas)\n" "\n" "Fecha de modificación: %s" #: ../src/XFileExplorer.cpp:4051 msgid "Trash size" msgstr "Tamaño de la papelera" #: ../src/XFileExplorer.cpp:4058 #, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "¡No se puede leer de la carpeta «files» de la papelera %s!" #: ../src/XFileExplorer.cpp:4512 ../src/XFileExplorer.cpp:4586 #, c-format msgid "Command not found: %s" msgstr "Comando no encontrado: %s" #: ../src/XFileExplorer.cpp:4591 #, c-format msgid "Invalid file association: %s" msgstr "Asociación de archivo no válida: %s" #: ../src/XFileExplorer.cpp:4596 #, c-format msgid "File association not found: %s" msgstr "Asociación de archivo no encontrada: %s" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Preferencias" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Abrir archivo de paquete" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Abrir..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "Barra de &herramientas" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "Acerca de &X File Package" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "&Desinstalar" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Instalar/Actualizar" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "&Descripción" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "&Lista de archivos" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "Acerca de X File Package" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "Paquetes RPM de código fuente" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "Paquetes RPM" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "Paquetes DEB" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Abrir documento" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Ningún paquete cargado" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Formato de paquete desconocido" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Instalar/Actualizar paquete" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Desinstalar paquete" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[Paquete RPM]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[Paquete DEB]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "¡Ha fallado la consulta de %s!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../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:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "No se puede abrir el archivo: %s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "Imagen GIF" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "Imagen BMP" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "Imagen XPM" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "Imagen PCX" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "Imagen ICO" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "Imagen RGB" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "Imagen XBM" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "Imagen TARGA" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "Imagen PPM" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "Imagen PNG" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "Imagen JPEG" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "Imagen TIFF" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "&Imagen" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Abrir" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Abrir archivo de imagen." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Imprimir" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 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:660 msgid "Zoom in" msgstr "Ampliar" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "Ampliar la imagen." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Reducir" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "Reducir la imagen." #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "Zum al 100%" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "Zum de la imagen al 100%." #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "Zum hasta ajustar" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "Zum hasta ajustar a la ventana." #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "Rotar a la izquierda" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Rotar la imagen a la izquierda." #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Rotar a la derecha" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Rotar la imagen a la derecha." #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Reflejar horizontalmente" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "Reflejar la imagen horizontalmente." #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Reflejar verticalmente" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Reflejar la imagen verticalmente." #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "Im&primir..." #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "&Limpiar archivos recientes" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "Limpiar el menú de archivos recientes." #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Salir de Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "&Ampliar" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "&Reducir" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "&Zum al 100%" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "Zum hasta a&justar a la ventana" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "Rotar a la &derecha" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Rotar a la derecha." #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "Rotar a la &izquierda" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Rotar a la izquierda." #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "Reflejar &horizontalmente" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Reflejar horizontalmente." #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "Reflejar &verticalmente" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Reflejar verticalmente." #: ../src/XFileImage.cpp:775 msgid "Show hidden files and folders." msgstr "Mostrar archivos y carpetas ocultos." #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Mostrar miniaturas de las imágenes." #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Mostrar carpetas con iconos grandes." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Mostrar carpetas con iconos pequeños." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "&Lista detallada de archivos" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Mostrar un listado detallado de la carpeta." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "Mostrar los iconos por filas." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "Mostrar los iconos por columnas." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Tamaño automático de nombres de iconos." #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Mostrar la barra de herramientas." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "&Lista de archivos" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Mostrar la lista de archivos." #: ../src/XFileImage.cpp:824 msgid "File list &before" msgstr "Lista de archivos &antes" #: ../src/XFileImage.cpp:824 msgid "Display file list before image window." msgstr "Mostrar la lista de archivos antes que ventana de imagen." #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "&Filtrar imágenes" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Listar solo los archivos de imágenes." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "A&justar a la ventana al abrir" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "Zum hasta ajustar a la ventana al abrir una imagen." #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "Acerca de &X File Image" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "Acerca de X File Image." #: ../src/XFileImage.cpp:1333 #, 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:1335 msgid "About X File Image" msgstr "Acerca de X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Error al cargar la imagen" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Tipo no soportado: %s" #: ../src/XFileImage.cpp:1464 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:1504 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:1619 msgid "Open Image" msgstr "Abrir imagen" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Comando de impresión: \n" "(p. ej.: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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 "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 un documento nuevo." #: ../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 lo selccionado 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 lo seleccionado 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 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 "Re&vertir 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 "&Minú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 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Error al guardar el archivo" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "No se puede abrir el archivo: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "El archivo es demasiado grande: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "Archivo: %s truncado." #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "sin título" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "sin título%d" #: ../src/WriteWindow.cpp:1477 #, 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:1479 msgid "About X File Write" msgstr "Acerca de X File Write" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Cambiar fuente" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Archivos de texto" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "Archivos de código C" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "Archivos de código C++" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "Archivos de cabeceras C/C++" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "Archivos HTML" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "Archivos PHP" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Documento sin guardar" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "¿Guardar %s a un archivo?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Guardar documento" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Sobrescribir documento" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "¿Sobrescribir documento existente: %s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (modificado)" #: ../src/WriteWindow.cpp:1851 msgid " (read only)" msgstr "(solo lectura)" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "SOLO LECTURA" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "SOB" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "El archivo fue modificado" #: ../src/WriteWindow.cpp:2071 #, 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:2132 msgid "Replace" msgstr "Reemplazar" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Ir a línea" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "&Ir a la línea número:" #. Usage message #: ../src/XFileWrite.cpp:217 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 "Carpeta 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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 General Public License\n" " como publica la Free Software Foundation; ya sea la versión 2, o (si lo " "prefiere) 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 - Ctrl-N\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" " * Paneles verticales - Ctrl-Shift-F1\n" " * Paneles horizontales - Ctrl-Shift-F2\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 - F2\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" " * Zum de la 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" " \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\n" " embargo, 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" " * Space - seleccionar elementos en listas " "de archivos\n" " * Return - abrir directorios en listas de " "archivos, abrir archivos, accionar botones, etc.\n" " * Esc - cerrar el 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) a un\n" " directorio o panel de archivo opcionalmente abre un diálogo que permite " "seleccionar la operación: copiar, mover,\n" " 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 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\n" " Xfe fue iniciado:\n" " \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 permitan\n" " 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" " Buscar archivos y directorios\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe puede buscar archivos y directorios rápidamente usando los comandos " "«find» y «grep» como motor. Esto se consigue\n" " mediante la opción del menú Herramientas / Buscar archivos (o usando el " "atajo Ctrl-F).\n" " \n" " En la ventana de búsqueda, los usuarios pueden indicar patrones frecuentes " "de búsqueda tales como nombre y texto, y\n" " también hay opciones de búsqueda más sofisticadas (tamaño, fecha, " "permisos, usuarios, grupos, seguir enlaces simbólicos\n" " y archivos vacíos). Los resultados aparecen en una lista de archivos y los " "usuarios pueden usar el menú del clic derecho\n" " para gestionar los archivos, igual que hacen en los paneles de archivos.\n" " \n" " La búsqueda se puede interrumpir haciendo clic en el botón «Detener» o " "pulsando la tecla «Esc».\n" " \n" " \n" " \n" " Lenguajes no basados en el latín\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" " \n" " Xfe puede mostrar su interfaz y también los nombres de archivos en " "lenguajes no basados en el latín, supuesto que hayan\n" " seleccionado una fuente Unicode que pueda representar su conjunto de " "caracteres. Para seleccionar una fuente adecuada,\n" " use la opción del menú Editar / Preferencias / Fuentes.\n" " \n" " Se pueden encontrar fuentes Unicode TrueType multilenguaje en esta " "dirección: http://www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Notas\n" " =-=-=\n" " \n" " Lista de archivos\n" " - Selecciona archivos y haz clic derecho para abrir un menú contextual " "en la selección de archivos\n" " - Pulsa Ctrl + clic 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 clic derecho para abrir un menú " "contextual en el directorio seleccionado\n" " - Pulsa Ctrl + clic 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: 28/11/2015]\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 #, 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á usado en la sección global.\n" "Debes borrar el atajo de teclado existente antes de asignarlo de nuevo." #: ../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 "" "El atajo de teclado %s ya se está usando en la sección de Xfe.\n" "Debes borrar el atajo de teclado existente antes de asignarlo de nuevo." #: ../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 "" "El atajo de teclado %s ya se está usando en la sección de Xfi.\n" "Debes borrar el atajo de teclado existente antes de asignarlo de nuevo." #: ../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 "" "El atajo de teclado %s ya se está usando en la sección de Xfw.\n" "Debes 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 a la carpeta %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 a la carpeta %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:829 ../src/xfeutils.cpp:917 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Error: No se puede cerrar la carpeta %s\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 msgid "copy" msgstr "copiar" #: ../src/xfeutils.cpp:1413 #, c-format msgid "Error: Can't read group list: %s" msgstr "Error: No se puede leer la lista de grupos: %s" #: ../src/xfeutils.cpp:1417 #, 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" #~ msgid "&Themes" #~ msgstr "&Temas" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "Confirmar la ejecución de archivos de texto" #~ msgid "KB" #~ msgstr "KB" #~ 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? " #~ 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?" #~ 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?" #~ 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?" #~ 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?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ msgstr "¡Ha ocurrido un error!" #, 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.44/po/POTFILES.in0000644000200300020030000000132113501733230011312 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.44/po/bs.po0000644000200300020030000062563014023353061010520 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: 2021-03-14 10:23+0100\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:333 #, 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:467 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" #: ../src/main.cpp:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Greška pri učitavanju ikona" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "Nije moguće učitavanje nekih ikona. Provjerite stazu za ikone!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" msgstr "Nije moguće učitavanje nekih ikona. Provjerite stazu za ikone!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Svojstva" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&Opće" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Direktorij" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Znakovni uređaj" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Blok uređaj" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Imenovana cijev" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Soket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Izvršna" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Dokument" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Neispravan link" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 #, fuzzy msgid "Link to " msgstr "Link prema " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Lokacija:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Tip:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu bajtova)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bajtova)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Veličina:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Izbor:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Višestruke vrste" #. Number of selected files #: ../src/Properties.cpp:1113 #, fuzzy, c-format msgid "%d items" msgstr " Stavke" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "Datoteke i direktoriji" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "Datoteke i direktoriji" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "Datoteke i direktoriji" #: ../src/Properties.cpp:1130 #, fuzzy, c-format msgid "%d files, %d folders" msgstr "Datoteke i direktoriji" #: ../src/Properties.cpp:1252 #, fuzzy msgid "Change properties of the selected folder?" msgstr "\tPrikaži svojstva odabrane datoteke (F9)" #: ../src/Properties.cpp:1256 #, fuzzy msgid "Change properties of the selected file?" msgstr "\tPrikaži svojstva odabrane datoteke (F9)" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 #, fuzzy msgid "Confirm Change Properties" msgstr "Svojstva" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Upozorenje " #: ../src/Properties.cpp:1401 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Otkazana je operacije premještanja datoteka!" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Otkazana operacija brisanja datoteke!" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Otkazana operacija brisanja datoteke!" #. Error message box #. Error #: ../src/Properties.cpp:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Ne može zapisivati u %s: Dozvola odbijena" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "Direktorij %s ne postoji" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Preimenuj datoteku" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Vlasnik datoteke" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "Promjena vlasnika otkazana!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, fuzzy, c-format msgid "Chown in %s failed: %s" msgstr "Chmod u %s neuspio: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, fuzzy, c-format msgid "Chown in %s failed" msgstr "Chmod u %s neuspio: %s" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" #: ../src/Properties.cpp:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod u %s neuspio: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Dozvole datoteke" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Promjena dozovola datoteci otkazana!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, fuzzy, c-format msgid "Chmod in %s failed" msgstr "Chmod u %s neuspio: %s" #: ../src/Properties.cpp:1628 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " u jednoj odabranoj stavci" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "Otkazana promjena dozvola datoteci/datotekama" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Izaberite izvršnu datoteku" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Sve datoteke" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "PNG slike" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "GIF slike" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "BMP slike" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Odaberite ikonu" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "Datoteke i direktoriji" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "Datoteke i direktoriji" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "Datoteke i direktoriji" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, fuzzy, c-format msgid "%u files, %u subfolders" msgstr "Datoteke i direktoriji" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Kopiraj ovdje" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Premjesti ovdje" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Link ovdje" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Odustani" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Kopiranje datoteke" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Premještanje datoteke" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Datoteka symlink" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopiraj" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, fuzzy, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" " datoteke/folderi.\n" "Iz: " #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Premjesti" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, fuzzy, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" " datoteke/folderi.\n" "Iz: " #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Simlink" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "Za:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "Dogodila se greška pri premještanju datoteke!" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "Otkazana je operacije premještanja datoteka!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "Dogodila se greška pri kopiranju daoteke!" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "Operacija kopiranja otkazana" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "Tačka montiranja %s ne reagira ..." #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "0 bajtova u rootu" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 msgid "Panel is active" msgstr "" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 #, fuzzy msgid "Activate panel" msgstr "&Desni panel" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 #, 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:4586 #: ../src/SearchPanel.cpp:2361 #, 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "&Dodaj u arhivu ..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Kopiraj" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Izre&ži" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Umetni" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Premjesti u ..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, 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:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, 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:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 #, fuzzy msgid "File name is empty, operation cancelled" msgstr "Otkazana operacija brisanja datoteke!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Stvori arhivu" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Kopiraj" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, fuzzy, c-format msgid "Copy %s items from: %s" msgstr " stavki iz: " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Preimenuj" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Preimenuj" #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Kopiraj u" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Premjesti" #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, fuzzy, c-format msgid "Move %s items from: %s" msgstr " stavki iz: " #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Simlink" #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, fuzzy, c-format msgid "Symlink %s items from: %s" msgstr " stavki iz: " #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s nije direktorij" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "Dogodila se greška pri operaciji symlink!" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "Symlink operacija otkazana!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, fuzzy, c-format msgid "Definitively delete folder %s ?" msgstr "Definitivno brisanje direktorija" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Potvrdi brisanje" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Brisanje datoteke" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, 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:2264 #, 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:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "Operacija brisanja direktorija je otkazana!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, 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:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Potvrdi smeće" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Premjesti u smeće" #: ../src/DirPanel.cpp:2360 #, 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:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 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:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "Otkazana operacija premještanja u kantu za smeće" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 #, fuzzy msgid "Restore from trash" msgstr "Izbriši iz kante za smeće" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 #, fuzzy msgid "Confirm Restore" msgstr "Potvrdi brisanje" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2640 #, fuzzy, c-format msgid "Can't create folder %s : %s" msgstr "Ne može se izbrisati direktorij" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, fuzzy, c-format msgid "Can't create folder %s" msgstr "Ne može se izbrisati direktorij" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 #, 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:2571 ../src/FilePanel.cpp:2798 #, fuzzy msgid "Restore from trash file operation cancelled!" msgstr "Operacija premještanja datoteke u smeće otkazana!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Napravi novi direktorij:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Novi direktorij:" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Otkazana operacija brisanja datoteke!" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Izvrši naredbu" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Montiraj" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Demontiraj" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " datotečni sistem..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 #, fuzzy msgid " the folder:" msgstr " direktorij:" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " operacija otkazana!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 #, 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:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Izmjena dozvola ..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 #, fuzzy msgid "File:" msgstr "Datoteka :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Potvrdi prepisivanje" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, fuzzy, c-format msgid "Can't copy file %s: %s" msgstr "Ne može se kopirati datoteka" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, fuzzy, c-format msgid "Can't copy file %s" msgstr "Ne može se kopirati datoteka" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 #, fuzzy msgid "Source: " msgstr "Izvor : " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 #, fuzzy msgid "Target: " msgstr "Cilj : " #: ../src/File.cpp:604 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "" #: ../src/File.cpp:608 #, c-format msgid "Can't preserve date when copying file %s" msgstr "" #: ../src/File.cpp:750 #, fuzzy, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Ne može se izbrisati direktorij %s: Dozvola odbijena" #: ../src/File.cpp:754 #, fuzzy, c-format msgid "Can't copy file %s : Permission denied" msgstr "Ne može zapisivati u %s: Dozvola odbijena" #: ../src/File.cpp:791 #, 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:795 #, 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:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "Izvor %s ne postoji" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "Izvor %s je identičan sa odredištem" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1048 #, fuzzy msgid "Delete folder: " msgstr "Obriši direktorij" #: ../src/File.cpp:1054 ../src/File.cpp:1139 #, fuzzy msgid "From: " msgstr "Od : " #: ../src/File.cpp:1095 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "Ne može se izbrisati direktorij" #: ../src/File.cpp:1099 #, fuzzy, c-format msgid "Can't delete folder %s" msgstr "Ne može se izbrisati direktorij" #: ../src/File.cpp:1160 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "Ne može se obrisati datoteka" #: ../src/File.cpp:1164 #, fuzzy, c-format msgid "Can't delete file %s" msgstr "Ne može se obrisati datoteka" #: ../src/File.cpp:1213 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Datoteka ili direktorij %s već postoji" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Ne možete preimenovati ciljati na %s" #: ../src/File.cpp:1572 #, fuzzy, c-format msgid "Can't symlink %s: %s" msgstr "Chown neuspjelo u %s: %s" #: ../src/File.cpp:1576 #, fuzzy, c-format msgid "Can't symlink %s" msgstr "Ne mogu stvoriti simboličku vezu na višestruki izbor!" #: ../src/File.cpp:1655 ../src/File.cpp:1852 #, fuzzy msgid "Folder: " msgstr "Folder : " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Otpakuj arhivu" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Dodaj u arhivu" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, fuzzy, c-format msgid "Failed command: %s" msgstr "Naredba nije uspjela : %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Uspjeh" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "Direktorij %s je uspješno montiran." #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Direktorij %s je uspješno nemontiran." #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "Instalacija / nadogradnja paketa" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, fuzzy, c-format msgid "Installing package: %s \n" msgstr "Instaliranje paketa:" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Deinstaliraj paketa" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 #, fuzzy msgid "Go to previous folder" msgstr "\tIdi na\tPremjesti u prethodni direktorij." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 #, fuzzy msgid "Go to next folder" msgstr "\tIdi naprijed \tPomjeri na sljedeći direktorij." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 #, fuzzy msgid "Go to parent folder" msgstr "Korijenski direktorij" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 #, fuzzy msgid "Go to home folder" msgstr " direktorij:" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 #, 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 #, fuzzy msgid "Big icon list" msgstr "Veli&ke ikone" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 #, fuzzy msgid "Small icon list" msgstr "&Male ikone" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 #, fuzzy msgid "Detailed file list" msgstr "Pu&na lista datoteka" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 #, fuzzy msgid "Show hidden files" msgstr "Prikaži skrivene direktorije" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 #, fuzzy msgid "Hide hidden files" msgstr "&Skrivene datoteke" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 #, fuzzy msgid "Show thumbnails" msgstr "\tPrikaži sličice" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 #, 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:3758 msgid "New File" msgstr "Nova datoteka" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "Datoteka ili direktorij %s već postoji" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "Idi na &početni" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Novi direkt&orij..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "&Skrivene datoteke" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "S&ličice" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "Veli&ke ikone" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "&Male ikone" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 #, fuzzy msgid "Fu&ll file list" msgstr "Pu&na lista datoteka" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "&Redovi" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "&Kolone" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "&Ime" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "Ve&ličina" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Vrsta" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "Ek&stenzija" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "&Datum" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 #, fuzzy msgid "&User" msgstr "Korisnik" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 #, fuzzy msgid "&Group" msgstr "Grupa " #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 #, fuzzy msgid "Fold&ers first" msgstr "Folderi" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "Suprotni poredak" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "&Porodica:" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "&Težina:" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "&Stil:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "Ve&ličina:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Skup znakova:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Bilo koji" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "Zapadno-evropski" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Istočno-evropski" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Južno-evropski" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Severno-evropski" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Ćirilica" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Arapski" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Grčki" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Hebrejski" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Turski" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Nordijske" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Thai" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Baltički" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Keltski" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Ruski" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Centralno-evropski (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Ruski (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Grčki (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Turski (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Hebrejski (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Arapski (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Baltički (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Vietnam (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Tajlandski (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "Unicode" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Postavi Širinu:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "Ultra kondenzirano" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Extra kondenzirano" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Kondenzirano" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "Polu kondenzirano" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Normalno" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Polu prošireno" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Prošireno" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Ekstra prošireno" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "Ultra prošireno" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "Oblik:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Fiksno" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Variable" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Skalabilno:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Svi Fontovi:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Pregled:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 #, fuzzy msgid "Launch Xfe as root" msgstr "\tPokreni Xfe kao root (Shift-F3)" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&Ne" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Da" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Izađi" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Spremi" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Da za &sve" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Unesite korisničku lozinku:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Unesite root lozinku:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 #, fuzzy msgid "An error has occurred!" msgstr "Dogodila se greška pri operaciji symlink!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Ime:" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Veličina u root:" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Tip:" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Datum izmjene :" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Korisnik: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Grupa:" #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Dozvole: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "" #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Datum brisanja: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Veličina: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Veličina" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Vrsta" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Ekstenzija" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Datum izmjene" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Dozvole" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "Nije moguće učitati sliku" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Datum brisanja" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Filter" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Status" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:1035 ../src/SearchPanel.cpp:790 #, 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Bilješke komandi" #: ../src/FilePanel.cpp:1832 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Otkazana operacija brisanja datoteke!" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 #, fuzzy msgid "To folder:" msgstr "Premjesti direktorij " #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, 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:2408 ../src/SearchPanel.cpp:2936 #, 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:2413 ../src/SearchPanel.cpp:2941 #, fuzzy, c-format msgid "Move %s selected items to trash can?" msgstr " Pomjeri odabranu stavku u kantu za smeće?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, 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:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "Operacija premještanja datoteke u smeće otkazana!" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" #: ../src/FilePanel.cpp:2721 #, fuzzy, c-format msgid "Restore %s selected items to their original locations?" msgstr " odabrane stavke u kantu za smeće? " #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, fuzzy, c-format msgid "Can't create folder %s: %s" msgstr "Ne može se izbrisati direktorij" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "Definitivno brisanje direktorija" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr " Definitivno izbrisati sve odabrane stavke? " #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, fuzzy, c-format msgid "File %s is write-protected, delete it anyway?" msgstr " je zaštićena od pisanja, ipak izbrisati?" #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "Otkazana operacija brisanja datoteke!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3758 msgid "Create new file:" msgstr "Napravite novu datoteku:" #: ../src/FilePanel.cpp:3794 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "Ne može se izbrisati direktorij" #: ../src/FilePanel.cpp:3798 #, fuzzy, c-format msgid "Can't create file %s" msgstr "Ne može se izbrisati direktorij" #: ../src/FilePanel.cpp:3813 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "Postavljanje dozvola:%s" #: ../src/FilePanel.cpp:3817 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "Postavljanje dozvola:%s" #: ../src/FilePanel.cpp:3865 #, fuzzy msgid "Create new symbolic link:" msgstr "Napravite novu datoteku:" #: ../src/FilePanel.cpp:3865 #, fuzzy msgid "New Symlink" msgstr "Simlink" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "" #: ../src/FilePanel.cpp:3899 #, fuzzy, c-format msgid "Symlink source %s does not exist" msgstr "Izvor %s ne postoji" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 #, fuzzy msgid "Open selected file(s) with:" msgstr "Otvori odabranu datoteku (e) s:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Otvori S" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "P&ridruži" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Prikaži datoteke:" #. Menu items #: ../src/FilePanel.cpp:4512 #, fuzzy msgid "New& file..." msgstr "Nova &datoteka..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 #, fuzzy msgid "New s&ymlink..." msgstr "&Simbolička veza ..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "Fi<er..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 #, fuzzy msgid "&Full file list" msgstr "Pu&na lista datoteka" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 #, fuzzy msgid "Per&missions" msgstr "Dozvole" #: ../src/FilePanel.cpp:4555 #, fuzzy msgid "Ne&w file..." msgstr "Nova &datoteka..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Montiraj" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "Otvori &s ..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Otvori" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 #, fuzzy msgid "Extr&act to folder " msgstr "E&kstraktuj u direktorij" #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "&Izdvoji ovdje" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "I&zdovoji u ..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Prikaz" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Instaliranje/Ažu&riranje" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "De&instaliranje" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Izmijeni" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 #, fuzzy msgid "Com&pare..." msgstr "&Zamijeni" #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4672 #, fuzzy msgid "Packages &query " msgstr "Upit &paketa" #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 #, fuzzy msgid "Scripts" msgstr "&Opis" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 #, fuzzy msgid "&Go to script folder" msgstr "Korijenski direktorij" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Kopiraj &u ..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 #, fuzzy msgid "M&ove to trash" msgstr "Premjesti u smeće" #: ../src/FilePanel.cpp:4695 #, fuzzy msgid "Restore &from trash" msgstr "Izbriši iz kante za smeće" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 #, fuzzy msgid "Compare &sizes" msgstr "Izvor:" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 #, fuzzy msgid "P&roperties" msgstr "Svojstva" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 #, fuzzy msgid "Select a destination folder" msgstr "\tIzaberi odredište ..." #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Sve datoteke" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Instalacija/nadogradnja paketa" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Deinstalacija paketa" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, fuzzy, c-format msgid "Error: Fork failed: %s\n" msgstr "Račvanje procesa nije uspjelo:%s \n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "Ne može se izbrisati direktorij" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "Ne može se izbrisati direktorij" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Nije pronađen kompatibilan upravljač paketima (rpm ili dpkg) !" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr " spada u paket : " #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Informacije" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, fuzzy, c-format msgid "File %s belongs to the package: %s" msgstr " spada u paket : " #. Make and show command window #: ../src/FilePanel.cpp:6220 ../src/SearchPanel.cpp:2887 #, fuzzy msgid "Sizes of Selected Items" msgstr " odabranih podataka" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 bajtova" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr " u jednoj odabranoj stavci" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr " u jednoj odabranoj stavci" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr " u jednoj odabranoj stavci" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr " u jednoj odabranoj stavci" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " direktorij:" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, fuzzy, c-format msgid "%s items (%s folders, %s files)" msgstr "%d stavki uključujući %d direktorij(e) i %d datoteka" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d stavki uključujući %d direktorij(e) i %d datoteka" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d stavki uključujući %d direktorij(e) i %d datoteka" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d stavki uključujući %d direktorij(e) i %d datoteka" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Veza" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "Zatv&ori" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "Ne može se obrisati datoteka" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 #, fuzzy msgid "Can't duplicate pipes" msgstr "Ne može se obrisati datoteka" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> KOMANDA OBUSTAVLJENA <<<" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "Postavke" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Trenutne teme" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Opcije" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "Koristi kantu za brisanje datoteka (sigurno brisanje)" #: ../src/Preferences.cpp:184 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:185 msgid "Auto save layout" msgstr "Automatsko spremanje rasporeda" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Single click folder open" msgstr "Jednim klikom otvara se datoteka" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Jednim klikom otvara se datoteka" #: ../src/Preferences.cpp:189 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "\tPrikaži detalje \tPrikaži detaljni popis direktorija." #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Potvrdi brisanje" #: ../src/Preferences.cpp:198 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:213 #, fuzzy msgid "Start in home folder" msgstr " direktoriju :" #: ../src/Preferences.cpp:214 #, fuzzy msgid "Start in current folder" msgstr "Korijenski direktorij" #: ../src/Preferences.cpp:215 #, fuzzy msgid "Start in last visited folder" msgstr "" "&Skrivene datoteke\tCtrl-F6 \tPrikaži skrivene datoteke i direktorije. (Ctrl-" "F6)" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Brzina skrola miša:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Boja ivice" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Root režim" #: ../src/Preferences.cpp:232 #, fuzzy msgid "Allow root mode" msgstr "Root režim" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Autentifikacija pomoću sudo (koristi korisničku lozinku)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Autentifikacija pomoću su (koristi root lozinku)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Naredba nije uspjela : %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Izvrši naredbu" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "&Dijalozi" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Potvrde" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "Potvrdite kopiranje/premještanje/preimenovanje/simlink" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "Potvrdi povlačenje i ispuštanje" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Potvrdi brisanje" #: ../src/Preferences.cpp:331 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Potvrdi brisanje nepraznih direktorija" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Potvrdi prepisivanje" #: ../src/Preferences.cpp:333 #, fuzzy msgid "Confirm execute text files" msgstr "Potvrdi brisanje" #: ../src/Preferences.cpp:334 #, fuzzy msgid "Confirm change properties" msgstr "Svojstva" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Upozorenja" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Upozori kada tačke montiranja ne reaguju" #: ../src/Preferences.cpp:340 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Prikaži poruke u uspjehu montiranja/demontiranja" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Upozori ako se izvodi kao root" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Programi" #: ../src/Preferences.cpp:390 #, fuzzy msgid "Default programs" msgstr "Terminalski program:" #: ../src/Preferences.cpp:393 #, fuzzy msgid "Text viewer:" msgstr "Podrazumijevani preglednik tekst:" #: ../src/Preferences.cpp:399 #, fuzzy msgid "Text editor:" msgstr "Podrazumijevani uređivač teksta:" #: ../src/Preferences.cpp:405 #, fuzzy msgid "File comparator:" msgstr "Dozvole datoteke" #: ../src/Preferences.cpp:411 #, fuzzy msgid "Image editor:" msgstr "Podrazumijevani uređivač slika:" #: ../src/Preferences.cpp:417 #, fuzzy msgid "Image viewer:" msgstr "Podrazumijevani preglednik slika:" #: ../src/Preferences.cpp:423 #, fuzzy msgid "Archiver:" msgstr "Podrazumijevani arhiver:" #: ../src/Preferences.cpp:429 #, fuzzy msgid "Pdf viewer:" msgstr "Pregled:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "" #: ../src/Preferences.cpp:447 #, fuzzy msgid "Terminal:" msgstr "&Terminal" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 #, fuzzy msgid "Mount:" msgstr "Montiraj" #: ../src/Preferences.cpp:462 #, fuzzy msgid "Unmount:" msgstr "Demontiraj" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Teme boja" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Vlastite boje" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Osnovna boja" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Boja ivice" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Boja pozadine" #: ../src/Preferences.cpp:492 #, fuzzy msgid "Text color" msgstr "Osnovna boja" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Boja pozadine izbora" #: ../src/Preferences.cpp:494 #, fuzzy msgid "Selection text color" msgstr "Prednja boja izbora" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Boja pozadine popisa datoteka" #: ../src/Preferences.cpp:496 #, fuzzy msgid "File list text color" msgstr "Boja isticanja popisa datoteka" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Boja isticanja popisa datoteka" #: ../src/Preferences.cpp:498 #, fuzzy msgid "Progress bar color" msgstr "Boja ivice" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "" #: ../src/Preferences.cpp:500 #, fuzzy msgid "Scrollbar color" msgstr "Boja ivice" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 #, fuzzy msgid "Controls" msgstr "Fontovi" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "Staza tema ikona" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tIzbor staze..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Fontovi" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Fontovi" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Normalni Font:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Izaberi..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Font teksta:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "" #: ../src/Preferences.cpp:634 #, fuzzy msgid "Select an icon theme folder or an icon file" msgstr "Odaberite direktorij teme ikona ili datoteku s ikonom" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "Promijeni Normalna slova" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Promijeni tekst font" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 #, fuzzy msgid "Create new file" msgstr "Napravite novu datoteku:" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 #, fuzzy msgid "Create new folder" msgstr "Napravi novi direktorij:" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "" #: ../src/Preferences.cpp:807 #, fuzzy msgid "Cut to clipboard" msgstr "Vlastite boje" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 #, fuzzy msgid "Paste from clipboard" msgstr "\tUmetni iz međuspremnika (Ctrl-V)" #: ../src/Preferences.cpp:827 #, fuzzy msgid "Open file" msgstr "Otvori S" #: ../src/Preferences.cpp:831 #, fuzzy msgid "Quit application" msgstr "Aplikacija" #: ../src/Preferences.cpp:835 #, fuzzy msgid "Select all" msgstr "Odaberi &sve" #: ../src/Preferences.cpp:839 #, fuzzy msgid "Deselect all" msgstr "&Deselektiraj sve \tCtrl-Z" #: ../src/Preferences.cpp:843 #, fuzzy msgid "Invert selection" msgstr "&Okreni izbor\tCtrl-I" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "" #: ../src/Preferences.cpp:863 #, fuzzy msgid "Close window" msgstr "Novi &prozor\tF3" #: ../src/Preferences.cpp:867 #, fuzzy msgid "Print file" msgstr "Ispiši" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Traži" #: ../src/Preferences.cpp:875 #, fuzzy msgid "Search previous" msgstr "Traži ikone u" #: ../src/Preferences.cpp:879 #, fuzzy msgid "Search next" msgstr "Traži" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 #, fuzzy msgid "Vertical panels" msgstr "&Desni panel" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 #, fuzzy msgid "Horizontal panels" msgstr "&Desni panel" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 #, fuzzy msgid "Refresh panels" msgstr "&Lijevi panel" #: ../src/Preferences.cpp:901 #, fuzzy msgid "Create new symbolic link" msgstr "Napravite novu datoteku:" #: ../src/Preferences.cpp:905 #, fuzzy msgid "File properties" msgstr "Svojstva" #: ../src/Preferences.cpp:909 #, fuzzy msgid "Move files to trash" msgstr "Premjesti u smeće" #: ../src/Preferences.cpp:913 #, fuzzy msgid "Restore files from trash" msgstr "Izbriši iz kante za smeće" #: ../src/Preferences.cpp:917 #, fuzzy msgid "Delete files" msgstr "Obriši direktorij" #: ../src/Preferences.cpp:921 #, fuzzy msgid "Create new window" msgstr "Napravite novu datoteku:" #: ../src/Preferences.cpp:925 #, fuzzy msgid "Create new root window" msgstr "Napravi novi direktorij:" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Izvrši naredbu" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "" #: ../src/Preferences.cpp:938 #, fuzzy msgid "Mount file system (Linux only)" msgstr "Montirnje datotečnog sistema..." #: ../src/Preferences.cpp:942 #, fuzzy msgid "Unmount file system (Linux only)" msgstr "Demontiranje datotečnog sistema ..." #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "" #: ../src/Preferences.cpp:950 #, fuzzy msgid "Tree and panel mode" msgstr "D&rvo i panel \tCtrl-F2" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "" #: ../src/Preferences.cpp:958 #, fuzzy msgid "Tree and two panels mode" msgstr "D&rvo i dva panela \tCtrl-F4" #: ../src/Preferences.cpp:962 #, fuzzy msgid "Clear location bar" msgstr "&Lokacijska traka" #: ../src/Preferences.cpp:966 #, fuzzy msgid "Rename file" msgstr "Preimenuj" #: ../src/Preferences.cpp:970 #, fuzzy msgid "Copy files to location" msgstr "\tIdi\tIdi na lokaciju." #: ../src/Preferences.cpp:974 #, fuzzy msgid "Move files to location" msgstr "\tIdi\tIdi na lokaciju." #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "" #: ../src/Preferences.cpp:982 #, fuzzy msgid "Add bookmark" msgstr "&Dodaj zabilješku \tCtrl-B" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "" #: ../src/Preferences.cpp:990 #, fuzzy msgid "Switch panels" msgstr "&Desni panel" #: ../src/Preferences.cpp:994 #, fuzzy msgid "Go to trash can" msgstr "Isprazni kantu" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Isprazni kantu" #: ../src/Preferences.cpp:1002 #, fuzzy msgid "View" msgstr "Pogled:" #: ../src/Preferences.cpp:1006 #, fuzzy msgid "Edit" msgstr "Uredi:" #: ../src/Preferences.cpp:1014 #, fuzzy msgid "Toggle display hidden folders" msgstr "Prikaži skrivene direktorije" #: ../src/Preferences.cpp:1018 #, fuzzy msgid "Filter files" msgstr "Vrijeme datoteke" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "" #: ../src/Preferences.cpp:1059 #, fuzzy msgid "Create new document" msgstr "Napravi novi direktorij:" #: ../src/Preferences.cpp:1063 #, fuzzy msgid "Save changes to file" msgstr "Snimi %s u datoteku?" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 #, fuzzy msgid "Goto line" msgstr "Idi na liniju" #: ../src/Preferences.cpp:1071 #, fuzzy msgid "Undo last change" msgstr "Zadnja promjena:" #: ../src/Preferences.cpp:1075 #, fuzzy msgid "Redo last change" msgstr "Datoteka je promijenjena" #: ../src/Preferences.cpp:1079 #, fuzzy msgid "Replace string" msgstr "Zamijeni" #: ../src/Preferences.cpp:1083 #, 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:1087 #, fuzzy msgid "Toggle line numbers mode" msgstr "&Idi na liniju broj:" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "" #. Confirmation message #: ../src/Preferences.cpp:1114 #, 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:1115 msgid "Restore default key bindings" msgstr "" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Restart" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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/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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Zatvori" #: ../src/SearchPanel.cpp:165 #, fuzzy msgid "Refresh panel" msgstr "&Lijevi panel" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 #, fuzzy msgid "Copy selected files to clipboard" msgstr "\tKopiraj odabrane datoteke u međuspremnik (Ctrl-C)" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 #, fuzzy msgid "Cut selected files to clipboard" msgstr "\tIzreži odabrane datoteke u međuspremnik (Ctrl-X)" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 #, fuzzy msgid "Show properties of selected files" msgstr "\tPrikaži svojstva odabrane datoteke (F9)" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 #, fuzzy msgid "Move selected files to trash can" msgstr "\tPomjeri odabrane datoteke u smeće (Del, F8)" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 #, fuzzy msgid "Delete selected files" msgstr "\tObriši odabrane datoteke (Shift-Del)" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Pu&na lista datoteka" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnoriši velika/mala slova" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "" #: ../src/SearchPanel.cpp:2421 #, fuzzy msgid "&Packages query " msgstr "Upit &paketa" #: ../src/SearchPanel.cpp:2435 #, fuzzy msgid "&Go to parent folder" msgstr "Korijenski direktorij" #: ../src/SearchPanel.cpp:3658 #, fuzzy, c-format msgid "Copy %s items" msgstr " stavki iz: " #: ../src/SearchPanel.cpp:3674 #, fuzzy, c-format msgid "Move %s items" msgstr " stavki iz: " #: ../src/SearchPanel.cpp:3690 #, fuzzy, c-format msgid "Symlink %s items" msgstr " stavki iz: " #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr " Stavke" #: ../src/SearchPanel.cpp:4299 #, fuzzy msgid "1 item" msgstr " Stavke" #: ../src/SearchWindow.cpp:71 #, fuzzy msgid "Find files:" msgstr "Ispiši" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:79 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr "\tPrikaži skrivene datoteke \tPrikaži skrivene datoteke i direktorije." #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "In folder:" msgstr "Premjesti direktorij " #: ../src/SearchWindow.cpp:86 #, fuzzy msgid "\tIn folder..." msgstr "Novi &direktorij..." #: ../src/SearchWindow.cpp:89 #, fuzzy msgid "Text contains:" msgstr "Font teksta:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "More options" msgstr "Traži ikone u" #: ../src/SearchWindow.cpp:98 #, fuzzy msgid "Search options" msgstr "Traži ikone u" #: ../src/SearchWindow.cpp:99 #, fuzzy msgid "Reset\tReset search options" msgstr "Traži ikone u" #: ../src/SearchWindow.cpp:115 #, fuzzy msgid "Min size:" msgstr "Ispiši" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "Vrijeme datoteke" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 #, fuzzy msgid "Max size:" msgstr "Ukupna veličina:" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "Vrijeme datoteke" #. Modification date #: ../src/SearchWindow.cpp:126 #, fuzzy msgid "Last modified before:" msgstr "Zadnja izmjena:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:131 #, fuzzy msgid "Last modified after:" msgstr "Zadnja izmjena:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:137 #, fuzzy msgid "User:" msgstr "Korisnik: " #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "\tFilter by user name" msgstr "Vrijeme datoteke" #: ../src/SearchWindow.cpp:142 #, fuzzy msgid "Group:" msgstr "Grupa:" #: ../src/SearchWindow.cpp:145 #, fuzzy msgid "\tFilter by group name" msgstr "Vrijeme datoteke" #. File type #: ../src/SearchWindow.cpp:178 #, fuzzy msgid "File type:" msgstr "Datotečni sistem:" #: ../src/SearchWindow.cpp:181 #, fuzzy msgid "File" msgstr "Datoteka :" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:187 #, fuzzy msgid "\tFilter by file type" msgstr "Vrijeme datoteke" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 #, fuzzy msgid "Permissions:" msgstr "Dozvole: " #: ../src/SearchWindow.cpp:194 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Dozvole datoteke" #. Empty files #: ../src/SearchWindow.cpp:197 #, fuzzy msgid "Empty files:" msgstr "Prikaži datoteke:" #: ../src/SearchWindow.cpp:198 #, fuzzy msgid "\tEmpty files only" msgstr "Prikaži datoteke:" #: ../src/SearchWindow.cpp:202 #, fuzzy msgid "Follow symbolic links:" msgstr "Napravite novu datoteku:" #: ../src/SearchWindow.cpp:203 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Napravite novu datoteku:" #: ../src/SearchWindow.cpp:207 #, fuzzy msgid "Non recursive:" msgstr "Rekruzivno" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:212 #, fuzzy msgid "Ignore other file systems:" msgstr "Demontiranje datotečnog sistema ..." #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:782 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Traži ikone u" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 #, fuzzy msgid " items" msgstr " Stavke" #: ../src/SearchWindow.cpp:938 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Traži ikone u" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:973 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "Traži" #: ../src/SearchWindow.cpp:1147 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:201 #: ../src/XFileImage.cpp:327 ../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:808 #, fuzzy msgid "&Vertical panels" msgstr "&Desni panel" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 #, 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:781 msgid "&Thumbnails" msgstr "&Sličice" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "S&meće" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "Izvršava se Xfe kao root!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Ne može se izbrisati direktorij" #: ../src/XFileExplorer.cpp:2274 #, fuzzy, c-format msgid "Can't create Xfe config folder %s" msgstr "Ne može se izbrisati direktorij" #: ../src/XFileExplorer.cpp:2296 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "Nema globalne xferc datoteke! Molimo odaberite konfiguracijsku datoteku ..." #: ../src/XFileExplorer.cpp:2300 msgid "XFE configuration file" msgstr "XFE konfiguracijska datoteka" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, 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:2339 ../src/XFileExplorer.cpp:3992 #, 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:2357 ../src/XFileExplorer.cpp:4005 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "" #: ../src/XFileExplorer.cpp:2361 ../src/XFileExplorer.cpp:4007 #, 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:3181 msgid "Help" msgstr "Pomoć" #: ../src/XFileExplorer.cpp:3211 #, fuzzy, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer Verzija" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "" #: ../src/XFileExplorer.cpp:3214 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" "Finnish: Kimmo Siira\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:3246 #, fuzzy msgid "About X File Explorer" msgstr "&O X File Exploreru" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Execute the command:" msgstr "Izvršiti naredbu:" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Console mode" msgstr "Konzolni režim" #: ../src/XFileExplorer.cpp:3896 #, fuzzy msgid "Search files and folders" msgstr "" "&Skrivene datoteke\tCtrl-F6 \tPrikaži skrivene datoteke i direktorije. (Ctrl-" "F6)" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Želite li zaista zatvoriti Xfe?" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr " u " #: ../src/XFileExplorer.cpp:3959 #, 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:4049 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" #: ../src/XFileExplorer.cpp:4051 #, fuzzy msgid "Trash size" msgstr "Ukupna veličina:" #: ../src/XFileExplorer.cpp:4058 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Izvor %s nije čitljiv" #: ../src/XFileExplorer.cpp:4512 ../src/XFileExplorer.cpp:4586 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Ne može se izbrisati direktorij" #: ../src/XFileExplorer.cpp:4591 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "&Povezivanje datoteke" #: ../src/XFileExplorer.cpp:4596 #, fuzzy, c-format msgid "File association not found: %s" msgstr "&Povezivanje datoteke" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Postavke" #: ../src/XFilePackage.cpp:213 #, fuzzy msgid "Open package file" msgstr "\tOtviri paket datoteku (Ctrl-O)" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 #, fuzzy msgid "&Open..." msgstr "&Otvori" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 #, fuzzy msgid "&Toolbar" msgstr "&Alati" #. Help Menu entries #: ../src/XFilePackage.cpp:235 #, fuzzy msgid "&About X File Package" msgstr "O X File Paketu" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "&Deinstaliraj" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Instalacija/Nadogradnja" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "&Opis" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "&Lista datoteka" #: ../src/XFilePackage.cpp:304 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" #: ../src/XFilePackage.cpp:306 msgid "About X File Package" msgstr "O X File Paketu" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "RPM Izvorni paketi" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "RPM paketi" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "Deb paketi" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Otvori dokument" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Nijedan paket nije učitan " #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Paket nepoznatog formata" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Instalacija/Unaprijeđenje Paketa" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Deinstaliraj Paket" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[RPM paket] \n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[Deb paket] \n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "Upit %s nije uspio!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../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:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Dokument se ne može otvoriti:%s" #. Usage message #: ../src/XFilePackage.cpp:719 #, 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:182 msgid "GIF Image" msgstr "GIF Slika" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "BMP Slika" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "XPM slika" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "PCX Slika" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "ICO Slika" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "RGB Slika" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "XBM Slika" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "TARGA Slika" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "PPM Slika" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "PNG Slika" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "JPEG Slika" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "TIFF Slika" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "&Slika" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 #, fuzzy msgid "Open" msgstr "Otvori:" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 #, fuzzy msgid "Open image file." msgstr "Otvori sliku" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Ispiši" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 #, 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:660 #, fuzzy msgid "Zoom in" msgstr "Idi na liniju" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "" #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "" #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "" #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "" #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "" #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "" #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 #, fuzzy msgid "&Print..." msgstr "Ispiši" #: ../src/XFileImage.cpp:721 #, fuzzy msgid "&Clear recent files" msgstr "&Izbriši Nedavne Dokumente" #: ../src/XFileImage.cpp:721 #, fuzzy msgid "Clear recent file menu." msgstr "&Izbriši Nedavne Dokumente" #: ../src/XFileImage.cpp:727 #, fuzzy msgid "Quit Xfi." msgstr "Zatvaranje Xfe" #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "" #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "" #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "" #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "" #: ../src/XFileImage.cpp:775 #, fuzzy msgid "Show hidden files and folders." msgstr "" "&Skrivene datoteke\tCtrl-F6 \tPrikaži skrivene datoteke i direktorije. (Ctrl-" "F6)" #: ../src/XFileImage.cpp:781 #, fuzzy msgid "Show image thumbnails." msgstr "\tPrikaži sličice" #: ../src/XFileImage.cpp:789 #, fuzzy msgid "Display folders with big icons." msgstr "\tPrikaži ikone \tPrikaži direktorij sa velikim ikonama." #: ../src/XFileImage.cpp:795 #, fuzzy msgid "Display folders with small icons." msgstr "\tPrikaži listu \tPrikaži direktorij sa malim ikonama." #: ../src/XFileImage.cpp:801 #, fuzzy msgid "&Detailed file list" msgstr "Pu&na lista datoteka" #: ../src/XFileImage.cpp:801 #, fuzzy msgid "Display detailed folder listing." msgstr "\tPrikaži detalje \tPrikaži detaljni popis direktorija." #: ../src/XFileImage.cpp:817 #, fuzzy msgid "View icons row-wise." msgstr "&Redovi ikona \t\tVidi po redovima." #: ../src/XFileImage.cpp:818 #, fuzzy msgid "View icons column-wise." msgstr "&Kolone ikona\t\tVidi po kolonama." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "" #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 #, fuzzy msgid "Display toolbar." msgstr "Ala&tna traka\t\tPrikaži alatnu traku." #: ../src/XFileImage.cpp:823 #, fuzzy msgid "&File list" msgstr "&Lista datoteka" #: ../src/XFileImage.cpp:823 #, fuzzy msgid "Display file list." msgstr "&Lista datoteka\t\tPrikaži listu datoteka." #: ../src/XFileImage.cpp:824 #, fuzzy msgid "File list &before" msgstr "Boja isticanja popisa datoteka" #: ../src/XFileImage.cpp:824 #, fuzzy msgid "Display file list before image window." msgstr "\tPrikaži ikone \tPrikaži direktorij sa velikim ikonama." #: ../src/XFileImage.cpp:825 #, fuzzy msgid "&Filter images" msgstr "Vrijeme datoteke" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "" #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "" #: ../src/XFileImage.cpp:826 #, 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:831 #, fuzzy msgid "&About X File Image" msgstr "O X File Image" #: ../src/XFileImage.cpp:831 #, fuzzy msgid "About X File Image." msgstr "O X File Image" #: ../src/XFileImage.cpp:1333 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:1335 msgid "About X File Image" msgstr "O X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Greška pri učitavanju slike" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Nepodržani tip:%s" #: ../src/XFileImage.cpp:1464 #, fuzzy msgid "Unable to load image, the file may be corrupted" msgstr "Nije moguće učitati cijeli dokument:%s" #: ../src/XFileImage.cpp:1504 #, 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:1619 msgid "Open Image" msgstr "Otvori sliku" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Komanda za štampanje: \n" "(primjer: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Pogreška pri spašavanju datoteke" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "Dokument se ne može otvoriti:%s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "Datoteka je prevelika:%s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "Dokument: %s skraćen." #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "Neimenovano" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "Neimenovan %d" #: ../src/WriteWindow.cpp:1477 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" #: ../src/WriteWindow.cpp:1479 msgid "About X File Write" msgstr "O X File Write " #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Promjena fonta" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Tekst datoteke" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "C Izvorne datoteke" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "C ++ Izvorne datoteke" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "C/C++ datoteke zaglavlja" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "HTML datoteke" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "PHP datoteke" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Nespremljeni Dokument" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "Snimi %s u datoteku?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Snimi dokument" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Prebriši Dokument" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "Prebriši postojeći dokument: %s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (promjenjen)" #: ../src/WriteWindow.cpp:1851 #, fuzzy msgid " (read only)" msgstr "Samo za čitanje" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "Datoteka je promijenjena" #: ../src/WriteWindow.cpp:2071 #, 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:2132 msgid "Replace" msgstr "Zamijeni" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Idi na liniju" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "&Idi na liniju broj:" #. Usage message #: ../src/XFileWrite.cpp:217 #, 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "Nije moguće kopiranje direktorija " #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "bajtova" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 #, fuzzy msgid "copy" msgstr "Kopiranje datoteke" #: ../src/xfeutils.cpp:1413 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "Ne može se izbrisati direktorij %s" #: ../src/xfeutils.cpp:1417 #, 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) !" #~ msgid "&Themes" #~ msgstr "&Teme" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "Potvrdi brisanje" #~ msgid "KB" #~ msgstr "KB" #, 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?" #, 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?" #, 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?" #~ 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?" #~ 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?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ msgstr "Dogodila se greška pri operaciji symlink!" #, 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 "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.44/po/zh_TW.po0000644000200300020030000056572714023353061011161 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: 2021-03-14 10:23+0100\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:333 #, 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:467 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "警告:不明面板模式,還原成上一次儲存的面板模式\n" #: ../src/main.cpp:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "載入圖示時發生錯誤 " #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "無法載入某些圖示。請檢查您的圖示路徑!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" msgstr "無法載入某些圖示。請檢查您的圖示路徑!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "屬性" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "一般(&G)" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "資料夾" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "字元裝置" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "區段裝置" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "具名管道" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "通訊端" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "可執行檔案" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "文件" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "中斷的連結" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 #, fuzzy msgid "Link to " msgstr "連結到 " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "位置:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "型態:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu 位元組)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu 位元組)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "大小:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "選擇:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "多重類型" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d 個項目" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d 個檔案,%d 個資料夾" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d 個檔案,%d 個資料夾" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d 個檔案,%d 個資料夾" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d 個檔案,%d 個資料夾" #: ../src/Properties.cpp:1252 #, fuzzy msgid "Change properties of the selected folder?" msgstr "顯示已選檔案的屬性" #: ../src/Properties.cpp:1256 #, fuzzy msgid "Change properties of the selected file?" msgstr "顯示已選檔案的屬性" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 #, fuzzy msgid "Confirm Change Properties" msgstr "檔案屬性" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "警告" #: ../src/Properties.cpp:1401 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "取消移動檔案作業!" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "檔案名稱為空,作業取消!" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "檔案名稱為空,作業取消!" #. Error message box #. Error #: ../src/Properties.cpp:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "無法寫入 %s:權限被拒絕" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "資料夾 %s 不存在" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "檔案重新命名" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "檔案擁有者" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "取消變更擁有者!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "在 %s 中 chown 失敗:%s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "在 %s 中 chown 失敗" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "設定特殊權限可能不太安全!您真的要做嗎?" #: ../src/Properties.cpp:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "在 %s 中 chmod 失敗:%s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "檔案權限" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "取消變更檔案權限!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "在 %s 中 chmod 失敗" #: ../src/Properties.cpp:1628 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " 在已選項目之中" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "取消變更檔案權限!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "選取可執行檔" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "所有檔案" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "PNG 圖像" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "GIF 圖像" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "BMP 圖像" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "選取圖示檔案" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%u 個檔案,%u 個資料夾" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%u 個檔案,%u 個資料夾" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%u 個檔案,%u 個資料夾" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u 個檔案,%u 個資料夾" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "複製到此" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "移動到此" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "連結到此" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "取消" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "檔案複製" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "檔案移動" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "檔案符號連結" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "複製" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "複製 %s 檔案/資料夾。\n" "從:%s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "移動" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "移動 %s 檔案/資料夾。\n" "從:%s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "符號連結" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "到:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "移動檔案作業期間發生了錯誤!" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "取消移動檔案作業!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "複製檔案作業期間發生了錯誤!" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "取消複製檔案作業!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "掛載點 %s 並未反應中…" #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "0 位元組於根目錄" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 #, fuzzy msgid "Panel is active" msgstr "面板具有焦點" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 #, fuzzy msgid "Activate panel" msgstr "切換面板" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "加入壓縮檔(&A)…" #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "複製(&C)" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "剪下(&U)" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "貼上(&P)" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "移動到(&M)…" #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, fuzzy, c-format msgid "Can't enter folder %s: %s" msgstr "無法刪除資料夾 %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, fuzzy, c-format msgid "Can't enter folder %s" msgstr "無法建立資料夾 %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 msgid "File name is empty, operation cancelled" msgstr "檔案名稱為空,作業取消!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "建立壓縮檔" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "複製 " #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "複製 %s 項目自:%s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "重新命名" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "重新命名 " #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "複製到" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "移動 " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "移動 %s 項目自:%s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "符號連結 " #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "符號連結 %s 項目自:%s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s 並非資料夾" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "符號連結作業期間發生了錯誤!" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "符號連結作業取消!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "確定要刪除資料夾 %s?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "確認刪除" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "檔案刪除" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "資料夾 %s 不為空,無論如何都要刪除它?" #: ../src/DirPanel.cpp:2264 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "資料夾 %s 禁止寫入,無論如何都要刪除它?" #: ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "取消刪除資料夾作業!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "移動資料夾 %s 到回收筒?" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "確認回收筒" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "丟進回收筒" #: ../src/DirPanel.cpp:2360 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "資料夾 %s 為防寫的,無論如何還是要移動它到回收筒?" #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "丟進回收筒作業期間發生了錯誤!" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "取消丟進回收筒資料夾作業!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "從回收筒還原" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "還原資料夾 %s 到它的原來位置 %s?" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "確認還原" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "還原資訊無法用於 %s" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, fuzzy, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "上層目錄 %s 不存在,您要建立它嗎?" #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "無法建立資料夾 %s:%s " #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "無法建立資料夾 %s" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 msgid "An error has occurred during the restore from trash operation!" msgstr "回收筒還原作業期間發生了錯誤!" #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "取消回收筒檔案還原作業!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "建立新的資料夾:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "新資料夾" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "檔案名稱為空,作業取消!" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "執行命令" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "掛載" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "卸載" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " 檔案系統…" #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " 資料夾:" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " 作業取消!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 msgid "Delete:" msgstr "刪除:" #: ../src/File.cpp:136 msgid "From:" msgstr "從:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "變更權限…" #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "檔案:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "確認覆寫" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "無法複製檔案 %s:%s " #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "無法複製檔案 %s" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "來源:" #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "目標:" #: ../src/File.cpp:604 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "無法保留複製檔案 %s 時的日期:%s" #: ../src/File.cpp:608 #, c-format msgid "Can't preserve date when copying file %s" msgstr "無法保留複製檔案 %s 時的日期" #: ../src/File.cpp:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "無法複製資料夾 %s:權限被拒絕" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "無法複製檔案 %s:權限被拒絕" #: ../src/File.cpp:791 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "無法保留複製資料夾 %s 時的日期:%s" #: ../src/File.cpp:795 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "無法於複製資料夾 %s 時保留資料" #: ../src/File.cpp:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "來源 %s 不存在" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "來源 %s 與目標完全相同" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1048 #, fuzzy msgid "Delete folder: " msgstr "刪除資料夾:" #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "從:" #: ../src/File.cpp:1095 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "無法刪除資料夾 %s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "無法刪除資料夾 %s" #: ../src/File.cpp:1160 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "無法刪除檔案 %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "無法刪除檔案 %s" #: ../src/File.cpp:1213 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "檔案或資料夾 %s 已經存在" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "無法重新以目標 %s 命名" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "無法符號連結 %s:%s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "無法符號連結 %s" #: ../src/File.cpp:1655 ../src/File.cpp:1852 #, fuzzy msgid "Folder: " msgstr "資料夾:" #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "解開壓縮檔" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "加入到壓縮檔" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "失敗的命令:%s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "成功" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "資料夾 %s 已成功掛載。" #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "資料夾 %s 已成功卸載。" #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "安裝/升級套件" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "正在安裝套件:%s \n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "解除安裝套件" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 #, fuzzy msgid "Go to previous folder" msgstr "移動到前一個資料夾。" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 #, fuzzy msgid "Go to next folder" msgstr "移動到後一個資料夾。" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 #, fuzzy msgid "Go to parent folder" msgstr "前往上層目錄:" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "前往個人資料夾" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 msgid "Go to working folder" msgstr "前往工作資料夾。" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "新資料夾" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "大圖示列表" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "小圖示列表" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "完整檔案列表" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "顯示隱藏檔案" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "隱入隱藏檔案" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "顯示縮圖" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 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:3758 msgid "New File" msgstr "新檔案" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "檔案或資料夾 %s 已經存在" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "前往個人資料夾(&M)" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "新資料夾(&O)…" #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "隱藏檔案(&H)" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "縮圖(&B)" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "大圖示(&I)" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "小圖示(&S)" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "完整檔案列表" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "列(&R)" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "欄(&C)" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "自動調整大小" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "名稱(&N)" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "大小(&Z)" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "型態(&T)" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "擴充檔名(&X)" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "日期(&D)" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "使用者(&U)" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "群組(&G)" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 #, fuzzy msgid "Fold&ers first" msgstr "資料夾" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "反向排序(&V)" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "字族(&F):" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "字重(&W):" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "字體(&S):" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "大小(&Z):" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "字元裝置" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "任何" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "西歐" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "東歐" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "南歐" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "北歐" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "斯拉夫語" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "阿拉伯語" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "希臘語" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "希伯來語" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "土耳其語" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "北歐語" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "泰語" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "波羅的海語" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "塞爾特語" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "俄語" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "中歐 (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "俄語 (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "拉丁語一 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "希臘語 (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "土耳其語 (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "希伯來語 (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "阿拉伯語 (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "波羅的海語 (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "越南 (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "泰語 (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "設定寬度:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "超壓縮" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "特壓縮" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "壓縮" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "半壓縮" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "一般" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "半寬" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "寬" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "特寬" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "超寬" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "間距:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "固定的" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "變動的" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "可伸縮的:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "所有字型:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "預覽:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "以 root 身分啟動 Xfe" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "否(&N)" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "是(&Y)" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "離開(&Q)" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "儲存(&S)" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "全部確定(&A)" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "輸入使用者密碼:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "輸入 Root 密碼:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "發生了錯誤!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "名稱:" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "大小於根目錄" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "型態:" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "修改日期:" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "使用者:" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "群組:" #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "權限:" #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "原始路徑:" #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "刪除日期:" #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "大小:" #: ../src/FileList.cpp:151 msgid "Size" msgstr "大小" #: ../src/FileList.cpp:152 msgid "Type" msgstr "型態" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "擴充檔名" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "修改日期" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "權限" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "無法載入圖像" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "原始路徑" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "刪除日期" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "篩選器" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "狀態" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:1035 ../src/SearchPanel.cpp:790 #, 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "命令記錄檔" #: ../src/FilePanel.cpp:1832 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "檔案名稱為空,作業取消!" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "到資料夾:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "無法寫入回收筒位置 %s:權限被拒絕" #: ../src/FilePanel.cpp:2408 ../src/SearchPanel.cpp:2936 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "移動資料夾 %s 到回收筒?" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "移動 %s 已選項目到回收筒?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "檔案 %s 為防寫,無論如何還是要移動它到回收筒?" #: ../src/FilePanel.cpp:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "取消丟進回收筒的檔案作業!" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "還原檔案 %s 到它的原來位置 %s?" #: ../src/FilePanel.cpp:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "復原 %s 已選項目到原來位置?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "無法建立資料夾 %s:%s " #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "確定要刪除資料夾 %s?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr "確定要刪除 %s 已選項目? " #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "檔案 %s 為防寫,無論如何都要刪除它?" #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "取消刪除檔案作業!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3758 msgid "Create new file:" msgstr "建立新的檔案:" #: ../src/FilePanel.cpp:3794 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "無法建立資料夾 %s:%s " #: ../src/FilePanel.cpp:3798 #, fuzzy, c-format msgid "Can't create file %s" msgstr "無法建立資料夾 %s" #: ../src/FilePanel.cpp:3813 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "無法符號連結 %s:%s" #: ../src/FilePanel.cpp:3817 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "無法寫入 %s:權限被拒絕" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "建立新的符號連結:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "新的符號連結" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "選取符號連結所參考的檔案或資料夾" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "符號連結來源 %s 不存在" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "開啟已選檔案經由:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "開啟方式" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "關聯(&S)" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "顯示檔案:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "新檔案(&F)…" #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "新增符號連結(&Y)…" #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "篩選器(&L)…" #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "完整檔案列表(&F)" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "權限(&M)" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "新檔案(&W)…" #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "掛載(&M)" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "開啟方式(&W)…" #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "開啟(&O)" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 #, fuzzy msgid "Extr&act to folder " msgstr "解壓到資料夾(&A) " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "在此解壓(&E)" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "解壓到(&X)…" #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "檢視(&V)" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "安裝/升級(&G)" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "解除安裝(&I)" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "編輯(&E)" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 #, fuzzy msgid "Com&pare..." msgstr "置換(&R)…" #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4672 #, fuzzy msgid "Packages &query " msgstr "套件查詢(&Q)" #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 #, fuzzy msgid "Scripts" msgstr "描述(&D)" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 #, fuzzy msgid "&Go to script folder" msgstr "前往上層目錄:" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "複製到(&T)…" #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 #, fuzzy msgid "M&ove to trash" msgstr "丟進回收筒" #: ../src/FilePanel.cpp:4695 #, fuzzy msgid "Restore &from trash" msgstr "從回收筒還原" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 #, fuzzy msgid "Compare &sizes" msgstr "來源:" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 #, fuzzy msgid "P&roperties" msgstr "屬性" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "選取目的地資料夾" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "所有檔案" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "套件安裝/升級" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "套件解除安裝" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, fuzzy, c-format msgid "Error: Fork failed: %s\n" msgstr "錯誤!衍生失敗:%s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "無法建立資料夾 %s:%s " #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "無法建立資料夾 %s" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "找不到相容的套件管理員 (rpm 或 dpkg)!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr "檔案 %s 屬於套件:%s" #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "資訊" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, c-format msgid "File %s belongs to the package: %s" msgstr "檔案 %s 屬於套件:%s" #. Make and show command window #: ../src/FilePanel.cpp:6220 ../src/SearchPanel.cpp:2887 #, fuzzy msgid "Sizes of Selected Items" msgstr "%s 在 %s 已選檔案之中" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 位元組" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s 在 %s 已選檔案之中" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s 在 %s 已選檔案之中" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s 在 %s 已選檔案之中" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s 在 %s 已選檔案之中" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " 資料夾:" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d 個檔案,%d 個資料夾" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d 個檔案,%d 個資料夾" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d 個檔案,%d 個資料夾" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "連結" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "關閉(&O)" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "無法刪除檔案 %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 #, fuzzy msgid "Can't duplicate pipes" msgstr "無法刪除檔案 %s" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> 命令已取消 <<<<" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "偏好設定" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "目前佈景主題" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "選項" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "使用回收筒來刪除檔案 (安全刪除)" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "包含命令以略過回收筒 (永久刪除)" #: ../src/Preferences.cpp:185 msgid "Auto save layout" msgstr "自動儲存版面配置" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "儲存視窗位置" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Single click folder open" msgstr "單擊開啟檔案" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "單擊開啟檔案" #: ../src/Preferences.cpp:189 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "在檔案和目錄列表中顯示工具提示" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "相對的調整檔案列表的大小" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "顯示檔案列表上的路徑鏈結器" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "應用程式開始時通知" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "確認刪除" #: ../src/Preferences.cpp:198 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:213 #, fuzzy msgid "Start in home folder" msgstr "前往個人目錄:" #: ../src/Preferences.cpp:214 #, fuzzy msgid "Start in current folder" msgstr "前往上層目錄:" #: ../src/Preferences.cpp:215 #, fuzzy msgid "Start in last visited folder" msgstr "顯示隱藏檔案和目錄。" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "在檔案列表和文字視窗中平滑捲動" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "滑鼠捲動速度:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "進度條顏色" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "根目錄模式" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "允許根目錄模式" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "認證使用 sudo (使用使用者密碼)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "認證使用 su (使用 root 密碼)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "失敗的命令:%s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "執行命令" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "對話框(&D)" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "確認" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "確認複製/移動/重新命名/符號連結" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "確認拖放" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "確認丟進回收筒/從回收筒還原" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "確認刪除" #: ../src/Preferences.cpp:331 #, fuzzy msgid "Confirm delete non empty folders" msgstr "確認刪除非空目錄" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "確認覆寫" #: ../src/Preferences.cpp:333 #, fuzzy msgid "Confirm execute text files" msgstr "確認刪除" #: ../src/Preferences.cpp:334 #, fuzzy msgid "Confirm change properties" msgstr "檔案屬性" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "警告" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "掛載點無反應時發出警告" #: ../src/Preferences.cpp:340 #, fuzzy msgid "Display mount / unmount success messages" msgstr "顯示掛載/卸載成功訊息" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "以 root 身分執行時發出警告" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "程式(&P)" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "預設程式" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "文字檢視器:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "文字編輯器:" #: ../src/Preferences.cpp:405 #, fuzzy msgid "File comparator:" msgstr "檔案權限" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "圖像編輯器:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "圖像檢視器:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "壓縮管理器" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "PDF 檢視器:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "音訊播放器:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "視訊播放器:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "終端機程式:" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 #, fuzzy msgid "Mount:" msgstr "掛載" #: ../src/Preferences.cpp:462 #, fuzzy msgid "Unmount:" msgstr "卸載" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "顏色主題" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "自訂的顏色" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "連按兩下以自訂顏色" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "基底顏色" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "邊緣顏色" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "背景顏色" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "文字顏色" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "選擇區背景顏色" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "選取文字顏色" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "檔案列表背景顏色" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "檔案列表文字顏色" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "檔案列表高亮度顏色" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "進度條顏色" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "注意顏色" #: ../src/Preferences.cpp:500 #, fuzzy msgid "Scrollbar color" msgstr "進度條顏色" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "控制元件" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "標準 (傳統控制項)" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (現代外觀控制項)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "圖示佈景主題路徑" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\t選取路徑…" #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "字型(&F)" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "字型" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "一般字型:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " 選取…" #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "文字字型:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "按鍵組合(&K)" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "按鍵組合" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "修改按鍵組合…" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "還原預設按鍵組合…" #: ../src/Preferences.cpp:634 msgid "Select an icon theme folder or an icon file" msgstr "選取圖示主題路徑或圖示檔案" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "變更一般字型" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "變更文字字型" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "建立新的檔案" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "建立新的資料夾" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "複製到剪貼簿" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "剪下至剪貼簿" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "從剪貼簿貼上" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "開啟檔案" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "離開應用程式" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "全選" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "全不選" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "反向選取" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "顯示說明" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "切換顯示隱藏檔案" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "切換顯示縮圖" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "關閉視窗" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "列印檔案" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "搜尋" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "向前搜尋" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "向後搜尋" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 #, fuzzy msgid "Vertical panels" msgstr "切換面板" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 #, fuzzy msgid "Horizontal panels" msgstr "切換面板" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "重新整理面板" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "建立新的符號連結" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "檔案屬性" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "丟進回收筒" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "從回收筒復原" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "刪除檔案" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "建立新的視窗" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "建立新的根目錄視窗" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "執行命令" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "啟動終端機" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "掛載檔案系統(只限於 Linux)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "卸載檔案系統(只限於 Linux)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "單一面板模式" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "目錄樹與面板模式" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "雙面板模式" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "目錄樹與雙面板模式" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "清除位置列" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "重新命名檔案" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "將檔案複製到" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "將檔案移動到" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "檔案符號連結到位置" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "加入書籤" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "同步面板" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "切換面板" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "前往回收筒" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "清空回收筒" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "檢視" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "編輯" #: ../src/Preferences.cpp:1014 #, fuzzy msgid "Toggle display hidden folders" msgstr "切換顯示隱藏檔案" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "篩選器檔案" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "縮放圖像到 100%" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "最適縮放視窗" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "向左旋轉圖像" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "向右旋轉圖像" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "水平鏡像圖像" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "垂直鏡像圖像" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "建立新的文件" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "儲存變更到檔案" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "前往列號" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "回復上次變更" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "重做上次變更" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "置換字串" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "切換字詞換列模式" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "切換列號模式" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "切換小寫模式" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "切換大寫模式" #. Confirmation message #: ../src/Preferences.cpp:1114 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:1115 msgid "Restore default key bindings" msgstr "還原預設按鍵組合" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "重新啟動" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "關閉(&C)" #: ../src/SearchPanel.cpp:165 #, fuzzy msgid "Refresh panel" msgstr "重新整理面板" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "複製已選檔案到剪貼簿" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "剪下已選檔案到剪貼簿" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "顯示已選檔案的屬性" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "移動已選檔案到回收筒" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "刪除已選檔案" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "完整檔案列表(&U)" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "忽略大小寫(&G)" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "自動調整大小(&A)" #: ../src/SearchPanel.cpp:2421 #, fuzzy msgid "&Packages query " msgstr "套件查詢(&Q)" #: ../src/SearchPanel.cpp:2435 #, fuzzy msgid "&Go to parent folder" msgstr "前往上層目錄:" #: ../src/SearchPanel.cpp:3658 #, fuzzy, c-format msgid "Copy %s items" msgstr "複製 %s 項目自:%s" #: ../src/SearchPanel.cpp:3674 #, fuzzy, c-format msgid "Move %s items" msgstr "移動 %s 項目自:%s" #: ../src/SearchPanel.cpp:3690 #, fuzzy, c-format msgid "Symlink %s items" msgstr "符號連結 %s 項目自:%s" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr " 項" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 項" #: ../src/SearchWindow.cpp:71 #, fuzzy msgid "Find files:" msgstr "列印檔案" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:79 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr "顯示隱藏檔案和目錄。" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "In folder:" msgstr "到資料夾:" #: ../src/SearchWindow.cpp:86 #, fuzzy msgid "\tIn folder..." msgstr "新資料夾(&F)…" #: ../src/SearchWindow.cpp:89 #, fuzzy msgid "Text contains:" msgstr "文字字型:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "More options" msgstr "向前搜尋" #: ../src/SearchWindow.cpp:98 #, fuzzy msgid "Search options" msgstr "向前搜尋" #: ../src/SearchWindow.cpp:99 #, fuzzy msgid "Reset\tReset search options" msgstr "向前搜尋" #: ../src/SearchWindow.cpp:115 #, fuzzy msgid "Min size:" msgstr "列印檔案" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "篩選器檔案" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 #, fuzzy msgid "Max size:" msgstr "總計大小:" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "篩選器檔案" #. Modification date #: ../src/SearchWindow.cpp:126 #, fuzzy msgid "Last modified before:" msgstr "上次修改日期:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:131 #, fuzzy msgid "Last modified after:" msgstr "上次修改日期:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:137 #, fuzzy msgid "User:" msgstr "使用者:" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "\tFilter by user name" msgstr "篩選器檔案" #: ../src/SearchWindow.cpp:142 #, fuzzy msgid "Group:" msgstr "群組:" #: ../src/SearchWindow.cpp:145 #, fuzzy msgid "\tFilter by group name" msgstr "篩選器檔案" #. File type #: ../src/SearchWindow.cpp:178 #, fuzzy msgid "File type:" msgstr "檔案系統:" #: ../src/SearchWindow.cpp:181 #, fuzzy msgid "File" msgstr "檔案:" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:187 #, fuzzy msgid "\tFilter by file type" msgstr "篩選器檔案" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 #, fuzzy msgid "Permissions:" msgstr "權限:" #: ../src/SearchWindow.cpp:194 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "檔案權限" #. Empty files #: ../src/SearchWindow.cpp:197 #, fuzzy msgid "Empty files:" msgstr "顯示檔案:" #: ../src/SearchWindow.cpp:198 #, fuzzy msgid "\tEmpty files only" msgstr "顯示檔案:" #: ../src/SearchWindow.cpp:202 #, fuzzy msgid "Follow symbolic links:" msgstr "建立新的符號連結:" #: ../src/SearchWindow.cpp:203 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "建立新的符號連結" #: ../src/SearchWindow.cpp:207 #, fuzzy msgid "Non recursive:" msgstr "遞迴地" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:212 #, fuzzy msgid "Ignore other file systems:" msgstr "卸載檔案系統…" #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:782 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "向前搜尋" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " 項" #: ../src/SearchWindow.cpp:938 #, fuzzy msgid ">>>> Search results <<<<" msgstr "向前搜尋" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:973 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "搜尋文字。" #: ../src/SearchWindow.cpp:1147 #, 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:201 #: ../src/XFileImage.cpp:327 ../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:808 #, fuzzy msgid "&Vertical panels" msgstr "切換面板(&I)" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 #, 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:781 msgid "&Thumbnails" msgstr "縮圖(&T)" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "回收筒(&R)" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "以 root 身分執行 Xfe!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "無法建立 Xfe 組配資料夾 %s:%s" #: ../src/XFileExplorer.cpp:2274 #, c-format msgid "Can't create Xfe config folder %s" msgstr "無法建立 Xfe 組態資料夾 %s" #: ../src/XFileExplorer.cpp:2296 msgid "No global xferc file found! Please select a configuration file..." msgstr "找不到系統 xferc 檔案!請選取組態檔案…" #: ../src/XFileExplorer.cpp:2300 msgid "XFE configuration file" msgstr "XFE 組態檔案" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "無法建立回收筒「檔案」資料夾 %s:%s" #: ../src/XFileExplorer.cpp:2339 ../src/XFileExplorer.cpp:3992 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "無法建立回收筒的「files」資料夾 %s" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "無法建立回收筒「資訊」資料夾 %s:%s" #: ../src/XFileExplorer.cpp:2361 ../src/XFileExplorer.cpp:4007 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "無法建立回收筒的「info」資料夾 %s" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "說明" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer 版本 %s" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "基於 Maxim Baranov 編寫的 X WinCommander\n" #: ../src/XFileExplorer.cpp:3214 #, 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" "Finnish: Kimmo Siira\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:3246 #, fuzzy msgid "About X File Explorer" msgstr "關於 X File Explorer(&A)" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 #, fuzzy msgid "&Panel" msgstr "面板(&P)" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Execute the command:" msgstr "執行命令:" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Console mode" msgstr "主控臺模式" #: ../src/XFileExplorer.cpp:3896 #, fuzzy msgid "Search files and folders" msgstr "顯示隱藏檔案和目錄。" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "您真的要離開 Xfe 嗎?" #: ../src/XFileExplorer.cpp:3958 #, fuzzy msgid " in " msgstr " 於根目錄" #: ../src/XFileExplorer.cpp:3959 #, fuzzy msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "您真的要清空回收筒嗎?\n" "\n" "所有項目將確定會失去!" #: ../src/XFileExplorer.cpp:4049 #, 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:4051 msgid "Trash size" msgstr "回收筒大小" #: ../src/XFileExplorer.cpp:4058 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "無法讀取回收筒的「檔案」資料夾 %s!" #: ../src/XFileExplorer.cpp:4512 ../src/XFileExplorer.cpp:4586 #, fuzzy, c-format msgid "Command not found: %s" msgstr "無法刪除資料夾 %s" #: ../src/XFileExplorer.cpp:4591 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "檔案關聯(&F)" #: ../src/XFileExplorer.cpp:4596 #, fuzzy, c-format msgid "File association not found: %s" msgstr "檔案關聯(&F)" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "偏好設定(&P)" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "開啟套件檔案" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "開啟(&O)…" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "工具(&T)" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "關於 X File Package(&A)" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "解除安裝(&U)" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "安裝/升級(&I)" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "描述(&D)" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "檔案列表(&L)" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "關於 X File Package" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "RPM 來源套件" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "RPM 套件" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "DEB 套件" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "開啟文件" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "沒有載入任何套件" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "不明的套件格式" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "安裝/升級套件" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "解除安裝套件" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[RPM 套件]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[DEB 套件]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "查詢 %s 失敗!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "載入檔案時發生錯誤 " #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "無法開啟檔案:%s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "GIF 圖像" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "BMP 圖像" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "XPM 圖像" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "PCX 圖像" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "ICO 圖像" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "RGB 圖像" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "XBM 圖像" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "TARGA 圖像" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "PPM 圖像" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "PNG 圖像" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "JPEG 圖像" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "TIFF 圖像" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "圖像(&I)" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "開啟" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "開啟圖像。" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "列印" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 msgid "Print image file." msgstr "印出圖像檔案。" #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:660 msgid "Zoom in" msgstr "放大" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "放大圖像。" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "縮小" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "縮小圖像。" #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "縮放 100%" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "縮放圖像到 100%。" #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "最適縮放" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "最適縮放視窗。" #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "向左旋轉" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "向左旋轉圖像。" #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "向右旋轉" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "向右旋轉圖像。" #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "水平鏡像" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "水平鏡像圖像。" #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "垂直鏡像" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "垂直鏡像圖像。" #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "列印(&P)…" #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "清空最近使用的檔案(&C)" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "清空最近使用的檔案選單。" #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "離開 Xfi。" #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "放大(&I)" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "縮小(&O)" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "縮放 100%(&M)" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "最適縮放視窗(&W)" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "向右旋轉(&R)" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "向右旋轉。" #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "向左旋轉(&L)" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "向左旋轉。" #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "水平鏡像(&H)" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "水平鏡像。" #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "垂直鏡像(&V)" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "垂直鏡像。" #: ../src/XFileImage.cpp:775 #, fuzzy msgid "Show hidden files and folders." msgstr "顯示隱藏檔案和目錄。" #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "顯示縮圖。" #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "以大圖示顯示資料夾。" #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "以小圖示顯示資料夾。" #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "完整檔案列表(&D)" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "顯示詳細的資料夾列表。" #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "逐列檢視圖示。" #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "逐欄檢視圖示。" #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "自動調整圖示名稱大小。" #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "顯示工具列。" #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "檔案列表(&F)" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "顯示檔案列表。" #: ../src/XFileImage.cpp:824 #, fuzzy msgid "File list &before" msgstr "檔案列表文字顏色" #: ../src/XFileImage.cpp:824 #, fuzzy msgid "Display file list before image window." msgstr "以大圖示顯示資料夾。" #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "篩選器圖像(&F)" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "只列出圖像檔。" #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "開啟時符合視窗(&W)" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "開啟圖像時縮放大小以配合視窗。" #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "關於 X File Image(&A)" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "關於 X File Image。" #: ../src/XFileImage.cpp:1333 #, 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:1335 msgid "About X File Image" msgstr "關於 X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "載入圖像時發生錯誤 " #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "未支援的型態:%s" #: ../src/XFileImage.cpp:1464 msgid "Unable to load image, the file may be corrupted" msgstr "無法載入圖像,檔案也許已損壞" #: ../src/XFileImage.cpp:1504 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "文字字型將於重新啟動之後變更。\n" "現在要重新啟動 X File Explorer?" #: ../src/XFileImage.cpp:1619 msgid "Open Image" msgstr "開啟圖像" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "列印命令:\n" "(例:lpr -P <印表機名稱>)" #. Usage message #: ../src/XFileImage.cpp:2685 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "儲存檔案時發生錯誤 " #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "無法開啟檔案:%s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "檔案太大:%s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "檔案:%s 已截斷。" #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "無標題" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "無標題 %d" #: ../src/WriteWindow.cpp:1477 #, 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:1479 msgid "About X File Write" msgstr "關於 X File Write" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "變更字型" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "文字檔案" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "C 原始碼檔案" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "C++ 原始碼檔案" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "C/C++ 表頭檔案" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "HTML 檔案" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "PHP 檔案" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "未儲存的文件" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "儲存 %s 到檔案中?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "儲存文件" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "覆寫文件" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "覆寫現有文件:%s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (已變更)" #: ../src/WriteWindow.cpp:1851 #, fuzzy msgid " (read only)" msgstr "唯讀" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "覆寫" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "插入" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "檔案已變更" #: ../src/WriteWindow.cpp:2071 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "已被其他程式變更。要從磁碟重新載入這個檔案?" #: ../src/WriteWindow.cpp:2132 msgid "Replace" msgstr "置換" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "前往列號" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "前往列號(&G):" #. Usage message #: ../src/XFileWrite.cpp:217 #, 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "無法關閉資料夾 %s\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "位元組" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 #, fuzzy msgid "copy" msgstr "檔案複製" #: ../src/xfeutils.cpp:1413 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "錯誤!無法開啟顯示\n" #: ../src/xfeutils.cpp:1417 #, 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 的簡易套件管理員" #~ msgid "&Themes" #~ msgstr "佈景主題(&T)" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "確認刪除" #~ msgid "KB" #~ msgstr "KB" #~ msgid "" #~ "Scrolling mode will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "捲動模式將於重新啟動之後變更。\n" #~ "現在要重新啟動 X File Explorer?" #~ msgid "" #~ "Path linker will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "路徑鏈結將於重新啟動之後變更。\n" #~ "現在要重新啟動 X File Explorer?" #~ msgid "" #~ "Button style will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "按鍵樣式將於重新啟動之後變更。\n" #~ "現在要重新啟動 X File Explorer?" #~ msgid "" #~ "Normal font will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "一般字型將於重新啟動之後變更。\n" #~ "現在要重新啟動 X File Explorer?" #~ msgid "" #~ "Text font will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "文字字型將於重新啟動之後變更。\n" #~ "現在要重新啟動 X File Explorer?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ 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 "屬性(&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.44/po/el.po0000644000200300020030000072163214023353061010513 00000000000000# GREEK translation of xfe. # Copyright (C) 2009-2019 Free Software Foundation, Inc. # This file is distributed under the same license as the xfe package. # # # nikos papadopoulos , # 2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019. msgid "" msgstr "" "Project-Id-Version: xfe 2019\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-14 10:23+0100\n" "PO-Revision-Date: 2019-02-10 19:29+0200\n" "Last-Translator: nikos papadopoulos \n" "Language-Team: \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 2.0.2\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. Usage message #: ../src/main.cpp:333 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" " (\n" " όπου...\n" " Ν=0 => δένδρο και ένα πλαίσιο\n" " Ν=1 => ένα πλαίσιο\n" " Ν=2 => δύο πλαίσια\n" " Ν=3 => δένδρο και δύο πλαίσια\n" " )\n" "\n" " Το [ΦΑΚΕΛΟΣ ή ΑΡΧΕΙΟ...] είναι μια σειρά φακέλων ή αρχείων,\n" " που θα ήθελες να ανοιχτούν, κατά την εκκίνηση.\n" "\n" " Οι δύο πρώτοι φάκελοι εμφανίζονται στα πλαίσια των αρχείων του ΕξΕφΈ· \n" " οι υπόλοιποι φάκελοι παραβλέπονται. \n" "\n" " Δεν υπάρχει περιορισμός στα πλήθος των αρχείων, προς άνοιγμα.\n" "\n" #: ../src/main.cpp:467 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" "Προειδοποίηση: Άγνωστη κατάσταση λειτουργίας των πλαισίων. Θα εφαρμοστεί η " "τελευταία αποθηκευμένη διάταξη\n" #: ../src/main.cpp:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Σφάλμα στη φόρτωση των εικονιδίων" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "" "Αδυναμία φόρτωσης κάποιων εικονιδίων. Παρακαλώ, έλεγξε την διαδρομή των " "εικονιδίων." #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" msgstr "" "Αδυναμία φόρτωσης κάποιων εικονιδίων. Παρακαλώ, έλεγξε την διαδρομή των " "εικονιδίων." #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Ιδιότητες" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&Γενικά" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Φάκελος" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Συσκευή Χαρακτήρων" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Συσκευή Μπλοκ" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Επώνυμη Διασωλήνωση" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Υποδοχή" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Εκτελέσιμο" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Έγγραφο" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Κομμένος δεσμός" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 msgid "Link to " msgstr "Δεσμός στο " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Τοποθεσία:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Τύπος:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu μπάιτια)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu μπάιτια)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Μέγεθος:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Επιλογή:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Πολλαπλοί τύποι" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d αντικείμενα" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d αρχεία, %d φάκελοι" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d αρχεία, %d φάκελοι" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d αρχεία, %d φάκελοι" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d αρχεία, %d φάκελοι" #: ../src/Properties.cpp:1252 msgid "Change properties of the selected folder?" msgstr "Αλλαγή των ιδιοτήτων του επιλεγμένου φακέλου;" #: ../src/Properties.cpp:1256 msgid "Change properties of the selected file?" msgstr "Αλλαγή των ιδιοτήτων του επιλεγμένου αρχείου;" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 msgid "Confirm Change Properties" msgstr "Επιβεβαίωση της Αλλαγής των Ιδιοτήτων" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Προσοχή" #: ../src/Properties.cpp:1401 msgid "Invalid file name, operation cancelled" msgstr "Μη έγκυρο όνομα αρχείου· η διαδικασία ακυρώθηκε" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 msgid "The / character is not allowed in folder names, operation cancelled" msgstr "" "Δεν επιτρέπεται ο χαρακτήρας / στα ονόματα των φακέλων· η διαδικασία " "ακυρώθηκε" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 msgid "The / character is not allowed in file names, operation cancelled" msgstr "" "Δεν επιτρέπεται ο χαρακτήρας / στα ονόματα των αρχείων· η διαδικασία " "ακυρώθηκε" #. Error message box #. Error #: ../src/Properties.cpp:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "" "Αδυναμία εγγραφής στο\n" " %s\n" "\n" "Άρνηση πρόσβασης" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "Ο φάκελος %s δεν υπάρχει" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Μετονομασία αρχείου" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Ιδιοκτήτης του αρχείου" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "Ακυρώθηκε η αλλαγή του ιδιοκτήτη." #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "" "Απέτυχε το chown στο\n" " %s\n" "\n" "%s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "" "Απέτυχε το chown στο\n" " %s" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" "Ο ορισμός ειδικών δικαιωμάτων μπορεί να είναι μη ασφαλής επιλογή.\n" "\n" "Θέλεις πράγματι να το κάνεις αυτό;" #: ../src/Properties.cpp:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "" "Απέτυχε το chmod στο\n" " %s\n" "\n" "%s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Δικαιώματα του αρχείου" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Ακυρώθηκε η αλλαγή στα δικαιώματα του αρχείου." #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "" "Απέτυχε το chmod στο\n" " %s" #: ../src/Properties.cpp:1628 msgid "Apply permissions to the selected items?" msgstr "Να εφαρμοστούν τα δικαιώματα στα επιλεγμένα αντικείμενα;" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "Ακυρώθηκε η αλλαγή των δικαιωμάτων στο αρχείο ή στα αρχεία." #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Επέλεξε ένα εκτελέσιμο αρχείο" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Όλα τα αρχεία" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "Εικόνες PNG" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "Εικόνες GIF" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "BMP Εικόνα" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Επέλεξε ένα αρχείο εικονιδίου" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%u αρχεία, %u υποφάκελοι" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%u αρχεία, %u υποφάκελοι" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%u αρχεία, %u υποφάκελοι" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u αρχεία, %u υποφάκελοι" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Αντιγραφή εδώ" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Μεταφορά εδώ" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Δεσμός εδώ" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Ακύρωση" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Αντιγραφή αρχείου" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Μεταφορά αρχείου" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Εσωτερικός δεσμός σε αρχείο" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Αντιγραφή" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Αντιγραφή %s αρχείων/φακέλων.\n" "Από: %s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Μεταφορά" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Μεταφορά %s αρχείων/φακέλων.\n" "Από: %s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Εσωτερικός Δεσμός" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "Στο:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "Παρουσιάστηκε κάποιο σφάλμα, κατά τη προσπάθεια μεταφοράς του αρχείου." #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "Η διαδικασία μεταφοράς του αρχείου ακυρώθηκε." #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "" "Παρουσιάστηκε κάποιο σφάλμα, κατά τη προσπάθεια αντιγραφής του αρχείου." #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "Η διαδικασία αντιγραφής του αρχείου ακυρώθηκε." #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "Το σημείο προσάρτησης %s δεν ανταποκρίνεται..." #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "0 μπάιτια στο root" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 msgid "Panel is active" msgstr "Το πλαίσιο είναι ενεργό" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 msgid "Activate panel" msgstr "Ενεργοποίηση πλαισίου" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "Προσ&θήκη σε αρχειοθήκη..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "Αντι&γραφή" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Αποκ&οπή" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "Επι&κόλληση" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "&Μετονομασία..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Α&ντιγραφή στο..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Μεταφορά στο..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, 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:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, c-format msgid "Can't enter folder %s" msgstr "Αδυναμία εισόδου στο φάκελο %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 msgid "File name is empty, operation cancelled" msgstr "Το όνομα του αρχείου είναι κενό· η διαδικασία ακυρώθηκε" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Δημιουργία αρχειοθήκης" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Αντιγραφή του " #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "Αντιγραφή %s αντικειμένων από το: %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Μετονομασία" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Μετονομασία " #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Αντιγραφή σε" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Μεταφορά " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "Μεταφορά %s αντικειμένων από το: %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Εσωτερικός Δεσμός " #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "Εσωτερικοί δεσμοί %s αντικειμένων από το: %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "το %s δεν είναι φάκελος" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "Παρουσιάστηκε κάποιο σφάλμα, κατά τη διαδικασία του εσωτερικού δεσμού." #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "Ακυρώθηκε η διαδικασία εσωτερικού δεσμού." #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "" "Οριστική διαγραφή του φακέλου \n" " %s ;" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Επιβεβαίωση Διαγραφής" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Διαγραφή αρχείου" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "" "Δεν είναι άδειος ο φάκελος\n" " %s\n" "\n" "Να διαγραφεί, έτσι κι αλλιώς;" #: ../src/DirPanel.cpp:2264 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "" "Έχει προστασία διαγραφής ο φάκελος\n" " %s\n" "\n" "Να διαγραφεί οριστικά , έτσι κι αλλιώς;" #: ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "Ακυρώθηκε η διαδικασία διαγραφής του φακέλου." #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "" "Μεταφορά στα απορρίμματα του φακέλου\n" " %s ;" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Επιβεβαίωση των Απορριμμάτων" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Μεταφορά στα απορρίμματα" #: ../src/DirPanel.cpp:2360 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "" "Έχει προστασία εγγραφής ο φάκελος\n" " %s\n" "\n" "Να μεταφερθεί στα απορρίμματα, έτσι κι αλλιώς;" #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "" "Παρουσιάστηκε κάποιο σφάλμα, κατά τη προσπάθεια μεταφοράς του αρχείου στα " "απορρίμματα." #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "Η διαδικασία μεταφοράς στα απορρίμματα ακυρώθηκε." #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Αποκατάσταση από τον κάδο απορριμμάτων" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" "Να γίνει αποκατάσταση του φακέλου\n" " %s \n" "στην αρχική του τοποθεσία\n" " %s \n" ";" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Επιβεβαίωση Αποκατάστασης" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "Δεν υπάρχουν διαθέσιμες πληροφορίες αποκατάστασης για το %s" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" "Δεν υπάρχει ο γονικός φάκελος\n" " %s \n" "Θέλεις να δημιουργηθεί;" #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "Αδυναμία δημιουργίας του φακέλου %s : %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "Αδυναμία δημιουργίας του φακέλου %s" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 msgid "An error has occurred during the restore from trash operation!" msgstr "" "Παρουσιάστηκε κάποιο σφάλμα, κατά τη διαδικασίας αποκατάστασης από τον κάδο " "απορριμμάτων." #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "" "Ακυρώθηκε η διαδικασίας αποκατάστασης του αρχείου, από τον κάδο απορριμμάτων." #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Δημιουργία νέου φακέλου:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Νέος Φάκελος" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 msgid "Folder name is empty, operation cancelled" msgstr "Το όνομα του φακέλου είναι κενό· η διαδικασία ακυρώθηκε" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, c-format msgid "Can't execute command %s" msgstr "" "Αδυναμία εκτέλεσης της εντολής \n" " %s" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Προσάρτηση" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Αποπροσάρτηση" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " συστήματος αρχείων..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " του φακέλου:" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " η διαδικασία ακυρώθηκε." #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 msgid "Delete:" msgstr "Διαγραφή:" #: ../src/File.cpp:136 msgid "From:" msgstr "από:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Αλλαγή των αδειών..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "Αρχείο:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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 "" "Υπάρχει, ήδη, ο φάκελος \n" " %s\n" "\n" "Να αντικατασταθεί;\n" "=> ΠΡΟΣΟΧΗ: Τα αρχεία σε αυτόν τον κατάλογο μπορεί να επανωγραφούν." #: ../src/File.cpp:304 ../src/File.cpp:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Επιβεβαίωση της Αντικατάστασης" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "" "Αδυναμία αντιγραφής του αρχείου\n" " %s\n" "\n" "%s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "" "Αδυναμία αντιγραφής του αρχείου\n" " %s" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "" "πηγή:\n" " " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "" "προορισμός:\n" " " #: ../src/File.cpp:604 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "" "Αδυναμία διατήρησης της ημερομηνίας, μετά την αντιγραφή του αρχείου\n" " %s\n" "\n" "%s" #: ../src/File.cpp:608 #, c-format msgid "Can't preserve date when copying file %s" msgstr "" "Αδυναμία διατήρησης της ημερομηνίας, μετά την αντιγραφή του αρχείου\n" " %s" #: ../src/File.cpp:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "" "Αδυναμία αντιγραφής του φακέλου\n" " %s\n" "\n" "Άρνηση πρόσβασης" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "" "Αδυναμία αντιγραφής του αρχείου\n" " %s\n" "\n" "Άρνηση πρόσβασης" #: ../src/File.cpp:791 #, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "" "Αδυναμία διατήρησης της ημερομηνίας, κατά την αντιγραφή του φακέλου\n" " %s\n" "\n" "%s" #: ../src/File.cpp:795 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "" "Αδυναμία διατήρησης της ημερομηνίας, κατά την αντιγραφή του φακέλου\n" " %s" #: ../src/File.cpp:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "Δεν υπάρχει η πηγή %s" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, c-format msgid "Destination %s is identical to source" msgstr "" "Είναι ίδιος με τη πηγή, ο προορισμός\n" " %s" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, c-format msgid "Target %s is a sub-folder of source" msgstr "Ο προορισμός %s είναι υποφάκελος της πηγής" #. Set labels for progress dialog #: ../src/File.cpp:1048 msgid "Delete folder: " msgstr "" "διαγραφή του φακέλου:\n" " " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "" "από:\n" " " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "" "Αδυναμία διαγραφής του φακέλου\n" " %s\n" "\n" "%s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "" "Αδυναμία διαγραφής του φακέλου\n" " %s" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "" "Αδυναμία διαγραφής του αρχείου\n" " %s\n" "\n" "%s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "" "Αδυναμία διαγραφής του αρχείου\n" " %s" #: ../src/File.cpp:1213 #, c-format msgid "Destination %s already exists" msgstr "Υπάρχει ήδη ο προορισμός %s" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, c-format msgid "Can't rename to target %s: %s" msgstr "" "Αδυναμία μετονομασίας στον προορισμό\n" " %s\n" "\n" "%s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "" "Αδυναμία δημιουργίας του εσωτερικού δεσμού\n" " %s\n" "\n" "%s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "" "Αδυναμία δημιουργίας του εσωτερικού δεσμού\n" " %s" #: ../src/File.cpp:1655 ../src/File.cpp:1852 msgid "Folder: " msgstr "Φάκελος: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Αποσυμπίεση αρχειοθήκης" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Προσθήκη σε αρχειoθήκη" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Αποτυχημένη εντολή: %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Επιτυχία" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "" "Επιτυχής προσάρτηση του φακέλου\n" " %s" #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "" "Επιτυχής αποπροσάρτηση του φακέλου\n" " %s" #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "Εγκατάσταση/Απεγκατάσταση πακέτου" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "Εγκατάσταση πακέτου: %s \n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Απεγκατάσταση πακέτου" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 msgid "Go to previous folder" msgstr "Μετάβαση στον προηγούμενο φάκελο" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 msgid "Go to next folder" msgstr "Μετάβαση στον επόμενο φάκελο" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 msgid "Go to parent folder" msgstr "Μετάβαση στο γονικό φάκελο" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "Μετάβαση στον αρχικό κατάλογο" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 msgid "Go to working folder" msgstr "Μετάβαση στον φάκελο εργασίας" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Νέος φάκελος" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Λίστα με μεγάλα εικονίδια" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Λίστα με μικρά εικονίδια" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Λεπτομερής λίστα αρχείων" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Εμφάνιση κρυφών αρχείων" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "Απόκρυψη κρυφών αρχείων" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Εμφάνιση εικόνων επισκόπησης" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 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:3758 msgid "New File" msgstr "Νέο Αρχείο" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "Το αρχείο ή φάκελος %s υπάρχει ήδη" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "Μετάβαση στην αρχή" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 msgid "Go &work" msgstr "Μετάβαση στην εργασία" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "Νέο &αρχείο..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Νέος φάκε&λος..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "Κρυφά &αρχεία" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "Εικόνες &προεπισκόπησης" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "Με&γάλα εικονίδια" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "Μικ&ρά εικονίδια" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "&Λεπτομερής" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "&Γραμμές" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "&Στήλες" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "Αυτόματο μέγεθος" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "Ό&νομα" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "&Μέγεθος" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Τύπος" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "Ε&πέκταση" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "&Ημερομηνία" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "&Χρήστης" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "&Ομάδα" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 msgid "Fold&ers first" msgstr "Πρώτα οι Φάκ&ελοι" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "Α&ντίστροφη σειρά" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "&Οικογένεια:" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "&Βάρος:" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "&Τεχνοτροπία:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "&Μέγεθος:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Σύνολο Χαρακτήρων:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Οτιδήποτε" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "Δυτικής Ευρώπης" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Ανατολικής Ευρώπης" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Νότιας Ευρώπης" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Βόρειας Ευρώπης" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Κυριλλικά" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Αραβικά" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Ελληνικά" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Εβραϊκά" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Τουρκικά" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Σκανδιναβικά" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Ταϊλανδέζικη" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Βαλτικής" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Celtic" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Ρώσικα" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Κεντρικής Ευρώπης (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Ρωσικό (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Λατινικά1 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Ελληνικά (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Τουρκικά (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Εβραϊκά (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Αραβικά (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Βαλτικής (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Βιετναμέζικα (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Τϊλανδέζικα (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Καθορισμός Πλάτους:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "Υπερβολικά συμπτυγμένοι" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Επιπλέον συμπτυγμένοι" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Συμπτυγμένοι" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "Ημι-συμπτυγμένοι" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Κανονικοί" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Ημι-ανεπτυγμένοι" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Ανεπτυγμένοι" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Επιπλέον ανεπτυγμένοι" #: ../src/FontDialog.cpp:126 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:130 msgid "Pitch:" msgstr "Χαρακτήρες ανά ίντσα:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Σταθεροί" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Μεταβλητοί" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Κλιμακούμενο:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Όλες οι Γραμματοσειρές:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Προεπισκόπιση:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Εκκίνηση του Xfe σαν υπερχρήστης" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "Ό&χι" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Ναι" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Τερματισμός" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Αποθήκευση" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Ναι για &Όλα" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Εισήγαγε τον κωδικό πρόσβασης για τον χρήστη:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Εισήγαγε τον κωδικό πρόσβασης του υπερχρήστη:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "Παρουσιάστηκε κάποιο σφάλμα." #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Όνομα: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Μέγεθος στο root: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Τύπος: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Ημερομηνία τροποποίησης: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Χρήστης: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Ομάδα: " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Δικαιώματα: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Αρχική διαδρομή: " #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Ημερομηνία διαγραφής: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Μέγεθος: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Μέγεθος" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Τύπος" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Επέκταση" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Ημερομηνία τροποποίησης" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Δικαιώματα" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "Αδυναμία φόρτωσης της εικόνας" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Αρχική διαδρομή" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Ημερομηνία διαγραφής" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Φίλτρο" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Κατάσταση" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" "Είναι ένα εκτελέσιμο αρχείο κειμένου το\n" " %s \n" "\n" "Τι θα ήθελες να γίνει;" #: ../src/FilePanel.cpp:1035 ../src/SearchPanel.cpp:790 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Καταγραφή εντολών" #: ../src/FilePanel.cpp:1832 msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "" "Δεν επιτρέπεται ο χαρακτήρας / στα ονόματα των αρχείων, ή των φακέλων· η " "διαδικασία ακυρώθηκε" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "Στο φάκελο:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "" "Αδυναμία εγγραφής στην τοποθεσία του κάδου ανακύκλωσης\n" " %s\n" "\n" " Άρνηση πρόσβασης" #: ../src/FilePanel.cpp:2408 ../src/SearchPanel.cpp:2936 #, c-format msgid "Move file %s to trash can?" msgstr "" "Μεταφορά στα απορρίμματα του αρχείου\n" " %s ;" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "Μεταφορά των %s επιλεγμένων αντικειμένων, στα απορρίμματα;" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "" "Έχει προστασία εγγραφής το αρχείο\n" " %s\n" "\n" "Να μεταφερθεί στο κάδο απορριμμάτων, έτσι κι αλλιώς;" #: ../src/FilePanel.cpp:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "" "Ακυρώθηκε η διαδικασίας μεταφοράς του αρχείου στο κάδο των απορριμμάτων." #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" "Αποκατάσταση του αρχείου\n" " %s \n" "στην αρχική του τοποθεσία\n" " %s \n" ";" #: ../src/FilePanel.cpp:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "" "Αποκατάσταση των %s επιλεγμένων αντικειμένων, στην αρχική τους τοποθεσία;" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου \n" " %s \n" " \n" " %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, c-format msgid "Definitively delete file %s ?" msgstr "" "Αμετάκλητη διαγραφή του αρχείου\n" " %s ;" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, c-format msgid "Definitively delete %s selected items?" msgstr "Αμετάκλητη διαγραφή των %s επιλεγμένων αντικειμένων;" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "" "Έχει προστασία εγγραφής το αρχείο\n" " %s \n" "\n" "Να διαγραφεί, έτσι κι αλλιώς;" #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "Ακυρώθηκε η διαδικασία διαγραφής του αρχείου." #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "Σύγκριση" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "Με:" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" "Δεν βρέθηκε το πρόγραμμα %s .\n" "Παρακαλώ, προσδιόρισε μία εφαρμογή σύγκρισης αρχείων, στο διάλογο των " "Ρυθμίσεων." #: ../src/FilePanel.cpp:3758 msgid "Create new file:" msgstr "Δημιουργία νέου αρχείου:" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου \n" " %s\n" "\n" "%s" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου \n" " %s" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "" "Αδυναμία ορισμού δικαιωμάτων στο\n" " %s\n" "\n" "%s" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "" "Αδυναμία ορισμού δικαιωμάτων στο\n" " %s" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Δημιουργία νέου εσωτερικού δεσμού:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Νέος Εσωτερικός Δεσμός" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "Επέλεξε το φάκελο ή το αρχείο αναφοράς του εσωτερικού δεσμού" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "Η πηγή του εσωτερικού δεσμού %s δεν υπάρχει" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Άνοιγμα των επιλεγμένων αρχείων με:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Άνοιγμα Με" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "Συσ&χέτιση" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Εμφάνιση των αρχείων:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "&Νέο αρχείο..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Νέος εσωτερικός &δεσμός...." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "Φί&λτρο..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "&Λεπτομερής" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "&Δικαιώματα" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "Νέο Α&ρχείο..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Προσάρτηση" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "Ά&νοιγμα με..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Άν&οιγμα" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 msgid "Extr&act to folder " msgstr "Αποσυμπίεσ&η στο φάκελο " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "&Αποσυμπίεση εδώ" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "Αποσ&υμπίεση στο ..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "Προβο&λή" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Εγκατάσταση/Ανα&βάθμιση" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "Απεγκα&τάσταση" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Επεξεργασία" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 msgid "Com&pare..." msgstr "Σύγκ&ριση..." #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "Σύγκ&ριση" #: ../src/FilePanel.cpp:4672 msgid "Packages &query " msgstr "&Διερεύνηση πακέτων " #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 msgid "Scripts" msgstr "Σενάρια" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 msgid "&Go to script folder" msgstr "Μετάβαση στο &φάκελο των σεναρίων" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Αντιγρα&φή σε..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 msgid "M&ove to trash" msgstr "Μετακίνηση στα απ&ορρίμματα" #: ../src/FilePanel.cpp:4695 msgid "Restore &from trash" msgstr "Αποκατάσταση από τον κά&δο απορριμμάτων" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 msgid "Compare &sizes" msgstr "Σύγκρι&ση μεγεθών" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 msgid "P&roperties" msgstr "&Ιδιότητες" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Επέλεξε ένα φάκελο προορισμού" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Όλα τα Αρχεία" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Εγκατάσταση/Αναβάθμιση Πακέτου" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Απεγκατάσταση Πακέτου" # In Unix, to make a copy of a process for execution. #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" "Σφάλμα: Απέτυχε η δημιουργία φούρκας (fork): \n" "%s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, c-format msgid "Can't create script folder %s: %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου σεναρίων %s: \n" "\n" "%s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, c-format msgid "Can't create script folder %s" msgstr "Αδυναμία δημιουργίας του φακέλου σεναρίων %s" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Δεν βρέθηκε συμβατός διαχειριστής των πακέτων (rpm ή dpkg)." #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "Το αρχείο %s δεν ανήκει σε κάποιο πακέτο." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Πληροφορίες" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, c-format msgid "File %s belongs to the package: %s" msgstr "Το αρχείο %s ανήκει στο πακέτο: %s" #. Make and show command window #: ../src/FilePanel.cpp:6220 ../src/SearchPanel.cpp:2887 msgid "Sizes of Selected Items" msgstr "Τα Μεγέθη των Επιλεγμένων Αντικειμένων" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 μπάιτια" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s σε %s επιλεγμένα αντικείμενα" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s σε %s επιλεγμένα αντικείμενα" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s σε %s επιλεγμένα αντικείμενα" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s σε %s επιλεγμένα αντικείμενα" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " του φακέλου:" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, fuzzy, c-format msgid "%s items (%s folders, %s files)" msgstr "%d αντικείμενα, που περιλαμβάνουν %d φακέλους (-ο) και %d αρχεία (-ο)" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d αντικείμενα, που περιλαμβάνουν %d φακέλους (-ο) και %d αρχεία (-ο)" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d αντικείμενα, που περιλαμβάνουν %d φακέλους (-ο) και %d αρχεία (-ο)" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d αντικείμενα, που περιλαμβάνουν %d φακέλους (-ο) και %d αρχεία (-ο)" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Δεσμός" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "Κ&λείσιμο" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" "Παρακαλώ, περίμενε...\n" "\n" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, c-format msgid "Can't duplicate pipes: %s" msgstr "" "Αδυναμία δημιουργίας διπλότυπου των διοχετεύσεων: \n" "\n" "%s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 msgid "Can't duplicate pipes" msgstr "Αδυναμία δημιουργίας διπλότυπου των διοχετεύσεων" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> Η ΕΝΤΟΛΗ ΑΚΥΡΩΘΗΚΕ <<<<" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "Προτιμήσεις" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Τρέχον Θέμα" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Επιλογές" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "" "Χρήση κάδου απορριμμάτων για τη διαγραφή των αρχείων (ασφαλής διαγραφή)" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "" "Να περιλαμβάνεται μία εντολή για τον παραμερισμό του κάδου απορριμμάτων " "(μόνιμη διαγραφή)" #: ../src/Preferences.cpp:185 msgid "Auto save layout" msgstr "Αυτόματη αποθήκευση της διάταξης" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Αποθήκευση της θέσης του παραθύρου" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "Μονό κλικ για το άνοιγμα των καταλόγων" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Μονό κλικ για το άνοιγμα των αρχείων" #: ../src/Preferences.cpp:189 msgid "Display tooltips in file and folder lists" msgstr "Προβολή συμβουλών εργαλείου στις λίστες αρχείων και φακέλων" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "Σχετική αλλαγή μεγέθους της λίστας των αρχείων" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Προβολή ενός συνδέσμου διαδρομής, πάνω από τις λίστες των αρχείων" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Να εμφανίζεται ειδοποίηση, όταν ξεκινούν οι εφαρμογές" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Επιβεβαίωση της εκτέλεσης αρχείων κειμένου" #: ../src/Preferences.cpp:198 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', για πληροφορίες σχετικές με αυτές " "τις μορφές)" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "&Λειτουργίες" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "Λειτουργία εκκίνησης" #: ../src/Preferences.cpp:213 msgid "Start in home folder" msgstr "Εκκίνηση στον οικιακό φάκελο" #: ../src/Preferences.cpp:214 msgid "Start in current folder" msgstr "Εκκίνηση στον τωρινό φάκελο" #: ../src/Preferences.cpp:215 msgid "Start in last visited folder" msgstr "Εκκίνηση στον τελευταίο ανοιγμένο φάκελο" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "Λειτουργία κύλισης" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "Ομαλή κύλισης στις λίστες των αρχείων και στα παράθυρα των κειμένων" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Ταχύτητα κύλισης του ποντικού:" #: ../src/Preferences.cpp:227 msgid "Scrollbar width:" msgstr "Πλάτος του ολισθητήρα:" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Κατάσταση λειτουργίας υπερχρήστη" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "Να επιτρέπεται η λειτουργία σε κατάσταση υπερχρήστη" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "" "Αυθεντικοποίηση με τη χρήση του sudo (χρησιμοποιεί τον κωδικό του χρήστη)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Αυθεντικοποίηση με τη χρήση του su (χρησιμοποιεί τον κωδικό του root)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Αποτυχημένη εντολή: %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Εκτέλεση εντολής" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "&Διάλογοι" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Επιβεβαιώσεις" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "Επιβεβαίωση αντιγραφής/μεταφοράς/μετονομασίας/εσωτερικού δεσμού" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "Επιβεβαίωση αρπαγής και μετακίνησης" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "" "Επιβεβαίωση της μεταφοράς στα απορρίμματα, και της επαναφοράς από τα " "απορρίμματα" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Επιβεβαίωση των διαγραφών" #: ../src/Preferences.cpp:331 msgid "Confirm delete non empty folders" msgstr "Επιβεβαίωση της διαγραφής μη άδειων καταλόγων" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Επιβεβαίωση της αντικατάστασης" #: ../src/Preferences.cpp:333 msgid "Confirm execute text files" msgstr "Επιβεβαίωση της εκτέλεσης αρχείων κειμένου" #: ../src/Preferences.cpp:334 msgid "Confirm change properties" msgstr "Επιβεβαίωση των αλλαγών των ιδιοτήτων" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Προειδοποιήσεις" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "Προειδοποίηση, όταν ορίζεται ο τωρινός φάκελος στο παράθυρο αναζήτησης" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Επισήμανση, όταν τα σημεία προσάρτησης δεν ανταποκρίνονται" #: ../src/Preferences.cpp:340 msgid "Display mount / unmount success messages" msgstr "Εμφάνιση μηνυμάτων επιτυχίας, για την προσάρτηση ή την αποπροσάρτηση" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "Προειδοποίηση, όταν αποτύχει η διατήρηση της ημερομηνίας" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Επισήμανση, αν εκτελείται με δικαιώματα υπερχρήστη" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Προγράμματα" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Προεπιλεγμένα προγράμματα" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Προβολέας κειμένου:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Επεξεργαστής κειμένου:" #: ../src/Preferences.cpp:405 msgid "File comparator:" msgstr "Συγκριτής αρχείων:" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Επεξεργαστής εικόνας:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Προβολέας εικόνων:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Συμπιεστής αρχείων:" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "Προβολέας αρχείων PDF:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Αναπαραγωγός ήχου:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Αναπαραγωγός βίντεου:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "Τερματικό:" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "Διαχείριση τόμων" #: ../src/Preferences.cpp:456 msgid "Mount:" msgstr "Προσάρτηση:" #: ../src/Preferences.cpp:462 msgid "Unmount:" msgstr "Αποπροσάρτηση:" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Θέμα χρωμάτων" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Προσαρμοσμένα χρώματα" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Διπλό κλικ για την προσαρμογή του χρώματος" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Κύριο χρώμα" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Χρώμα του περιγράμματος" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Χρώμα του παρασκηνίου" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Χρώμα του κειμένου" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Χρώμα του παρασκηνίου της επιλογής" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Χρώμα του κειμένου της επιλογής" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Χρώμα του παρασκηνίου της λίστας αρχείων" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Χρώμα του κειμένου της λίστας αρχείων" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Χρώμα της επισήμανσης της λίστας αρχείων" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "Χρώμα της ένδειξης προόδου" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Χρώμα προσοχής" #: ../src/Preferences.cpp:500 msgid "Scrollbar color" msgstr "Χρώμα του ολισθητήρα" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Χειριστήρια" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Προεπιλεγμένη (κλασικά χειριστήρια)" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "Καθαρή Εμφάνιση [Clearlooks] ( χειριστήρια μοντέρνας εμφάνισης)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "Η διαδρομή για τη συλλογή των εικονιδίων" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tΕπέλεξε διαδρομή..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Γραμματοσειρές" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Γραμματοσειρές" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Κανονική γραμματοσειρά:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Επιλογή..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Γραμματοσειρά των κειμένων:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "&Συντομεύσεις Πληκτρολογίου" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Συντομεύσεις Πληκτρολογίου" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Μετατροπή των συντομεύσεων του πληκτρολογίου..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Αποκατάσταση των προεπιλεγμένων συντομεύσεων του πληκτρολογίου..." #: ../src/Preferences.cpp:634 msgid "Select an icon theme folder or an icon file" msgstr "Επέλεξε ένα φάκελο συλλογής εικονιδίων ή ένα αρχείο εικονιδίων" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "Αλλαγή της Κανονικής Γραμματοσειράς" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Τροποποίηση της Γραμματοσειράς του Κειμένου" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Δημιουργία νέου αρχείου" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Δημιουργία νέου φακέλου" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "Αντιγραφή στο πρόχειρο" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "Αποκοπή στο πρόχειρο" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Επικόλληση από το πρόχειρο" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Άνοιγμα αρχείου" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Τερματισμός της εφαρμογής" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Επιλογή όλων" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Αποεπιλογή όλων" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Αντιστροφή επιλογής" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Εμφάνιση της βοήθειας" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Εναλλαγή της εμφάνισης των κρυφών αρχείων" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Εναλλαγή της εμφάνισης των εικόνων προεπισκόπησης" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Κλείσιμο παραθύρου" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Εκτύπωση του αρχείου" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Αναζήτηση" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Αναζήτηση προηγούμενου" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Αναζήτηση επόμενου" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 msgid "Vertical panels" msgstr "Κάθετα πλαίσια" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 msgid "Horizontal panels" msgstr "Οριζόντια πλαίσια" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Ανανέωση των πλαισίων" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Δημιουργία ενός νέου εσωτερικού δεσμού" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Ιδιότητες αρχείου" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Μεταφορά των αρχείων στα απορρίμματα" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Αποκατάσταση των αρχείων από τον κάδο απορριμμάτων" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Διαγραφή των αρχείων" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Δημιουργία νέου παραθύρου" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Δημιουργία νέου παραθύρου υπερχρήστη" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Εκτέλεση εντολής" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Εκκίνηση τερματικού" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Προσάρτηση συστήματος αρχείων (μόνο για Λίνουξ)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Αποπροσάρτηση του συστήματος αρχείων (μόνο για Λίνουξ)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "Κατάστασης λειτουργίας ενός πλαισίου" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Κατάσταση προβολής με δένδρο και ένα πλαίσιο" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "Κατάστασης λειτουργίας δύο πλαισίων" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Κατάσταση προβολής με δένδρο και δύο πλαίσια" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Καθαρισμός γραμμής τοποθεσίας" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Μετονομασία αρχείου" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Αντιγραφή των αρχείων στην τοποθεσία" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Μεταφορά των αρχείων στην τοποθεσία" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Εσωτερική σύνδεση των αρχείων στην τοποθεσία" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Προσθήκη σελιδοδείκτη" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Συγχρονισμός πλαισίων" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Εναλλαγή πλαισίων" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Μετάβαση στον κάδο απορριμάτων" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Άδειασμα του κάδου απορριμάτων" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Προβολή" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Επεξεργασία" #: ../src/Preferences.cpp:1014 msgid "Toggle display hidden folders" msgstr "Εναλλαγή της εμφάνισης των κρυφών φακέλων" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Φιλτράρισμα των αρχείων" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "Εστίαση της εικόνας στο 100%" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Εστίαση για να ταιριάζει στο παράθυρο" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "Περιστροφή της εικόνας στα αριστερά" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "Περιστροφή της εικόνας στα δεξιά" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "Οριζόντιος καθρεπτισμός εικόνας" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "Κατακόρυφος καθρεπτισμός εικόνας" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Δημιουργία ενός νέου εγγράφου" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Αποθήκευση των αλλαγών του αρχείου" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Μετάβαση στη γραμμή" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Αναίρεση τελευταίας αλλαγής" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Επανάληψη τελευταίας αλλαγής" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "Αντικατάσταση στίχου" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "Εναλλαγή της κατάστασης λειτουργίας της αναδίπλωσης των λέξεων" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "Εναλλαγή της κατάστασης λειτουργίας αρίθμησης των γραμμών" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Εναλλαγή της κατάστασης λειτουργίας πεζών" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Εναλλαγή της κατάστασης λειτουργίας κεφαλαίων" #. Confirmation message #: ../src/Preferences.cpp:1114 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:1115 msgid "Restore default key bindings" msgstr "Αποκατάσταση των προεπιλεγμένων συντομεύσεων πληκτρολογίου" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Επανεκκίνηση" #: ../src/Preferences.cpp:1213 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Οι συντομεύσεις πληκτρολογίου θα αλλάξουν, μετά από επανεκκίνηση.\n" "\n" "Να γίνει επανεκκίνηση του Εξ Φάιλ Εξπλόρερ, τώρα;" #: ../src/Preferences.cpp:1869 msgid "" "Preferences 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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Κλείσιμο" #: ../src/SearchPanel.cpp:165 msgid "Refresh panel" msgstr "Ανανέωση του πίνακα" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Αντιγραφή των επιλεγμένων αρχείων στο πρόχειρο" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Αποκοπή των επιλεγμένων αρχείων στο πρόχειρο" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Εμφάνιση των ιδιοτήτων των επιλεγμένων αρχείων" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Μεταφορά των επιλεγμένων αρχείων στον κάδο απορριμμάτων" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Διαγραφή των επιλεγμένων αρχείων" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "Ο τωρινός φάκελος έχει οριστεί σε '%s'" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "&Λεπτομερής" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "&Αγνόηση πεζών κεφαλαίων" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "Α&υτόματο μέγεθος" #: ../src/SearchPanel.cpp:2421 msgid "&Packages query " msgstr "&Διερεύνηση πακέτων " #: ../src/SearchPanel.cpp:2435 msgid "&Go to parent folder" msgstr "&Μετάβαση στο γονικό φάκελο" #: ../src/SearchPanel.cpp:3658 #, c-format msgid "Copy %s items" msgstr "Αντιγραφή %s αντικειμένων" #: ../src/SearchPanel.cpp:3674 #, c-format msgid "Move %s items" msgstr "Μετακίνηση %s αντικειμένων" #: ../src/SearchPanel.cpp:3690 #, c-format msgid "Symlink %s items" msgstr "Εσωτερικοί δεσμοί %s αντικειμένων" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" "Δεν επιτρέπεται ο χαρακτήρας ' / ' στα ονόματα των αρχείων, ή των φακέλων· η " "διαδικασία ακυρώθηκε" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "Πρέπει να εισάγεις μια απόλυτη διαδρομή." #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr "0 αντικείμενα" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 αντικείμενο" #: ../src/SearchWindow.cpp:71 msgid "Find files:" msgstr "Εύρεση αρχείων:" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "" "Αγνόηση πεζών/κεφαλαίων\tΑγνόηση πεζών/κεφαλαίων στα ονόματα των αρχείων" #. Hidden files #: ../src/SearchWindow.cpp:79 msgid "Hidden files\tShow hidden files and folders" msgstr "Κρυφά αρχεία\tΠροβολή κρυφών αρχείων και φακέλων" #: ../src/SearchWindow.cpp:84 msgid "In folder:" msgstr "Στο φάκελο:" #: ../src/SearchWindow.cpp:86 msgid "\tIn folder..." msgstr "\tΣτο φάκελο..." #: ../src/SearchWindow.cpp:89 msgid "Text contains:" msgstr "Το κείμενο περιέχει:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "Αγνόηση πεζών/κεφαλαίων\tΑγνόηση πεζών/κεφαλαίων στο κείμενο" #. Search options #: ../src/SearchWindow.cpp:97 msgid "More options" msgstr "Επιπλέον επιλογές" #: ../src/SearchWindow.cpp:98 msgid "Search options" msgstr "Επιλογές αναζήτησης" #: ../src/SearchWindow.cpp:99 msgid "Reset\tReset search options" msgstr "Επαναφορά\tΕπαναφορά των ρυθμίσεων της αναζήτησης" #: ../src/SearchWindow.cpp:115 msgid "Min size:" msgstr "Ελάχιστο μέγεθος:" #: ../src/SearchWindow.cpp:117 msgid "Filter by minimum file size (kBytes)" msgstr "Διαχωρισμός κατά το ελάχιστο μέγεθος των αρχείων (χιλιοΜπάιτια)" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "kB" #: ../src/SearchWindow.cpp:120 msgid "Max size:" msgstr "Μέγιστο μέγεθος:" #: ../src/SearchWindow.cpp:122 msgid "Filter by maximum file size (kBytes)" msgstr "Διαχωρισμός κατά το μέγιστο μέγεθος των αρχείων (χιλιοΜπάιτια)" #. Modification date #: ../src/SearchWindow.cpp:126 msgid "Last modified before:" msgstr "Τελευταία τροποποίηση πριν από:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "" "Διαχωρισμός κατά το μέγιστο πλήθος των ημερών, από την μετατροπή (ημέρες)" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "Ημέρες" #: ../src/SearchWindow.cpp:131 msgid "Last modified after:" msgstr "Τελευταία τροποποίηση μετά από:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "" "Διαχωρισμός κατά το ελάχιστο πλήθος των ημερών, από την μετατροπή (ημέρες)" #. User and group #: ../src/SearchWindow.cpp:137 msgid "User:" msgstr "Χρήστης:" #: ../src/SearchWindow.cpp:140 msgid "\tFilter by user name" msgstr "\tΔιαχωρισμός κατά το όνομα των χρηστών" #: ../src/SearchWindow.cpp:142 msgid "Group:" msgstr "Ομάδα:" #: ../src/SearchWindow.cpp:145 msgid "\tFilter by group name" msgstr "\tΔιαχωρισμός κατά το όνομα των ομάδων" #. File type #: ../src/SearchWindow.cpp:178 msgid "File type:" msgstr "Τύπος αρχείου:" #: ../src/SearchWindow.cpp:181 msgid "File" msgstr "Αρχείο" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "Διοχέτευση" #: ../src/SearchWindow.cpp:187 msgid "\tFilter by file type" msgstr "\tΔιαχωρισμός κατά τη μορφή των αρχείων" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 msgid "Permissions:" msgstr "Δικαιώματα:" #: ../src/SearchWindow.cpp:194 msgid "\tFilter by permissions (octal)" msgstr "\tΔιαχωρισμός κατά τα διακαιώματα (οκταδικό)" #. Empty files #: ../src/SearchWindow.cpp:197 msgid "Empty files:" msgstr "Κενά αρχεία:" #: ../src/SearchWindow.cpp:198 msgid "\tEmpty files only" msgstr "\tΜόνο κενά αρχεία" #: ../src/SearchWindow.cpp:202 msgid "Follow symbolic links:" msgstr "Ακολούθηση των συμβολικών δεσμών:" #: ../src/SearchWindow.cpp:203 msgid "\tSearch while following symbolic links" msgstr "\tΑναζήτηση κατά την ακολούθηση των συμβολικών δεσμών" #: ../src/SearchWindow.cpp:207 msgid "Non recursive:" msgstr "Όχι εις βάθος:" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "\tΝα μην γίνει εξερεύνηση των καταλόγων εις βάθος" #: ../src/SearchWindow.cpp:212 msgid "Ignore other file systems:" msgstr "Αγνόηση των άλλων συστημάτων αρχείων:" #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "\tΝα μην γίνει εξερεύνηση σε άλλα συστήματα αρχείων" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "&Εκκίνηση\tΕκκίνηση της αναζήτησης (F3)" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "&Σταμάτημα\tΣταμάτημα της αναζήτησης (Esc)" #: ../src/SearchWindow.cpp:782 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Άρχισε η αναζήτηση - Παρακαλώ, αναμείνατε... <<<<" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " αντικείμενα" #: ../src/SearchWindow.cpp:938 msgid ">>>> Search results <<<<" msgstr ">>>> Τα αποτέλεσμα της αναζήτησης <<<<" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "Σφάλμα εισόδου/εξόδου" #: ../src/SearchWindow.cpp:973 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Η αναζήτηση σταμάτησε...<<<<" #: ../src/SearchWindow.cpp:1147 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 msgid "&Properties" msgstr "&Ιδιότητες" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:201 #: ../src/XFileImage.cpp:327 ../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:808 msgid "&Vertical panels" msgstr "&Κάθετα πλαίσια" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 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:781 msgid "&Thumbnails" msgstr "Εικόνες &προεπισκόπησης" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "Απο&ρρίμματα" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "&Βοήθεια" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "&Σχετικά με τον Εξ Φάειλ Εξπλόρερ" #: ../src/XFileExplorer.cpp:2218 msgid "Running Xfe as root!" msgstr "Εκτέλεση του Xfe σαν υπερχρήστης." #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου ρυθμίσεων του Xfe\n" " %s\n" "\n" "%s" #: ../src/XFileExplorer.cpp:2274 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Αδυναμία δημιουργίας του φακέλου ρυθμίσεων του Xfe %s" #: ../src/XFileExplorer.cpp:2296 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "Δεν βρέθηκε ένα καθολικό αρχείο xferc. Παρακαλώ, επέλεξε ένα αρχείο " "ρυθμίσεων..." #: ../src/XFileExplorer.cpp:2300 msgid "XFE configuration file" msgstr "Αρχείο ρυθμίσεων του XFE" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου για τα αρχεία του κάδου απορριμμάτων %s : %s" #: ../src/XFileExplorer.cpp:2339 ../src/XFileExplorer.cpp:3992 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου «αρχείων», του κάδου απορριμμάτων, %s" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου για τις πληροφορίες του κάδου απορριμμάτων " "%s : %s" #: ../src/XFileExplorer.cpp:2361 ../src/XFileExplorer.cpp:4007 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου «πληροφοριών», του κάδου απορριμμάτων, %s" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "Βοήθεια" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "Εξ Φάιλ Εξπλόρερ (X File Explorer), Έκδοση %s" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "" "Βασίζεται στον Εξ ΓουίνΚομάντερ (X WinCommander) του Μαξήμ Μπαράμοβ (Maxim " "Baranov)\n" #: ../src/XFileExplorer.cpp:3214 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" "Finnish: Kimmo Siira\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" "Φινλανδικά: Kimmo Siira\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:3246 msgid "About X File Explorer" msgstr "Σχετικά με τον Εξ Φάειλ Εξπλόρερ" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 msgid "&Panel" msgstr "&Πίνακας" #: ../src/XFileExplorer.cpp:3718 msgid "Execute the command:" msgstr "Εκτέλεση της εντολής:" #: ../src/XFileExplorer.cpp:3718 msgid "Console mode" msgstr "Κατάσταση λειτουργίας κονσόλας" #: ../src/XFileExplorer.cpp:3896 msgid "Search files and folders" msgstr "Αναζήτηση για φακέλους και αρχεία" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 msgid "Do you really want to empty the trash can?" msgstr "Θέλεις πραγματικά να αδειάσεις τον κάδο απορριμμάτων;" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr " σε " #: ../src/XFileExplorer.cpp:3959 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "Όλα τα αντικείμενα θα χαθούν, οριστικά!" #: ../src/XFileExplorer.cpp:4049 #, 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:4051 msgid "Trash size" msgstr "Μέγεθος του κάδου απορριμμάτων" #: ../src/XFileExplorer.cpp:4058 #, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Ο φάκελος των αρχείων του κάδου απορριμμάτων %s δεν είναι αναγνώσιμος." #: ../src/XFileExplorer.cpp:4512 ../src/XFileExplorer.cpp:4586 #, c-format msgid "Command not found: %s" msgstr "" "Δε βρέθηκε η εντολή:\n" " %s" #: ../src/XFileExplorer.cpp:4591 #, c-format msgid "Invalid file association: %s" msgstr "" "Μη έγκυρη συσχέτιση αρχείου:\n" " %s" #: ../src/XFileExplorer.cpp:4596 #, c-format msgid "File association not found: %s" msgstr "" "Δεν βρέθηκε η συσχέτιση του αρχείου:\n" " %s" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Προτιμήσεις" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Άνοιγμα αρχείου πακέτου" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "Άν&οιγμα..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "Γραμμή &Εργαλείων" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "&Σχετικά με τον Εξ Φάειλ Πάκατζ" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "&Απεγκατάσταση" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Εγκατάσταση/Αναβάθμιση" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "&Περιγραφή" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "&Λίστα Αρχείων" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "Σχετικά με τον Εξ Φάειλ Πάκατζ" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "RPM πακέτα πηγών" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "Πακέτα RPM" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "DEB πακέτα" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Άνοιγμα Εγγράφου" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Δεν φορτώθηκαν κάποια πακέτα" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Άγνωστη μορφή πακέτου" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Εγκατάσταση/Αναβάθμιση Πακέτου" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Απεγκατάσταση Πακέτου" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[Πακέτο RPM]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[Πακέτο DEB]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "" "Απέτυχε η διερεύνηση του\n" " %s ." #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Σφάλμα Φόρτωσης του Αρχείου" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Αδυναμία ανοίγματος του αρχείου: %s" #. Usage message #: ../src/XFilePackage.cpp:719 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" "\n" #: ../src/XFileImage.cpp:182 msgid "GIF Image" msgstr "Εικόνα GIF" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "Εικόνα BMP" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "Εικόνα XPM" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "Εικόνα PCX" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "ICO εικόνα" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "Εικόνα RGB" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "XBM εικόνα" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "Εικόνα TARGA" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "Εικόνα PPM" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "Εικόνα PNG" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "Εικόνα JPEG" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "Εικόνα TIFF" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "&Εικόνα" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Άνοιγμα" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Άνοιγμα αρχείου εικόνας." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Εκτύπωση" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 msgid "Print image file." msgstr "Εκτύπωση του αρχείου εικόνας." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:660 msgid "Zoom in" msgstr "Μεγέθυνση" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "Μεγέθυνση της εικόνας." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Σμίκρυνση" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "Σμίκρυνση της εικόνας." #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "Εστίαση 100%" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "Εστίαση της εικόνας στο 100%." #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "Εστίαση προσαρμογής" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "Εστίαση για να ταιριάζει στο παράθυρο." #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "Περιστροφή αριστερά" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Περιστροφή της εικόνας αριστερά." #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Περιστροφή δεξιά" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Περιστροφή της εικόνας δεξιά." #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Κατοπτρισμός οριζόντια" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "Οριζόντιος καθρεπτισμός της εικόνας." #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Κατοπτρισμός κατακόρυφα" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Κατακόρυφος καθρεπτισμός της εικόνας." #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "Εκτύ&πωση..." #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "Κα&θαρισμός προσφάτων αρχείων" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "Καθαρισμός της Λίστας των Προσφάτων Αρχείων." #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Κλείσιμο του Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "Μεγέ&θυνση" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "Σμίκ&ρυνση" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "Ε&στίαση 100%" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "Εστίαση για να ταιριάζει στο παρά&θυρο" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "Περιστροφή &δεξιά" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Περιστροφή δεξιά." #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "Περιστροφή &αριστερά" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Περιστροφή αριστερά." #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "Κατοπτρισμός &οριζόντια" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Κατοπτρισμός οριζόντια." #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "Κατοπτρισμός &κατακόρυφα" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Κατοπτρισμός κατακόρυφα." #: ../src/XFileImage.cpp:775 msgid "Show hidden files and folders." msgstr "Προβολή των κρυφών αρχείων και των φακέλων." #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Προβολή εικόνων επισκόπησης." #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Προβολή των φακέλων με μεγάλα εικονίδια." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Προβολή του φακέλου με μικρά εικονίδια." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "&Λεπτομερής λίστα αρχείων" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Προβολή του φακέλου με λεπτομέρειες." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "Προβολή των εικονιδίων ανά σειρά." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "Προβολή των εικονιδίων ανά στήλη." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Αυτόματο μέγεθος των ονομάτων των εικονιδίων." #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Εμφάνιση γραμμής εργαλείων." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "&Λίστα αρχείων" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Προβολή της λίστας αρχείων." #: ../src/XFileImage.cpp:824 msgid "File list &before" msgstr "Λίστας αρχείων &μπροστύτερα" #: ../src/XFileImage.cpp:824 msgid "Display file list before image window." msgstr "Προβολή της λίστας των αρχείων πριν από το παράθυρο της εικόνας." #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "&Φιλτράρισμα εικόνων" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Καταλόγιση μόνο των αρχείων εικόνων." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "Εστίαση για να ταιριάζει στο παράθυρο κατά το άνοιγμα" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "" "Κατάλληλη εστίαση των εικόνων, ώστε να ταιριάζουν στο παράθυρο, κατά το " "άνοιγμά τους." #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "&Σχετικά με το Εξ Φάειλ Ίματζ" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "Σχετικά με το Εξ Φάειλ Ίματζ." #: ../src/XFileImage.cpp:1333 #, 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:1335 msgid "About X File Image" msgstr "Σχετικά με τον Εξ Φάειλ Ίματζ" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Σφάλμα Κατά την Φόρτωση της Εικόνας" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Μη υποστηριζόμενος τύπος: %s" #: ../src/XFileImage.cpp:1464 msgid "Unable to load image, the file may be corrupted" msgstr "Αδυναμία φόρτωσης της εικόνας· ίσως το αρχείο να είναι αλλοιωμένο" #: ../src/XFileImage.cpp:1504 msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "Οι αλλαγές θα εφαρμοστούν μετά από επανεκκίνηση.\n" "\n" "Να γίνει επανεκκίνηση του Εξ Φάιλ Ίματζ, τώρα;" #: ../src/XFileImage.cpp:1619 msgid "Open Image" msgstr "Άνοιγμα Εικόνας" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Εντολή εκτύπωσης: \n" "(ex: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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" "\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 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 "&Σχετικά με το X File Write" #: ../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 "Το αρχείο είναι πολύ μεγάλο: %s (%d μπάιτια)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "Αδυναμία ανάγνωσης του αρχείου: %s" #: ../src/WriteWindow.cpp:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Σφάλμα Κατά την Αποθήκευση του Αρχείου" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "Αδυναμία ανοίγματος του αρχείου: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "Το αρχείο είναι πολύ μεγάλο: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "Αρχείο: %s περικομμένο." #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "χωρίς τίτλο" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "χωρίς_τίτλο%d" #: ../src/WriteWindow.cpp:1477 #, 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:1479 msgid "About X File Write" msgstr "Σχετικά με το Εξ Φάειλ Ράειτ" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Τροποποίηση των Γραμματοσειρών" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Αρχεία Κειμένου" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "Πηγαίας C Αρχεία" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "Πηγαίας C++ Αρχεία" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "C/C++ Κεφαλίδας Αρχεία" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "Αρχεία HTML" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "Αρχεία PHP" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Μη αποθηκευμένο Έγγραφο" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "Αποθήκευση του «%s» στο δίσκο;" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Αποθήκευση του Εγγράφου" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Αντικατάσταση του Εγγράφου" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "" "Αντικατάσταση του υπάρχοντος εγγράφου:\n" " %s ;" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (τροποποιημένο)" #: ../src/WriteWindow.cpp:1851 msgid " (read only)" msgstr " (μόνο για ανάγνωση)" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "ΑΝΑΓΝΩΣΗ ΜΟΝΟ" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "Το Αρχείο Τροποποιήθηκε" #: ../src/WriteWindow.cpp:2071 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "Ένα άλλο πρόγραμμα μετέτρεψε το αρχείο\n" " %s\n" "\n" "Θα ήθελες να ξανανοίξει από το δίσκο;" #: ../src/WriteWindow.cpp:2132 msgid "Replace" msgstr "Αντικατάσταση" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Μετάβαση στη Γραμμή" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "&Μετάβαση στη γραμμή με το αντίστοιχο νούμερο:" #. Usage message #: ../src/XFileWrite.cpp:217 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" "\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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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 "Συντομ&εύσεις του 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 "" "Αυτές οι συντομεύσεις πληκτρολογίου είναι αποκλειστικά για την εφαρμογή Εξ " "Φάιλ Εξπλόρερ.\n" "Κάνε διπλό κλικ σε ένα αντικείμενο, για να αλλάξεις τη συγκεκριμένη " "συντόμευση πληκτρολογίου..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Συντομεύσε&ις του 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 "" "Αυτές οι συντομεύσεις πληκτρολογίου είναι αποκλειστικά για την εφαρμογή Εξ " "Φάιλ Είματζ.\n" "Κάνε διπλό κλικ σε ένα αντικείμενο, για να αλλάξεις τη συγκεκριμένη " "συντόμευση πληκτρολογίου..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Συντ&ομεύσεις του 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 "" "Αυτές οι συντομεύσεις πληκτρολογίου είναι αποκλειστικά για τον επεξεργαστή " "Εξ Φάιλ Ράιτ.\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 #, 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" "Θα πρέπει να διαγράψεις την υπάρχουσα συντόμευση πληκτρολογίου, πριν την " "αναθέσεις ξανά." #: ../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 "" "Η συντόμευση πληκτρολογίου %s χρησιμοποιείται, ήδη, στην ενότητα του Xfe.\n" "Θα πρέπει να διαγράψεις την υπάρχουσα συντόμευση πληκτρολογίου, πριν την " "αναθέσεις ξανά." #: ../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 "" "Η συντόμευση πληκτρολογίου %s χρησιμοποιείται, ήδη, στην ενότητα του Xfi.\n" "Θα πρέπει να διαγράψεις την υπάρχουσα συντόμευση πληκτρολογίου, πριν την " "αναθέσεις ξανά." #: ../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 "" "Η συντόμευση πληκτρολογίου %s χρησιμοποιείται, ήδη, στην ενότητα του Xfw.\n" "Θα πρέπει να διαγράψεις την υπάρχουσα συντόμευση πληκτρολογίου, πριν την " "αναθέσεις ξανά." #: ../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:829 ../src/xfeutils.cpp:917 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Σφάλμα: Αδυναμία κλεισίματος του φακέλου %s\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" # it is a copy of... #: ../src/xfeutils.cpp:1100 msgid "copy" msgstr "αντίγραφο" #: ../src/xfeutils.cpp:1413 #, c-format msgid "Error: Can't read group list: %s" msgstr "Σφάλμα: Αδυναμία ανάγνωσης της λίστας της ομάδας: %s" #: ../src/xfeutils.cpp:1417 #, 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 "Ένας απλός διαχειριστής πακέτων για τον ΕξΕφΕ" #~ msgid "&Themes" #~ msgstr "&Θέματα" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "Επιβεβαίωση της εκτέλεσης αρχείων κειμένου" #~ msgid "" #~ "Scrolling mode will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "Η κατάσταση λειτουργίας κύλισης θα αλλάξει μετά από νέα εκκίνηση.\n" #~ "\n" #~ "Να γίνει επανεκκίνηση του Εξ Φάιλ Εξπλόρερ, τώρα;" #~ msgid "" #~ "Path linker will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "Ο σύνδεσμος των διαδρομών θα αλλάξει μετά από νέα εκκίνηση.\n" #~ "\n" #~ "Να γίνει επανεκκίνηση του Εξ Φάιλ Εξπλόρερ, τώρα;" #~ msgid "" #~ "Button style will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "Η μορφή των κουμπιών θα αλλάξει μετά από νέα εκκίνηση.\n" #~ "\n" #~ "Να γίνει επανεκκίνηση του Εξ Φάιλ Εξπλόρερ, τώρα;" #~ msgid "" #~ "Normal font will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "Η κανονική γραμματοσειρά θα αλλάξει μετά από νέα εκκίνηση.\n" #~ "\n" #~ "Να γίνει επανεκκίνηση του Εξ Φάιλ Εξπλόρερ, τώρα;" #~ msgid "" #~ "Text font will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "Η γραμματοσειρά του κειμένου θα αλλάξει μετά από νέα εκκίνηση.\n" #~ "\n" #~ "Να γίνει επανεκκίνηση του Εξ Φάιλ Εξπλόρερ, τώρα;" #~ msgid "KB" #~ msgstr "KB" #~ msgid "Panel does not have focus" #~ msgstr "Η εστίαση δεν είναι στο πλάισιο" #~ msgid "Delete: " #~ msgstr "Διαγραφή: " #~ msgid "File: " #~ msgstr "Αρχείο: " #~ msgid "P&roperties..." #~ msgstr "&Ιδιότητες..." #~ msgid "&Properties..." #~ msgstr "&Ιδιότητες..." #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "" #~ "Αδυναμία δημιουργίας του φακέλου για τα αρχεία του κάδου απορριμμάτων %s: " #~ "%s" #~ msgid "Non-existing file: %s" #~ msgstr "Μη υπάρχον αρχείο: %s" #~ msgid "&About X File Write..." #~ msgstr "&Σχετικά με το Εξ Φάειλ Ράειτ (X File Write)..." #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "" #~ "πηγή\n" #~ " Μέγεθος: %s - Ημερομηνία τροποποίησης: %s" #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "" #~ "προορισμός\n" #~ " Μέγεθος: %s - Ημερομηνία τροποποίησης: %s" #~ msgid "Folder name" #~ msgstr "Το όνομα του φακέλου" #~ 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 "\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.44/po/da.po0000644000200300020030000053523714023353061010503 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: 2021-03-14 10:23+0100\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:333 #, 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:467 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" #: ../src/main.cpp:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Fejl under åbning af ikonfiler" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "Kunne ikke åbne ikonfiler. Kontrolllér venligst ikon stien!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" msgstr "Kunne ikke åbne ikonfiler. Kontrolllér venligst ikon stien!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Egenskaber" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&Generelt" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 #, 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Mappe" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Character Device" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Block Device" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Named Pipe" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Kørbar fil" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Dokument" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Ugyldige lænker" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 #, fuzzy msgid "Link to " msgstr "Lænke til " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Adresse:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Type:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Størrelse:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Valg" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Flere Typer" #. Number of selected files #: ../src/Properties.cpp:1113 #, fuzzy, c-format msgid "%d items" msgstr " Elementer" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d elementer i %d mappe(r) og %d file(r)" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d elementer i %d mappe(r) og %d file(r)" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d elementer i %d mappe(r) og %d file(r)" #: ../src/Properties.cpp:1130 #, fuzzy, c-format msgid "%d files, %d folders" msgstr "%d elementer i %d mappe(r) og %d file(r)" #: ../src/Properties.cpp:1252 #, fuzzy msgid "Change properties of the selected folder?" msgstr "\tVis egenskaber for markerede filer (F9)" #: ../src/Properties.cpp:1256 #, fuzzy msgid "Change properties of the selected file?" msgstr "\tVis egenskaber for markerede filer (F9)" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 #, fuzzy msgid "Confirm Change Properties" msgstr "Egenskaber" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Advarsel" #: ../src/Properties.cpp:1401 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Flytning af filer afbrudt!" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Sletning af fil afbrudt!" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Sletning af fil afbrudt!" #. Error message box #. Error #: ../src/Properties.cpp:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Kunne ikke skrive til %s: Adgang nægtet" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "Mappen %s findes ikke" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Giv nyt navn" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Ejer" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "Ændring af ejer afbrudt!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, fuzzy, c-format msgid "Chown in %s failed: %s" msgstr "Chmod af %s mislykkedes: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, fuzzy, c-format msgid "Chown in %s failed" msgstr "Chmod af %s mislykkedes: %s" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" #: ../src/Properties.cpp:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod af %s mislykkedes: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Rettigheder" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Ændring af rettigheder afbrudt!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, fuzzy, c-format msgid "Chmod in %s failed" msgstr "Chmod af %s mislykkedes: %s" #: ../src/Properties.cpp:1628 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " markerede filer" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "Ændring af rettigheder afbrudt!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 #, fuzzy msgid "Select an executable file" msgstr " Mappen :" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Alle filer" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "PNG billeder" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "GIF billeder" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "BMP billeder" #: ../src/Properties.cpp:1990 #, fuzzy msgid "Select an icon file" msgstr " Mappen :" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%d elementer i %d mappe(r) og %d file(r)" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%d elementer i %d mappe(r) og %d file(r)" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%d elementer i %d mappe(r) og %d file(r)" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, fuzzy, c-format msgid "%u files, %u subfolders" msgstr "%d elementer i %d mappe(r) og %d file(r)" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 #, fuzzy msgid "Copy here" msgstr "Kopiér " #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 #, fuzzy msgid "Move here" msgstr "Flyt " #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 #, fuzzy msgid "Link here" msgstr "Lænke" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 #, fuzzy msgid "Cancel" msgstr "Afbryd" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Kopiér fil" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Flyt fil" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Symbolsk lænke" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopiér" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Flyt" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Symbolsk lænke" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "Til:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "Der opstod en fejl under flytningen!" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "Flytning af filer afbrudt!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "Der opstod en fejl under kopieringen!" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "Kopiering af filer afbrudt!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "Monteringspunkt %s svarer ikke." #: ../src/DirList.cpp:2021 #, 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:3125 #, fuzzy msgid "0 bytes in root" msgstr "0 bytes" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 msgid "Panel is active" msgstr "" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 #, fuzzy msgid "Activate panel" msgstr "To &paneler\tCtrl-F3" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 #, 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:4586 #: ../src/SearchPanel.cpp:2361 #, 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "Tilføj til &arkiv" #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "Kopiér" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Klip" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../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:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "Flyt til ..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 #, 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, 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:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, 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:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 #, fuzzy msgid "File name is empty, operation cancelled" msgstr "Sletning af fil afbrudt!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Opret arkiv" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Kopiér " #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, fuzzy, c-format msgid "Copy %s items from: %s" msgstr "" " filer/mapper.\n" "Fra: " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Omdøb" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Omdøb " #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Kopiér til" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Flyt " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, fuzzy, c-format msgid "Move %s items from: %s" msgstr "" " filer/mapper.\n" "Fra: " #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Symbolsk lænke " #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, fuzzy, c-format msgid "Symlink %s items from: %s" msgstr "" " filer/mapper.\n" "Fra: " #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s er ikke en mappe" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 #, fuzzy msgid "An error has occurred during the symlink operation!" msgstr "Der opstod en fejl under flytningen!" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 #, fuzzy msgid "Symlink operation cancelled!" msgstr " handling afbrudt!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, fuzzy, c-format msgid "Definitively delete folder %s ?" msgstr "Slet mappen permanent: " #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Bekræft sletning" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Slet fil" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, fuzzy, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr " er skrivebeskyttet, slet aligevel?" #: ../src/DirPanel.cpp:2264 #, fuzzy, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr " er skrivebeskyttet, slet permanent aligevel?" #: ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "Sletning af mappe afbrudt!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, fuzzy, c-format msgid "Move folder %s to trash can?" msgstr "Smid i papirkurven" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Bekræft udsmidning" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Smid i papirkurven" #: ../src/DirPanel.cpp:2360 #, fuzzy, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr " er skrivebeskyttet, slet aligevel?" #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "Der opstod en fejl under flytning til papirkurven!" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "Flytning af filer afbrudt!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 #, fuzzy msgid "Restore from trash" msgstr "Tøm papirkurven" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 #, fuzzy msgid "Confirm Restore" msgstr "Bekræft sletning" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2640 #, fuzzy, c-format msgid "Can't create folder %s : %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, fuzzy, c-format msgid "Can't create folder %s" msgstr "Kan ikke slette mappen " #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 #, fuzzy msgid "An error has occurred during the restore from trash operation!" msgstr "Der opstod en fejl under flytning til papirkurven!" #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 #, fuzzy msgid "Restore from trash file operation cancelled!" msgstr "Flytning af filer afbrudt!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 #, fuzzy msgid "Create new folder:" msgstr "Opret ny mappe..." #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Ny mappe" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Sletning af fil afbrudt!" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Kør kommando" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Montér" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Afmontér" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " filsystem..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 #, fuzzy msgid " the folder:" msgstr " mappen :" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " handling afbrudt!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 #, 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:1133 #, 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:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Ændring af rettigheder..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 #, fuzzy msgid "File:" msgstr "Fil :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Bekræft overskrivning" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, fuzzy, c-format msgid "Can't copy file %s: %s" msgstr "Kan ikke kopiere filen " #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, fuzzy, c-format msgid "Can't copy file %s" msgstr "Kan ikke kopiere filen " #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 #, fuzzy msgid "Source: " msgstr "Kilde : " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 #, fuzzy msgid "Target: " msgstr "Mål : " #: ../src/File.cpp:604 #, 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:608 #, 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:750 #, fuzzy, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Kunne ikke skrive til %s: Adgang nægtet" #: ../src/File.cpp:754 #, fuzzy, c-format msgid "Can't copy file %s : Permission denied" msgstr "Kunne ikke skrive til %s: Adgang nægtet" #: ../src/File.cpp:791 #, 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:795 #, 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:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "Mappen %s findes ikke" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "Kilden %s er identisk med målet" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1048 #, fuzzy msgid "Delete folder: " msgstr "Slet mappe : " #: ../src/File.cpp:1054 ../src/File.cpp:1139 #, fuzzy msgid "From: " msgstr "Fra : " #: ../src/File.cpp:1095 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "Kan ikke slette mappen " #: ../src/File.cpp:1099 #, fuzzy, c-format msgid "Can't delete folder %s" msgstr "Kan ikke slette mappen " #: ../src/File.cpp:1160 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "Kan ikke slette filen " #: ../src/File.cpp:1164 #, fuzzy, c-format msgid "Can't delete file %s" msgstr "Kan ikke slette filen " #: ../src/File.cpp:1213 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Filen eller mappen %s findes allerede" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Kan ikke omdøbe til målet %s" #: ../src/File.cpp:1572 #, fuzzy, c-format msgid "Can't symlink %s: %s" msgstr "Opret ny fil..." #: ../src/File.cpp:1576 #, fuzzy, c-format msgid "Can't symlink %s" msgstr "Opret ny fil..." #: ../src/File.cpp:1655 ../src/File.cpp:1852 #, fuzzy msgid "Folder: " msgstr "Mappe : " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Udpak arkiv" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Føj til arkiv" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, fuzzy, c-format msgid "Failed command: %s" msgstr "Kommandoen mislykkedes: %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Succes" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "Montering af mappen %s fuldført." #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Afmontering af mappen %s fuldført." #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "Installér/Opgradér pakke" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, fuzzy, c-format msgid "Installing package: %s \n" msgstr "Installerer pakke : " #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Afinstallér pakke" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 #, fuzzy msgid "Go to previous folder" msgstr "\tTilbage\tGå en mappe tilbage." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 #, fuzzy msgid "Go to next folder" msgstr "\tFrem\tGå en mappe frem." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 #, fuzzy msgid "Go to parent folder" msgstr " Mappen :" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 #, fuzzy msgid "Go to home folder" msgstr " mappen :" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 #, 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 #, fuzzy msgid "Big icon list" msgstr "Store &ikoner" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 #, fuzzy msgid "Small icon list" msgstr "&Små ikoner" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 #, fuzzy msgid "Detailed file list" msgstr "&Filliste\t\tVis filliste." #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 #, fuzzy msgid "Show hidden files" msgstr "Vis skjulte filer" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 #, fuzzy msgid "Hide hidden files" msgstr "Skjulte filer" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 #, fuzzy msgid "Show thumbnails" msgstr "\tVis miniaturer" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 #, 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:3758 msgid "New File" msgstr "Ny fil" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "Filen eller mappen %s findes allerede" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 #, fuzzy msgid "Go ho&me" msgstr "Gå til &hjemmemappen\tCtrl-H" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Ny mappe..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "Skjulte filer" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "Minia&turer" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "Store &ikoner" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "&Små ikoner" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 #, fuzzy msgid "Fu&ll file list" msgstr "Detaljeret filliste" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "&Rækker" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "Kolonner" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "&Navn" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "Størrelse" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Type" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "Endelse" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "&Dato" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 #, fuzzy msgid "&User" msgstr "Bruger" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 #, fuzzy msgid "&Group" msgstr "Gruppe" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 #, fuzzy msgid "Fold&ers first" msgstr "Mapper" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "Omvendt &rækkefølge" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 #, fuzzy msgid "&Family:" msgstr "&Fil" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 #, fuzzy msgid "Si&ze:" msgstr "Størrelse:" #. Character set choice #: ../src/FontDialog.cpp:82 #, fuzzy msgid "Character Set:" msgstr "Character Device" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "" #: ../src/FontDialog.cpp:92 #, fuzzy msgid "Greek" msgstr "Ledig:" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "" #: ../src/FontDialog.cpp:94 #, fuzzy msgid "Turkish" msgstr "Papi&rkurv" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "" #. Set width #: ../src/FontDialog.cpp:114 #, fuzzy msgid "Set Width:" msgstr "Åbn med" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "" #: ../src/FontDialog.cpp:122 #, fuzzy msgid "Normal" msgstr "Normalskrifttype:" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "" #: ../src/FontDialog.cpp:124 #, fuzzy msgid "Expanded" msgstr "Udvid træ" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "" #: ../src/FontDialog.cpp:134 #, fuzzy msgid "Fixed" msgstr "Find" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "" #: ../src/FontDialog.cpp:144 #, fuzzy msgid "All Fonts:" msgstr "Skrifttyper" #: ../src/FontDialog.cpp:148 #, fuzzy msgid "Preview:" msgstr "Vis:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 #, fuzzy msgid "Launch Xfe as root" msgstr "\tKør Xfe som root (Shift-F3)" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&Nej" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Ja" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "Afslut" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "G&em" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Ja til &alle" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 #, fuzzy msgid "Enter the user password:" msgstr "Indtast kodeordet for root :" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 #, fuzzy msgid "Enter the root password:" msgstr "Indtast kodeordet for root :" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 #, fuzzy msgid "An error has occurred!" msgstr "Der opstod en fejl under flytningen!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 #, fuzzy msgid "Name: " msgstr "Navn" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 #, fuzzy msgid "Size in root: " msgstr " i " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 #, fuzzy msgid "Type: " msgstr "Type:" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "Modified date: " msgstr "Sidst ændret" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "User: " msgstr "Bruger" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "Group: " msgstr "Gruppe" #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 #, fuzzy msgid "Permissions: " msgstr "Rettigheder" #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "" #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 #, fuzzy msgid "Deletion date: " msgstr "Dato for sletning" #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 #, fuzzy msgid "Size: " msgstr "Størrelse:" #: ../src/FileList.cpp:151 msgid "Size" msgstr "Størrelse" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Type" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Endelse" #: ../src/FileList.cpp:154 #, fuzzy msgid "Modified date" msgstr "Sidst ændret" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Rettigheder" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "Kan ikke åbne billede: %s" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Dato for sletning" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Filter" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Status" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:1035 ../src/SearchPanel.cpp:790 #, 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Kommando log" #: ../src/FilePanel.cpp:1832 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Sletning af fil afbrudt!" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 #, fuzzy msgid "To folder:" msgstr "Flyt mappen " #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, 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:2408 ../src/SearchPanel.cpp:2936 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "Smid i papirkurven" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, fuzzy, c-format msgid "Move %s selected items to trash can?" msgstr "\tSmid markerede filer i papirkurven (Del, F8)" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, fuzzy, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr " er skrivebeskyttet, slet aligevel?" #: ../src/FilePanel.cpp:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "Flytning af filer afbrudt!" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" #: ../src/FilePanel.cpp:2721 #, fuzzy, c-format msgid "Restore %s selected items to their original locations?" msgstr "\tSmid markerede filer i papirkurven (Del, F8)" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, fuzzy, c-format msgid "Can't create folder %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "Slet mappen permanent: " #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr " Slet markerede elementer ? " #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, fuzzy, c-format msgid "File %s is write-protected, delete it anyway?" msgstr " er skrivebeskyttet, slet aligevel?" #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "Sletning af fil afbrudt!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3758 #, fuzzy msgid "Create new file:" msgstr "Opret ny fil..." #: ../src/FilePanel.cpp:3794 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/FilePanel.cpp:3798 #, fuzzy, c-format msgid "Can't create file %s" msgstr "Kan ikke slette mappen " #: ../src/FilePanel.cpp:3813 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "Opret ny fil..." #: ../src/FilePanel.cpp:3817 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "Kunne ikke skrive til %s: Adgang nægtet" #: ../src/FilePanel.cpp:3865 #, fuzzy msgid "Create new symbolic link:" msgstr "Opret ny fil..." #: ../src/FilePanel.cpp:3865 #, fuzzy msgid "New Symlink" msgstr "Symbolsk lænke" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "" #: ../src/FilePanel.cpp:3899 #, fuzzy, c-format msgid "Symlink source %s does not exist" msgstr "Mappen %s findes ikke" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 #, fuzzy msgid "Open selected file(s) with:" msgstr "Åbn markerede filer med :" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Åbn med" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "Tilknyt" #: ../src/FilePanel.cpp:4401 #, fuzzy msgid "Show files:" msgstr "Vis filer :" #. Menu items #: ../src/FilePanel.cpp:4512 #, fuzzy msgid "New& file..." msgstr "Ny &fil..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 #, fuzzy msgid "New s&ymlink..." msgstr "Ny &fil..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "Fi<er..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 #, fuzzy msgid "&Full file list" msgstr "Detaljeret filliste" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 #, fuzzy msgid "Per&missions" msgstr "Rettigheder" #: ../src/FilePanel.cpp:4555 #, fuzzy msgid "Ne&w file..." msgstr "Ny &fil..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Montér" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "Åbn med..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Åbn" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 #, fuzzy msgid "Extr&act to folder " msgstr "Kan ikke kopiere mappen " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "Udpak h&er" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "Udpak til..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Vis" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Installér/op&gradér" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "Af&installér" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "R&edigér" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 #, fuzzy msgid "Com&pare..." msgstr "E&rstat" #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4672 #, fuzzy msgid "Packages &query " msgstr "Pakke forespørgsel " #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 #, fuzzy msgid "Scripts" msgstr "&Beskrivelse" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 #, fuzzy msgid "&Go to script folder" msgstr " Mappen :" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Kopiér &til..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 #, fuzzy msgid "M&ove to trash" msgstr "Smid i papirkurven" #: ../src/FilePanel.cpp:4695 #, fuzzy msgid "Restore &from trash" msgstr "Tøm papirkurven" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 #, fuzzy msgid "Compare &sizes" msgstr "Kilde :" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 #, fuzzy msgid "P&roperties" msgstr "Egenskaber" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 #, fuzzy msgid "Select a destination folder" msgstr " Vælg..." #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Alle Filer" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Installér/Opgradér pakke" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Afinstallér pakke" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "Kan ikke slette mappen " #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 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:6120 ../src/SearchPanel.cpp:4548 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr " tilhører pakken : " #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Information" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, fuzzy, c-format msgid "File %s belongs to the package: %s" msgstr " tilhører pakken : " #. Make and show command window #: ../src/FilePanel.cpp:6220 ../src/SearchPanel.cpp:2887 #, fuzzy msgid "Sizes of Selected Items" msgstr " markerede filer" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 bytes" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr " markerede filer" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr " markerede filer" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr " markerede filer" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr " markerede filer" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " mappen :" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d elementer i %d mappe(r) og %d file(r)" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d elementer i %d mappe(r) og %d file(r)" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d elementer i %d mappe(r) og %d file(r)" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Lænke" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "Luk" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "Kan ikke slette filen " #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 #, fuzzy msgid "Can't duplicate pipes" msgstr "Kan ikke slette filen " #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> KOMMANDO AFBRUDT <<<<" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "Indstillinger" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Aktuelt Tema" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Valg" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "Brug papirkurven ved sletning af filer (sikker sletning)" #: ../src/Preferences.cpp:184 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:185 msgid "Auto save layout" msgstr "Husk layout" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Single click folder open" msgstr "Filåbning ved enkeltklik" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Filåbning ved enkeltklik" #: ../src/Preferences.cpp:189 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "\tVis detaljer\tDetaljeret listevisning af mappeindhold." #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Bekræft sletning" #: ../src/Preferences.cpp:198 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:213 #, fuzzy msgid "Start in home folder" msgstr " Mappen :" #: ../src/Preferences.cpp:214 #, fuzzy msgid "Start in current folder" msgstr " Mappen :" #: ../src/Preferences.cpp:215 #, fuzzy msgid "Start in last visited folder" msgstr " Mappen :" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Hastighed for bladring med mus" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Rammefarve" #: ../src/Preferences.cpp:231 #, fuzzy msgid "Root mode" msgstr "Kør i konsollen" #: ../src/Preferences.cpp:232 #, fuzzy msgid "Allow root mode" msgstr "Kør i konsollen" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Kommandoen mislykkedes: %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Kør kommando" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 #, fuzzy msgid "&Dialogs" msgstr "Farvevælg" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Bekræftelser" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "" #: ../src/Preferences.cpp:330 #, fuzzy msgid "Confirm delete" msgstr "Bekræft sletning" #: ../src/Preferences.cpp:331 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Kan ikke slette mappen %s" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Bekræft overskrivning" #: ../src/Preferences.cpp:333 #, fuzzy msgid "Confirm execute text files" msgstr "Bekræft sletning" #: ../src/Preferences.cpp:334 #, fuzzy msgid "Confirm change properties" msgstr "Egenskaber" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Advarsler" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Advar når monteringspunkter ikke svarer" #: ../src/Preferences.cpp:340 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Giv besked ved vellykket montering/afmontering" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Advarsel ved start som root" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Programmer" #: ../src/Preferences.cpp:390 #, fuzzy msgid "Default programs" msgstr "Terminal :" #: ../src/Preferences.cpp:393 #, fuzzy msgid "Text viewer:" msgstr "Standard tekstviser :" #: ../src/Preferences.cpp:399 #, fuzzy msgid "Text editor:" msgstr "Standard tekstredigering :" #: ../src/Preferences.cpp:405 #, fuzzy msgid "File comparator:" msgstr "Rettigheder" #: ../src/Preferences.cpp:411 #, fuzzy msgid "Image editor:" msgstr "Standard tekstredigering :" #: ../src/Preferences.cpp:417 #, fuzzy msgid "Image viewer:" msgstr "Standard billedviser :" #: ../src/Preferences.cpp:423 #, fuzzy msgid "Archiver:" msgstr "Opret arkiv" #: ../src/Preferences.cpp:429 #, fuzzy msgid "Pdf viewer:" msgstr "Standard tekstviser :" #: ../src/Preferences.cpp:435 #, fuzzy msgid "Audio player:" msgstr "Standard billedviser :" #: ../src/Preferences.cpp:441 #, fuzzy msgid "Video player:" msgstr "Standard billedviser :" #: ../src/Preferences.cpp:447 #, fuzzy msgid "Terminal:" msgstr "&Terminal" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 #, fuzzy msgid "Mount:" msgstr "Montér" #: ../src/Preferences.cpp:462 #, fuzzy msgid "Unmount:" msgstr "Afmontér" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Farvetema" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Personlige farver" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Basisfarve" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Rammefarve" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Baggrundsfarve" #: ../src/Preferences.cpp:492 #, fuzzy msgid "Text color" msgstr "Basisfarve" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Baggrundsfarve for valg" #: ../src/Preferences.cpp:494 #, fuzzy msgid "Selection text color" msgstr "Forgrundsfarve for valg" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Baggrundsfarve for filliste" #: ../src/Preferences.cpp:496 #, fuzzy msgid "File list text color" msgstr "Baggrundsfarve for fillistevalg" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Baggrundsfarve for fillistevalg" #: ../src/Preferences.cpp:498 #, fuzzy msgid "Progress bar color" msgstr "Rammefarve" #: ../src/Preferences.cpp:499 #, fuzzy msgid "Attention color" msgstr "Basisfarve" #: ../src/Preferences.cpp:500 #, fuzzy msgid "Scrollbar color" msgstr "Rammefarve" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 #, fuzzy msgid "Controls" msgstr "Skrifttyper" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "Sti til ikon-temaer" #: ../src/Preferences.cpp:523 #, fuzzy msgid "\tSelect path..." msgstr " Vælg..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Skrifttyper" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Skrifttyper" #: ../src/Preferences.cpp:533 #, fuzzy msgid "Normal font:" msgstr "Normalskrifttype:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Vælg..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Tekstskrifttype:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "" #: ../src/Preferences.cpp:634 #, fuzzy msgid "Select an icon theme folder or an icon file" msgstr " Mappen :" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "Vælg normalskrifttype" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Vælg skrifttype" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 #, fuzzy msgid "Create new file" msgstr "Opret ny fil..." #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 #, fuzzy msgid "Create new folder" msgstr "Opret ny mappe..." #: ../src/Preferences.cpp:803 #, fuzzy msgid "Copy to clipboard" msgstr "Kopiér\tCtrl-C\tKopiér. (Ctrl-C)" #: ../src/Preferences.cpp:807 #, fuzzy msgid "Cut to clipboard" msgstr "Klip\tCtrl-X\tKlip. (Ctrl-X)" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 #, fuzzy msgid "Paste from clipboard" msgstr "\tSæt ind (Ctrl-V)" #: ../src/Preferences.cpp:827 #, fuzzy msgid "Open file" msgstr "&Åbn fil...\tCtrl-O" #: ../src/Preferences.cpp:831 #, fuzzy msgid "Quit application" msgstr "Applikation" #: ../src/Preferences.cpp:835 #, fuzzy msgid "Select all" msgstr "Markér &Alle" #: ../src/Preferences.cpp:839 #, fuzzy msgid "Deselect all" msgstr "Slet markering\tCtrl-Z" #: ../src/Preferences.cpp:843 #, fuzzy msgid "Invert selection" msgstr "&Invertér markering\tCtrl-I" #: ../src/Preferences.cpp:847 #, fuzzy msgid "Display help" msgstr "&Værktøjslinje\t\tVis værktøjslinjen" #: ../src/Preferences.cpp:851 #, fuzzy msgid "Toggle display hidden files" msgstr "Vis skjulte filer" #: ../src/Preferences.cpp:855 #, fuzzy msgid "Toggle display thumbnails" msgstr "\tVis miniaturer" #: ../src/Preferences.cpp:863 #, fuzzy msgid "Close window" msgstr "Nyt &vindue\tF3" #: ../src/Preferences.cpp:867 #, fuzzy msgid "Print file" msgstr "Udskriv fil" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "&Søg" #: ../src/Preferences.cpp:875 #, fuzzy msgid "Search previous" msgstr "Find ikoner i" #: ../src/Preferences.cpp:879 #, fuzzy msgid "Search next" msgstr "&Søg" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 #, fuzzy msgid "Vertical panels" msgstr "To &paneler\tCtrl-F3" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 #, fuzzy msgid "Horizontal panels" msgstr "To &paneler\tCtrl-F3" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 #, fuzzy msgid "Refresh panels" msgstr "Venstre pane&l" #: ../src/Preferences.cpp:901 #, fuzzy msgid "Create new symbolic link" msgstr "Opret ny fil..." #: ../src/Preferences.cpp:905 #, fuzzy msgid "File properties" msgstr "Egenskaber" #: ../src/Preferences.cpp:909 #, fuzzy msgid "Move files to trash" msgstr "Smid i papirkurven" #: ../src/Preferences.cpp:913 #, fuzzy msgid "Restore files from trash" msgstr "Tøm papirkurven" #: ../src/Preferences.cpp:917 #, fuzzy msgid "Delete files" msgstr "Slet mappe : " #: ../src/Preferences.cpp:921 #, fuzzy msgid "Create new window" msgstr "Opret ny fil..." #: ../src/Preferences.cpp:925 #, fuzzy msgid "Create new root window" msgstr "Nyt &root vindue\tShift-F3" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Kør kommando" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 #, fuzzy msgid "Launch terminal" msgstr "\tKør Xfe som root (Shift-F3)" #: ../src/Preferences.cpp:938 #, fuzzy msgid "Mount file system (Linux only)" msgstr "Montér filsystem..." #: ../src/Preferences.cpp:942 #, fuzzy msgid "Unmount file system (Linux only)" msgstr "Afmontér filsystem..." #: ../src/Preferences.cpp:946 #, fuzzy msgid "One panel mode" msgstr "Venstre pane&l" #: ../src/Preferences.cpp:950 #, fuzzy msgid "Tree and panel mode" msgstr "T&ræ og panel\tCtrl-F2" #: ../src/Preferences.cpp:954 #, fuzzy msgid "Two panels mode" msgstr "To &paneler\tCtrl-F3" #: ../src/Preferences.cpp:958 #, fuzzy msgid "Tree and two panels mode" msgstr "Træ og to p&aneler\tCtrl-F4" #: ../src/Preferences.cpp:962 #, fuzzy msgid "Clear location bar" msgstr "\tTøm adresselinjen\tFjern indholdet i adresselinjen." #: ../src/Preferences.cpp:966 #, fuzzy msgid "Rename file" msgstr "Omdøb " #: ../src/Preferences.cpp:970 #, fuzzy msgid "Copy files to location" msgstr "\tGå\tGå til den valgte adresse." #: ../src/Preferences.cpp:974 #, fuzzy msgid "Move files to location" msgstr "\tGå\tGå til den valgte adresse." #: ../src/Preferences.cpp:978 #, fuzzy msgid "Symlink files to location" msgstr "\tGå\tGå til den valgte adresse." #: ../src/Preferences.cpp:982 #, fuzzy msgid "Add bookmark" msgstr "Tilføj til bogmærker\tCtrl-B" #: ../src/Preferences.cpp:986 #, fuzzy msgid "Synchronize panels" msgstr "&Et panel\tCtrl-F1" #: ../src/Preferences.cpp:990 #, fuzzy msgid "Switch panels" msgstr "To &paneler\tCtrl-F3" #: ../src/Preferences.cpp:994 #, fuzzy msgid "Go to trash can" msgstr "Smid i papirkurven" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Tøm papirkurven" #: ../src/Preferences.cpp:1002 #, fuzzy msgid "View" msgstr "Vis:" #: ../src/Preferences.cpp:1006 #, fuzzy msgid "Edit" msgstr "Redigér:" #: ../src/Preferences.cpp:1014 #, fuzzy msgid "Toggle display hidden folders" msgstr "Vis skjulte filer" #: ../src/Preferences.cpp:1018 #, fuzzy msgid "Filter files" msgstr "Fil tid" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "" #: ../src/Preferences.cpp:1033 #, fuzzy msgid "Zoom to fit window" msgstr "Gå til linje" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "" #: ../src/Preferences.cpp:1059 #, fuzzy msgid "Create new document" msgstr "Opret ny mappe..." #: ../src/Preferences.cpp:1063 #, fuzzy msgid "Save changes to file" msgstr "Gem %s i fil?" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 #, fuzzy msgid "Goto line" msgstr "Gå til linje" #: ../src/Preferences.cpp:1071 #, fuzzy msgid "Undo last change" msgstr "&Fortryd\tCtrl-Z\tFortryd seneste ændring. (Ctrl-Z)" #: ../src/Preferences.cpp:1075 #, fuzzy msgid "Redo last change" msgstr "&Fortryd\tCtrl-Z\tFortryd seneste ændring. (Ctrl-Z)" #: ../src/Preferences.cpp:1079 #, fuzzy msgid "Replace string" msgstr "Erstat" #: ../src/Preferences.cpp:1083 #, fuzzy msgid "Toggle word wrap mode" msgstr "Ombryd tekst\tCtrl-K\tTekstombrydning til. (Ctrl-K)" #: ../src/Preferences.cpp:1087 #, fuzzy msgid "Toggle line numbers mode" msgstr "Vis &linjenumre\tCtrl-T\tVis linjenumre. (Ctrl-T)" #: ../src/Preferences.cpp:1091 #, fuzzy msgid "Toggle lower case mode" msgstr "&Overskrivning\t\tSkift til overskrivnings-tilstand." #: ../src/Preferences.cpp:1095 #, fuzzy msgid "Toggle upper case mode" msgstr "&Overskrivning\t\tSkift til overskrivnings-tilstand." #. Confirmation message #: ../src/Preferences.cpp:1114 #, 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:1115 msgid "Restore default key bindings" msgstr "" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Genstart" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "Luk" #: ../src/SearchPanel.cpp:165 #, fuzzy msgid "Refresh panel" msgstr "Venstre pane&l" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 #, fuzzy msgid "Copy selected files to clipboard" msgstr "\tKopiér (Ctrl-C, F5)" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 #, fuzzy msgid "Cut selected files to clipboard" msgstr "\tKlip (Ctrl-X)" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 #, fuzzy msgid "Show properties of selected files" msgstr "\tVis egenskaber for markerede filer (F9)" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 #, fuzzy msgid "Move selected files to trash can" msgstr "\tSmid markerede filer i papirkurven (Del, F8)" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 #, fuzzy msgid "Delete selected files" msgstr "\tSlet markerede filer (Shift-Del)" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Detaljeret filliste" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnorer store/små bogstaver" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "" #: ../src/SearchPanel.cpp:2421 #, fuzzy msgid "&Packages query " msgstr "Pakke forespørgsel " #: ../src/SearchPanel.cpp:2435 #, fuzzy msgid "&Go to parent folder" msgstr " Mappen :" #: ../src/SearchPanel.cpp:3658 #, fuzzy, c-format msgid "Copy %s items" msgstr "" " filer/mapper.\n" "Fra: " #: ../src/SearchPanel.cpp:3674 #, fuzzy, c-format msgid "Move %s items" msgstr "" " filer/mapper.\n" "Fra: " #: ../src/SearchPanel.cpp:3690 #, fuzzy, c-format msgid "Symlink %s items" msgstr "" " filer/mapper.\n" "Fra: " #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr " Elementer" #: ../src/SearchPanel.cpp:4299 #, fuzzy msgid "1 item" msgstr " Elementer" #: ../src/SearchWindow.cpp:71 #, fuzzy msgid "Find files:" msgstr "Udskriv fil" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:79 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr " Mappen :" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "In folder:" msgstr "Flyt mappen " #: ../src/SearchWindow.cpp:86 #, fuzzy msgid "\tIn folder..." msgstr "Ny Mappe" #: ../src/SearchWindow.cpp:89 #, fuzzy msgid "Text contains:" msgstr "Tekstskrifttype:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "More options" msgstr "Find ikoner i" #: ../src/SearchWindow.cpp:98 #, fuzzy msgid "Search options" msgstr "Find ikoner i" #: ../src/SearchWindow.cpp:99 #, fuzzy msgid "Reset\tReset search options" msgstr "Find ikoner i" #: ../src/SearchWindow.cpp:115 #, fuzzy msgid "Min size:" msgstr "Udskriv fil" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "Fil tid" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 #, fuzzy msgid "Max size:" msgstr "Total størrelse" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "Fil tid" #. Modification date #: ../src/SearchWindow.cpp:126 #, fuzzy msgid "Last modified before:" msgstr "Sidst modificeret:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:131 #, fuzzy msgid "Last modified after:" msgstr "Sidst modificeret:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:137 #, fuzzy msgid "User:" msgstr "Bruger" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "\tFilter by user name" msgstr "Fil tid" #: ../src/SearchWindow.cpp:142 #, fuzzy msgid "Group:" msgstr "Gruppe" #: ../src/SearchWindow.cpp:145 #, fuzzy msgid "\tFilter by group name" msgstr "Fil tid" #. File type #: ../src/SearchWindow.cpp:178 #, fuzzy msgid "File type:" msgstr "Filsystem:" #: ../src/SearchWindow.cpp:181 #, fuzzy msgid "File" msgstr "Fil :" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:187 #, fuzzy msgid "\tFilter by file type" msgstr "Fil tid" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 #, fuzzy msgid "Permissions:" msgstr "Rettigheder" #: ../src/SearchWindow.cpp:194 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Rettigheder" #. Empty files #: ../src/SearchWindow.cpp:197 #, fuzzy msgid "Empty files:" msgstr "Vis filer :" #: ../src/SearchWindow.cpp:198 #, fuzzy msgid "\tEmpty files only" msgstr "Vis filer :" #: ../src/SearchWindow.cpp:202 #, fuzzy msgid "Follow symbolic links:" msgstr "Opret ny fil..." #: ../src/SearchWindow.cpp:203 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Opret ny fil..." #: ../src/SearchWindow.cpp:207 #, fuzzy msgid "Non recursive:" msgstr "Rekursivt" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:212 #, fuzzy msgid "Ignore other file systems:" msgstr "Afmontér filsystem..." #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:782 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Find ikoner i" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 #, fuzzy msgid " items" msgstr " Elementer" #: ../src/SearchWindow.cpp:938 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Find ikoner i" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:973 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "&Søg" #: ../src/SearchWindow.cpp:1147 #, 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:201 #: ../src/XFileImage.cpp:327 ../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:808 #, fuzzy msgid "&Vertical panels" msgstr "To &paneler\tCtrl-F3" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 #, 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:781 msgid "&Thumbnails" msgstr "Minia&turer" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "Papi&rkurv" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "Du kører Xfe som root!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, 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:2274 #, fuzzy, c-format msgid "Can't create Xfe config folder %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/XFileExplorer.cpp:2296 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:2300 msgid "XFE configuration file" msgstr "XFE konfigurationsfil" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, 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:2339 ../src/XFileExplorer.cpp:3992 #, 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:2357 ../src/XFileExplorer.cpp:4005 #, 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:2361 ../src/XFileExplorer.cpp:4007 #, 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:3181 msgid "Help" msgstr "Hjælp" #: ../src/XFileExplorer.cpp:3211 #, fuzzy, c-format msgid "X File Explorer Version %s" msgstr "Om X File Explorer " #: ../src/XFileExplorer.cpp:3212 #, 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:3214 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" "Finnish: Kimmo Siira\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:3246 #, fuzzy msgid "About X File Explorer" msgstr "Om X File Explorer" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Execute the command:" msgstr "Kør kommandoen :" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Console mode" msgstr "Kør i konsollen" #: ../src/XFileExplorer.cpp:3896 #, fuzzy msgid "Search files and folders" msgstr " Mappen :" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Vil du virkelig afslutte Xfe?" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr " i " #: ../src/XFileExplorer.cpp:3959 #, 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:4049 #, fuzzy, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "Sidst ændret" #: ../src/XFileExplorer.cpp:4051 #, fuzzy msgid "Trash size" msgstr "Total størrelse" #: ../src/XFileExplorer.cpp:4058 #, 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:4512 ../src/XFileExplorer.cpp:4586 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Kan ikke slette mappen " #: ../src/XFileExplorer.cpp:4591 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "&Filtilknytninger" #: ../src/XFileExplorer.cpp:4596 #, fuzzy, c-format msgid "File association not found: %s" msgstr "&Filtilknytninger" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Indstillinger" #: ../src/XFilePackage.cpp:213 #, fuzzy msgid "Open package file" msgstr "\tÅbn pakke (Ctrl-O)" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 #, fuzzy msgid "&Open..." msgstr "Åbn" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 #, fuzzy msgid "&Toolbar" msgstr "&Værktøjslinje\t\tVis værktøjslinjen" #. Help Menu entries #: ../src/XFilePackage.cpp:235 #, fuzzy msgid "&About X File Package" msgstr "Om X File Image" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "&Afinstallér" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Installér/Opgradér" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "&Beskrivelse" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "&Filoversigt" #: ../src/XFilePackage.cpp:304 #, 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:306 #, fuzzy msgid "About X File Package" msgstr "Om X File Image" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "RPM kildepakker" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "RPM pakker" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "DEB pakker" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Åbn Dokument" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Ingen pakke åbnet" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Ukendt pakkeformat" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Installér/Opgradér pakke..." #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Afinstallér pakke..." #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[RPM pakke]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[DEB pakke]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "Forespørgsel på %s mislykkedes!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../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:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Kan ikke åbne filen: %s" #. Usage message #: ../src/XFilePackage.cpp:719 #, 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:182 msgid "GIF Image" msgstr "GIF billede" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "BMP billede" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "XPM billede" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "PCX billede" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "ICO billede" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "RGB billede" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "XBM billede" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "TARGA billede" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "PPM billede" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "PNG billede" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "JPEG billede" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "TIFF billede" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "B&illede" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 #, fuzzy msgid "Open" msgstr "Åbn:" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 #, fuzzy msgid "Open image file." msgstr "Åbn billedfil" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Udskriv fil" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 #, 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:660 #, fuzzy msgid "Zoom in" msgstr "Gå til linje" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "" #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "" #: ../src/XFileImage.cpp:675 #, fuzzy msgid "Zoom to fit" msgstr "Gå til linje" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "" #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "" #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "" #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "" #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 #, fuzzy msgid "&Print..." msgstr "Udskriv fil" #: ../src/XFileImage.cpp:721 #, fuzzy msgid "&Clear recent files" msgstr "&Tøm seneste filer" #: ../src/XFileImage.cpp:721 #, fuzzy msgid "Clear recent file menu." msgstr "&Tøm seneste filer" #: ../src/XFileImage.cpp:727 #, fuzzy msgid "Quit Xfi." msgstr "Afslutter Xfe" #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "" #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "" #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "" #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "" #: ../src/XFileImage.cpp:775 #, fuzzy msgid "Show hidden files and folders." msgstr " Mappen :" #: ../src/XFileImage.cpp:781 #, fuzzy msgid "Show image thumbnails." msgstr "\tVis miniaturer" #: ../src/XFileImage.cpp:789 #, fuzzy msgid "Display folders with big icons." msgstr "\tVis ikoner\tVis mappeindhold med store ikoner." #: ../src/XFileImage.cpp:795 #, fuzzy msgid "Display folders with small icons." msgstr "\tVis liste\tVis mappeindhold med små ikoner." #: ../src/XFileImage.cpp:801 #, fuzzy msgid "&Detailed file list" msgstr "Detaljeret filliste" #: ../src/XFileImage.cpp:801 #, fuzzy msgid "Display detailed folder listing." msgstr "\tVis detaljer\tDetaljeret listevisning af mappeindhold." #: ../src/XFileImage.cpp:817 #, fuzzy msgid "View icons row-wise." msgstr "Ikoner på &række\t\tVis ikoner på række." #: ../src/XFileImage.cpp:818 #, fuzzy msgid "View icons column-wise." msgstr "Ikoner i &kolonner\t\tVis ikoner i kolonner" #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "" #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 #, fuzzy msgid "Display toolbar." msgstr "Værktøjslinjen\t\tVis værktøjslinjen" #: ../src/XFileImage.cpp:823 #, fuzzy msgid "&File list" msgstr "Detaljeret filliste" #: ../src/XFileImage.cpp:823 #, fuzzy msgid "Display file list." msgstr "&Filliste\t\tVis filliste." #: ../src/XFileImage.cpp:824 #, fuzzy msgid "File list &before" msgstr "Baggrundsfarve for fillistevalg" #: ../src/XFileImage.cpp:824 #, fuzzy msgid "Display file list before image window." msgstr "\tVis ikoner\tVis mappeindhold med store ikoner." #: ../src/XFileImage.cpp:825 #, fuzzy msgid "&Filter images" msgstr "Fil tid" #: ../src/XFileImage.cpp:825 #, fuzzy msgid "List only image files." msgstr "&Filliste\t\tVis filliste." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "" #: ../src/XFileImage.cpp:826 #, 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:831 #, fuzzy msgid "&About X File Image" msgstr "Om X File Image" #: ../src/XFileImage.cpp:831 #, fuzzy msgid "About X File Image." msgstr "Om X File Image" #: ../src/XFileImage.cpp:1333 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:1335 msgid "About X File Image" msgstr "Om X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Fejl under åbning af billede" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Ikke understøttet type: %s" #: ../src/XFileImage.cpp:1464 #, fuzzy msgid "Unable to load image, the file may be corrupted" msgstr "Kan ikke åbne hele filen: %s" #: ../src/XFileImage.cpp:1504 #, 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:1619 msgid "Open Image" msgstr "Åbn billedfil" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 #, fuzzy msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Indtast print kommando: \n" "(eksempelvis: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Fejl under gemning af fil" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "Kan ikke åbne filen: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "Filen er for stor: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "Fil: %s overskrevet" #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "uden titel" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "uden titel%d" #: ../src/WriteWindow.cpp:1477 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" #: ../src/WriteWindow.cpp:1479 msgid "About X File Write" msgstr "Om X File Write" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Vælg skrifttype" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Tekstfiler" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "C kildekode" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "C++ kildekode" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "C/C++ deklarationsfiler" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "HTML deklarationsfiler" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "PHP filer" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Ikke-gemt dokument" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "Gem %s i fil?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Gem dokument" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Overskriv dokument" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "Overskriv eksisterende dokument: %s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (Ændret)" #: ../src/WriteWindow.cpp:1851 #, fuzzy msgid " (read only)" msgstr "Skrivebeskyttet" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "Filen blev Ændret" #: ../src/WriteWindow.cpp:2071 #, 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:2132 msgid "Replace" msgstr "Erstat" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Gå til linje" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "&Gå til linje nummer:" #. Usage message #: ../src/XFileWrite.cpp:217 #, 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "Kan ikke slette mappen %s\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 #, fuzzy msgid "copy" msgstr "Kopiér fil" #: ../src/xfeutils.cpp:1413 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "Kan ikke slette mappen " #: ../src/xfeutils.cpp:1417 #, 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)!" #~ msgid "&Themes" #~ msgstr "&Temaer" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "Bekræft sletning" #~ msgid "KB" #~ msgstr "KB" #, 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?" #, 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?" #, 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?" #~ 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?" #~ 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?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ msgstr "Der opstod en fejl under flytningen!" #, 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.44/po/nl.po0000644000200300020030000053525114023353061010524 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: 2021-03-14 10:23+0100\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:333 #, 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:467 #, 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:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Fout bij het laden van iconen" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "Onmogelijk bepaalde iconen te laden. Check a.u.b. het icoon-pad" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" 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:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Eigenschappen" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&Algemeen" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Map" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Character Device" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Block Device" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Named Pipe" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Uitvoerbaar" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Document" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Gebroken link" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 #, fuzzy msgid "Link to " msgstr "Linken aan " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Plaats:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Type:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Grootte:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Selectie:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Meerdere types" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d items" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d bestanden, %d mappen" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d bestanden, %d mappen" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d bestanden, %d mappen" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d bestanden, %d mappen" #: ../src/Properties.cpp:1252 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Toon eigenschappen van de geselecteerde bestanden" #: ../src/Properties.cpp:1256 #, fuzzy msgid "Change properties of the selected file?" msgstr "Toon eigenschappen van de geselecteerde bestanden" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 #, fuzzy msgid "Confirm Change Properties" msgstr "Bestandseigenschappen" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Waarschuwing" #: ../src/Properties.cpp:1401 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Verplaatsen van bestand afgebroken!" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Bestandsnaam is leeg, operatie afgelast!" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 #, 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:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Kan niet schrijven naar %s: Geen toegangsrecht" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "Map %s bestaat niet" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Bestand hernoemen" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Bestandseigenaar" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "Verandering van eigenaar afgebroken!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown in %s mislukt: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "Chown in %s mislukt" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 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:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod in %s mislukt: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Bestandsrechten" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Verandering van bestandsrechten afgebroken!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, fuzzy, c-format msgid "Chmod in %s failed" msgstr "Chmod in %s mislukt: %s" #: ../src/Properties.cpp:1628 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " in een gekozen item" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "Wijziging in bestandsrechten onderbroken!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Kies een uitvoerbaar bestand" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Alle bestanden" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "PNG-afbeeldingen" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "GIF-Afbeeldingen" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "BMP-Afbeeldingen" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Kies een icoon-bestand" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%u bestanden, %u subfolders" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%u bestanden, %u subfolders" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%u bestanden, %u subfolders" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u bestanden, %u subfolders" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Hier copieren" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Hier plaatsen" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Hier linken" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Afbreken" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Bestands-copy" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Bestand verplaatsen" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Symlink bestand" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopieren" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Copieer %s bestanden/mappen.\n" "Van: %s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Verplaatsen" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Verplaatsen van %s bestanden/mappen.\n" "Van: %s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Symlink" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "Naar:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 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:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "Verplaatsen van bestand afgebroken!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 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:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "Kopieren van het bestand afgebroken!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "Koppelpunt %s reageert niet... " #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "0 Bytes in root" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 #, fuzzy msgid "Panel is active" msgstr "Paneel heeft een focus" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 #, fuzzy msgid "Activate panel" msgstr "Panelen verwisselen" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "&Aan het archief toevoegen..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Kopieren" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "K&nippen" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Plakken" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Verplaatsen naar..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, 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:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, 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:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 msgid "File name is empty, operation cancelled" msgstr "Bestandsnaam is leeg, operatie afgelast!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Archiveren" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Copy" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "Kopieer %s items van: %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Hernoemen" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Hernoemen" #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Kopieren naar" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Verplaatsen " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "Verplaats %s items van: %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Symlink" #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "Symlink %s items van: %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s is geen map" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "Er is een fout opgetreden tijdens het linken" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "Het linken is afgebroken!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "Map %s permanent verwijderen?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Verwijdering bevestigen" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Bestand verwijderen" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Map %s is niet leeg, toch verwijderen?" #: ../src/DirPanel.cpp:2264 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "Map %s is schrijf-beveiligd, toch permanent verwijderen?" #: ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "Verwijderen van de map afgebroken!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "Map %s naar de prullenbak verplaatsen" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Prullenbak bevestigen" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Naar prullenbak verplaatsen" #: ../src/DirPanel.cpp:2360 #, 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:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 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:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "Verplaatsen naar de prullenbak afgebroken!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Uit prullenbak terughalen" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "De map %s terugbrengen naar de oorpronkelijke locatie %s ?" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Terughalen bevestigen" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "Herstel-informatie niet beschikbaar voor %s" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, 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:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "Kan map %s niet aanmaken: %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "Kan map %s niet aanmaken" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 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:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "Het terughalen uit de prullenbak is afgebroken!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Nieuwe map aanmaken:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Nieuwe map" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Bestandsnaam is leeg, operatie afgelast!" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Opdracht uitvoeren" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Aankoppelen" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Ontkoppelen" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " Bestandssysteem..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " de map: " #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " operatie afgebroken!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 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:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Rechten wijzigen..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "Bestand:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Overschrijven bevestigen" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "Kan bestand %s niet kopieren: %s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "Kan bestand %s niet kopieren" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "Bron: " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "Doel: " #: ../src/File.cpp:604 #, 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:608 #, 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:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Kan map %s niet kopieren: toegang geweigerd" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Kan bestand %s niet kopieren: toegang geweigerd" #: ../src/File.cpp:791 #, 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:795 #, 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:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "Bron %s bestaat niet" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "Bestemming %s is dezelfde als de bron" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, 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:1048 #, fuzzy msgid "Delete folder: " msgstr "Map verwijderen: " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "Van: " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "Kan map %s niet verwijderen: %s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "Kan map %s niet verwijderen" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "Kan bestand %s niet verwijderen : %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "Kan bestand %s niet verwijderen" #: ../src/File.cpp:1213 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Bestand of map %s bestaat reeds" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Kan niet herbenoemen naar doel %s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "Kan geen symlink %s maken: %s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "Kan geen symlink %s maken" #: ../src/File.cpp:1655 ../src/File.cpp:1852 #, fuzzy msgid "Folder: " msgstr "Map: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Archief uitpakken" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Aan archief toevoegen" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Mislukte opdracht: %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Succes" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "Map %s was succesvol aangekoppeld." #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Map %s was succesvol afgekoppeld." #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "Pakket installeren/opwaarderen" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "Installeren van pakket: %s \n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Pakket deinstalleren" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 #, fuzzy msgid "Go to previous folder" msgstr "Naar de voorgaande map gaan." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 #, fuzzy msgid "Go to next folder" msgstr "Naar de volgende map gaan." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 #, fuzzy msgid "Go to parent folder" msgstr "Naar de hoofd-directory gaan" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr " Naar de home-map gaan" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Grote icoon-lijst" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Kleine icoon-lijst" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Gedetailleerde bestandslijst" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Verborgen bestanden tonen" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "Verborgen bestand niet tonen" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Thumbnails tonen" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 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:3758 msgid "New File" msgstr "Nieuw bestand" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "Bestand of map %s bestaat reeds" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "Naar ho&me gaan" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Nieuwe m&ap..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "&Verborgen bestand" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "Thum&bnails" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "G&rote iconen" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "&Kleine iconen" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "He&le bestandslijst" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "&Rijen" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "&Kolommen" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "&Naam" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "Groo&tte" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Type" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "E&xtensie" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "&Datum" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "&Gebruiker" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "&Groep" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 #, fuzzy msgid "Fold&ers first" msgstr "Mappen" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "Om&gekeerde volgorde" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "&Familie" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "&Gewicht" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "&Stijl" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "Groo&tte:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Karakter set:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Iedere" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "West Europees" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Oost Europees" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Zuid Europees" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Noord Europees" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Cyrilisch" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Arabisch" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Grieks" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Hebreeuws" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Turks" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Noors" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Thai" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Baltisch" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Schots" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Russisch" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Centraal Eurpees (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Russisch (cp1251" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Latijn1 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Grieks (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Turks (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Hebreeuws (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Arabisch (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Baltisch (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Vietnam (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Thai (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Grootte instellen:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Normaal" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Semi uitgebreid" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Groot" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Extra groot" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "Ultra groot" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Vast" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Schaalbaar" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Alle fonts" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Vooruitblik:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Xfe als root starten" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&Nee" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Ja" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Afsluiten" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Opslaan" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Ja voor &alles" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Wachtwoord voor gebruiker invoeren:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Wachtwoord voor root invoeren:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "Er is een fout opgetreden!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Naam: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Grootte in root: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Type:" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Aangepaste datum: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Gebruiker: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Groep: " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Bestandsrechten: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Origineel pad: " #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Datum van verwijdering: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Grootte: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Grootte" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Type" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Extensie" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Datum van aanpassing" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Besyandsrechten" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "Kan afbeelding niet laden" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Origineel pad" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Datum van verwijdering" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Filter" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Status" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:1035 ../src/SearchPanel.cpp:790 #, 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "" #: ../src/FilePanel.cpp:1832 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Bestandsnaam is leeg, operatie afgelast!" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "Naar map:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, 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:2408 ../src/SearchPanel.cpp:2936 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "Map %s naar de prullenbak verplaatsen" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "%s gekozen bestanden in de prullenbak gooien? " #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, 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:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "Verplaatsen naar de prullenbak afgebroken!" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Bestand %s naar de oorspronkelijke locatie %s terugbrengen?" #: ../src/FilePanel.cpp:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "Herstel %s gekozen items naar hun oorspronkelijke locatie?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "Kan map %s niet maken: %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "Map %s permanent verwijderen?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr "%s gekozen items definitief verwijderen?" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "Bestand %s is schrijf-beveiligd, toch verwijderen?" #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "Verwijderen van bestand afgebroken!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3758 msgid "Create new file:" msgstr "Nieuw bestand aanmaken:" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "Kan map %s niet maken: %s" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "Kan map %s niet aanmaken" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Kan geen symlink %s maken: %s" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "Kan niet schrijven naar %s: Geen toegangsrecht" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Nieuwe symbolische link maken:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Nieuwe symlink" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "Kies de symlink van betreffend bestand of map" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "Bron %s van de symlink bestaat niet" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Open het gekozen bestand met:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Open met" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "A&ssocieer" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Bestanden tonen:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "Nieuw& bestand..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Nieuwe s&ymlink..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "Fi<er..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "&Gehele bestandslijst" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "Rech&ten" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "Nieu&w bestand..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Aankoppelen" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "Openen &met..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Open" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 #, fuzzy msgid "Extr&act to folder " msgstr "Uit&pakken naar map " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "&Hier uitpakken" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "Uit&pakken naar..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Beeld" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Installeren/Op&waarderen" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "De&installeren" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Bewerken" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 #, fuzzy msgid "Com&pare..." msgstr "&Vervangen..." #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4672 #, fuzzy msgid "Packages &query " msgstr "Pakketten &zoeken " #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 #, fuzzy msgid "Scripts" msgstr "&Beschrijving" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 #, fuzzy msgid "&Go to script folder" msgstr "Naar de hoofd-directory gaan" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Kopieren &naar..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 #, fuzzy msgid "M&ove to trash" msgstr "Naar prullenbak verplaatsen" #: ../src/FilePanel.cpp:4695 #, fuzzy msgid "Restore &from trash" msgstr "Uit prullenbak terughalen" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 #, fuzzy msgid "Compare &sizes" msgstr "Bron:" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 #, fuzzy msgid "P&roperties" msgstr "Eigenschappen" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Kies een map als bestemming" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Alle bestanden" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Pakketten Installeren/Opwaarderen" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Pakket deinstalleren" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, fuzzy, c-format msgid "Error: Fork failed: %s\n" msgstr "Fout! Afsplitsing mislukt: %s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "Kan map %s niet aanmaken: %s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "Kan map %s niet aanmaken" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Geen geschikt pakketbeheer (rpm of dpkg) gevonden!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "Bestand %s behoort bij geen enkel pakket." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Informatie" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, 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:6220 ../src/SearchPanel.cpp:2887 #, fuzzy msgid "Sizes of Selected Items" msgstr "%s in %s gekozen items" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 Bytes" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s in %s gekozen items" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s in %s gekozen items" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s in %s gekozen items" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s in %s gekozen items" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " de map: " #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d bestanden, %d mappen" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d bestanden, %d mappen" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d bestanden, %d mappen" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Link" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "Sl&uiten" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "Kan bestand %s niet verwijderen : %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 #, fuzzy msgid "Can't duplicate pipes" msgstr "Kan bestand %s niet verwijderen" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "Voorkeuren" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Huidig thema" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Opties" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "" "Gebruik de prullenbak voor het verwijderen van bestanden (veilig verwijderen)" #: ../src/Preferences.cpp:184 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:185 msgid "Auto save layout" msgstr "Layout automatisch opslaan" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Vensterpositie opslaan" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Single click folder open" msgstr "Bestand openen met een klik" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Bestand openen met een klik" #: ../src/Preferences.cpp:189 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "Toon tooltips in bestands- en mappenlijsten" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "Relatief inschalen van bestandslijsten" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Toon een pad boven bestandslijsten" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Waarschuw wanneer er toepassingen opstarten" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Verwijdering bevestigen" #: ../src/Preferences.cpp:198 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:213 #, fuzzy msgid "Start in home folder" msgstr "Naar de 'home'-directory gaan" #: ../src/Preferences.cpp:214 #, fuzzy msgid "Start in current folder" msgstr "Naar de hoofd-directory gaan" #: ../src/Preferences.cpp:215 #, fuzzy msgid "Start in last visited folder" msgstr "Verborgen bestanden en mappen tonen." #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "'Smooth scrolling' in bestandslijsten en tekstvensters" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Snelheid van het scrollen van de muis:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Kleur voortgangsbalk" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Root-modus" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "Root-modus toestaan" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Authenticatie bij'sudo' (met gebruikers-wachtwoord)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Authenticatie bij 'su' (gebruikt root-wachtwoord)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Mislukte opdracht: %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Opdracht uitvoeren" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "&Dialogen" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Bevestiging" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "Bevestig het kopieren/hernoemen/symlinken" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "Bevestig slepen en plakken" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "Bevestig het verplaatsen naar/terugbrengen uit de prullenbak" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Verwijdering bevestigen" #: ../src/Preferences.cpp:331 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Bevestig het verwijderen van mappen die nog niet leeg zijn" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Overschrijven bevestigen" #: ../src/Preferences.cpp:333 #, fuzzy msgid "Confirm execute text files" msgstr "Verwijdering bevestigen" #: ../src/Preferences.cpp:334 #, fuzzy msgid "Confirm change properties" msgstr "Bestandseigenschappen" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Waarschwingen" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Waarschuwen wanneer koppelpunten niet reageren" #: ../src/Preferences.cpp:340 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Bericht wanneer koppeling/ontkoppeling geslaagd is" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Waarschuwen bij het uitvoeren als root" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Programma's" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Standaard programma's" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Tekstviewer:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Teksteditor:" #: ../src/Preferences.cpp:405 #, fuzzy msgid "File comparator:" msgstr "Bestandsrechten" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Afbeelding-editor:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Afbeelding-viewer:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Archiveren:" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "Pdf-viewer" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Audio-speler:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Video-speler:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "Terminal" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 #, fuzzy msgid "Mount:" msgstr "Aankoppelen" #: ../src/Preferences.cpp:462 #, fuzzy msgid "Unmount:" msgstr "Ontkoppelen" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Kleuren-thema" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Aangepaste kleuren" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Dubble-klikken om de kleuren aan te passen" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Basis-kleur" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Rand-kleur" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Achtergrondkleur" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Tekstkleur" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Selectie achtergrondkleur" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Selectie tekstkleur" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Bestandslijst achtergrondkleur" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Bestandslijst tekstkleur" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Bestandslijst markeer-kleur" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "Kleur voortgangsbalk" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Aandachts-kleur" #: ../src/Preferences.cpp:500 #, fuzzy msgid "Scrollbar color" msgstr "Kleur voortgangsbalk" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Controlers" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Standaard (klassieke vormgeving)" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (moderne vormgeving)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "Pad voor icoonthema" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tPad instellen..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Fonts" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Fonts" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Normaal font:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Selecteer..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Tekst-font:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "&Toetsencombinaties" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Toestencombinaties" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Toestencombinaties aanpassen..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Standaard toestencombinaties herstellen..." #: ../src/Preferences.cpp:634 msgid "Select an icon theme folder or an icon file" msgstr "Kies een thema-map voor iconen of een icoonbestand" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "Normaal font aanpassen" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Tekstfont aanpassen" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Nieuw bestand aanmaken" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Nieuwe map aanmaken" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "Naar het klembord kopieren" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "Naar het klembord knippen" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Uit het klembord plakken" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Bestand openen" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Toepassing afsluiten" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Alles selecteren" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Alles deselecteren" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Selectie invoegen" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Help tonen" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Verborgen bestanden aan/uit" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Thumbnails aan/uit" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Venster sluiten" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Bestand afdrukken" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Zoeken" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Vorige zoeken" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Volgende zoeken" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 #, fuzzy msgid "Vertical panels" msgstr "Panelen verwisselen" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 #, fuzzy msgid "Horizontal panels" msgstr "Panelen verwisselen" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Panelen verversen" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Nieuwe symbolische link maken" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Bestandseigenschappen" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Bestanden naar prullenbak verplaatsen" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Bestanden uit prullenbak terughalen" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Bestanden verwijderen" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Nieuw venster openen" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Nieuwe root-venster openen" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Opdracht uitvoeren" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Terminal starten" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Koppel Bestandssysteem aan (alleen Linux)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Ontkoppel Bestandssysteem (alleen Linux)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "Enkel-paneel modus" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Boom en paneel modus" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "Dubbelpaneel modus" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Boom- en dubbelpaneel modus" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Locatiebalk legen" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Bestand hernoemen" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Bestanden naar de locatie kopieren" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Bestanden naar de locatie verplaatsen" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Bestanden aan de locatie symlinken" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Bladwijzer toevoegen" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Panelen synchroniseren" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Panelen verwisselen" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Naar de prullenbak gaan" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Prullenbak legen" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Beeld" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Bewerk" #: ../src/Preferences.cpp:1014 #, fuzzy msgid "Toggle display hidden folders" msgstr "Verborgen bestanden aan/uit" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Bestanden filteren" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "Beeld inzoomen op 100%" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Inzoomen om venster passend te maken" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "Afbeelding linksom draaien" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "Afbeelding rechtsom draaien" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "Afbeelding horizontaal spiegelen" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "Afbeelding verticaal spiegelen" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Nieuw document aanmaken" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Veranderingen in bestand opslaan" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Ga naar lijn" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Laatste wijziging ongedaan maken" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Laatste wijziging herhalen" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "String vervangen" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "Word-wrap modus aan/uit" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "Lijn-nummers aan/uit" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Kleine-letter modus aan/uit" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Hoofdletter-modus aan/uit" #. Confirmation message #: ../src/Preferences.cpp:1114 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:1115 msgid "Restore default key bindings" msgstr "Standaard toetsencombinaties herstellen" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Herstarten" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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/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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Sluiten" #: ../src/SearchPanel.cpp:165 #, fuzzy msgid "Refresh panel" msgstr "Panelen verversen" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Kopieer de gekozen bestanden naar het klembord" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Knip de gekopieerde bestanden naar het klembord" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Toon eigenschappen van de geselecteerde bestanden" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Verplaats geselecteerde bestanden naar de prullenbak" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Geselecteerde bestanden verwijderen" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Ge&hele bestandslijst" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "N&iet op hoofletters letten" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "&Automatisch inschalen" #: ../src/SearchPanel.cpp:2421 #, fuzzy msgid "&Packages query " msgstr "Pakketten &zoeken " #: ../src/SearchPanel.cpp:2435 #, fuzzy msgid "&Go to parent folder" msgstr "Naar de hoofd-directory gaan" #: ../src/SearchPanel.cpp:3658 #, fuzzy, c-format msgid "Copy %s items" msgstr "Kopieer %s items van: %s" #: ../src/SearchPanel.cpp:3674 #, fuzzy, c-format msgid "Move %s items" msgstr "Verplaats %s items van: %s" #: ../src/SearchPanel.cpp:3690 #, fuzzy, c-format msgid "Symlink %s items" msgstr "Symlink %s items van: %s" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr " items" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 item" #: ../src/SearchWindow.cpp:71 #, fuzzy msgid "Find files:" msgstr "Bestand afdrukken" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:79 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr "Verborgen bestanden en mappen tonen." #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "In folder:" msgstr "Naar map:" #: ../src/SearchWindow.cpp:86 #, fuzzy msgid "\tIn folder..." msgstr "Nieuwe &Map..." #: ../src/SearchWindow.cpp:89 #, fuzzy msgid "Text contains:" msgstr "Tekst-font:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "More options" msgstr "Vorige zoeken" #: ../src/SearchWindow.cpp:98 #, fuzzy msgid "Search options" msgstr "Vorige zoeken" #: ../src/SearchWindow.cpp:99 #, fuzzy msgid "Reset\tReset search options" msgstr "Vorige zoeken" #: ../src/SearchWindow.cpp:115 #, fuzzy msgid "Min size:" msgstr "Bestand afdrukken" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "Bestanden filteren" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 #, fuzzy msgid "Max size:" msgstr "Totale omvang" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "Bestanden filteren" #. Modification date #: ../src/SearchWindow.cpp:126 #, fuzzy msgid "Last modified before:" msgstr "Laatst aangepast:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:131 #, fuzzy msgid "Last modified after:" msgstr "Laatst aangepast:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:137 #, fuzzy msgid "User:" msgstr "Gebruiker: " #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "\tFilter by user name" msgstr "Bestanden filteren" #: ../src/SearchWindow.cpp:142 #, fuzzy msgid "Group:" msgstr "Groep: " #: ../src/SearchWindow.cpp:145 #, fuzzy msgid "\tFilter by group name" msgstr "Bestanden filteren" #. File type #: ../src/SearchWindow.cpp:178 #, fuzzy msgid "File type:" msgstr "Bestandssysteem:" #: ../src/SearchWindow.cpp:181 #, fuzzy msgid "File" msgstr "Bestand:" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:187 #, fuzzy msgid "\tFilter by file type" msgstr "Bestanden filteren" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 #, fuzzy msgid "Permissions:" msgstr "Bestandsrechten: " #: ../src/SearchWindow.cpp:194 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Bestandsrechten" #. Empty files #: ../src/SearchWindow.cpp:197 #, fuzzy msgid "Empty files:" msgstr "Bestanden tonen:" #: ../src/SearchWindow.cpp:198 #, fuzzy msgid "\tEmpty files only" msgstr "Bestanden tonen:" #: ../src/SearchWindow.cpp:202 #, fuzzy msgid "Follow symbolic links:" msgstr "Nieuwe symbolische link maken:" #: ../src/SearchWindow.cpp:203 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Nieuwe symbolische link maken" #: ../src/SearchWindow.cpp:207 #, fuzzy msgid "Non recursive:" msgstr "Recursief" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:212 #, fuzzy msgid "Ignore other file systems:" msgstr "Ontkoppel Bestandssysteem..." #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:782 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Vorige zoeken" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " items" #: ../src/SearchWindow.cpp:938 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Vorige zoeken" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:973 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "Tekst zoeken." #: ../src/SearchWindow.cpp:1147 #, 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:201 #: ../src/XFileImage.cpp:327 ../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:808 #, fuzzy msgid "&Vertical panels" msgstr "Panelen om&wisselen" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 #, 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:781 msgid "&Thumbnails" msgstr "" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "P&rullenbak" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "U gebruikt Xfe als root!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Kan geen Xfe config folder %S maken: %s" #: ../src/XFileExplorer.cpp:2274 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Kan geen Xfe config map %s maken" #: ../src/XFileExplorer.cpp:2296 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:2300 msgid "XFE configuration file" msgstr "XFE configuratiebestand" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, 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:2339 ../src/XFileExplorer.cpp:3992 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Kan geen map %s voor prullenbak-bestanden maken" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, 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:2361 ../src/XFileExplorer.cpp:4007 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Kan geen info-map %s voor de prullenbak maken" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "Help" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer versie %s" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Gebaseerd op X Wincommander van Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3214 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" "Finnish: Kimmo Siira\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:3246 #, fuzzy msgid "About X File Explorer" msgstr "&Over X File Explorer" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 #, fuzzy msgid "&Panel" msgstr "&Paneel" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Execute the command:" msgstr "Uitvoeren van opdracht :" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Console mode" msgstr "Console-modus" #: ../src/XFileExplorer.cpp:3896 #, fuzzy msgid "Search files and folders" msgstr "Verborgen bestanden en mappen tonen." #. Confirmation message #: ../src/XFileExplorer.cpp:3958 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Wilt u Xfe werkelijk afsluiten?" #: ../src/XFileExplorer.cpp:3958 #, fuzzy msgid " in " msgstr " in root" #: ../src/XFileExplorer.cpp:3959 #, 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:4049 #, 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:4051 msgid "Trash size" msgstr "Omvang prullenbak" #: ../src/XFileExplorer.cpp:4058 #, 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:4512 ../src/XFileExplorer.cpp:4586 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Kan map %s niet verwijderen: %s" #: ../src/XFileExplorer.cpp:4591 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "&Bestands-associaties" #: ../src/XFileExplorer.cpp:4596 #, fuzzy, c-format msgid "File association not found: %s" msgstr "&Bestands-associaties" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Voorkeuren" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Pakket openen" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Openen" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Werkbalk" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "&Over X File Pakket" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "&Deinstalleren" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Installeren/Opwaarderen" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "&Beschrijving" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "Nestand &Lijst" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "Over X File Pakket" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "RPM bron pakket" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "RPM pakket" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "DEB pakket" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Open Dokument" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Geen pakket geladen" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Onbekend pakket-format" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Installeren/Opwaarderen van pakket" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Pakket deinstalleren" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[RPM pakket]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[DEB pakket]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "Zoektocht naar %s nislukt!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../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:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Kan bestand niet openen: %s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "GIF afbeelding" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "BMP Afbeelding" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "XPM Afbeelding" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "PCX Afbeelding" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "ICO Afbeelding" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "RGB Afbeelding" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "XBM Afbeelding" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "TARGA Afbeelding" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "PPM Afbeelding" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "PNG Afbeelding" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "JPEG Afbeelding" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "TIFF Afbeelding" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "&Afbeelding" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Openen" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Open afbeelding." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Afdrukken" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 msgid "Print image file." msgstr "Afbeelding afdrukken." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:660 msgid "Zoom in" msgstr "Inzoomen" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "Op afbeelding inzoomen." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Uitzoomen" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "Op afbeelding uitzoomen" #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "100% inzoomen" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "Op afbbelding 100% inzoomen" #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "Inzoomen om passend te maken" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "Inzoomen om in het venster te passen" #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "Naar links draaien" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Linker afbeelding draaien" #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Naar rechts draaien" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Rechter afbeelding draaien" #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Horizontaal spiegelen" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "Spiegel afbeelding horizontaal" #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Verticaal spiegelen" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Spiegel afbeelding verticaal" #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "&Afdrukken..." #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "&Recente bestanden opruimen" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "Recent bestandsmenu opruimen" #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Xfi afsluiten" #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "Zoom &in" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "Zoom &uit" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "Zoo%m 100%" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "Inzoomen om in het venster te passen" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "Draai &rechts" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Draai naar rechts" #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "Draai &links" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Draai naar linkls" #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "Spiegel &horizontaal" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Horizontaal spiegelen" #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "Spiegel &verticaal" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Verticaal spiegelen" #: ../src/XFileImage.cpp:775 #, fuzzy msgid "Show hidden files and folders." msgstr "Verborgen bestanden en mappen tonen." #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Toon thumbnails bij afbeeldingen" #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Toon mappen met grote iconen." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Toon mappen met kleine iconen." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "&Gedetailleerde bestandslijst" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Laat gedetailleerde mappenlijst zien." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "De iconen in rijen tonen." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "De iconen in kolommen tonen" #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Schaal de icoonnamen automatisch in" #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Werkbalk tonen." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "&Bestandslijst" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Bestandslijst tonen." #: ../src/XFileImage.cpp:824 #, fuzzy msgid "File list &before" msgstr "Bestandslijst tekstkleur" #: ../src/XFileImage.cpp:824 #, fuzzy msgid "Display file list before image window." msgstr "Map met grote iconen tonen." #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "&Filter afbeeldingen" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Neem alleen afbeeldingen in de lijst op.." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "In &venster passen bij het openen" #: ../src/XFileImage.cpp:826 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:831 msgid "&About X File Image" msgstr "&Over X File Image" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "Over X File Image" #: ../src/XFileImage.cpp:1333 #, 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:1335 msgid "About X File Image" msgstr "Over X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Fout bij het laden van de afbeelding" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Type niet ondersteund: %s" #: ../src/XFileImage.cpp:1464 msgid "Unable to load image, the file may be corrupted" msgstr "Kan afbeelding niet laden, het bestand is wellicht beschadigd" #: ../src/XFileImage.cpp:1504 #, 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:1619 msgid "Open Image" msgstr "Afbeelding openen" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Afdrukopdracht:\n" "(ex: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Fout bij het opslaan van het bestand" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "Kan bestand niet openen: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "Bestand is te groot: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "" #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "zonder titel" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "zonder titel%d" #: ../src/WriteWindow.cpp:1477 #, 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:1479 msgid "About X File Write" msgstr "Over X File Write" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Tekst font wijzigen" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Tekstbestanden" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "C bron- bestand" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "C++ bron-bestand" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "C/C++ Header-bestand" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "HTML bestanden" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "PHP bestanden" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Niet opgeslagen dokument" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "%s opslaan in bestand?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Dokument opslaan" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Dokument overschrijven" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "Bestaand document overschrijven: %s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (gewijzigd)" #: ../src/WriteWindow.cpp:1851 #, fuzzy msgid " (read only)" msgstr "Alleen-lezen" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "Bestand is gewijzigd" #: ../src/WriteWindow.cpp:2071 #, 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:2132 msgid "Replace" msgstr "Vervangen" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Ga naar regel" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "&Ga naar regelnummer:" #. Usage message #: ../src/XFileWrite.cpp:217 #, 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "Kan map %s niet sluiten\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 #, fuzzy msgid "copy" msgstr "Bestands-copy" #: ../src/xfeutils.cpp:1413 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "Fout! Kan bestand niet tonen\n" #: ../src/xfeutils.cpp:1417 #, 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" #~ msgid "&Themes" #~ msgstr "&Thema's" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "Verwijdering bevestigen" #~ msgid "KB" #~ msgstr "KB" #~ 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?" #~ 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?" #~ 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?" #~ 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?" #~ 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?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ msgstr "Er is een fout opgetreden!" #, 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.44/po/xfe.pot0000644000200300020030000042362414023353061011061 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: 2021-03-14 10:23+0100\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:333 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:467 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" #: ../src/main.cpp:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 msgid "Unable to load some icons. Please check your icon theme!" msgstr "" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 msgid "Link to " msgstr "" #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, c-format msgid "%s (%lu bytes)" msgstr "" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "" #: ../src/Properties.cpp:1118 #, c-format msgid "%d file, %d folder" msgstr "" #: ../src/Properties.cpp:1122 #, c-format msgid "%d file, %d folders" msgstr "" #: ../src/Properties.cpp:1126 #, c-format msgid "%d files, %d folder" msgstr "" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "" #: ../src/Properties.cpp:1252 msgid "Change properties of the selected folder?" msgstr "" #: ../src/Properties.cpp:1256 msgid "Change properties of the selected file?" msgstr "" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 msgid "Confirm Change Properties" msgstr "" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "" #: ../src/Properties.cpp:1401 msgid "Invalid file name, operation cancelled" msgstr "" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 msgid "The / character is not allowed in folder names, operation cancelled" msgstr "" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 msgid "The / character is not allowed in file names, operation cancelled" msgstr "" #. Error message box #. Error #: ../src/Properties.cpp:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" #: ../src/Properties.cpp:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "" #: ../src/Properties.cpp:1628 msgid "Apply permissions to the selected items?" msgstr "" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, c-format msgid "%u file, %u subfolder" msgstr "" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, c-format msgid "%u file, %u subfolders" msgstr "" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, c-format msgid "%u files, %u subfolder" msgstr "" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "" #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 msgid "Panel is active" msgstr "" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 msgid "Activate panel" msgstr "" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "" #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "" #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "" #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "" #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, c-format msgid "Can't enter folder %s: %s" msgstr "" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, c-format msgid "Can't enter folder %s" msgstr "" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 msgid "File name is empty, operation cancelled" msgstr "" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "" #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "" #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "" #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "" #: ../src/DirPanel.cpp:2264 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "" #: ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "" #: ../src/DirPanel.cpp:2360 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "" #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 msgid "An error has occurred during the restore from trash operation!" msgstr "" #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 msgid "Folder name is empty, operation cancelled" msgstr "" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, c-format msgid "Can't execute command %s" msgstr "" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr "" #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr "" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr "" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 msgid "Delete:" msgstr "" #: ../src/File.cpp:136 msgid "From:" msgstr "" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "" #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "" #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "" #: ../src/File.cpp:604 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "" #: ../src/File.cpp:608 #, c-format msgid "Can't preserve date when copying file %s" msgstr "" #: ../src/File.cpp:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "" #: ../src/File.cpp:791 #, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "" #: ../src/File.cpp:795 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "" #: ../src/File.cpp:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, c-format msgid "Destination %s is identical to source" msgstr "" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1048 msgid "Delete folder: " msgstr "" #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "" #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "" #: ../src/File.cpp:1213 #, c-format msgid "Destination %s already exists" msgstr "" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, c-format msgid "Can't rename to target %s: %s" msgstr "" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "" #: ../src/File.cpp:1655 ../src/File.cpp:1852 msgid "Folder: " msgstr "" #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "" #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "" #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, c-format msgid "Uninstalling package: %s \n" msgstr "" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 msgid "Go to previous folder" msgstr "" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 msgid "Go to next folder" msgstr "" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 msgid "Go to parent folder" msgstr "" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 msgid "Go to working folder" msgstr "" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 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:3758 msgid "New File" msgstr "" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 msgid "Go &work" msgstr "" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "" #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "" #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 msgid "Fold&ers first" msgstr "" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "" #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "" #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "" #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "" #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "" #: ../src/FileList.cpp:151 msgid "Size" msgstr "" #: ../src/FileList.cpp:152 msgid "Type" msgstr "" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:1035 ../src/SearchPanel.cpp:790 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "" #: ../src/FilePanel.cpp:1832 msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "" #: ../src/FilePanel.cpp:2408 ../src/SearchPanel.cpp:2936 #, c-format msgid "Move file %s to trash can?" msgstr "" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "" #: ../src/FilePanel.cpp:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" #: ../src/FilePanel.cpp:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, c-format msgid "Definitively delete file %s ?" msgstr "" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, c-format msgid "Definitively delete %s selected items?" msgstr "" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "" #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3758 msgid "Create new file:" msgstr "" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "" #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "" #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "" #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "" #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "" #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 msgid "Extr&act to folder " msgstr "" #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "" #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 msgid "Com&pare..." msgstr "" #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4672 msgid "Packages &query " msgstr "" #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 msgid "Scripts" msgstr "" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 msgid "&Go to script folder" msgstr "" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "" #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 msgid "M&ove to trash" msgstr "" #: ../src/FilePanel.cpp:4695 msgid "Restore &from trash" msgstr "" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 msgid "Compare &sizes" msgstr "" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 msgid "P&roperties" msgstr "" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, c-format msgid "Can't create script folder %s: %s" msgstr "" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, c-format msgid "Can't create script folder %s" msgstr "" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "" #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, c-format msgid "File %s belongs to the package: %s" msgstr "" #. Make and show command window #: ../src/FilePanel.cpp:6220 ../src/SearchPanel.cpp:2887 msgid "Sizes of Selected Items" msgstr "" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6322 msgid "1 item (1 folder)" msgstr "" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, c-format msgid "%s items (%s folder, %s file)" msgstr "" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, c-format msgid "%s items (%s folder, %s files)" msgstr "" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, c-format msgid "%s items (%s folders, %s file)" msgstr "" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, c-format msgid "Can't duplicate pipes: %s" msgstr "" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 msgid "Can't duplicate pipes" msgstr "" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "" #: ../src/Preferences.cpp:185 msgid "Auto save layout" msgstr "" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "" #: ../src/Preferences.cpp:189 msgid "Display tooltips in file and folder lists" msgstr "" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "" #: ../src/Preferences.cpp:195 msgid "Don't execute text files" msgstr "" #: ../src/Preferences.cpp:198 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Start in home folder" msgstr "" #: ../src/Preferences.cpp:214 msgid "Start in current folder" msgstr "" #: ../src/Preferences.cpp:215 msgid "Start in last visited folder" msgstr "" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "" #: ../src/Preferences.cpp:227 msgid "Scrollbar width:" msgstr "" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "" #: ../src/Preferences.cpp:238 msgid "sudo command:" msgstr "" #: ../src/Preferences.cpp:240 msgid "su command:" msgstr "" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "" #: ../src/Preferences.cpp:331 msgid "Confirm delete non empty folders" msgstr "" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "" #: ../src/Preferences.cpp:333 msgid "Confirm execute text files" msgstr "" #: ../src/Preferences.cpp:334 msgid "Confirm change properties" msgstr "" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "" #: ../src/Preferences.cpp:340 msgid "Display mount / unmount success messages" msgstr "" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "" #: ../src/Preferences.cpp:405 msgid "File comparator:" msgstr "" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 msgid "Mount:" msgstr "" #: ../src/Preferences.cpp:462 msgid "Unmount:" msgstr "" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "" #: ../src/Preferences.cpp:500 msgid "Scrollbar color" msgstr "" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "" #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr "" #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "" #: ../src/Preferences.cpp:634 msgid "Select an icon theme folder or an icon file" msgstr "" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 msgid "Vertical panels" msgstr "" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 msgid "Horizontal panels" msgstr "" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "" #: ../src/Preferences.cpp:1014 msgid "Toggle display hidden folders" msgstr "" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "" #. Confirmation message #: ../src/Preferences.cpp:1114 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" #: ../src/Preferences.cpp:1115 msgid "Restore default key bindings" msgstr "" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "" #: ../src/Preferences.cpp:1213 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" #: ../src/Preferences.cpp:1869 msgid "" "Preferences 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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "" #: ../src/SearchPanel.cpp:165 msgid "Refresh panel" msgstr "" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "" #: ../src/SearchPanel.cpp:2421 msgid "&Packages query " msgstr "" #: ../src/SearchPanel.cpp:2435 msgid "&Go to parent folder" msgstr "" #: ../src/SearchPanel.cpp:3658 #, c-format msgid "Copy %s items" msgstr "" #: ../src/SearchPanel.cpp:3674 #, c-format msgid "Move %s items" msgstr "" #: ../src/SearchPanel.cpp:3690 #, c-format msgid "Symlink %s items" msgstr "" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4231 msgid "0 item" msgstr "" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "" #: ../src/SearchWindow.cpp:71 msgid "Find files:" msgstr "" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:79 msgid "Hidden files\tShow hidden files and folders" msgstr "" #: ../src/SearchWindow.cpp:84 msgid "In folder:" msgstr "" #: ../src/SearchWindow.cpp:86 msgid "\tIn folder..." msgstr "" #: ../src/SearchWindow.cpp:89 msgid "Text contains:" msgstr "" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:97 msgid "More options" msgstr "" #: ../src/SearchWindow.cpp:98 msgid "Search options" msgstr "" #: ../src/SearchWindow.cpp:99 msgid "Reset\tReset search options" msgstr "" #: ../src/SearchWindow.cpp:115 msgid "Min size:" msgstr "" #: ../src/SearchWindow.cpp:117 msgid "Filter by minimum file size (kBytes)" msgstr "" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 msgid "Max size:" msgstr "" #: ../src/SearchWindow.cpp:122 msgid "Filter by maximum file size (kBytes)" msgstr "" #. Modification date #: ../src/SearchWindow.cpp:126 msgid "Last modified before:" msgstr "" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:131 msgid "Last modified after:" msgstr "" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:137 msgid "User:" msgstr "" #: ../src/SearchWindow.cpp:140 msgid "\tFilter by user name" msgstr "" #: ../src/SearchWindow.cpp:142 msgid "Group:" msgstr "" #: ../src/SearchWindow.cpp:145 msgid "\tFilter by group name" msgstr "" #. File type #: ../src/SearchWindow.cpp:178 msgid "File type:" msgstr "" #: ../src/SearchWindow.cpp:181 msgid "File" msgstr "" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:187 msgid "\tFilter by file type" msgstr "" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 msgid "Permissions:" msgstr "" #: ../src/SearchWindow.cpp:194 msgid "\tFilter by permissions (octal)" msgstr "" #. Empty files #: ../src/SearchWindow.cpp:197 msgid "Empty files:" msgstr "" #: ../src/SearchWindow.cpp:198 msgid "\tEmpty files only" msgstr "" #: ../src/SearchWindow.cpp:202 msgid "Follow symbolic links:" msgstr "" #: ../src/SearchWindow.cpp:203 msgid "\tSearch while following symbolic links" msgstr "" #: ../src/SearchWindow.cpp:207 msgid "Non recursive:" msgstr "" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:212 msgid "Ignore other file systems:" msgstr "" #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:782 msgid ">>>> Search started - Please wait... <<<<" msgstr "" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr "" #: ../src/SearchWindow.cpp:938 msgid ">>>> Search results <<<<" msgstr "" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:973 msgid ">>>> Search stopped... <<<<" msgstr "" #: ../src/SearchWindow.cpp:1147 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:201 #: ../src/XFileImage.cpp:327 ../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:808 msgid "&Vertical panels" msgstr "" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 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:781 msgid "&Thumbnails" msgstr "" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "" #: ../src/XFileExplorer.cpp:2218 msgid "Running Xfe as root!" msgstr "" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "" #: ../src/XFileExplorer.cpp:2274 #, c-format msgid "Can't create Xfe config folder %s" msgstr "" #: ../src/XFileExplorer.cpp:2296 msgid "No global xferc file found! Please select a configuration file..." msgstr "" #: ../src/XFileExplorer.cpp:2300 msgid "XFE configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "" #: ../src/XFileExplorer.cpp:2339 ../src/XFileExplorer.cpp:3992 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "" #: ../src/XFileExplorer.cpp:2361 ../src/XFileExplorer.cpp:4007 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "" #: ../src/XFileExplorer.cpp:3214 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" "Finnish: Kimmo Siira\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:3246 msgid "About X File Explorer" msgstr "" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 msgid "&Panel" msgstr "" #: ../src/XFileExplorer.cpp:3718 msgid "Execute the command:" msgstr "" #: ../src/XFileExplorer.cpp:3718 msgid "Console mode" msgstr "" #: ../src/XFileExplorer.cpp:3896 msgid "Search files and folders" msgstr "" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 msgid "Do you really want to empty the trash can?" msgstr "" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr "" #: ../src/XFileExplorer.cpp:3959 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" #: ../src/XFileExplorer.cpp:4049 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" #: ../src/XFileExplorer.cpp:4051 msgid "Trash size" msgstr "" #: ../src/XFileExplorer.cpp:4058 #, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "" #: ../src/XFileExplorer.cpp:4512 ../src/XFileExplorer.cpp:4586 #, c-format msgid "Command not found: %s" msgstr "" #: ../src/XFileExplorer.cpp:4591 #, c-format msgid "Invalid file association: %s" msgstr "" #: ../src/XFileExplorer.cpp:4596 #, c-format msgid "File association not found: %s" msgstr "" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "" #: ../src/XFilePackage.cpp:304 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" #: ../src/XFilePackage.cpp:306 msgid "About X File Package" msgstr "" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 msgid "Print image file." msgstr "" #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:660 msgid "Zoom in" msgstr "" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "" #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "" #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "" #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "" #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "" #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "" #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "" #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "" #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "" #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "" #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "" #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "" #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "" #: ../src/XFileImage.cpp:775 msgid "Show hidden files and folders." msgstr "" #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "" #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "" #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "" #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "" #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "" #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "" #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "" #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "" #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "" #: ../src/XFileImage.cpp:824 msgid "File list &before" msgstr "" #: ../src/XFileImage.cpp:824 msgid "Display file list before image window." msgstr "" #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "" #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "" #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "" #: ../src/XFileImage.cpp:1333 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:1335 msgid "About X File Image" msgstr "" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "" #: ../src/XFileImage.cpp:1464 msgid "Unable to load image, the file may be corrupted" msgstr "" #: ../src/XFileImage.cpp:1504 msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" #: ../src/XFileImage.cpp:1619 msgid "Open Image" msgstr "" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" #. Usage message #: ../src/XFileImage.cpp:2685 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "" #: ../src/WriteWindow.cpp:1159 #, c-format msgid "Unable to save file: %s" msgstr "" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "" #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "" #: ../src/WriteWindow.cpp:1477 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" #: ../src/WriteWindow.cpp:1479 msgid "About X File Write" msgstr "" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr "" #: ../src/WriteWindow.cpp:1851 msgid " (read only)" msgstr "" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "" #: ../src/WriteWindow.cpp:2071 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" #: ../src/WriteWindow.cpp:2132 msgid "Replace" msgstr "" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "" #. Usage message #: ../src/XFileWrite.cpp:217 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, c-format msgid "Error: Can't close folder %s\n" msgstr "" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "" #: ../src/xfeutils.cpp:1100 msgid "copy" msgstr "" #: ../src/xfeutils.cpp:1413 #, c-format msgid "Error: Can't read group list: %s" msgstr "" #: ../src/xfeutils.cpp:1417 #, 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.44/po/fi.po0000644000200300020030000051444114023353061010507 00000000000000# Xfe - X File Explorer, a file manager for X # Copyright (C) 2002-2016 Roland Baudin # This file is distributed under the same license as the Xfe package. # # Kimmo Siira , 2014, 2016. msgid "" msgstr "" "Project-Id-Version: Xfe 1.42.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-14 10:23+0100\n" "PO-Revision-Date: 2016-10-27 20:17+0300\n" "Last-Translator: \n" "Language-Team: Finnish \n" "Language: fi_FI\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:333 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" "Käyttö: xfe [optiot...] [HAKEMISTO|TIEDOSTO...]\n" "\n" " [optiot...] ovat seuraavia:\n" "\n" " -h, --help Näytä (tämä) ja lopeta.\n" " -v, --version Näytä versio ja lopeta.\n" " -i, --iconic Käynnistä minimoituna.\n" " -m, --maximized Käynnistä maksimoituna.\n" " -p n, --panel n Pakota paneelin tila (n=0 => Hakemistopuu ja " "yksi paneeli,\n" " n=1 => Yksi paneeli, n=2 => Kaksi paneelia, n=3 " "=> Hakemistopuu ja kaksi paneelia).\n" "\n" " [HAKEMISTO|TIEDOSTO...] on lista hakemistoista tai tiedostoista jotka " "avataan käynnistettäessä.\n" " Kaksi ensimmäistä hakemistoa näytetään tiedostopaneeleissa, muut " "jätetään huomiotta.\n" " Aukaistujen tiedostojen määrää ei ole rajoitettu.\n" "\n" #: ../src/main.cpp:467 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "Varoitus: Tuntematon tila, palautetaanko viimeksi talletettu\n" #: ../src/main.cpp:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Virhe ladattaessa kuvakkeet" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "Joidenkin kuvakkeiden lataaminen ei onnistu. Tarkista kuvakkeen polut!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" msgstr "Joidenkin kuvakkeiden lataaminen ei onnistu. Tarkista kuvakkeen polut!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 msgid "User" msgstr "Käyttäjä" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Luku" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Kirjoitus" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Suoritus" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:156 msgid "Group" msgstr "Ryhmä" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Muut" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Erityinen" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "Aseta UID" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "Aseta GID" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Sticky" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Omistaja" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Komento" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Aseta merkitty" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Rekursiivisesti" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Tyhjennä merkintä" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Tiedostot ja kansiot" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Lisää merkintä" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Vain kansioita" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Vain omistaja" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Vain tiedostot" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Ominaisuudet" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "Hyväksy" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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 "Peruuta" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "Yleinen" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 msgid "&Permissions" msgstr "Oikeudet" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "Tiedostoliitokset" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Laajennus:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Kuvaus:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Avaa:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 msgid "\tSelect file..." msgstr "\tValitse tiedosto..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Näkymä:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Muokkaa:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Pura:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Asenna / Päivitä:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Iso ikoni:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Pieni ikoni:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:146 msgid "Name" msgstr "Nimi" #: ../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 "=> Varoitus: tiedostonimi ei ole UTF-8 koodattu!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Tiedostojärjestelmä (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Kansio" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Merkkipohjainen laite" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Lohkopuhjainen laite" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Nimetty putki" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Pistoke" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Suoritettava" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Asiakirja" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Rikkoutunut linkki" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 msgid "Link to " msgstr "Linkki" #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 msgid "Mount point" msgstr "Liitoskohta" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Liitostyyppi:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Käytetty:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Vapaa:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Tiedostojärjestelmä:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Sijainti:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Tyyppi:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 msgid "Total size:" msgstr "Koko:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Linkki:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Rikkoutunut linkki:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Alkuperäinen sijainti:" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Tiedoston aika" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Viimeksi muokattu:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Viimeksi muutettu:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Viimeksi käytetty:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "Käynnistysilmoitus" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "Poista ohjelman käynnistyksen ilmoitus" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Tuhoamispäivämäärä:" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu tavua)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu tavua)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Koko:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Valinta:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Useita tyyppejä" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d kohdetta" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d tiedostoa,%d kansiota" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d tiedostoa,%d kansiota" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d tiedostoa,%d kansiota" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d tiedostoa,%d kansiota" #: ../src/Properties.cpp:1252 msgid "Change properties of the selected folder?" msgstr "Muuta valitun hakemiston ominaisuuksia?" #: ../src/Properties.cpp:1256 msgid "Change properties of the selected file?" msgstr "Muuta valitun tiedoston ominaisuuksia?" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 msgid "Confirm Change Properties" msgstr "Vahvista muutokset" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Varoitus" #: ../src/Properties.cpp:1401 msgid "Invalid file name, operation cancelled" msgstr "Väärä tiedoston nimi, toiminto kumottu" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 msgid "The / character is not allowed in folder names, operation cancelled" msgstr "/ -merkki ei ole sallittu kansion nimissä, operaatio kumottu" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 msgid "The / character is not allowed in file names, operation cancelled" msgstr "/ -merkki ei ole sallittu tiedoston nimissä, operaatio kumottu" #. Error message box #. Error #: ../src/Properties.cpp:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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 "Virhe" #: ../src/Properties.cpp:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "En voi kirjoittaa %s:Ei oikeuksia" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "Kansiota %s ei ole olemassa" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Nimeä tiedosto uudelleen" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Tiedoston omistaja" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "Omistajan vaihtaminen peruttu!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown %s epäonnistui: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "Chown %s epäonnistui" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" "Erityisoikeuksien asettaminen voi olla vaarallista! Haluatko varmasti tehdä " "tämän?" #: ../src/Properties.cpp:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod %s epäonnistui: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Tiedostojen oikeudet" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Tiedoston käyttöoikeuden vaihto peruttu!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "Chmod %s epäonnistui" #: ../src/Properties.cpp:1628 msgid "Apply permissions to the selected items?" msgstr "Liitä oikeudet valittuihin kohteisiin?" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "Tiedostojen käyttöoikeuden vaihto peruttu!!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Valitse suoritettava tiedosto" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Kaikki tiedostot" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "PNG kuvat" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "GIF kuvat" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "BMP kuvat" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Valitse kuvaketiedosto" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%u tiedostoa,%u alikansiota" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%u tiedostoa,%u alikansiota" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%u tiedostoa,%u alikansiota" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u tiedostoa,%u alikansiota" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Kopioi tähän" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Siirrä tähän" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Linkitä tähän" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Peruuta" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Tiedoston kopiointi" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Tiedoston siirto" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Tiedoston sym.linkki" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopioi" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Kopioi %s tiedostot/kansiot.\n" "Mistä: %s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Siirrä" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Siirrä %s tiedostot/kansiot.\n" "Mistä: %s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Symbolinen linkki" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "To:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "Tiedoston siirron aikana on tapahtunut virhe!" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "Tiedoston siirto peruttu!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "Tiedoston kopioinnin aikana on tapahtunut virhe!" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "Kopioi tiedosto peruttu!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "Liitoskohta %s ei vastaa ..." #: ../src/DirList.cpp:2021 msgid "Link to Folder" msgstr "Linkki kansioon" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Kansiot" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Näytä piilotetut kansiot" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "Piilota piilotetut kansiot" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3125 msgid "0 bytes in root" msgstr "0 tavua päähakemistossa" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 msgid "Panel is active" msgstr "Paneeli on aktiivinen" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 msgid "Activate panel" msgstr "Aktivoi paneeli" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, c-format msgid " Permission to: %s denied." msgstr " Käyttöoikeus: %s estetty." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Uusi kansio ..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "Piilotetut kansiot" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 msgid "Ignore c&ase" msgstr "Alä huomioi kirjainten kokoa" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "Päinvastaisessa järjestyksessä" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "Laajenna puu" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Pienennä puu" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4586 #: ../src/SearchPanel.cpp:2361 msgid "Pane&l" msgstr "Panee&li" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "Liitä" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "Irroita" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "Lisää arkistoon ..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "Kopioi" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Leikkaa" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "Liitä" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Nimeä ..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Kopioi ..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "Siirrä ..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 msgid "Symlin&k to..." msgstr "Sym.Lin&kitä ..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "Siirrä roskakoriin" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "Palauta roskakorista" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4696 #: ../src/SearchPanel.cpp:2444 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "Poista" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "Ominaisuudet" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, c-format msgid "Can't enter folder %s: %s" msgstr "Ei pääsyä kansioon %s: %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, c-format msgid "Can't enter folder %s" msgstr "Ei pääsyä kansioon %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 msgid "File name is empty, operation cancelled" msgstr "Tiedostonimi on tyhjä, toiminto peruutettu" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Luo arkisto" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Kopioi" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "Kopioi %s kohteet: %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Nimeä uudelleen" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Nimeä uudelleen" #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Kopioi" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Siirrä" #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "Siirrä %s kohteita: %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Symbolinen linkki" #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "Sym.linkitä %s kohteita: %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s ei ole kansio" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "Sym.linkitys toiminnan aikana on taphtunut virhe!" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "Sym.linkitys toiminto peruutettu!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "Poista kansio %s lopullisesti?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Vahvista poisto" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Poista tiedosto" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Kansio %s ei ole tyhjä, poista se silti?" #: ../src/DirPanel.cpp:2264 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "Kansio %s on kirjoitussuojattu, poista se silti?" #: ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "Poista kansio toiminto peruutettu!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "Siirrä kansio %s roskakoriin?" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Vahvista siirto roskakoriin" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Siirrä roskakoriin" #: ../src/DirPanel.cpp:2360 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "Kansio %s on kirjoitussuojattu, siirrä se silti roskakoriin?" #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "Roskakoriin siirron aikana on tapahtunut virhe!" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "Siirrä roskakoriin toiminto peruutettu!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Palauta roskakorista" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Palauta kansiot %s alkuperäiseen paikkaansa %s?" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Vahvista palautus" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "Palautustietoja ei ole saatavilla %s" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "Pääkansiota %s ei ole olemassa, haluatko luoda sen?" #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "Ei voi luoda kansiota %s : %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "Ei voi luoda kansiota %s" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 msgid "An error has occurred during the restore from trash operation!" msgstr "Roskakorista palautuksen aikana on tapahtunut virhe!" #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "Roskakorista palautus peruttu!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Luo uusi kansio:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Uusi kansio" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 msgid "Folder name is empty, operation cancelled" msgstr "Kansion nimi on tyhjä, operaatio peruttu" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, c-format msgid "Can't execute command %s" msgstr "Komentoa %s ei voida suorittaa" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Liitä" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Irroita liitos" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " tiedostojärjestelmä ..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " kansio:" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " toiminto peruutettu!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 msgid " in root" msgstr " päähakemistossa" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "Lähde:" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "Kohde:" #: ../src/File.cpp:111 msgid "Copied data:" msgstr "Kopioitu:" #: ../src/File.cpp:126 msgid "Moved data:" msgstr "Siirretty:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1133 msgid "Delete:" msgstr "Poista:" #: ../src/File.cpp:136 msgid "From:" msgstr "Alkaen:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Käyttöoikeuksien muutos ..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "Tiedosto:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 msgid "Changing owner..." msgstr "Omistajan vaihtaminen..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Liitä tiedostojärjestelmä..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "Kansioliitos:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Irroita tiedostojärjestelmäliitos..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "Irroita kansioliitos:" #: ../src/File.cpp:300 #, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "Kansio %s on olemassa.\n" "Korvataanko?\n" "=> Varoitus,tiedostot kansiossa voidaan korvata!" #: ../src/File.cpp:304 ../src/File.cpp:2031 #, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "" "Tiedosto %s on olemassa.\n" "Korvataanko?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:2032 msgid "Confirm Overwrite" msgstr "Vahvista korvaus" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "Tiedostoa %s ei voida kopioida: %s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "Tiedostoa %s ei voida kopioida" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "Lähde: " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "Kohde: " #: ../src/File.cpp:604 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "Päivämäärää ei voida säilyttää tiedostoa %s kopioitaessa : %s" #: ../src/File.cpp:608 #, c-format msgid "Can't preserve date when copying file %s" msgstr "Päivämäärää ei voida säilyttää tiedostoa %s kopioitaessa" #: ../src/File.cpp:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Ei voi kopioida kansiota %s: Ei oikeuksia" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Ei voi kopioida tiedostoa %s : Ei oikeuksia" #: ../src/File.cpp:791 #, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "Päiväystä ei voida säilyttää kopioidessa kansiota %s: %s" #: ../src/File.cpp:795 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "Päiväystä ei voida säilyttää kansiota %s kopioitaessa" #: ../src/File.cpp:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "Lähdettä %s ei ole olemassa" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, c-format msgid "Destination %s is identical to source" msgstr "Kohde %s on sama lähde" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, c-format msgid "Target %s is a sub-folder of source" msgstr "Kohde %s on lähteen alikansio" #. Set labels for progress dialog #: ../src/File.cpp:1048 msgid "Delete folder: " msgstr "Poista kansio: " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "Alkaen: " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "Kansiota %s ei voida poistaa : %s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "Kansiota %s ei voida poistaa" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "Tiedostoa %s ei voida poistaa: %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "Tiedostoa %s ei voida poistaa" #: ../src/File.cpp:1213 #, c-format msgid "Destination %s already exists" msgstr "Kohde %s on jo olemassa" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, c-format msgid "Can't rename to target %s: %s" msgstr "En voi uudelleennimetä kohdetta %s: %s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "Ei voida sym.linkata %s: %s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "Ei voida sym.linkata %s" #: ../src/File.cpp:1655 ../src/File.cpp:1852 msgid "Folder: " msgstr "Kansio: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Pura arkisto" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Lisää arkistoon" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Komento epäonnistui: %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Onnistui" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "Kansio %s liitetty." #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Kansion %s liitos poistettu." #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "Asenna/Päivitä paketti" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "Paketin asennus: %s \n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Poista paketti" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, c-format msgid "Uninstalling package: %s \n" msgstr "Poistaa pakettia: %s \n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "Tiedoston nimi:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&OK" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "Tiedoston suodatin:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Vain luku" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 msgid "Go to previous folder" msgstr "Siirry edelliseen kansioon" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 msgid "Go to next folder" msgstr "Siirry seuraavaan kansioon" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 msgid "Go to parent folder" msgstr "Mene yläkansioon" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "Mene kotikansioon" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 msgid "Go to working folder" msgstr "Mene työkansioon" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Uusi kansio" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Iso kuvakelista" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Pieni kuvakelista" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Yksityiskohtaiset tiedot, luettelo" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Näytä piilotetut tiedostot" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "Piilota piilotetut tiedostot" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Näytä pikkukuvat" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Hide thumbnails" msgstr "Piilota pikkukuvat" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Luo uusi kansio ..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Luo uusi tiedosto ..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3758 msgid "New File" msgstr "Uusi tiedosto" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "Tiedoston tai kansio %s on jo olemassa" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "Mene kotiin" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 msgid "Go &work" msgstr "Mene työkansioon" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "Uusi tiedosto..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Uusi kansio..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "Piilotetut tiedostot" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "Pikkukuvakkeet" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "Isot kuvakkeet" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "Pienet kuvakkeet" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "Täysi tiedostojen lista" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "Rivit" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "Sarakkeet" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "Koko automaattisesti" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "&Nimi" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "Koko" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Tyyppi" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "Laajennusosa" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "Päivämäärä" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "Käyttäjä" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "Ryhmä" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 msgid "Fold&ers first" msgstr "Kansion ensimmäisen" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "Päinvastaisessa järjestyksessä" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "Perhe:" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "Paino:" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "Tyyli:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "Koko:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Merkistö:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Kaikki" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "Länsi-Eurooppalainen" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Itä-Eurooppalainen" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Etelä-Eurooppalainen" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Pohjois-Eurooppalainen" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Kyrillinen" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Arabialainen" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Kreikkalainen" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Heprealainen" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Turkkilainen" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Pohjoismainen" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Thaimaalainen" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Balttilainen" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Kelttiläinen" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Venäläinen" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Keski-Eurooppalainen (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Venäläinen (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Kreikkalainen (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Turkkilainen (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Heprealainen (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Arabialainen (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Balttilainen (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Vietnamilainen (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Thaimaalainen (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Aseta leveys:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "Ultra tiivistynyt" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Extra tiivistynyt" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Tiivistetty" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "Semi tiivistetty" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Normaali" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Semi laajennettu" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Laajennettu" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Extra laajennettu" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "Ultra laajennettu" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "Nousu:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Kiinteä" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Muuttuva" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Skaalautuva:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Kaikki fontit:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Esikatselu:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Suorita Xfe pääkäyttäjänä" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "Ei" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "Kyllä" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "Lopeta" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "Tallenna" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Kyllä kaikkiin" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Anna käyttäjän salasana:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Anna root-salasana:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "Virhe!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Nimi: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Koko päähakemistossa: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Tyyppi: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Muutettu päivämäärä: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Käyttäjä: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Ryhmä: " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Käyttöoikeudet: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Alkuperäinen polku: " #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Tuhoamispäivämäärä: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Koko: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Koko" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Tyyppi" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Tarkennin" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Muutettu päivämäärä" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Oikeudet" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "Kuvaa ei voitu ladata" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Alkuperäinen polku" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Tuhoamispäivämäärä" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Suodatin" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Tila" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "Tiedosto %s on suoritettava tekstitiedosto, mitä haluat tehdä?" #: ../src/FilePanel.cpp:1035 ../src/SearchPanel.cpp:790 msgid "Confirm Execute" msgstr "Vahvista Suorita" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Komentoloki" #: ../src/FilePanel.cpp:1832 msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "/-merkki ei ole sallittu kansioidennimissä,toiminto peruttu" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "Kansioon:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Ei voi kirjoittaa roskakoriin %s: Ei oikeuksia" #: ../src/FilePanel.cpp:2408 ../src/SearchPanel.cpp:2936 #, c-format msgid "Move file %s to trash can?" msgstr "Siirrä tiedosto %s roskakoriin?" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "Siirrä %s valitut kohteet roskakoriin?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "" "Tiedosto %s on kirjoitussuojattu, siirrä se joka tapauksessa roskakoriin?" #: ../src/FilePanel.cpp:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "Siirrä roskakoriin tiedostotoiminto peruttu!" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Palauta tiedosto %s alkuperäiseen paikkaan %s?" #: ../src/FilePanel.cpp:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "Palauta %s valitut kohteet alkuperäisiin paikkoihin?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "Kansiota %s ei voida luoda: %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, c-format msgid "Definitively delete file %s ?" msgstr "Poista tiedosto %s lopullisesti?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, c-format msgid "Definitively delete %s selected items?" msgstr "Poista lopullisesti %s valittua kohdetta?" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "Tiedosto %s on kirjoitussuojattu, poista se silti?" #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "Poista tiedosto toiminto peruutettu!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "Vertaa" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "Kanssa:" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "Ohjelmaa %s ei löydy. Määrittele vertailu-ohjelma asetukset ikkunassa!" #: ../src/FilePanel.cpp:3758 msgid "Create new file:" msgstr "Luo uusi tiedosto:" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "Ei voi luoda tiedostoa %s: %s" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "Ei voi luoda tiedostoa %s" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Oikeuksien asettaminen ei onnistu %s: %s" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "Oikeuksien asettaminen ei onnistu %s" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Luo uusi symbolinen linkki:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Uusi symbolinen linkki" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "Valitse tiedosto tai kansio johon symbolinen linkki viittaa" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "Symbolisen linkin lähdettä %s ei ole olemassa" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Avaa valittu tiedosto(t) ohjelmalla:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Avaa" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "Liitä" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Näytä tiedostot:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "Uusi tiedosto ..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Uusi s&ymlinkki ..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "Suodata ..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "Tiedostolista" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "Oikeudet" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "Uusi tiedosto ..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "Liitoskohta" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "Avaa..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Avaa" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 msgid "Extr&act to folder " msgstr "Pura kansioon " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "Pura tänne" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "Pura..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "Näytä" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Asenna/Päivitä" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "Po&ista" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "Muokkaa" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 msgid "Com&pare..." msgstr "Vertaa" #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "Vertaa" #: ../src/FilePanel.cpp:4672 msgid "Packages &query " msgstr "Pakettien kysely " #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 msgid "Scripts" msgstr "Skriptit" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 msgid "&Go to script folder" msgstr "Mene script-kansioon" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Kopioi ..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 msgid "M&ove to trash" msgstr "Siirrä roskakoriin" #: ../src/FilePanel.cpp:4695 msgid "Restore &from trash" msgstr "Palauta roskakorista" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 msgid "Compare &sizes" msgstr "Vertaa kokoa" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 msgid "P&roperties" msgstr "Ominaisuudet" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Valitse kohdekansio" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Kaikki tiedostot" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Paketin Asennus/Päivitys" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Paketin poisto" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Virhe: Haaroitus epäonnistui: %s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, c-format msgid "Can't create script folder %s: %s" msgstr "Skriptikansiota %s ei voida luoda: %s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, c-format msgid "Can't create script folder %s" msgstr "Skriptikansiota %s ei voida luoda" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Yhteensopivaa pakettienhallintaa (rpm or dpkg) ei löydy!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "Tiedosto %s ei kuulu mihinkään pakettiin." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Tiedot" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, c-format msgid "File %s belongs to the package: %s" msgstr "Tiedosto %s kuuluu paketti: %s" #. Make and show command window #: ../src/FilePanel.cpp:6220 ../src/SearchPanel.cpp:2887 msgid "Sizes of Selected Items" msgstr "Valittujen kohteiden koot" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 tavua" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s %s valitut kohteet" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s %s valitut kohteet" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s %s valitut kohteet" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s %s valitut kohteet" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " kansio:" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d tiedostoa,%d kansiota" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d tiedostoa,%d kansiota" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d tiedostoa,%d kansiota" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Linkki" #: ../src/FilePanel.cpp:6402 #, c-format msgid " - Filter: %s" msgstr " - Suodatin: %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "Kirjanmerkkien määrä ylitetty. Viimeinen kirjanmerkki poistetaan ..." #: ../src/Bookmarks.cpp:137 msgid "Confirm Clear Bookmarks" msgstr "Vahvista tyhjennä kirjanmerkit" #: ../src/Bookmarks.cpp:137 msgid "Do you really want to clear all your bookmarks?" msgstr "Haluatko todella poistaa kaikki kirjanmerkit?" #: ../src/CommandWindow.cpp:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "Sulje" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" "Odota...\n" "\n" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Putkia ei voida monistaa: %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 msgid "Can't duplicate pipes" msgstr "Putkia ei voida monistaa" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> KOMENTO PERUUTETTU <<<<" #: ../src/CommandWindow.cpp:298 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> KOMENNON LOPPU <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tValitse kohde ..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Valitse tiedosto" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Valitse tiedosto tai kohdekansio" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Lisää Arkistoon" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Uusi arkiston nimi:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Formaatti:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tArkiston muoto on tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tArkiston muoto on zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tArkiston muoto on 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tArkisto muoto on tar.bz2" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.xz\tArkiston muoto on tar.xz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tArkiston muoto on tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tArkiston muoto on tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tArkiston muoto on gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tArkiston muoto on bz2" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "xz\tArkiston muoto on xz" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tArkiston muoto on Z" #. Construct window #: ../src/Preferences.cpp:135 msgid "Preferences" msgstr "Asetukset" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Nykyinen teema" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Valinnat" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "Käytä roskakoria tiedoston tuhoamisessa (palautettavissa)" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Lisää komento roskakorin sivuuttamiseen (ei palautettavissa)" #: ../src/Preferences.cpp:185 msgid "Auto save layout" msgstr "Tallenna asettelu automaattisesti" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Tallenna ikkunan sijainti" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "Aukaise kansio yhdellä napsautuksella" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Aukaise tiedosto yhdellä napsautuksella" #: ../src/Preferences.cpp:189 msgid "Display tooltips in file and folder lists" msgstr "Näytä työkaluvihjeet tiedostojen ja kansioiden listoissa" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "Tiedostolistauksen koon suhteellinen muutos" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Näytä polku tiedostolistausten yllä" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Ilmoita, kun sovellus käynnistyy" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Vahvista komento suorita tekstitiedosto" #: ../src/Preferences.cpp:198 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" "Päiväysmuoto jota käytetään tiedosto-ja kansiolistauksessa:\n" "(Kirjoita 'man strftime' terminaalissa nähdäksesi ohjeet formaatista)" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "Tilat" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "Käynnistystila" #: ../src/Preferences.cpp:213 msgid "Start in home folder" msgstr "Käynnistä kotikansiosta" #: ../src/Preferences.cpp:214 msgid "Start in current folder" msgstr "Käynnistä nykyisestä kansiosta" #: ../src/Preferences.cpp:215 msgid "Start in last visited folder" msgstr "Käynnistä viimeiseksi vieraillusta kansiosta" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "Vieritystila" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "Tasainen tekstin vieritys tiedostoluettelossa ja teksti-ikkunoissa" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Hiiren vieritysnopeus:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Vierityspalkin väri" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Root-tila" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "Salli root-tila" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Todennus käyttäen sudoa (käyttää käyttäjien salasanaa)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Todennus käyttäen su:ta (käyttää root salasanaa)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Komento epäonnistui: %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Suorita komento" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "&Dialogit" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Vahvistukset" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "Vahvista kopiointi/siirto/nimeäminen/symbolinen linkki" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "Vahvista raahaa ja pudota" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "Vahvista Siirrä roskakoriin/palauta roskakorista" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Vahvista poisto" #: ../src/Preferences.cpp:331 msgid "Confirm delete non empty folders" msgstr "Vahvista ei tyhjän kansion poisto" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Vahvista päällekirjoitus" #: ../src/Preferences.cpp:333 msgid "Confirm execute text files" msgstr "Vahvista komento suorita tekstitiedosto" #: ../src/Preferences.cpp:334 msgid "Confirm change properties" msgstr "Vahvista muutokset" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Varoitukset" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "Varoita kun syötät nykyisen kansion hakuikkunassa" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Varoita kun liitoskohdat eivät vastaa" #: ../src/Preferences.cpp:340 msgid "Display mount / unmount success messages" msgstr "Näytä liitä / irrota onnistui viestit" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "Varoita kun päivämäärän säilyttäminen epäonnistui" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Varoita jos käynnissä pääkäyttäjänä" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "Ohjelmat" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Oletusohjelmat" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Tekstinkatselin:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Tekstieditori:" #: ../src/Preferences.cpp:405 msgid "File comparator:" msgstr "Tiedostovertailija:" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Kuvankäsittelyohjelma:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Kuvankatseluohjelma:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Arkisto:" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "Pdf katselin:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Musiikkisoitin:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Videosoitin:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "Pääte:" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "Levyjen hallinta" #: ../src/Preferences.cpp:456 msgid "Mount:" msgstr "Liitä:" #: ../src/Preferences.cpp:462 msgid "Unmount:" msgstr "Irroita:" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Väriteema" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Omat värit" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Tuplaklikkaa muokataksesi väriä" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Perusväri" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Reunan väri" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Taustaväri" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Tekstin väri" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Taustavärin valinta" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Tekstinvärin valinta" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Tiedostolistan taustaväri" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Tiedostolistan tekstin väri" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Tiedostolistan korostusväri" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "Edistymispalkin väri" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Huomion väri" #: ../src/Preferences.cpp:500 msgid "Scrollbar color" msgstr "Vierityspalkin väri" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Teemat" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Standard (klassiset teemat)" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (uudenaikaiset teemat)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "Kuvaketeeman polku" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tValitse polku ..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Fontit" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Fontit" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Normaali fontti:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Valitse ..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Tekstin kirjasin:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "Näppäinsidokset" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Näppäinsidokset" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Muokkaa näppäinsidoksia ..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Palauta oletusnäppäinsidokset ..." #: ../src/Preferences.cpp:634 msgid "Select an icon theme folder or an icon file" msgstr "Valitse kuvaketeemakansio tai kuvaketiedosto" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "Vaihda normaali Fontti" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Muuta Tekstin Kirjasin" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Luo uusi tiedosto" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Luo uusi kansio" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "Kopioi leikepõydälle" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "Leikkaa leikepöydälle" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Liitä leikepöydältä" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Avaa tiedosto" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Lopeta sovellus" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Valitse kaikki" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Poista kaikki" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Päinvastaiseksi" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Näytä apua" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Vaihda näytä piilotetut tiedostot" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Vaihda näytä pikkukuvat" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Sulje ikkuna" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Tulosta tiedosto" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Haku" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Hae edelliset" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Hae seuraava" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 msgid "Vertical panels" msgstr "Pystysuorat paneelit" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 msgid "Horizontal panels" msgstr "Vaakasuorat paneelit" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Virkistä paneelit" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Luo uusi symbolinen linkki" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Tiedoston ominaisuudet" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Siirrä tiedostot roskakoriin" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Palauta tiedostot roskakorista" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Poista tiedostot" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Luo uusi ikkuna" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Luo uusi root-ikkuna" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Suorita komento" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Käynnistä pääte" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Liitä tiedostojärjestelmä (Vain Linux)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Poista tiedostojärjestelmäliitos (Vain Linux)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "Yksi paneeli-tila" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Puu ja paneeli-tila" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "Kaksi paneelia-tila" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Puu ja kaksi paneelia-tila" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Tyhjennä osoitepalkki" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Nimeä tiedosto" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Kopioi tiedostot paikkaan" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Siirrä tiedostot paikkaan" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Symlink tiedostot paikkaan" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Lisää suosikeihin" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Synkronoi paneelit" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Vaihda paneelit" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Mene roskakoriin" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Tyhjennä roskakori" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Näkymä" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Muokata" #: ../src/Preferences.cpp:1014 msgid "Toggle display hidden folders" msgstr "Vaihda näytä piilotetut kansiot" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Tiedostojen suodattaminen" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "Zoomaa kuvaa 100%" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Zoomaa sopivaksi ikkunaan" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "Kierrä kuvaa vasemmalle" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "Kierrä kuvaa oikealle" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "Peilikuva vaakasuunnassa" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "Peilikuva pystysuunnassa" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Luo uusi asiakirja" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Tallenna muutokset tiedostoon" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Mene riville" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Kumoa viimeisin muutos" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Tee uudelleen viimeisin muutos" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "Korvaa merkkijono" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "Vaihda rivitystilaa" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "Vaihda näytä rivinumerot" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Vaihda pieniin kirjaimiin" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Vaihda isoihin kirjaimiin" #. Confirmation message #: ../src/Preferences.cpp:1114 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Haluatko palauttaa oletusnäppäinsidokset?\n" "\n" "Kaikki muutokset menetetään!" #: ../src/Preferences.cpp:1115 msgid "Restore default key bindings" msgstr "Palauta oletusnäppäinliitokset" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Käynnistä uudelleen" #: ../src/Preferences.cpp:1213 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Näppäinsidokset muutetaan uudelleenkäynnistettäessä.\n" "Käynnistä X File Explorer nyt?" #: ../src/Preferences.cpp:1869 #, fuzzy msgid "" "Preferences will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Teemat vaihdetaan uudelleenkäynnistyksen jälkeen.\n" "Käynnistä X File Explorer nyt?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "Ohita" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Ohita kaikki" #: ../src/OverwriteBox.cpp:82 msgid "Source size:" msgstr "Lähteen koko:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 msgid "- Modified date:" msgstr "- Muutettu päiväys:" #: ../src/OverwriteBox.cpp:88 msgid "Target size:" msgstr "Kohteen koko:" #: ../src/ExecuteBox.cpp:39 msgid "E&xecute" msgstr "Suorita" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "Suorita päätetilassa" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "Sulje" #: ../src/SearchPanel.cpp:165 msgid "Refresh panel" msgstr "Virkistä paneeli" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Kopioi valitut tiedostot leikepöydälle" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Leikkaa valitut tiedostot leikepöydälle" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Näytä valittujen tiedostojen ominaisuudet" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Siirrä valitut tiedostot roskakoriin" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Poista valitut tiedostot" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "Nykyinen kansio on '%s'" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Täysi tiedostolista" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "Älä huomioi kirjainten kokoa" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "&Automaattikoko" #: ../src/SearchPanel.cpp:2421 msgid "&Packages query " msgstr "&Pakettien kysely" #: ../src/SearchPanel.cpp:2435 msgid "&Go to parent folder" msgstr "Mene isäntäkansioon" #: ../src/SearchPanel.cpp:3658 #, c-format msgid "Copy %s items" msgstr "Kopioi %s kohdetta" #: ../src/SearchPanel.cpp:3674 #, c-format msgid "Move %s items" msgstr "Siirrä %s kohdetta" #: ../src/SearchPanel.cpp:3690 #, c-format msgid "Symlink %s items" msgstr "Linkitä %s kohdetta" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "'/'-merkki eiole sallittu kansioiden nimissä, toiminto peruttu " #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "Absoluuttinen polku on syötettävä!" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr "0 kohdetta" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 erä" #: ../src/SearchWindow.cpp:71 msgid "Find files:" msgstr "Etsi tiedostot:" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "" "Alä huomioi kirjainten kokoa\tAlä huomio tiedostonimien kirjainten kokoa" #. Hidden files #: ../src/SearchWindow.cpp:79 msgid "Hidden files\tShow hidden files and folders" msgstr "Piilota tiedostot\tNäytä piilotetut tiedostot ja kansiot" #: ../src/SearchWindow.cpp:84 msgid "In folder:" msgstr "Kansiossa:" #: ../src/SearchWindow.cpp:86 msgid "\tIn folder..." msgstr "\tTässä kansiossa..." #: ../src/SearchWindow.cpp:89 msgid "Text contains:" msgstr "Teksti sisältää:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "Alä huomioi kirjainten kokoa\tAlä huomioi tekstin kirjainten kokoa" #. Search options #: ../src/SearchWindow.cpp:97 msgid "More options" msgstr "Lisää vaihtoehtoja" #: ../src/SearchWindow.cpp:98 msgid "Search options" msgstr "Hakuvaihtoehtoja" #: ../src/SearchWindow.cpp:99 msgid "Reset\tReset search options" msgstr "Nollaa\tNollaa hakuvaihtoehdot" #: ../src/SearchWindow.cpp:115 msgid "Min size:" msgstr "Min koko:" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "Suodata tiedoston minimikoon perusteella (Ktavua)" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 msgid "Max size:" msgstr "Max koko:" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "Suodata tiedoston maksimikoon perusteella (Ktavua)" #. Modification date #: ../src/SearchWindow.cpp:126 msgid "Last modified before:" msgstr "Viimeksi muokattu ennen:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "Suodata suurimman muokkauspäivän mukaan" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "Päivää" #: ../src/SearchWindow.cpp:131 msgid "Last modified after:" msgstr "Viimeksi muokattu jälkeen:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "Suodata pienimmän muokkauspäivän mukaan" #. User and group #: ../src/SearchWindow.cpp:137 msgid "User:" msgstr "Käyttäjä:" #: ../src/SearchWindow.cpp:140 msgid "\tFilter by user name" msgstr "\tSuodata käyttäjätunnuksen mukaan" #: ../src/SearchWindow.cpp:142 msgid "Group:" msgstr "Ryhmä:" #: ../src/SearchWindow.cpp:145 msgid "\tFilter by group name" msgstr "\tSuodatta ryhmän nimen mukaan" #. File type #: ../src/SearchWindow.cpp:178 msgid "File type:" msgstr "Tiedostotyyppi:" #: ../src/SearchWindow.cpp:181 msgid "File" msgstr "Tiedosto" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "Putki" #: ../src/SearchWindow.cpp:187 msgid "\tFilter by file type" msgstr "\tSuodata tiedostotyypin mukaan" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 msgid "Permissions:" msgstr "Käyttöoikeudet:" #: ../src/SearchWindow.cpp:194 msgid "\tFilter by permissions (octal)" msgstr "\tSuodata käyttöoikeuksien mukaan (oktaaliluku)" #. Empty files #: ../src/SearchWindow.cpp:197 msgid "Empty files:" msgstr "Tyhjiä tiedostoja:" #: ../src/SearchWindow.cpp:198 msgid "\tEmpty files only" msgstr "\tVain tyhjiä tiedostoja" #: ../src/SearchWindow.cpp:202 msgid "Follow symbolic links:" msgstr "Seuraa symbolisia linkkejä:" #: ../src/SearchWindow.cpp:203 msgid "\tSearch while following symbolic links" msgstr "\tEtsi ja seuraa symbolisia linkkejä" #: ../src/SearchWindow.cpp:207 msgid "Non recursive:" msgstr "Ei rekursiivinen:" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "\tAlä etsi kansioita rekursiivisesti" #: ../src/SearchWindow.cpp:212 msgid "Ignore other file systems:" msgstr "Muita tiedostojärjestelmiä ei huomioida:" #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "\tÄlä etsi muita tiedostojärjestelmiä" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "Aloita\tAloita etsintä (F3)" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "Lopeta\tLopeta etsintä (Esc)" #: ../src/SearchWindow.cpp:782 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Etsintä aloitettu - Odota... <<<<" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " kohdetta" #: ../src/SearchWindow.cpp:938 msgid ">>>> Search results <<<<" msgstr ">>>> Etsinnän tulokset <<<<" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "Syöttö / Tulostevirhe" #: ../src/SearchWindow.cpp:973 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Etsintä lopetettu... <<<<" #: ../src/SearchWindow.cpp:1147 msgid "Select path" msgstr "Valitse polku" #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Luo uusi symbolinen linkki" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Palauta valitut tiedostot roskakorista" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "Käynnistä Xfe" #: ../src/XFileExplorer.cpp:690 msgid "Search files and folders..." msgstr "Etsi tiedostoja ja kansioita ..." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Yhdistä (vain Linux)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Irroita (Vain Linux)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "Näytä yksi paneeli" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Näytä puu ja paneeli" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "Näytä kaksi paneelia" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Näytä puu ja kaksi paneelia" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Tyhjennä sijainti" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Mene paikkaan" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "Uusi kansio&..." #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "Mene kotiin" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "Päivitä" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "Kopioi..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "&Symbolinen linkki ..." #: ../src/XFileExplorer.cpp:861 msgid "&Properties" msgstr "Ominaisuudet" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:201 #: ../src/XFileImage.cpp:327 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "Tiedosto" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "Valitse kaikki" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "Poista kaikki" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "Päinvastaiseksi" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "Asetukset" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "Yleinen työkalurivi" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "&Työkalut työkalurivi" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "&Paneelin työkalurivi" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "Osoitepalkki" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "Tilapalkki" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "Yksi paneeli" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "Puu ja paneeli" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "Kaksi paneelia" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "Puu ja kaksi paneelia" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:808 msgid "&Vertical panels" msgstr "Pystysuorat paneelit" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 msgid "&Horizontal panels" msgstr "Vaakasuorat paneelit" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "Lisää kirjanmerkki" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "Tyhjennä kirjanmerkit" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "Kirjanmerkit" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "Suodata ..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:781 msgid "&Thumbnails" msgstr "Pikkukuvat" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 msgid "&Big icons" msgstr "Isot kuvakkeet" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "T&yyppi" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "Päiväys" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "Käyttäjä" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "Ryhmä" #: ../src/XFileExplorer.cpp:1021 msgid "Fol&ders first" msgstr "Kansiot ensin" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3538 #: ../src/XFileExplorer.cpp:3589 msgid "&Left panel" msgstr "Vasen paneeli" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "Suodata" #: ../src/XFileExplorer.cpp:1051 msgid "&Folders first" msgstr "Kansiot ensin" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3537 #: ../src/XFileExplorer.cpp:3588 msgid "&Right panel" msgstr "Oikea paneeli" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "Uudessa ikkunassa" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Uusi juuri-ikkuna" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "Suorita komento..." #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Terminaali" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "&Synkronoi paneelit" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "Va&ihda paneelit" #: ../src/XFileExplorer.cpp:1096 msgid "Go to script folder" msgstr "Mene script kansioon" #: ../src/XFileExplorer.cpp:1098 msgid "&Search files..." msgstr "Hae tiedostoja..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "Irroita" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Työkalut" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "Mene roskakoriin" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "Roskakorin koko" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "Tyhjennä roskakori" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4240 msgid "T&rash" msgstr "Roskakori" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "Ohje" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "Tietoja X File Explorerista" #: ../src/XFileExplorer.cpp:2218 msgid "Running Xfe as root!" msgstr "Suorita Xfe pääkäyttäjänä!" #: ../src/XFileExplorer.cpp:2253 #, 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 "" "Xfe 1.32:sta lähtien, konfiguraatiotiedostojen sijainti on muuttunut '% s'.\n" "Huom voit käsin muokata uusia konfiguraatiotiedostoja siten että vanhat " "konfiguraatiomuutokset huomioidaan..." #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "En voi luoda Xfe config kansiota %s: %s" #: ../src/XFileExplorer.cpp:2274 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Ei voi luoda Xfe config kansiota %s" #: ../src/XFileExplorer.cpp:2296 msgid "No global xferc file found! Please select a configuration file..." msgstr "Globaalia xferc tiedostoa ei löytynyt! Valitse asetustiedosto ..." #: ../src/XFileExplorer.cpp:2300 msgid "XFE configuration file" msgstr "XFE asetustiedosto" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Ei voi luoda roskakorin tiedostoja kansioon %s: %s" #: ../src/XFileExplorer.cpp:2339 ../src/XFileExplorer.cpp:3992 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Ei voi luoda roskakorin tiedostoja kansiosta %s" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "Ei voi luoda roskakorin tiedot kansiota %s: %s" #: ../src/XFileExplorer.cpp:2361 ../src/XFileExplorer.cpp:4007 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Ei voi luoda roskakorin tiedot kansiota %s" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "Apua" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer versio %s" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Perustuu Maxim Baranovin X WinCommanderiin\n" #: ../src/XFileExplorer.cpp:3214 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" "Finnish: Kimmo Siira\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" "Kääntäjät\n" "-------------\n" "Argentiina Espanja: Bruno Gilberto Luciani\n" "Brasilia Portugali: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnia: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Katalonia: muzzol\n" "Kiina: Xin Li\n" "Kiina (Taiwan): Wei-Lun Chao\n" "Kolumbia Espanja: Vladimir Támara (Pasos de Jesús)\n" "Tsekkoslovakia: David Vachulka\n" "Tanska: Jonas Bardino, Vidar Jon Bauge\n" "Hollanti: Hans Strijards\n" "Suomi: Kimmo Siira\n" "Ranska: Claude Leo Mercier, Roland Baudin\n" "Saksa: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Kreikka: Nikos Papadopoulos\n" "Unkari: Attila Szervac, Sandor Sipos\n" "Italia: Claudio Fontana, Giorgio Moscardi\n" "Japani: Karl Skewes\n" "Norja: Vidar Jon Bauge\n" "Puola: Jacek Dziura, Franciszek Janowski\n" "Portukali: Miguel Santinho\n" "Venäjä: Dimitri Sertolov, Vad Vad\n" "Espanja: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Ruotsi: Anders F. Bjorklund\n" "Turkki: erkaN\n" #: ../src/XFileExplorer.cpp:3246 msgid "About X File Explorer" msgstr "Tietoja X File Explorerista" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 msgid "&Panel" msgstr "&Paneeli" #: ../src/XFileExplorer.cpp:3718 msgid "Execute the command:" msgstr "Suorita komento:" #: ../src/XFileExplorer.cpp:3718 msgid "Console mode" msgstr "Konsoli-tilassa" #: ../src/XFileExplorer.cpp:3896 msgid "Search files and folders" msgstr "Etsi tiedostoja ja kansioita" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 msgid "Do you really want to empty the trash can?" msgstr "Haluatko todella tyhjentää roskakorin?" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr "in " #: ../src/XFileExplorer.cpp:3959 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "Kaikki kohteet tuhotaan lopullisesti!" #: ../src/XFileExplorer.cpp:4049 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "Roskakorin koko: %s (%s tiedostot, %s alihakemistot)\n" "\n" "Muutospäivämäärä: %s" #: ../src/XFileExplorer.cpp:4051 msgid "Trash size" msgstr "Roskakorin koko" #: ../src/XFileExplorer.cpp:4058 #, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Roskakorin tiedostoja kansiossa %s ei ole luettavissa!" #: ../src/XFileExplorer.cpp:4512 ../src/XFileExplorer.cpp:4586 #, c-format msgid "Command not found: %s" msgstr "Komentoa ei löydy: %s" #: ../src/XFileExplorer.cpp:4591 #, c-format msgid "Invalid file association: %s" msgstr "väärä tiedostoliitos: %s" #: ../src/XFileExplorer.cpp:4596 #, c-format msgid "File association not found: %s" msgstr "Tiedostoliitosta ei löydy: %s" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "Asetukset" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Avaa pakettitiedosto" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "Avaa..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Työkalupalkki" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "Tietoja X File Packagesta" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "Poista ohjelma" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "Asenna / Päivitä" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "Kuvaus" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "Tiedostolista" #: ../src/XFilePackage.cpp:304 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Package Version %s on yksinkertainen rpm tai deb-pakettienhallinta.\n" "\n" #: ../src/XFilePackage.cpp:306 msgid "About X File Package" msgstr "Tietoja X File Packagesta" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "RPM lähdepaketit" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "RPM paketit" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "DEB paketit" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Avaa dokumentti" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Pakettia ei ladattu" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Tuntematon paketin muoto" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Asenna / päivitä paketti" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Poista Paketti" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[RPM paketti]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[DEB paketti]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "Kysely %s:sta epäonnistui!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Virhe ladattaessa tiedosto" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Tiedostoa ei voitu avata: %s" #. Usage message #: ../src/XFilePackage.cpp:719 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" "Käyttö: xfp [optiot] [paketti] \n" "\n" " [optiot] voi olla jokin seuraavista:\n" "\n" " -h, --help Näytä (tämä) apunäyttö ja sulkeudu.\n" " -v, --version Näytä versio ja sulkeudu.\n" "\n" " [paketti] on polku joko rpm tai deb-pakettiin jonka haluat avata " "käynnistyessä.\n" "\n" #: ../src/XFileImage.cpp:182 msgid "GIF Image" msgstr "GIF-kuva" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "BMP-kuva" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "XPM-kuva" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "PCX-kuva" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "ICO-kuva" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "RGB-kuva" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "XBM-kuva" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "TARGA-kuva" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "PPM-kuva" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "PNG-kuva" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "JPEG-kuva" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "TIFF-kuva" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "Kuva" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Avaa" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Avaa kuvatiedosto." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Tulosta" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 msgid "Print image file." msgstr "Tulosta kuvatiedosto." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:660 msgid "Zoom in" msgstr "Lähennä" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "Lähennä kuvaa." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Loitonna" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "Loitontaa kuvaa." #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "Suurenna 100%" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "Suurenna kuvaa 100%." #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "Surenna sopivaksi" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "Suurenna sopivaksi ikkunaan." #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "Kierrä vasemmalle" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Kierrä vasenta kuvaa." #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Kierrä oikealle" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Kierrä oikeaa kuvaa." #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Peili vaakasuunnassa" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "Peilikuva vaakasuunnassa." #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Peili pystysuunnassa" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Peilikuva pystysuunnassa." #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "Tulosta..." #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "Pyyhi viimeisimmät tiedostot lista" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "Pyyhi viimeisimmät tiedostot valikosta." #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Lopeta Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "Lähennä" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "Loitonna" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "Suurenna 100%" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "Suurenna sopivaksi ikkunaan" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "Kier&rä oikealle" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Kierrä oikealle." #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "Kierrä vasemma&lle" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Kierrä vasemmalle." #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "Peilaa vaakasuunnassa" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Peilaa vaakasuunnassa." #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "Peili pystysuunnassa" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Peilaa pystysuunnassa." #: ../src/XFileImage.cpp:775 msgid "Show hidden files and folders." msgstr "Näytä piilotetut tiedostot ja kansiot." #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Näytä kuvan pikkukuvat." #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Näytä kansiot isoilla kuvakkeilla." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Näytä kansiot pienillä kuvakkeilla." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "Yksityiskohtainen tiedostolista" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Näytä yksityiskohtainen tiedostolistaus." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "Näytä kuvakkeet riveittäin." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "Näytä kuvakkeet sarakkeittain." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Muuta kuvakkeiden nimien kokoa automaattisesti." #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Näytä työkalurivi." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "Tiedostolista" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Näytä tiedostoluettelo." #: ../src/XFileImage.cpp:824 msgid "File list &before" msgstr "Tiedostolista ensin" #: ../src/XFileImage.cpp:824 msgid "Display file list before image window." msgstr "Näytä tiedostolista ennen kuva-ikkunaa." #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "Suodata kuvat" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Listaa vain kuvatiedostoja." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "Sovita ikkunaan avattaessa" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "Sovita kuva avattaessa ikkunaan." #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "Tietoja X File Imagesta" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "Tietoja X File Imagesta." #: ../src/XFileImage.cpp:1333 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "X File Image Versio %s on yksinkertainen kuvakatselin.\n" "\n" #: ../src/XFileImage.cpp:1335 msgid "About X File Image" msgstr "Tietoja X File Imagesta" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Virhe ladattaessa kuvaa" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Tyyppiä ei tuettu: %s" #: ../src/XFileImage.cpp:1464 msgid "Unable to load image, the file may be corrupted" msgstr "Kuvan lataus epäonnistui, tiedosto saattaa olla vioittunut" #: ../src/XFileImage.cpp:1504 msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "Muutokset päivitetään uudelleenkäynnistyksen jälkeen.\n" "Käynnistä X File Image?" #: ../src/XFileImage.cpp:1619 msgid "Open Image" msgstr "Avaa kuva" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Tulostuskomento: \n" "(ie: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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" "Käyttä: xfi [optiot] [kuva] \n" "\n" " [optiot] voivat olla jokin seuraavista:\n" "\n" " -h, --help Näytä (tämä) apunäyttö ja sulkeudu.\n" " -v, --version Näytä versio ja sulkeudu.\n" "\n" " [kuva] on polku kuvatiedostoon joka avataan käynnistyessä.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "XFileWrite Asetukset" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "Muokkain" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Teksti" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Rivitä marginaali:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Tab:in koko:" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "Poista rivinvaihdot:" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "Värit" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Viivat" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Tausta:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Teksti:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Valitun tekstin tausta:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Valittu teksti:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Korostetun tekstin tausta:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Korostettu teksti:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Kursori:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Rivinumeroinnin tausta:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Rivinumeroinnin etuala:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "Etsi" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "Ikkuna" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " rivit:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Sarakkeet:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Rivi:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Uusi" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Luo uusi asiakirja." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Avaa asiakirjatiedosto." #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Tallenna" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Tallenna asiakirja." #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Sulje" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Sulje asiakirja." #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Tulosta asiakirja." #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Lopeta" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "Lopeta X File Write." #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "Kopioi valinta leikepöydälle." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Leikkaa" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "Leikkaa valinta leikepöydälle." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Liitä" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Liitä leikepõydälle." #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Mene riville numero." #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Kumoa" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Kumoa viimeisin muutos." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Tee uudelleen" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "Tee uudelleen viimeinen kumoa." #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Haku tekstistä." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Hakuvalinta taaksepäin" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "Etsi taaksepäin valitusta tekstistä." #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "Hakuvalinta eteenpäin" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "Etsi eteenpäin valitusta tekstistä." #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "Automaattirivitys päällä" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "Aseta automaattirivitys päälle." #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "Automaattirivitys pois" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "Aseta automaattirivitys pois." #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Näytä rivinumerot" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Näytä rivinumerot." #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Piilota rivinumerot" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Piilota rivinumerot." #: ../src/WriteWindow.cpp:741 msgid "&New" msgstr "Uusi" #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "Tallenna muutokset tiedostoon." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "Tallenna nimellä..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Tallenna asiakirja toiseen tiedostoon." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Sulje asiakirja." #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "Pyyhi Viimeisimmät tiedostot" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "Kumoa" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "Tee uudelleen" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "Palauta tallennetut" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Palauta tallennettu asiakirja." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "Leikkaa" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Liitä leikepöydältä." #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "Pienet kirjaimet" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Vaihda pieniin kirjaimiin." #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "Isot kirjaimet" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Vaihda isoiksi kirjaimiksi." #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "Mene riville..." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Valitse kaikki" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "Tilarivi" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Näytä tilarivi." #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "Etsi..." #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Etsi merkkijono." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "Korvaa ..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Etsi merkkijono ja korvata toisella." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "Etsi valitusta taaksepäin" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Etsi valitusta eteenpäin" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "Rivitys" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "Vaihda rivitystilaa." #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "Rivinumerot" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Vaihda rivinumerointia." #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "Ylikirjoita" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "Vaihda ylikirjoitustilaa." #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "Kirjasin..." #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Muuta tekstin kirjasinta." #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "Lisää asetuksia..." #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Muuta muita vaihtoehtoja." #: ../src/WriteWindow.cpp:959 msgid "&About X File Write" msgstr "Tietoja ohjelmasta X File Write" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "Tietoja X File Writeristä." #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "Tiedosto liian iso: %s (%d tavua)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "Tiedostoa ei voi lukea: %s" #: ../src/WriteWindow.cpp:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Virhe tallennettaessa tiedostoa" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "Tiedostoa ei voitu avata: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "Tiedosto on liian suuri: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "Tiedosto: %s katkaistu." #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "nimetön" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "nimetön%d" #: ../src/WriteWindow.cpp:1477 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "X File Write Versio %s on yksinkertainen tekstimuokkain.\n" "\n" #: ../src/WriteWindow.cpp:1479 msgid "About X File Write" msgstr "Tietoja X File Writeristä" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Muuta kirjasinta" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Tekstitiedostoja" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "C lähdekooditiedostot" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "C++ lähdekooditiedostot" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "C/C++ Header-tiedostot" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "HTML-tiedostot" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "PHP tiedostot" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Tallentamaton asiakirja" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "Tallenna %s tiedostoon?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Tallenna asiakirja" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Korvaa asiakirja" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "Korvaa olemassa oleva asiakirja: %s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (muutettu)" #: ../src/WriteWindow.cpp:1851 msgid " (read only)" msgstr " (vain luku)" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "VAIN LUKU" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "Tiedosto muutettiin" #: ../src/WriteWindow.cpp:2071 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "toinen ohjelma muutti. Lataa tämä uudelleen levyltä?" #: ../src/WriteWindow.cpp:2132 msgid "Replace" msgstr "Korvaa" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Mene riville" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "Mene riville numero:" #. Usage message #: ../src/XFileWrite.cpp:217 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" "Käyttö: xfw [optiot] [tiedosto1] [tiedosto2] [tiedosto3]...\n" "\n" " [optiot] voivat olla jokin seuraavista:\n" "\n" " -r, --read-only Avaa tiedostot vain luku-tilassa.\n" " -h, --help Näyttää (tämän) ohjeen ja sulkeutuu.\n" " -v, --version Näyttää version jasulkeutuu.\n" "\n" " [tiedosto1] [tiedosto2] [tiedosto3]... ovat polkuja tiedostoihin jotka " "avataan ohjelman käynnistyessä .\n" "\n" #: ../src/foxhacks.cpp:164 msgid "Root folder" msgstr "Pääkansio" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Valmis." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "Korvaa" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Korvaa kaikki" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Etsi:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Korvaa merkillä:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "Tarkka" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "Sivuuta koko" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "Lauseke" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "Taaksepäin" #: ../src/help.h:7 #, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\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\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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\n" " \n" " " msgstr "" #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "Yleiset näppäinsidokset" #: ../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ämä näppäinsidokset ovat yleisiä kaikille Xfe ohjelmille.\n" "Kaksoisnäpäytä kohdetta muokataksesi valittua näppäinsidosta..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Xf&e näppäinsidokset" #: ../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ämä näppäinsidokset ovat vain X File Explorer-ohjelmalle.\n" "Kaksoisnäpäytä kohdetta muokataksesi valittua näppäinsidosta..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Xf&i näppäinsidokset" #: ../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ämä näppäinsidokset ovat vain X File Image-ohjelmalle.\n" "Kaksoisnäpäytä kohdetta muokataksesi valittua näppäinsidosta..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Xf&w näppäinsidokset" #: ../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ämä näppäinsidokset ovat vain X File Write-ohjelmalle.\n" "Kaksoisnäpäytä kohdetta muokataksesi valittua näppäinsidosta..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Toiminnon nimi" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Rekisteriavain" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Näppäinsidos" #: ../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 "Paina näppäinyhdistelmää, jota haluat käyttää toiminnassa: %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 "[Paina välilyöntiä estääksesi toiminnon näppäinsidoksen]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Muokkaa Näppäinsidoksia" #: ../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 "" "Näppäinliitos %s on jo käytössä yleiset valinnassa.\n" "Ennen määrittelyä, olemassa-oleva pitää poistaa." #: ../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 "" "Näppäinliitos %s on jo käytössä Xfe valinnassa.\n" "Ennen määrittelyä, olemassa-oleva pitää poistaa." #: ../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 "" "Näppäinliitos %s on jo käytössä Xfi valinnassa.\n" "Ennen määrittelyä, olemassa-oleva pitää poistaa." #: ../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 "" "Näppäinliitos %s on jo käytössä Xfw valinnassa.\n" "Ennen määrittelyä, olemassa-oleva pitää poistaa." #: ../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 "Virhe: Kansiota ei voi avata %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 "Virhe: Kansiota ei voi avata %s" #: ../src/startupnotification.cpp:126 #, c-format msgid "Error: Can't open display\n" msgstr "Virhe: Ei voi avata näyttöä\n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "Aloita %s" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, c-format msgid "Error: Can't execute command %s" msgstr "Virhe: Komentoa ei voida suorittaa %s" #: ../src/xfeutils.cpp:829 ../src/xfeutils.cpp:917 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Virhe: Kansiota ei voida sulkea %s\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "tavua" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 msgid "copy" msgstr "kopioi" #: ../src/xfeutils.cpp:1413 #, c-format msgid "Error: Can't read group list: %s" msgstr "Virhe: Ei voi lukea ryhmäluetteloa: %s" #: ../src/xfeutils.cpp:1417 #, c-format msgid "Error: Can't read group list" msgstr "Virhe: Ei voi lukea ryhmäluetteloa" #: ../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 "Kevyt tiedostonhallinta X ikkunalle" #: ../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 "Yksinkertainen kuvankatseluohjelma Xfe:lle" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "Xfw" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Tekstimuokkain" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Yksinkertainen tekstimuokkain Xfe:lle" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "Xfp" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Paketinhallinta" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Yksinkertainen paketinhallinta Xfe:lle" #~ msgid "&Themes" #~ msgstr "&Teemat" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "Vahvista komento suorita tekstitiedosto" #~ msgid "KB" #~ msgstr "Kt" #~ msgid "" #~ "Scrolling mode will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "Rullaustila vaihdetaan uudelleenkäynnistyksen jälkeen.\n" #~ "Käynnistä X File Explorer nyt?" #~ msgid "" #~ "Path linker will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "Polun linkkaus vaihdetaan uudelleenkäynnistyksen jälkeen.\n" #~ "Käynnistä X File Explorer nyt?" #~ msgid "" #~ "Button style will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "Nappien tyyli vaihdetaan uudelleenkäynnistyksen jälkeen.\n" #~ "Käynnistä X File Explorer nyt?" #~ msgid "" #~ "Normal font will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "Normaali fontti vaihdetaan uudelleenkäynnistyksen jälkeen.\n" #~ "Käynnistä X File Explorer nyt?" #~ msgid "" #~ "Text font will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "Tekstin fontti vaihdetaan uudelleenkäynnistyksen jälkeen.\n" #~ "Käynnistä X File Explorer nyt?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ msgstr "Virhe!" xfe-1.44/po/ja.po0000644000200300020030000061734314023353061010510 00000000000000msgid "" msgstr "" "Project-Id-Version: XFE 1.19.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-14 10:23+0100\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:333 #, 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:467 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" #: ../src/main.cpp:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "アイコンをローディングの間にエラーが発生しました" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "あるアイコンがロードできませんので、アイコンパスを確認してください!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" msgstr "あるアイコンがロードできませんので、アイコンパスを確認してください!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "プロパティ" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "一般(&G)" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "フォルダ" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "キャラクターデバイス" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "ブロックデバイス" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "ネームドパイプ" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "ソケット" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "実行可能" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "ドキュメント" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "ブロークンリンク:" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 #, fuzzy msgid "Link to " msgstr "リンク" #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "ロケーション:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "種類:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu バイト)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu バイト)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "サイズ:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "選択:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "マルチプルタイプ" #. Number of selected files #: ../src/Properties.cpp:1113 #, fuzzy, c-format msgid "%d items" msgstr " 個アイテム" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "合計: %d 個のアイテム、%d フォルダ、%d ファイル。" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "合計: %d 個のアイテム、%d フォルダ、%d ファイル。" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "合計: %d 個のアイテム、%d フォルダ、%d ファイル。" #: ../src/Properties.cpp:1130 #, fuzzy, c-format msgid "%d files, %d folders" msgstr "合計: %d 個のアイテム、%d フォルダ、%d ファイル。" #: ../src/Properties.cpp:1252 #, fuzzy msgid "Change properties of the selected folder?" msgstr "\t選択されているファイルのプロパティを表示(F9)" #: ../src/Properties.cpp:1256 #, fuzzy msgid "Change properties of the selected file?" msgstr "\t選択されているファイルのプロパティを表示(F9)" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 #, fuzzy msgid "Confirm Change Properties" msgstr "プロパティ" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "注意" #: ../src/Properties.cpp:1401 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "移動オペレーションがキャンセルされました!" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "ファイル名が指定されてないので、オペレーションがキャンセルされました" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "ファイル名が指定されてないので、オペレーションがキャンセルされました" #. Error message box #. Error #: ../src/Properties.cpp:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "%s に書込できません、権限がありません" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "%s というフォルダの存在がありません" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "名前の変更" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "ファイルの所有者" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "所有者の変更がキャンセルされました!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown %s 失敗しました: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "Chown %s 失敗しました" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" #: ../src/Properties.cpp:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod %s 失敗しました: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "アクセス権" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "アクセス権の変更がキャンセルされました!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "Chmod %s 失敗しました" #: ../src/Properties.cpp:1628 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " 含まれる1個アイテムが選択されています" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "アクセス権の変更がキャンセルされました!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "実行可能ファイルを選択" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "すべてファイル" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "PNG イメージ" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "GIF イメージ" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "BMP イメージ" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "アイコンファイルを選択" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "合計: %d 個のアイテム、%d フォルダ、%d ファイル。" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "合計: %d 個のアイテム、%d フォルダ、%d ファイル。" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "合計: %d 個のアイテム、%d フォルダ、%d ファイル。" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, fuzzy, c-format msgid "%u files, %u subfolders" msgstr "合計: %d 個のアイテム、%d フォルダ、%d ファイル。" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "ここにコピー" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "ここに移動" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "ここにリンク" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "キャンセル" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "ファイルコピー" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "ファイル移動" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "ファイルシムリンク" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "コピー" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, fuzzy, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "ファイル/フォルダ。\n" "フロム:" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "移動" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, fuzzy, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "ファイル/フォルダ。\n" "フロム:" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "シムリンク" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "指定場所" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "移動の間にエラーが発生しました!" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "移動オペレーションがキャンセルされました!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "コピーの間にエラーが発生しました!" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "コピーオペレーションがキャンセルされました!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "マウントポイント(%s) が応答していません..." #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "ルートに0バイトがあります" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 msgid "Panel is active" msgstr "" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 #, fuzzy msgid "Activate panel" msgstr "パネルを切り替え(&I)\tCtrl-P" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "書庫へ追加(&A)..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "コピー(&C)" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "切り取り(&U)" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "貼り付け(&P)" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "移動(&M)..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, fuzzy, c-format msgid "Can't enter folder %s: %s" msgstr "%s というファイルを削除できません" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, fuzzy, c-format msgid "Can't enter folder %s" msgstr "%s というファイルを削除できません" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 msgid "File name is empty, operation cancelled" msgstr "ファイル名が指定されてないので、オペレーションがキャンセルされました" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "書庫を作成" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "コピー" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, fuzzy, c-format msgid "Copy %s items from: %s" msgstr "フロム:" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "名前の変更" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "名前の変更" #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "コピー" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "移動" #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, fuzzy, c-format msgid "Move %s items from: %s" msgstr "フロム:" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "シムリンク" #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, fuzzy, c-format msgid "Symlink %s items from: %s" msgstr "フロム:" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s はフォルダではありません" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "シムリンクの間にエラーが発生しました!" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "シムリンクオペレーションがキャンセルされました!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, fuzzy, c-format msgid "Definitively delete folder %s ?" msgstr "永久に削除されます" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "削除されます" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "ファイルを削除" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, fuzzy, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr " の内容が空ではありませんが、削除されますか?" #: ../src/DirPanel.cpp:2264 #, fuzzy, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr " は書込禁止ですが、削除されますか?" #: ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "フォルダを削除オペレーションがキャンセルされました!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, fuzzy, c-format msgid "Move folder %s to trash can?" msgstr "ゴミ箱へ移動" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "ゴミ箱へ移動されます" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "ゴミ箱へ移動" #: ../src/DirPanel.cpp:2360 #, fuzzy, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr " は書込禁止ですが、ゴミ箱へ移動されますか?" #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "ゴミ箱へ移動の間にエラーが発生しました!" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "ゴミ箱へ移動オペレーションがキャンセルされました!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 #, fuzzy msgid "Restore from trash" msgstr "ゴミ箱から削除されます" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 #, fuzzy msgid "Confirm Restore" msgstr "削除されます" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2640 #, fuzzy, c-format msgid "Can't create folder %s : %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, fuzzy, c-format msgid "Can't create folder %s" msgstr "%s というファイルを削除できません" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 #, fuzzy msgid "An error has occurred during the restore from trash operation!" msgstr "ゴミ箱へ移動の間にエラーが発生しました!" #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 #, fuzzy msgid "Restore from trash file operation cancelled!" msgstr "ゴミ箱へ移動オペレーションがキャンセルされました!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "フォルダを作成:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "新しいフォルダ" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "ファイル名が指定されてないので、オペレーションがキャンセルされました" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "コマンドを実行" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "マウント" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "アンマウント" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " ファイルシステム..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " フォルダ:" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " オペレーションキャンセルされました!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 msgid "Delete:" msgstr "削除:" #: ../src/File.cpp:136 msgid "From:" msgstr "フロム:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "アクセス権の変更中..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "ファイル:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "上書きされます" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, fuzzy, c-format msgid "Can't copy file %s: %s" msgstr "ファイルをコピーできません" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, fuzzy, c-format msgid "Can't copy file %s" msgstr "ファイルをコピーできません" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "ソース:" #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "ターゲット:" #: ../src/File.cpp:604 #, fuzzy, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/File.cpp:608 #, fuzzy, c-format msgid "Can't preserve date when copying file %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/File.cpp:750 #, fuzzy, c-format msgid "Can't copy folder %s : Permission denied" msgstr "%s に書込できません、権限がありません" #: ../src/File.cpp:754 #, fuzzy, c-format msgid "Can't copy file %s : Permission denied" msgstr "%s に書込できません、権限がありません" #: ../src/File.cpp:791 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/File.cpp:795 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/File.cpp:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "%s というソースの存在がありません" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "%s というソースはターゲットと同じいです" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1048 #, fuzzy msgid "Delete folder: " msgstr "フォルダを削除:" #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "フロム:" #: ../src/File.cpp:1095 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "%s というファイルを削除できません" #: ../src/File.cpp:1099 #, fuzzy, c-format msgid "Can't delete folder %s" msgstr "%s というファイルを削除できません" #: ../src/File.cpp:1160 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "%s というファイルを削除できません" #: ../src/File.cpp:1164 #, fuzzy, c-format msgid "Can't delete file %s" msgstr "%s というファイルを削除できません" #: ../src/File.cpp:1213 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "%s というファイルかフォルダはすでに存在します" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "%s に名前を変更できません" #: ../src/File.cpp:1572 #, fuzzy, c-format msgid "Can't symlink %s: %s" msgstr "シムリンクを作成:" #: ../src/File.cpp:1576 #, fuzzy, c-format msgid "Can't symlink %s" msgstr "シムリンクを作成:" #: ../src/File.cpp:1655 ../src/File.cpp:1852 #, fuzzy msgid "Folder: " msgstr "フォルダ:" #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "書庫を展開" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "書庫へ追加" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "%s コマンドの実行が失敗されました" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "成功" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "%s フォルダがマウントされました。" #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "%s フォルダがアンマウントされました。" #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "パッケージをインストール/アップグレード" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, fuzzy, c-format msgid "Installing package: %s \n" msgstr "パッケージをインストール中:" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "パッケージをアンインストール" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 #, fuzzy msgid "Go to previous folder" msgstr "\t戻る\t前のフォルダに戻る。" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 #, fuzzy msgid "Go to next folder" msgstr "\t進む\t次のフォルダに進む。" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 #, fuzzy msgid "Go to parent folder" msgstr "ルートディレクトリ" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 #, fuzzy msgid "Go to home folder" msgstr " フォルダ:" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 #, 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 #, fuzzy msgid "Big icon list" msgstr "大きいアイコン(&I)" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 #, fuzzy msgid "Small icon list" msgstr "小さいアイコン(&S)" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 #, fuzzy msgid "Detailed file list" msgstr "ファイルリスト(&F)\t\tファイルリストを表示。" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 #, fuzzy msgid "Show hidden files" msgstr "\t隠しファイルを表示する(Ctrl-F6)" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 #, fuzzy msgid "Hide hidden files" msgstr "隠しファイル(&H)" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 #, fuzzy msgid "Show thumbnails" msgstr "\tサムネイルを表示する" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 #, 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:3758 msgid "New File" msgstr "新しいファイル" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "%s というファイルかフォルダはすでに存在します" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "ホーム(&M)" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "新しいフォルダ(&O)..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "隠しファイル(&H)" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "サムネイル(&B)" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "大きいアイコン(&I)" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "小さいアイコン(&S)" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "詳細リスト(&L)" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "行(&R)" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "列(&C)" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "オートサイズ" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "名前(&N)" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "サイズ(&Z)" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "種類(&T)" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "拡張子(&X)" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "日時(&D)" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "ユーザー(&U)" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "グループ(&G)" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 #, fuzzy msgid "Fold&ers first" msgstr "フォルダ" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "ソート順を反転(&R)" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "ファミリー:(&F)" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "太さ:(&W)" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "スタイル:(&S)" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "サイズ:(&Z)" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "文字セット:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "なし" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "西欧" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "東欧" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "南欧" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "北欧" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "シリル文字" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "アラビア語" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "ギリシャ語" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "ヘブライ語" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "トルコ語" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "アイスランド語" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "タイ語" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "バルト語" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "ケルト語" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "ロシア語" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "中欧(cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "ロシア語(cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "ラテン文字1(cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "ギリシャ語(cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "トルコ語(cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "ヘブライ語(cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "アラビア語(cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "バルト語(cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "ベトナム語(cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "タイ語(cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "文字の間隔" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "ウルトラ狭くする" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "エクストラ狭くする" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "狭くする" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "セミ狭くする" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "標準" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "セミ広くする" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "広くする" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "エクストラ広くする" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "ウルトラ広くする" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "文字のピッチ:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "等幅" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "可変長:" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "スケーラブル:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "すべてフォント:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "プレビュー:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 #, fuzzy msgid "Launch Xfe as root" msgstr "\tルートとしてXFEを実行(Shift-F3)" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "いいえ(&N)" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "はい(&Y)" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "終了(&Q)" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "保存(&S)" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "すべてはい(&A)" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "ユーザーパスワードを入力してください:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "ルートパスワードを入力してください:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 #, fuzzy msgid "An error has occurred!" msgstr "シムリンクの間にエラーが発生しました!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "名前:" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "サイズ:" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "種類:" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "変更日時:" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "ユーザー:" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "グループ:" #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "アクセス権:" #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "" #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "削除日時:" #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "サイズ:" #: ../src/FileList.cpp:151 msgid "Size" msgstr "サイズ" #: ../src/FileList.cpp:152 msgid "Type" msgstr "種類" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "拡張子" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "変更日時" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "アクセス権" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "イメージをロードできません" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "削除日時" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "フィルター" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "ステータス" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:1035 ../src/SearchPanel.cpp:790 #, 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "コマンドログ" #: ../src/FilePanel.cpp:1832 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "ファイル名が指定されてないので、オペレーションがキャンセルされました" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "フォルダへ:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, fuzzy, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "%s に書込できません、権限がありません" #: ../src/FilePanel.cpp:2408 ../src/SearchPanel.cpp:2936 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "ゴミ箱へ移動" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, fuzzy, c-format msgid "Move %s selected items to trash can?" msgstr "\t選択されているファイルをゴミ箱へ移動(Del.F8)" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, fuzzy, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr " は書込禁止ですが、ゴミ箱へ移動されますか?" #: ../src/FilePanel.cpp:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "ゴミ箱へ移動オペレーションがキャンセルされました!" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" #: ../src/FilePanel.cpp:2721 #, fuzzy, c-format msgid "Restore %s selected items to their original locations?" msgstr " 選択されているアイテムがゴミ箱へ移動されますか?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, fuzzy, c-format msgid "Can't create folder %s: %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "永久に削除されます" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr " 選択されているアイテムが永久に削除されますか?" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, fuzzy, c-format msgid "File %s is write-protected, delete it anyway?" msgstr " は書込禁止ですが、削除されますか?" #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "ファイルを削除オペレーションがキャンセルされました!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3758 msgid "Create new file:" msgstr "ファイルを作成:" #: ../src/FilePanel.cpp:3794 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/FilePanel.cpp:3798 #, fuzzy, c-format msgid "Can't create file %s" msgstr "%s というファイルを削除できません" #: ../src/FilePanel.cpp:3813 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "シムリンクを作成:" #: ../src/FilePanel.cpp:3817 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "%s に書込できません、権限がありません" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "シムリンクを作成:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "新しいシムリンク" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "シムリンクされるファイル、またはディレクトリーを選択してください" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "%s というシムリンクのソースの存在がありません" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "選択されているファイルをアプリで開く:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "アプリで開く" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "関連付ける(&S)" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "ファイルを表示する:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "新しいファイル(&F)..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "新しいシムリンク(&Y)..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "フィルター(&L)..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "詳細リスト(&F)" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "アクセス権(&M)" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "新しいファイル(&W)..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "マウント(&M)" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "アプリで開く(&W)..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "開く(&O)" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 #, fuzzy msgid "Extr&act to folder " msgstr "フォルダに展開(&A)" #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "ここに展開(&E)" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "指定場所に展開(&X)..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "表示(&V)" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "インストール/アップグレード(&G)" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "アンインストール(&I)" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "編集(&E)" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 #, fuzzy msgid "Com&pare..." msgstr "置換(&R)" #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4672 #, fuzzy msgid "Packages &query " msgstr "パッケージに検索" #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 #, fuzzy msgid "Scripts" msgstr "記述(&D)" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 #, fuzzy msgid "&Go to script folder" msgstr "ルートディレクトリ" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "指定場所にコピー(&T)..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 #, fuzzy msgid "M&ove to trash" msgstr "ゴミ箱へ移動" #: ../src/FilePanel.cpp:4695 #, fuzzy msgid "Restore &from trash" msgstr "ゴミ箱から削除されます" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 #, fuzzy msgid "Compare &sizes" msgstr "ソース:" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 #, fuzzy msgid "P&roperties" msgstr "プロパティ" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "\t目的地を選択..." #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "すべてファイル" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "パッケージをインストール/アップグレード" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "パッケージをアンインストール" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "%s というファイルを削除できません" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "互換性があるパッケージマネージャ(RPMかDPKG)が見つかりませんでした!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr " が属しているパッケージは:" #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "情報" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, fuzzy, c-format msgid "File %s belongs to the package: %s" msgstr " が属しているパッケージは:" #. Make and show command window #: ../src/FilePanel.cpp:6220 ../src/SearchPanel.cpp:2887 #, fuzzy msgid "Sizes of Selected Items" msgstr " 個アイテムが選択されています" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 バイト" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr " 含まれる1個アイテムが選択されています" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr " 含まれる1個アイテムが選択されています" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr " 含まれる1個アイテムが選択されています" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr " 含まれる1個アイテムが選択されています" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " フォルダ:" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "合計: %d 個のアイテム、%d フォルダ、%d ファイル。" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "合計: %d 個のアイテム、%d フォルダ、%d ファイル。" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "合計: %d 個のアイテム、%d フォルダ、%d ファイル。" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "リンク" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "閉じる(&O)" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "%s というファイルを削除できません" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 #, fuzzy msgid "Can't duplicate pipes" msgstr "%s というファイルを削除できません" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> コマンドがキャンセルされました <<<<" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "設定" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "現在のテーマ" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "設定" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "ゴミ箱を経由して削除する(安全削除)" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "ゴミ箱を経由せずコマンドを許可する(永久削除)" #: ../src/Preferences.cpp:185 msgid "Auto save layout" msgstr "レイアウトが自動的に保存する" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Single click folder open" msgstr "シングルクリックでファイルを開く" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "シングルクリックでファイルを開く" #: ../src/Preferences.cpp:189 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "ファイルとディレクトリーリストするときキャプションを表示する" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "ファイルリストを相対的にリサイズする" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "ファイルリストの上にパスリンカを表示する" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "削除されます" #: ../src/Preferences.cpp:198 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:213 #, fuzzy msgid "Start in home folder" msgstr " フォルダ:" #: ../src/Preferences.cpp:214 #, fuzzy msgid "Start in current folder" msgstr "ルートディレクトリ" #: ../src/Preferences.cpp:215 #, fuzzy msgid "Start in last visited folder" msgstr "" "隠しファイル(&H)\tCtrl-F6\t隠しファイルとディレクトリを表示する。(Ctrl-F6)" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "ファイルリストをスムーズでスクロールする" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "マウス加速度:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "枠線の色" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "ルートモード" #: ../src/Preferences.cpp:232 #, fuzzy msgid "Allow root mode" msgstr "ルートモード" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "sudoで認証する(ユーザーのパスワードを使用)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "suで認証する(ルートのパスワードを使用)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "%s コマンドの実行が失敗されました" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "コマンドを実行" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "ダイアログ(&D)" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "確認" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "コピー・移動・名前の変更・シムリンクを確認する" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "ドラッグアンドドロップを確認する" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "" #: ../src/Preferences.cpp:330 #, fuzzy msgid "Confirm delete" msgstr "削除されます" #: ../src/Preferences.cpp:331 #, fuzzy msgid "Confirm delete non empty folders" msgstr "内容が空ではないディレクトリーの削除を確認する" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "上書きを確認する" #: ../src/Preferences.cpp:333 #, fuzzy msgid "Confirm execute text files" msgstr "削除されます" #: ../src/Preferences.cpp:334 #, fuzzy msgid "Confirm change properties" msgstr "プロパティ" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "警告メッセージ" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "マウントポイントが応答していないとき" #: ../src/Preferences.cpp:340 #, fuzzy msgid "Display mount / unmount success messages" msgstr "マウント・アンマウントの結果メッセージを表示する" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "ルートとして実行しているとき" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "プログラム(&P)" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "既定のプログラム:" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "テキストビューアー:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "テキストエディター:" #: ../src/Preferences.cpp:405 #, fuzzy msgid "File comparator:" msgstr "アクセス権" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "イメージエディター:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "イメージビューアー:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "書庫マネージャ:" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "テキストビューアー:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "イメージビューアー:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "イメージビューアー:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "ターミナルプログラム:" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 #, fuzzy msgid "Mount:" msgstr "マウント" #: ../src/Preferences.cpp:462 #, fuzzy msgid "Unmount:" msgstr "アンマウント" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "色のテーマ" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "カスタムの色" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "ダブルクリックすると色がカスタマイ出来る" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "ベース色" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "枠線の色" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "背景色" #: ../src/Preferences.cpp:492 #, fuzzy msgid "Text color" msgstr "ベース色" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "選択の背景色" #: ../src/Preferences.cpp:494 #, fuzzy msgid "Selection text color" msgstr "選択の前傾色" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "ファイルリストの背景色" #: ../src/Preferences.cpp:496 #, fuzzy msgid "File list text color" msgstr "ファイルリストの圧巻色" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "ファイルリストの圧巻色" #: ../src/Preferences.cpp:498 #, fuzzy msgid "Progress bar color" msgstr "枠線の色" #: ../src/Preferences.cpp:499 #, fuzzy msgid "Attention color" msgstr "ベース色" #: ../src/Preferences.cpp:500 #, fuzzy msgid "Scrollbar color" msgstr "枠線の色" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "コントロール" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "アイコンテーマパス" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tパスを選択..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "フォント(&F)" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "フォント" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "ノーマルフォント:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " 選択..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "テキストフォント:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "" #: ../src/Preferences.cpp:634 msgid "Select an icon theme folder or an icon file" msgstr "アイコンテーマディレクトリーかアイコンファイルを選択してください" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "ノーマルフォントの変更" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "テキストフォントの変更" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 #, fuzzy msgid "Create new file" msgstr "ファイルを作成:" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 #, fuzzy msgid "Create new folder" msgstr "フォルダを作成:" #: ../src/Preferences.cpp:803 #, fuzzy msgid "Copy to clipboard" msgstr "コピー(&C)\tCtrl-C\t選択をクリップボードにコピーする。(Ctrl-C)" #: ../src/Preferences.cpp:807 #, fuzzy msgid "Cut to clipboard" msgstr "切り取り(&T)\tCtrl-X\t選択をクリップボードに切り取る。(Ctrl-X)" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 #, fuzzy msgid "Paste from clipboard" msgstr "\tクリップボードから貼り付け(Ctrl-V)" #: ../src/Preferences.cpp:827 #, fuzzy msgid "Open file" msgstr "ファイルを開く(&O)...\tCtrl-O" #: ../src/Preferences.cpp:831 #, fuzzy msgid "Quit application" msgstr "\t指定場所を開く\t指定場所を開きます。" #: ../src/Preferences.cpp:835 #, fuzzy msgid "Select all" msgstr "すべて選択(&A)" #: ../src/Preferences.cpp:839 #, fuzzy msgid "Deselect all" msgstr "すべて選択を解除(&D)\tCtrl-Z" #: ../src/Preferences.cpp:843 #, fuzzy msgid "Invert selection" msgstr "選択を逆にする(&I)\tCtrl-I" #: ../src/Preferences.cpp:847 #, fuzzy msgid "Display help" msgstr "ツールバー(&T)\t\tツールバーを表示" #: ../src/Preferences.cpp:851 #, fuzzy msgid "Toggle display hidden files" msgstr "\t隠しファイルを表示する(Ctrl-F6)" #: ../src/Preferences.cpp:855 #, fuzzy msgid "Toggle display thumbnails" msgstr "\tサムネイルを表示する" #: ../src/Preferences.cpp:863 #, fuzzy msgid "Close window" msgstr "新しいウィンドー(&W)\tF3" #: ../src/Preferences.cpp:867 #, fuzzy msgid "Print file" msgstr "印刷" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "検索" #: ../src/Preferences.cpp:875 #, fuzzy msgid "Search previous" msgstr "検索する文字列:" #: ../src/Preferences.cpp:879 #, fuzzy msgid "Search next" msgstr "検索" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 #, fuzzy msgid "Vertical panels" msgstr "パネルを切り替え(&I)\tCtrl-P" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 #, fuzzy msgid "Horizontal panels" msgstr "パネルを切り替え(&I)\tCtrl-P" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 #, fuzzy msgid "Refresh panels" msgstr "左パネル(&L)" #: ../src/Preferences.cpp:901 #, fuzzy msgid "Create new symbolic link" msgstr "シムリンクを作成:" #: ../src/Preferences.cpp:905 #, fuzzy msgid "File properties" msgstr "プロパティ" #: ../src/Preferences.cpp:909 #, fuzzy msgid "Move files to trash" msgstr "ゴミ箱へ移動" #: ../src/Preferences.cpp:913 #, fuzzy msgid "Restore files from trash" msgstr "ゴミ箱から削除されます" #: ../src/Preferences.cpp:917 #, fuzzy msgid "Delete files" msgstr "フォルダを削除:" #: ../src/Preferences.cpp:921 #, fuzzy msgid "Create new window" msgstr "ファイルを作成:" #: ../src/Preferences.cpp:925 #, fuzzy msgid "Create new root window" msgstr "新しいルートウィンドー(&R)\tShift-F3" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "コマンドを実行" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 #, fuzzy msgid "Launch terminal" msgstr "\tXFEを実行(F3)" #: ../src/Preferences.cpp:938 #, fuzzy msgid "Mount file system (Linux only)" msgstr "ファイルシステムをマウント中..." #: ../src/Preferences.cpp:942 #, fuzzy msgid "Unmount file system (Linux only)" msgstr "ファイルシステムをアンマウント中..." #: ../src/Preferences.cpp:946 #, fuzzy msgid "One panel mode" msgstr "左パネル(&L)" #: ../src/Preferences.cpp:950 #, fuzzy msgid "Tree and panel mode" msgstr "トリーとパネル(&R)\tCtrl-F2" #: ../src/Preferences.cpp:954 #, fuzzy msgid "Two panels mode" msgstr "パネル2個(&P)\tCtrl-F3" #: ../src/Preferences.cpp:958 #, fuzzy msgid "Tree and two panels mode" msgstr "トリーとパネル2個(&E)\tCtrl-F4" #: ../src/Preferences.cpp:962 #, fuzzy msgid "Clear location bar" msgstr "\tロケーションバーを消去する\tロケーションバーを消去します" #: ../src/Preferences.cpp:966 #, fuzzy msgid "Rename file" msgstr "名前の変更" #: ../src/Preferences.cpp:970 #, fuzzy msgid "Copy files to location" msgstr "\t指定場所を開く\t指定場所を開きます。" #: ../src/Preferences.cpp:974 #, fuzzy msgid "Move files to location" msgstr "\t指定場所を開く\t指定場所を開きます。" #: ../src/Preferences.cpp:978 #, fuzzy msgid "Symlink files to location" msgstr "\t指定場所を開く\t指定場所を開きます。" #: ../src/Preferences.cpp:982 #, fuzzy msgid "Add bookmark" msgstr "ブックマークの追加" #: ../src/Preferences.cpp:986 #, fuzzy msgid "Synchronize panels" msgstr "パネルを同期する\tCtrl-Y" #: ../src/Preferences.cpp:990 #, fuzzy msgid "Switch panels" msgstr "パネルを切り替え(&I)\tCtrl-P" #: ../src/Preferences.cpp:994 #, fuzzy msgid "Go to trash can" msgstr "ゴミ箱へ移動" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "ゴミ箱を空にする" #: ../src/Preferences.cpp:1002 #, fuzzy msgid "View" msgstr "表示:" #: ../src/Preferences.cpp:1006 #, fuzzy msgid "Edit" msgstr "編集:" #: ../src/Preferences.cpp:1014 #, fuzzy msgid "Toggle display hidden folders" msgstr "\t隠しファイルを表示する(Ctrl-F6)" #: ../src/Preferences.cpp:1018 #, fuzzy msgid "Filter files" msgstr "ファイル日時:" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "" #: ../src/Preferences.cpp:1033 #, fuzzy msgid "Zoom to fit window" msgstr "行へ移動" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "" #: ../src/Preferences.cpp:1059 #, fuzzy msgid "Create new document" msgstr "新しいフォルダを作成..." #: ../src/Preferences.cpp:1063 #, fuzzy msgid "Save changes to file" msgstr "%s をファイルに保存しますか?" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 #, fuzzy msgid "Goto line" msgstr "行へ移動" #: ../src/Preferences.cpp:1071 #, fuzzy msgid "Undo last change" msgstr "元に戻す(&U)\tCtrl-Z\t元に戻す。(Ctrl-Z)" #: ../src/Preferences.cpp:1075 #, fuzzy msgid "Redo last change" msgstr "元に戻す(&U)\tCtrl-Z\t元に戻す。(Ctrl-Z)" #: ../src/Preferences.cpp:1079 #, fuzzy msgid "Replace string" msgstr "置換" #: ../src/Preferences.cpp:1083 #, fuzzy msgid "Toggle word wrap mode" msgstr "折り返し(&W)\tCtrl-K\t折り返しを行う。(Ctrl-K)" #: ../src/Preferences.cpp:1087 #, fuzzy msgid "Toggle line numbers mode" msgstr "行番号を表示(&L)\tCtrl-L\t行番号を表示する。(Ctrl-T)" #: ../src/Preferences.cpp:1091 #, fuzzy msgid "Toggle lower case mode" msgstr "重ね打ち(&O)\t\t重ね打ちを行う。" #: ../src/Preferences.cpp:1095 #, fuzzy msgid "Toggle upper case mode" msgstr "重ね打ち(&O)\t\t重ね打ちを行う。" #. Confirmation message #: ../src/Preferences.cpp:1114 #, 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:1115 msgid "Restore default key bindings" msgstr "" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "再起動" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "閉じる(&C)" #: ../src/SearchPanel.cpp:165 #, fuzzy msgid "Refresh panel" msgstr "左パネル(&L)" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 #, fuzzy msgid "Copy selected files to clipboard" msgstr "\t選択されているファイルをクリップボードにコピー(Ctrl-C)" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 #, fuzzy msgid "Cut selected files to clipboard" msgstr "\t選択されているファイルをクリップボードに切り取り(Ctrl-X)" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 #, fuzzy msgid "Show properties of selected files" msgstr "\t選択されているファイルのプロパティを表示(F9)" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 #, fuzzy msgid "Move selected files to trash can" msgstr "\t選択されているファイルをゴミ箱へ移動(Del.F8)" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 #, fuzzy msgid "Delete selected files" msgstr "\t選択されているファイルを永久に削除(Shift-Del)" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "詳細リスト(&U)" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "大/小文字を区別しない(&G)" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 #, fuzzy msgid "&Autosize" msgstr "オートサイズ" #: ../src/SearchPanel.cpp:2421 #, fuzzy msgid "&Packages query " msgstr "パッケージに検索" #: ../src/SearchPanel.cpp:2435 #, fuzzy msgid "&Go to parent folder" msgstr "ルートディレクトリ" #: ../src/SearchPanel.cpp:3658 #, fuzzy, c-format msgid "Copy %s items" msgstr "フロム:" #: ../src/SearchPanel.cpp:3674 #, fuzzy, c-format msgid "Move %s items" msgstr "フロム:" #: ../src/SearchPanel.cpp:3690 #, fuzzy, c-format msgid "Symlink %s items" msgstr "フロム:" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr " 個アイテム" #: ../src/SearchPanel.cpp:4299 #, fuzzy msgid "1 item" msgstr " 個アイテム" #: ../src/SearchWindow.cpp:71 #, fuzzy msgid "Find files:" msgstr "印刷" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:79 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr "" "隠しファイル(&H)\tCtrl-F6\t隠しファイルとディレクトリを表示する。(Ctrl-F6)" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "In folder:" msgstr "フォルダへ:" #: ../src/SearchWindow.cpp:86 #, fuzzy msgid "\tIn folder..." msgstr "新規フォルダ(&F)..." #: ../src/SearchWindow.cpp:89 #, fuzzy msgid "Text contains:" msgstr "テキストフォント:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "More options" msgstr "検索する文字列:" #: ../src/SearchWindow.cpp:98 #, fuzzy msgid "Search options" msgstr "検索する文字列:" #: ../src/SearchWindow.cpp:99 #, fuzzy msgid "Reset\tReset search options" msgstr "検索する文字列:" #: ../src/SearchWindow.cpp:115 #, fuzzy msgid "Min size:" msgstr "印刷" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "ファイル日時:" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 #, fuzzy msgid "Max size:" msgstr "サイズ合計:" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "ファイル日時:" #. Modification date #: ../src/SearchWindow.cpp:126 #, fuzzy msgid "Last modified before:" msgstr "変更日時:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:131 #, fuzzy msgid "Last modified after:" msgstr "変更日時:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:137 #, fuzzy msgid "User:" msgstr "ユーザー:" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "\tFilter by user name" msgstr "ファイル日時:" #: ../src/SearchWindow.cpp:142 #, fuzzy msgid "Group:" msgstr "グループ:" #: ../src/SearchWindow.cpp:145 #, fuzzy msgid "\tFilter by group name" msgstr "ファイル日時:" #. File type #: ../src/SearchWindow.cpp:178 #, fuzzy msgid "File type:" msgstr "ファイルシステム:" #: ../src/SearchWindow.cpp:181 #, fuzzy msgid "File" msgstr "ファイル:" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:187 #, fuzzy msgid "\tFilter by file type" msgstr "ファイル日時:" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 #, fuzzy msgid "Permissions:" msgstr "アクセス権:" #: ../src/SearchWindow.cpp:194 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "アクセス権" #. Empty files #: ../src/SearchWindow.cpp:197 #, fuzzy msgid "Empty files:" msgstr "ファイルを表示する:" #: ../src/SearchWindow.cpp:198 #, fuzzy msgid "\tEmpty files only" msgstr "ファイルを表示する:" #: ../src/SearchWindow.cpp:202 #, fuzzy msgid "Follow symbolic links:" msgstr "シムリンクを作成:" #: ../src/SearchWindow.cpp:203 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "シムリンクを作成:" #: ../src/SearchWindow.cpp:207 #, fuzzy msgid "Non recursive:" msgstr "再帰的に" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:212 #, fuzzy msgid "Ignore other file systems:" msgstr "ファイルシステムをアンマウント中..." #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:782 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "検索する文字列:" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 #, fuzzy msgid " items" msgstr " 個アイテム" #: ../src/SearchWindow.cpp:938 #, fuzzy msgid ">>>> Search results <<<<" msgstr "検索する文字列:" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:973 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "検索" #: ../src/SearchWindow.cpp:1147 #, 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:201 #: ../src/XFileImage.cpp:327 ../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:808 #, fuzzy msgid "&Vertical panels" msgstr "パネルを切り替え(&I)\tCtrl-P" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 #, 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:781 msgid "&Thumbnails" msgstr "サムネイル(&T)" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "ゴミ箱(&R)" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "注意:ルートとしてXFEを実行しています!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/XFileExplorer.cpp:2274 #, fuzzy, c-format msgid "Can't create Xfe config folder %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/XFileExplorer.cpp:2296 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "グローバルxfercファイルが見つかりません!コンフィグファイルを選択してくださ" "い..." #: ../src/XFileExplorer.cpp:2300 msgid "XFE configuration file" msgstr "XFEのコンフィグレーションファイル" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/XFileExplorer.cpp:2339 ../src/XFileExplorer.cpp:3992 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/XFileExplorer.cpp:2361 ../src/XFileExplorer.cpp:4007 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "ヘルプ" #: ../src/XFileExplorer.cpp:3211 #, fuzzy, c-format msgid "X File Explorer Version %s" msgstr "X File Explorerのバーション" #: ../src/XFileExplorer.cpp:3212 #, 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:3214 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" "Finnish: Kimmo Siira\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:3246 #, fuzzy msgid "About X File Explorer" msgstr "X File Explorerについて(&A)" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 #, fuzzy msgid "&Panel" msgstr "パネル(&P)" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Execute the command:" msgstr "指定コマンドを実行:" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Console mode" msgstr "コンソールモード" #: ../src/XFileExplorer.cpp:3896 #, fuzzy msgid "Search files and folders" msgstr "" "隠しファイル(&H)\tCtrl-F6\t隠しファイルとディレクトリを表示する。(Ctrl-F6)" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "本当にXFEを終了されますか?" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr " が含まれる" #: ../src/XFileExplorer.cpp:3959 #, fuzzy msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "本当にゴミ箱を空にされますか?\n" "\n" "すべてアイテムが永久に削除されます!" #: ../src/XFileExplorer.cpp:4049 #, fuzzy, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "変更日時:" #: ../src/XFileExplorer.cpp:4051 #, fuzzy msgid "Trash size" msgstr "サイズ合計:" #: ../src/XFileExplorer.cpp:4058 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/XFileExplorer.cpp:4512 ../src/XFileExplorer.cpp:4586 #, fuzzy, c-format msgid "Command not found: %s" msgstr "%s というファイルを削除できません" #: ../src/XFileExplorer.cpp:4591 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "ファイルの関連性(&F)" #: ../src/XFileExplorer.cpp:4596 #, fuzzy, c-format msgid "File association not found: %s" msgstr "ファイルの関連性(&F)" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "設定(&P)" #: ../src/XFilePackage.cpp:213 #, fuzzy msgid "Open package file" msgstr "\tパッケージファイルを開く(Ctrl-O)" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 #, fuzzy msgid "&Open..." msgstr "開く(&O)" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 #, fuzzy msgid "&Toolbar" msgstr "ツールのツールバー(&T)" #. Help Menu entries #: ../src/XFilePackage.cpp:235 #, fuzzy msgid "&About X File Package" msgstr "X File Packageについて" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "アンインストール(&U)" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "インストール/アップグレード(&I)" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "記述(&D)" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "ファイルリスト(&L)" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "X File Packageについて" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "RPMソースパッケージ" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "RPMパッケージ" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "DEBパッケージ" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "ドキュメントを開く" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "パッケージがロードされていません" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "パッケージフォーマットは不明です" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "パッケージをインストール/アップグレード" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "パッケージをアンインストール" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[RPM パッケージ]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[DEB パッケージ]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "問い合わせされた %s が失敗しました!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "ファイルをローディングの間にエラーが発生しました" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "開けなかったファイル: %s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "GIF イメージ" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "BMP イメージ" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "XPM イメージ" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "PCX イメージ" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "ICO イメージ" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "RGB イメージ" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "XBM イメージ" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "TARGA イメージ" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "PPM イメージ" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "PNG イメージ" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "JPEG イメージ" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "TIFF イメージ" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "イメージ(&I)" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 #, fuzzy msgid "Open" msgstr "開く:" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 #, fuzzy msgid "Open image file." msgstr "イメージを開く" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "印刷" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 msgid "Print image file." msgstr "" #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:660 #, fuzzy msgid "Zoom in" msgstr "行へ移動" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "" #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "" #: ../src/XFileImage.cpp:675 #, fuzzy msgid "Zoom to fit" msgstr "行へ移動" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "" #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "" #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "" #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "" #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 #, fuzzy msgid "&Print..." msgstr "印刷" #: ../src/XFileImage.cpp:721 #, fuzzy msgid "&Clear recent files" msgstr "履歴の消去(&C)\t\t最近使ったファイルの履歴を消去する。" #: ../src/XFileImage.cpp:721 #, fuzzy msgid "Clear recent file menu." msgstr "履歴の消去(&C)\t\t最近使ったファイルの履歴を消去する。" #: ../src/XFileImage.cpp:727 #, fuzzy msgid "Quit Xfi." msgstr "XFEを終了されています" #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "" #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "" #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "" #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "" #: ../src/XFileImage.cpp:775 #, fuzzy msgid "Show hidden files and folders." msgstr "" "隠しファイル(&H)\tCtrl-F6\t隠しファイルとディレクトリを表示する。(Ctrl-F6)" #: ../src/XFileImage.cpp:781 #, fuzzy msgid "Show image thumbnails." msgstr "\tサムネイルを表示する" #: ../src/XFileImage.cpp:789 #, fuzzy msgid "Display folders with big icons." msgstr "\tアイコン表示\tフォルダの内容を大きいアイコンで表示します。" #: ../src/XFileImage.cpp:795 #, fuzzy msgid "Display folders with small icons." msgstr "\tリスト表示\tフォルダの内容を小さいアイコンで表示します。" #: ../src/XFileImage.cpp:801 #, fuzzy msgid "&Detailed file list" msgstr "詳細リスト(&L)" #: ../src/XFileImage.cpp:801 #, fuzzy msgid "Display detailed folder listing." msgstr "\t詳細表示\tフォルダの内容を詳細リスト表示します。" #: ../src/XFileImage.cpp:817 #, fuzzy msgid "View icons row-wise." msgstr "アイコンを列で表示(&R)\t\tアイコンを列に表示する。" #: ../src/XFileImage.cpp:818 #, fuzzy msgid "View icons column-wise." msgstr "アイコンを行で表示(&C)\t\tアイコンを行に表示する。" #: ../src/XFileImage.cpp:819 #, fuzzy msgid "Autosize icon names." msgstr "オートサイズ(&)\t\tアイコン名前をオートサイズする。" #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 #, fuzzy msgid "Display toolbar." msgstr "ツールバー(&T)\t\tツールバーを表示。" #: ../src/XFileImage.cpp:823 #, fuzzy msgid "&File list" msgstr "詳細リスト(&F)" #: ../src/XFileImage.cpp:823 #, fuzzy msgid "Display file list." msgstr "ファイルリスト(&F)\t\tファイルリストを表示。" #: ../src/XFileImage.cpp:824 #, fuzzy msgid "File list &before" msgstr "ファイルリストの圧巻色" #: ../src/XFileImage.cpp:824 #, fuzzy msgid "Display file list before image window." msgstr "\tアイコン表示\tフォルダの内容を大きいアイコンで表示します。" #: ../src/XFileImage.cpp:825 #, fuzzy msgid "&Filter images" msgstr "ファイル日時:" #: ../src/XFileImage.cpp:825 #, fuzzy msgid "List only image files." msgstr "ファイルリスト(&F)\t\tファイルリストを表示。" #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "" #: ../src/XFileImage.cpp:826 #, fuzzy msgid "Zoom to fit window when opening an image." msgstr "" "開く時にウィンドウにフィット(&W)\t\tイメージを開く時にウィンドウにフィットす" "る。" #: ../src/XFileImage.cpp:831 #, fuzzy msgid "&About X File Image" msgstr "X File Imageについて" #: ../src/XFileImage.cpp:831 #, fuzzy msgid "About X File Image." msgstr "X File Imageについて" #: ../src/XFileImage.cpp:1333 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:1335 msgid "About X File Image" msgstr "X File Imageについて" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "イメージをローディングの間にエラーが発生しました" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "サポートされてないタイプ: %s" #: ../src/XFileImage.cpp:1464 msgid "Unable to load image, the file may be corrupted" msgstr "イメージをロードできませんでした、おそらくファイルが壊れています" #: ../src/XFileImage.cpp:1504 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "テキストの変更は、再起動の後で有効になります。\n" "X File Explorerが再起動されますか?" #: ../src/XFileImage.cpp:1619 msgid "Open Image" msgstr "イメージを開く" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "印刷コマンド: \n" "(ex: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "ファイルを保存の間にエラーが発生しました" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "開けなかったファイル: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "ファイルが大きすぎます: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "ファイル:%s が切り詰められました。" #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "無題" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "無題 %d" #: ../src/WriteWindow.cpp:1477 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" #: ../src/WriteWindow.cpp:1479 msgid "About X File Write" msgstr "X File Writeについて" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "フォントの変更" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "テキストファイル" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "Cソースファイル" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "C++ソースファイル" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "C/C++ヘッダーファイル" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "HTMLファイル" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "PHPファイル" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "保存されてないドキュメント" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "%s をファイルに保存しますか?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "ドキュメントを保存" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "ドキュメントを上書き" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "既存ドキュメント: %s を上書きされますか?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr "(変更済み)" #: ../src/WriteWindow.cpp:1851 #, fuzzy msgid " (read only)" msgstr "読込のみ" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "上書き" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "挿入" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "ファイルが変更されました" #: ../src/WriteWindow.cpp:2071 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "%s\t別なプログラムで変更されました。ディスクから再読込されますか?" #: ../src/WriteWindow.cpp:2132 msgid "Replace" msgstr "置換" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "行へ移動" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "行番号へ移動(&G):" #. Usage message #: ../src/XFileWrite.cpp:217 #, 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "%s ディレクトリーが閉じられません\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "バイト" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 #, fuzzy msgid "copy" msgstr "ファイルコピー" #: ../src/xfeutils.cpp:1413 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "%s というファイルを削除できません" #: ../src/xfeutils.cpp:1417 #, 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)が見つかりませんでした!" #~ msgid "&Themes" #~ msgstr "テーマ(&T)" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "削除されます" #~ msgid "KB" #~ msgstr "KB" #~ msgid "" #~ "Scrolling mode will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "スクロールモードの変更は、再起動の後で有効になります。\n" #~ "X File Explorerが再起動されますか?" #~ msgid "" #~ "Path linker will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "パースリンカーの変更は、再起動の後で有効になります。\n" #~ "X File Explorerが再起動されますか?" #~ msgid "" #~ "Button style will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "ボタンスタイルの変更は、再起動の後で有効になります。\n" #~ "X File Explorerが再起動されますか?" #~ msgid "" #~ "Normal font will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "ノーマルフォントの変更は、再起動の後で有効になります。\n" #~ "今X File Explorerが再起動されますか?" #~ msgid "" #~ "Text font will be changed after restart.\n" #~ "Restart X File Explorer now?" #~ msgstr "" #~ "テキストの変更は、再起動の後で有効になります。\n" #~ "X File Explorerが再起動されますか?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ 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 "プロパティ(&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.44/po/it.po0000644000200300020030000055073414023353061010532 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: 2021-03-14 10:23+0100\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:333 #, 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:467 #, 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:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Errore nel caricamento delle icone" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "Impossibile caricare alcune icone. Verificare il percorso delle icone!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" msgstr "Impossibile caricare alcune icone. Verificare il percorso delle icone!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Proprietà" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&Generale" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Cartella" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Dispositivo a Caratteri" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Dispositivo a Blocchi" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Pipe con nome" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Eseguibile" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Documento" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Link interrotto" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 #, fuzzy msgid "Link to " msgstr "Link a " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Posizione:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Tipo:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu byte)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu byte)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Dimensione:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Selezione:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Tipi multipli" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d oggetti" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d file, %d cartelle" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d file, %d cartelle" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d file, %d cartelle" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d file, %d cartelle" #: ../src/Properties.cpp:1252 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Mostra le proprietà dei file selezionati" #: ../src/Properties.cpp:1256 #, fuzzy msgid "Change properties of the selected file?" msgstr "Mostra le proprietà dei file selezionati" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 #, fuzzy msgid "Confirm Change Properties" msgstr "Proprietà file" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Attenzione" #: ../src/Properties.cpp:1401 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Spostamento file annullato!" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Nome file vuoto, operazione annullata" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 #, 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:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Impossibile scrivere in %s: Permesso negato" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "La cartella %s non esiste" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Rinomina file" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Proprietario del file" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "Cambiamento del proprietario annullato!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "chown in %s fallito: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "chown in %s fallito" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 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:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "chmod in %s fallito: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Permessi del file" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Cambiamento dei permessi annullato!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "chmod in %s fallito" #: ../src/Properties.cpp:1628 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " in un oggetto selezionato" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "Cambiamento dei permessi annullato!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Selezionare un file eseguibile" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Tutti i file" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "Immagini PNG" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "Immagini GIF" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "Immagini BMP" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Selezionare un file Icona" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%u file, %u sottocartelle" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%u file, %u sottocartelle" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%u file, %u sottocartelle" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u file, %u sottocartelle" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Copia qui" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Sposta qui" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Crea collegamento (link)" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Annulla" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Copia file" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Spostamento file" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Link simbolico al File" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Copia" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Copia %s file/cartelle.\n" "Da: %s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Sposta" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Sposta %s file/cartelle.\n" "Da: %s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Link simbolico" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "A:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "Si è verificato un errore durante lo spostamento del file!" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "Spostamento file annullato!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "Si è verificato un errore durante la copia del file!" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "Copia file annullata!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "Il punto di montaggio %s non risponde..." #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "0 byte nella cartella principale" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 #, fuzzy msgid "Panel is active" msgstr "Pannello in primo piano" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 #, fuzzy msgid "Activate panel" msgstr "Scambia pannelli" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "A&ggiungi ad un archivio..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Copia" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "&Taglia" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Incolla" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Sposta..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, 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:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, 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:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 msgid "File name is empty, operation cancelled" msgstr "Nome file vuoto, operazione annullata" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Crea un archivio" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Copia " #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "Copia %s oggetti da: %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Rinomina" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Rinomina " #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Copia su" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Sposta " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "Muovi %s oggetti da: %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Link simbolico " #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "Linka %s oggetti da: %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s non è una cartella" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "Si è verificato un errore durante la creazione del link simbolico!" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "Operazione di link simbolico annullata!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "Rimuovere definitivamente la cartella %s ?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Conferma eliminazione" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Eliminazione file" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "La cartella %s non è vuota, eliminarla comunque?" #: ../src/DirPanel.cpp:2264 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "La cartella %s è protetta da scrittura, eliminarla comunque?" #: ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "Eliminazione cartella annullata!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "Sposta la cartella %s nel Cestino?" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Conferma Cestino" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Muovi nel Cestino" #: ../src/DirPanel.cpp:2360 #, 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:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "Si è verificato un errore durante lo spostamento nel Cestino!" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "Spostamento nel Cestino annullato!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Ripristina dal Cestino" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Ripristinare la cartella %s nella sua posizione originale %s ?" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Conferma ripristino" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "Informazioni per il ripristino non disponibili per %s" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, 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:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "Impossibile creare la cartella %s : %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "Impossibile creare la cartella %s" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 msgid "An error has occurred during the restore from trash operation!" msgstr "Si è verificato un errore durante il ripristino dal Cestino!" #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "Ripristino dal Cestino annullato!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Crea nuova cartella:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Nuova cartella" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Nome file vuoto, operazione annullata" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, c-format msgid "Can't execute command %s" msgstr "Impossibile eseguire il comando %s" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Monta" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Smonta" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " filesystem..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " la cartella:" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " operazione annullata!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 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:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Cambiamento dei permessi..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "File:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Conferma sovrascrittura" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "Impossibile copiare il file %s: %s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "Impossibile copiare il file %s" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "Sorgente: " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "Destinazione: " #: ../src/File.cpp:604 #, 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:608 #, 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:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Impossibile copiare la cartella %s : Permesso negato" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Impossibile copiare il file %s : Permesso negato" #: ../src/File.cpp:791 #, 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:795 #, 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:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "Sorgente %s non esiste" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "La destinazione %s è identica alla sorgente" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, 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:1048 #, fuzzy msgid "Delete folder: " msgstr "Elimina cartella: " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "Da: " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "Impossibile eliminare la cartella %s: %s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "Impossibile eliminare la cartella %s" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "Impossibile eliminare il file %s: %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "Impossibile eliminare il file %s" #: ../src/File.cpp:1213 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Il file o la cartella %s esiste già" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Impossibile rinominare in %s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "Impossibile collegare con link simbolico %s: %s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "Impossibile collegare con link simbolico %s" #: ../src/File.cpp:1655 ../src/File.cpp:1852 #, fuzzy msgid "Folder: " msgstr "Cartella: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Estrai archivio" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Aggiungi ad un archivio" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Comando fallito: %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Successo" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "Cartella %s montata con successo." #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Cartella %s smontata con successo." #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "Installa/Aggiorna pacchetto" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "Installazione pacchetto: %s \n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Disinstalla pacchetto" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 msgid "Go to previous folder" msgstr "Vai alla cartella precedente" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 msgid "Go to next folder" msgstr "Vai alla cartella successiva" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 msgid "Go to parent folder" msgstr "Vai alla cartella superiore" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "Vai alla cartella HOME" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Lista a icone grandi" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Lista a icone piccole" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Lista dettagliata" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Mostra file na&scosti" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "Nascondi file na&scosti" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Mostra miniature" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 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:3758 msgid "New File" msgstr "Nuovo file" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, 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:906 msgid "Go ho&me" msgstr "Vai alla &home" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Nuo&va cartella..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "File na&scosti" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "&Miniature" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "Icone &grandi" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "Icone &piccole" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "Lista file &completa" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "&Righe" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "&Colonne" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "Dimensionamento automatico" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "&Nome" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "Dimensione" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Tipo" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "Estensione" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "&Data" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "&Utente" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "&Gruppo" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 msgid "Fold&ers first" msgstr "Prima le &Cartelle" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "O&rdine inverso" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "&Famiglia:" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "&Spessore:" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "S&tile:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "&Dimensione:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Set di caratteri:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Qualunque" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "Europa occidentale" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Europa orientale" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Europa meridionale" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Europa settentrionale" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Cirillico" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Arabo" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Greco" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Ebraico" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Turco" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Nordico" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Thai" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Baltico" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Celtico" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Russo" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Europa Centrale (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Russo (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Latino1 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Greco (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Turco (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Ebraico (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Arabo (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Baltico (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Vietnamita (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Thai (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Imposta Larghezza:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "Ultra compresso" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Extra compresso" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Compresso" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "Semi-compresso" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Normale" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Semi-espanso" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Espanso" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Extra espanso" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "Ultra espanso" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "Passo:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Fisso" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Variabile" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Scalabile:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Tutti i Font:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Anteprima:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Lancia Xfe come root" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&No" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Si" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Esci" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Salva" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Si per &tutti" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Inserire la password utente:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Inserire la password di root:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "Si è verificato un errore!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Nome: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Dimensione in root: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Tipo: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Data modifica: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Utente: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Gruppo: " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Permessi: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Percorso originale: " #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Data cancellazione: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Dimensione: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Dimensione" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Tipo" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Estensione" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Data modifica" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Permessi" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "Impossibile caricare immagine" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Percorso originale" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Data cancellazione" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Filtra" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Stato" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, 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:1035 ../src/SearchPanel.cpp:790 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Log dei comandi" #: ../src/FilePanel.cpp:1832 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Nome file vuoto, operazione annullata" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "Verso cartella:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Impossibile scrivere nel Cestino (%s): Permesso negato" #: ../src/FilePanel.cpp:2408 ../src/SearchPanel.cpp:2936 #, c-format msgid "Move file %s to trash can?" msgstr "Spostare il file %s nel Cestino?" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "Spostare i %s oggetti selezionati nel Cestino?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, 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:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "Spostamento nel Cestino annullato!" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Ripristinare il file %s nella sua posizione originale %s ?" #: ../src/FilePanel.cpp:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "Riprisinare i %s oggetti selezionati nelle loro locazioni originali?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "Impossibile creare la cartella %s: %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, c-format msgid "Definitively delete file %s ?" msgstr "Rimuovere definitivamente il file %s ?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, c-format msgid "Definitively delete %s selected items?" msgstr "Eliminare definitivamente i %s oggetti selezionati?" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "Il file %s è protetto da scrittura, eliminarlo comunque?" #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "Eliminazione file annullata!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3758 msgid "Create new file:" msgstr "Crea nuovo file:" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "Impossibile creare il file %s: %s" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "Impossibile creare il file %s" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Impossibile impostare i permessi in %s: %s" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "Impossibile impostare i permessi in %s" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Crea nuovo link simbolico:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Nuovo Link simbolico" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "Selezionare il file o la cartella oggetto del link" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "Link simbolico sorgente %s non esiste" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Apri file selezionato/i con:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Apri con" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "A&ssocia" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Mostra i file:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "Nuovo &file..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Nuovo link &simbolico..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "Fi<ro..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "Lista file completa" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "Permessi" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "Nuovo &file..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Monta" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "&Apri con..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Apri" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 #, fuzzy msgid "Extr&act to folder " msgstr "Estrai nella cartella " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "Estrai qui" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "&Estrai in..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Visualizza" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Installa/A&ggiorna" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "Disi&nstalla" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Modifica" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 #, fuzzy msgid "Com&pare..." msgstr "&Sostituisci..." #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4672 #, fuzzy msgid "Packages &query " msgstr "Interrogazione pacchetti " #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 msgid "Scripts" msgstr "Script" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 msgid "&Go to script folder" msgstr "&Vai alla cartella degli script" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Copia su..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 msgid "M&ove to trash" msgstr "Sp&osta nel Cestino" #: ../src/FilePanel.cpp:4695 msgid "Restore &from trash" msgstr "Ripristina dal Cestino" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 #, fuzzy msgid "Compare &sizes" msgstr "Sorgente:" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 #, fuzzy msgid "P&roperties" msgstr "Proprietà" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Selezionare una cartella di destinazione" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Tutti i file" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Installa/Aggiorna pacchetto" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Disinstallazione pacchetto" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Errore: Fork fallita: %s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, c-format msgid "Can't create script folder %s: %s" msgstr "Impossibile creare la cartella degli script %s : %s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, c-format msgid "Can't create script folder %s" msgstr "Impossibile creare la cartella degli script %s" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Nessun gestore pacchetti (rpm o dpkg) trovato!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "Il file %s non appartiene ad alcun pacchetto." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Informazioni" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, 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:6220 ../src/SearchPanel.cpp:2887 #, fuzzy msgid "Sizes of Selected Items" msgstr "%s in %s oggetti selezionati" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 byte" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s in %s oggetti selezionati" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s in %s oggetti selezionati" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s in %s oggetti selezionati" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s in %s oggetti selezionati" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " la cartella:" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d file, %d cartelle" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d file, %d cartelle" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d file, %d cartelle" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Link" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "&Chiudi" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Impossibile duplicare le pipe: %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 msgid "Can't duplicate pipes" msgstr "Impossibile duplicare le pipe" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> COMANDO ANNULLATO <<<<" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "Preferenze" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Tema corrente" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "O&pzioni" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "Usa Cestino per la cancellazione sicura dei file" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Includi un comando per saltare il Cestino (cancellazione definitiva)" #: ../src/Preferences.cpp:185 msgid "Auto save layout" msgstr "Sal&va automaticamente profilo" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Salva posizione finestra" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "Apri cartelle con un singolo click" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Apri file con un singolo click" #: ../src/Preferences.cpp:189 msgid "Display tooltips in file and folder lists" msgstr "Mostra i suggerimenti nelle liste di file e cartelle" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "Ridimensionamento relativo delle liste di file" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Mostra un selettore del percorso sopra alle liste di file" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Notifica quando le applicazioni vengono avviate" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Conferma esecuzione file di testo" #: ../src/Preferences.cpp:198 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)" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:213 #, fuzzy msgid "Start in home folder" msgstr "Vai alla HOME" #: ../src/Preferences.cpp:214 #, fuzzy msgid "Start in current folder" msgstr "Vai alla cartella superiore" #: ../src/Preferences.cpp:215 #, fuzzy msgid "Start in last visited folder" msgstr "Cerca file e cartelle" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "Scorrimento graduale nelle liste di file e finestre di testo" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Velocità di scorrimento del mouse:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Colore barre di scorrimento" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Modalità root" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "Modalità root" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Autenticazione mediante sudo (usa password utente)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Autenticazione mediante su (usa password di root)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Comando fallito: %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Esegui comando" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "Finestre di &dialogo" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Conferme" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "Conferma copia/spostamento/rinomina/link" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "Conferma trascinamento" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "Conferma spostamenti da/verso Cestino" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Conferma eliminazione" #: ../src/Preferences.cpp:331 msgid "Confirm delete non empty folders" msgstr "Conferma eliminazione cartelle non vuote" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Conferma sovrascrittura" #: ../src/Preferences.cpp:333 msgid "Confirm execute text files" msgstr "Conferma esecuzione file di testo" #: ../src/Preferences.cpp:334 #, fuzzy msgid "Confirm change properties" msgstr "Proprietà file" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Avvisi" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "" "Avvisa quando si imposta la cartella corrente nella finestra di ricerca" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Avvisa quando i punti di montaggio non rispondono" #: ../src/Preferences.cpp:340 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Mostra messaggi di successo per le operazioni di montaggio" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "Avvisa quando non si riesce a preservare la data" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Avvisa quando si è root" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "Programmi" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Programmi predefiniti" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Visualizzatore di testi:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Editor di testi:" #: ../src/Preferences.cpp:405 #, fuzzy msgid "File comparator:" msgstr "Permessi del file" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Editor di immagini:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Visualizzatore di immagini:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Gestore archivi (file compressi):" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "Visualizzatore PDF:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Riproduttore audio:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Riproduttore video:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "Terminale:" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 #, fuzzy msgid "Mount:" msgstr "Monta" #: ../src/Preferences.cpp:462 #, fuzzy msgid "Unmount:" msgstr "Smonta" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Tema dei colori" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Colori personalizzati" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Fai doppio click per personalizzare il colore" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Colore di base" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Colore del bordo" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Colore dello sfondo" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Colore del testo" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Colore di sfondo (selezione)" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Colore selezione testo" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Colore di sfondo (liste file)" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Colore testo (liste file)" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Colore evidenziato (liste file)" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "Colore barre di progresso" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Colore attenzione" #: ../src/Preferences.cpp:500 msgid "Scrollbar color" msgstr "Colore barre di scorrimento" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Controlli" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Standard (controlli classici)" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (controlli moderni)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "Percorso temi icone" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tSeleziona percorso..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Tipi di carattere" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Tipi di carattere" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Tipo di carattere normale:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Seleziona..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Tipo di carattere per il testo:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "&Assegnamenti dei tasti" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Assegnamenti dei tasti" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Modifica assegnamenti tasti..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Ripristina assegnamenti tasti predefiniti..." #: ../src/Preferences.cpp:634 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:723 msgid "Change Normal Font" msgstr "Cambia il tipo di carattere normale" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Cambia il tipo di carattere per il testo" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Crea nuovo file" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Crea nuova cartella" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "Copia negli appunti" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "Taglia negli appunti" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Incolla dagli appunti" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Apri file" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Esci dall'applicazione" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Seleziona tutto" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Deseleziona tutto" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Inverti selezione" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Visualizza aiuto" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Abilita/disabilita visualizzazione file nascosti" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Abilita/disabilita visualizzazione miniature" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Chiudi finestra" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Stampa file" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Cerca" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Cerca precedente" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Cerca successivo" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 #, fuzzy msgid "Vertical panels" msgstr "Scambia pannelli" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 #, fuzzy msgid "Horizontal panels" msgstr "Scambia pannelli" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Aggiorna pannelli" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Crea nuovo link simbolico" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Proprietà file" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Sposta file nel Cestino" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Ripristina file dal Cestino" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Cancella file" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Crea nuova finestra" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Crea nuova finestra principale" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Esegui comando" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Lancia terminale" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Monta filesystem (solo Linux)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Smonta filesystem (solo Linux)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "Modalità pannello unico" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Modalità albero e pannello unico" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "Modalità pannello doppio" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Modalità albero e pannello doppio" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Pulisci la barra della posizione" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Rinomina file" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Copia file nella posizione" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Muovi file nella posizione" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Collega con link simbolici i file nella posizione" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Aggiungi segnalibro" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Sincronizza pannelli" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Scambia pannelli" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Vai al Cestino" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Svuota Cestino" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Visualizzazione" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Modifica" #: ../src/Preferences.cpp:1014 msgid "Toggle display hidden folders" msgstr "Abilita/disabilita visualizzazione cartelle nascoste" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Filtra file" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "Ingrandimento immagine 100%" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Ingrandisci fino alla dimensione della finestra" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "Rotazione immagine verso sinistra" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "Rotazione immagine verso destra" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "Immagine speculare orizontale" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "Immagine speculare verticale" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Crea nuovo documento" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Salvare cambiamenti su file" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Vai alla riga" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Annulla ultima modifica" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Ripeti ultima modifica" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "Sostituisci stringa" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "Abilita/Disabilita a capo automatico" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "Abilita/Disabilita numeri di riga" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Abilita/Disabilita modalità minuscolo" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Abilita/Disabilita modalità maiuscolo" #. Confirmation message #: ../src/Preferences.cpp:1114 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:1115 msgid "Restore default key bindings" msgstr "Ripristina gli assegnamenti dei tasti predefiniti" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Riavvia" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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/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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Chiudi" #: ../src/SearchPanel.cpp:165 msgid "Refresh panel" msgstr "Aggiorna pannello" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Copia i file selezionati negli appunti" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Taglia i file selezionati negli appunti" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Mostra le proprietà dei file selezionati" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Sposta i file selezionati nel Cestino" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Elimina i file selezionati" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "La cartella corrente è stata impostata a '%s'" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Dettag&li" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "&Ignora maiuscolo/minuscolo" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "Dimensionamento automatico" #: ../src/SearchPanel.cpp:2421 #, fuzzy msgid "&Packages query " msgstr "Interrogazione &pacchetti " #: ../src/SearchPanel.cpp:2435 msgid "&Go to parent folder" msgstr "&Vai alla cartella superiore" #: ../src/SearchPanel.cpp:3658 #, c-format msgid "Copy %s items" msgstr "Copia %s oggetti" #: ../src/SearchPanel.cpp:3674 #, c-format msgid "Move %s items" msgstr "Sposta %s oggetti" #: ../src/SearchPanel.cpp:3690 #, c-format msgid "Symlink %s items" msgstr "Crea link simbolici per %s oggetti" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr "0 oggetti" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 oggetto" #: ../src/SearchWindow.cpp:71 msgid "Find files:" msgstr "Trova file:" #: ../src/SearchWindow.cpp:74 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:79 msgid "Hidden files\tShow hidden files and folders" msgstr "File nascorsti\tMostra file e cartelle nascosti" #: ../src/SearchWindow.cpp:84 msgid "In folder:" msgstr "Nella cartella:" #: ../src/SearchWindow.cpp:86 msgid "\tIn folder..." msgstr "\tNella cartella..." #: ../src/SearchWindow.cpp:89 msgid "Text contains:" msgstr "Il testo contiene:" #: ../src/SearchWindow.cpp:92 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:97 msgid "More options" msgstr "Altre opzioni" #: ../src/SearchWindow.cpp:98 msgid "Search options" msgstr "Opzioni di ricerca" #: ../src/SearchWindow.cpp:99 msgid "Reset\tReset search options" msgstr "Reimposta\tReimposta le opzioni di ricerca" #: ../src/SearchWindow.cpp:115 msgid "Min size:" msgstr "Dimensione minima:" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "Filtra per dimensione minima dei file (Kbyte)" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 msgid "Max size:" msgstr "Dimensione massima:" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "Filtra per dimensione massima dei file (Kbyte)" #. Modification date #: ../src/SearchWindow.cpp:126 msgid "Last modified before:" msgstr "Ultima modifica prima di:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "Filtra per data di modifica più recente (giorni)" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "giorni fa" #: ../src/SearchWindow.cpp:131 msgid "Last modified after:" msgstr "Ultima modifica oltre:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "Filtra per data di modifica meno recente (giorni)" #. User and group #: ../src/SearchWindow.cpp:137 msgid "User:" msgstr "Utente:" #: ../src/SearchWindow.cpp:140 msgid "\tFilter by user name" msgstr "\tFiltra per nome utente" #: ../src/SearchWindow.cpp:142 msgid "Group:" msgstr "Gruppo:" #: ../src/SearchWindow.cpp:145 msgid "\tFilter by group name" msgstr "\tFiltra per nome gruppo" #. File type #: ../src/SearchWindow.cpp:178 msgid "File type:" msgstr "Tipo file:" #: ../src/SearchWindow.cpp:181 msgid "File" msgstr "File" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "Pipe" #: ../src/SearchWindow.cpp:187 msgid "\tFilter by file type" msgstr "\tFiltra per tipo file" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 msgid "Permissions:" msgstr "Permessi:" #: ../src/SearchWindow.cpp:194 msgid "\tFilter by permissions (octal)" msgstr "\tFiltra per permessi (In ottale)" #. Empty files #: ../src/SearchWindow.cpp:197 msgid "Empty files:" msgstr "File vuoti:" #: ../src/SearchWindow.cpp:198 msgid "\tEmpty files only" msgstr "\tSolo file vuoti" #: ../src/SearchWindow.cpp:202 msgid "Follow symbolic links:" msgstr "Segui link simbolici:" #: ../src/SearchWindow.cpp:203 msgid "\tSearch while following symbolic links" msgstr "\tCerca mentre segui i link simbolici" #: ../src/SearchWindow.cpp:207 #, fuzzy msgid "Non recursive:" msgstr "Cartelle ricorsive" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:212 #, fuzzy msgid "Ignore other file systems:" msgstr "Smonta filesystem..." #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "&Avvia\tAvvia la ricerca (F3)" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "&Interrompi\tInterrompe la ricerca (Esc)" #: ../src/SearchWindow.cpp:782 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Ricerca in corso - Attendere prego..." #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " oggetti" #: ../src/SearchWindow.cpp:938 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Risultati della ricerca" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "Errore di Input / Output" #: ../src/SearchWindow.cpp:973 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "Ricerca interrotta..." #: ../src/SearchWindow.cpp:1147 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:201 #: ../src/XFileImage.cpp:327 ../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:808 #, fuzzy msgid "&Vertical panels" msgstr "Scambia pannelli" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 #, 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:781 msgid "&Thumbnails" msgstr "&Miniature" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "Cestino" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "Stai eseguendo Xfe come root!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, 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:2274 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Impossibile creare cartella dei file di configurazione %s" #: ../src/XFileExplorer.cpp:2296 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:2300 msgid "XFE configuration file" msgstr "File di configurazione di XFE" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Impossibile creare cartella 'files' del Cestino %s: %s" #: ../src/XFileExplorer.cpp:2339 ../src/XFileExplorer.cpp:3992 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Impossibile creare cartella 'files' del Cestino %s" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "mpossibile creare cartella 'info' del Cestino %s : %s" #: ../src/XFileExplorer.cpp:2361 ../src/XFileExplorer.cpp:4007 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Impossibile creare cartella 'info' del Cestino %s" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "Aiuto" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer Versione %s" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Basato su X WinCommander di Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3214 #, 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" "Finnish: Kimmo Siira\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:3246 #, fuzzy msgid "About X File Explorer" msgstr "&Informazioni su X File Explorer" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 #, fuzzy msgid "&Panel" msgstr "&Pannello" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Execute the command:" msgstr "Esegui il comando:" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Console mode" msgstr "Modalità console" #: ../src/XFileExplorer.cpp:3896 msgid "Search files and folders" msgstr "Cerca file e cartelle" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Vuoi veramente uscire da Xfe?" #: ../src/XFileExplorer.cpp:3958 #, fuzzy msgid " in " msgstr " nella cartella principale" #: ../src/XFileExplorer.cpp:3959 #, 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:4049 #, 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:4051 msgid "Trash size" msgstr "Dimensione Cestino" #: ../src/XFileExplorer.cpp:4058 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "La cartella 'files' del Cestino %s non è leggibile!" #: ../src/XFileExplorer.cpp:4512 ../src/XFileExplorer.cpp:4586 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Impossibile entrare nella cartella %s: %s" #: ../src/XFileExplorer.cpp:4591 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "Associazioni dei &file" #: ../src/XFileExplorer.cpp:4596 #, fuzzy, c-format msgid "File association not found: %s" msgstr "Associazioni dei &file" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Preferenze" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Apri file pacchetto" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "Apri" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "Barra &strumenti" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "&Informazioni su X File Package" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "Di&sinstalla" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Installa/Aggiorna" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "&Descrizione" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "Elenco &file" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "Informazioni su X File Package" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "Pacchetti sorgente RPM" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "Pacchetti RPM" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "Pacchetti DEB" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Apri documento" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Nessun pacchetto caricato" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Formato pacchetto sconosciuto" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Installa/Aggiorna pacchetto" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Disinstalla pacchetto" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[Pacchetto RPM]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[Pacchetto DEB]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "Interrogazione su %s fallita!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../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:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Impossibile aprire il file: %s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "Immagine GIF" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "Immagine BMP" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "Immagine XPM" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "Immagine PCX" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "Immagine ICO" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "Immagine RGB" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "Immagine XBM" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "Immagine TARGA" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "Immagine PPM" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "Immagine PNG" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "Immagine JPEG" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "Immagine TIFF" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "&Immagine" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Apri" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Apri file immagine." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Stampa" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 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:660 msgid "Zoom in" msgstr "Ingrandimento" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "Ingrandimento immagine." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Riduzione" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "Riduzione immagine." #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "Ingrandimento 100%" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "Ingrandimento immagine al 100%." #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "Ingrandimento fino a riempire" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "Ingrandimento fino a riempire la finestra." #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "Ruota a sinistra" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Ruota immagine verso sinistra." #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Ruota a destra" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Ruota immagine verso destra." #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Immagine speculare orizontale" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "Immagine speculare orizontale." #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Immagine speculare verticale" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Immagine speculare verticale." #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "Stampa..." #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "&Cancella lista file recenti" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "&Cancella menu lista file recenti" #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Uscita da Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "Ingrandisci" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "Riduci" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "Ingrandi&mento 100%" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "Ingrandisci fino a riempire la finestra" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "Ruota a &destra" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Ruota verso destra." #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "Ruota a &sinistra" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Ruota verso sinistra." #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "Immagine speculare orizzontale" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Immagine speculare orizzontale." #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "Immagine speculare verticale" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Immagine speculare verticale." #: ../src/XFileImage.cpp:775 msgid "Show hidden files and folders." msgstr "Mostra file e cartelle nascosti." #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Mostra miniature." #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Mostra cartelle con icone grandi." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Mostra cartelle con icone piccole." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "Lista file &dettagliata" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Mostra l'elenco dettagliato della cartella." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "Disponi icone per righe." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "Disponi icone per colonne." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Dimensionamento automatico nomi icone." #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Mostra barra degli strumenti." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "Lista file" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Mostra lista file." #: ../src/XFileImage.cpp:824 #, fuzzy msgid "File list &before" msgstr "Colore testo (liste file)" #: ../src/XFileImage.cpp:824 #, fuzzy msgid "Display file list before image window." msgstr "Mostra cartella con icone grandi." #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "&Filtra immagini" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Mostra soltanto file immagine." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "Adatta alla finestra all'apertura" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "Adatta ingrandimento alla finestra all'apertura di un'immagine." #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "&Informazioni su X File Image" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "Informazioni su X File Image." #: ../src/XFileImage.cpp:1333 #, 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:1335 msgid "About X File Image" msgstr "Informazioni su X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Errore nel caricamento dell'immagine" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Tipo non supportato: %s" #: ../src/XFileImage.cpp:1464 msgid "Unable to load image, the file may be corrupted" msgstr "Impossibile caricare l'immagine, il file potrebbe essere danneggiato" #: ../src/XFileImage.cpp:1504 #, 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:1619 msgid "Open Image" msgstr "Apri Immagine" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Comando di stampa: \n" "(es: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Errore durante il salvataggio del file" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "Impossibile aprire il file: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "Il file è troppo grande: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "File: %s troncato." #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "senza titolo" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "senza-titolo%d" #: ../src/WriteWindow.cpp:1477 #, 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:1479 msgid "About X File Write" msgstr "Informazioni su X File Write" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Cambia Tipo Carattere" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "File di testo" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "File sorgente in C" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "File sorgente in C++" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "File header di C/C++" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "File HTML" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "File PHP" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Documento non salvato" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "Salvare %s su file?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Salva Documento" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Sovrascrivi Documento" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "Sovrascrivere documento esistente: %s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (modificato)" #: ../src/WriteWindow.cpp:1851 #, fuzzy msgid " (read only)" msgstr "Sola lettura" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "SOV" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "File Modificato" #: ../src/WriteWindow.cpp:2071 #, 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:2132 msgid "Replace" msgstr "Sostituisci" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Vai alla riga" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "Vai alla ri&ga numero:" #. Usage message #: ../src/XFileWrite.cpp:217 #, 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Errore: Impossibile chiudere la cartella %s\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "byte" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 #, fuzzy msgid "copy" msgstr "Copia file" #: ../src/xfeutils.cpp:1413 #, c-format msgid "Error: Can't read group list: %s" msgstr "Errore: Impossibile leggere la lista dei gruppi: %s" #: ../src/xfeutils.cpp:1417 #, 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" #~ msgid "&Themes" #~ msgstr "&Temi" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "Conferma esecuzione file di testo" #~ msgid "KB" #~ msgstr "KB" #~ 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?" #~ 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?" #~ 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?" #~ 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?" #~ 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?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ msgstr "Si è verificato un errore!" #, 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.44/po/pt_PT.po0000644000200300020030000053451714023353061011145 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: 2021-03-14 10:23+0100\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:333 #, 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:467 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" #: ../src/main.cpp:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Error loading icons" msgstr "Erro ao abrir o ficheiro" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 msgid "Unable to load some icons. Please check your icon theme!" msgstr "" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Propriedades" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&Geral" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 #, 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Pasta" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Dispositivo de saída" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Dispositivo de bloco" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Named Pipe" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 #, fuzzy msgid "Executable" msgstr "Execução" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Documento" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Ligação quebrada" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 #, fuzzy msgid "Link to " msgstr "Ligação para " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Endereço:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Tipo:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 #, 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, c-format msgid "%s (%lu bytes)" msgstr "" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Tamanho:" #: ../src/Properties.cpp:962 #, fuzzy msgid "Selection:" msgstr "Seleccione Ícone" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 #, fuzzy msgid "Multiple types" msgstr "Tipo de montagem:" #. Number of selected files #: ../src/Properties.cpp:1113 #, fuzzy, c-format msgid "%d items" msgstr " Items" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "Pastas ocultas" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "Pastas ocultas" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "Pastas ocultas" #: ../src/Properties.cpp:1130 #, fuzzy, c-format msgid "%d files, %d folders" msgstr "Pastas ocultas" #: ../src/Properties.cpp:1252 #, fuzzy msgid "Change properties of the selected folder?" msgstr "\tMostrar propriedades dos ficheiros seleccionados (F9)" #: ../src/Properties.cpp:1256 #, fuzzy msgid "Change properties of the selected file?" msgstr "\tMostrar propriedades dos ficheiros seleccionados (F9)" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 #, fuzzy msgid "Confirm Change Properties" msgstr "Propriedades" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Atenção" #: ../src/Properties.cpp:1401 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "A operação mover ficheiro foi cancelada!" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Cancelado exclusão de arquivo!" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 #, 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:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Impossível gravar em %s: Permissão negada" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, fuzzy, c-format msgid "Folder %s doesn't exist" msgstr "Pasta %s não exitente" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Renomear ficheiro" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Dono do arquivo" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "Modificação de dono cancelada!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, fuzzy, c-format msgid "Chown in %s failed: %s" msgstr "Chmod em %s falhou: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, fuzzy, c-format msgid "Chown in %s failed" msgstr "Chmod em %s falhou: %s" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" #: ../src/Properties.cpp:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod em %s falhou: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Permissões do ficheiro" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Modificação de permissões de ficheiro cancelada!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, fuzzy, c-format msgid "Chmod in %s failed" msgstr "Chmod em %s falhou: %s" #: ../src/Properties.cpp:1628 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " ficheiros selecionados" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "Modificação de permissões de ficheiro(s) cancelada!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 #, fuzzy msgid "Select an executable file" msgstr " a pasta :" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Todos os ficheiros" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "Imagens PNG" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "Imagens GIF" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "Imagens BMP" #: ../src/Properties.cpp:1990 #, fuzzy msgid "Select an icon file" msgstr " a pasta :" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "Pastas ocultas" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "Pastas ocultas" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "Pastas ocultas" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, fuzzy, c-format msgid "%u files, %u subfolders" msgstr "Pastas ocultas" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 #, fuzzy msgid "Copy here" msgstr "Copiar " #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 #, fuzzy msgid "Move here" msgstr "Mover " #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 #, fuzzy msgid "Link here" msgstr "Ligação" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 #, fuzzy msgid "Cancel" msgstr "&Cancelar" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Copiar ficheiro" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Mover ficheiro" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 #, fuzzy msgid "File symlink" msgstr "Ficheiro " #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Copiar" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Mover" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 #, fuzzy msgid "Symlink" msgstr "Ligação simbólica" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "Para:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "A operação mover ficheiro foi cancelada!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "A operação copiar ficheiro foi cancelada!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "Ponto de montagem %s não está a responder..." #: ../src/DirList.cpp:2021 #, 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:3125 #, fuzzy msgid "0 bytes in root" msgstr "0 bytes" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 msgid "Panel is active" msgstr "" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 #, 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:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 #, 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:4586 #: ../src/SearchPanel.cpp:2361 #, 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:4667 #: ../src/SearchPanel.cpp:2416 #, fuzzy msgid "&Add to archive..." msgstr "&Adicionar ao arquivo" #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 #, fuzzy msgid "&Copy" msgstr "&Copiar" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 #, fuzzy msgid "C&ut" msgstr "Copiar" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 #, fuzzy msgid "&Paste" msgstr "Colar" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 #, fuzzy msgid "&Move to..." msgstr "&Mover" #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 #, 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, 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:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, 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:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 #, fuzzy msgid "File name is empty, operation cancelled" msgstr "Cancelado exclusão de arquivo!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Criar um arquivo" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Copiar " #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, fuzzy, c-format msgid "Copy %s items from: %s" msgstr "" " ficheiros/pastas.\n" "De: " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Renomear" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Renomear " #: ../src/DirPanel.cpp:1673 #, fuzzy msgid "Copy to" msgstr "Copiar " #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Mover " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, fuzzy, c-format msgid "Move %s items from: %s" msgstr "" " ficheiros/pastas.\n" "De: " #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 #, fuzzy msgid "Symlink " msgstr "Ligação simbólica" #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, fuzzy, c-format msgid "Symlink %s items from: %s" msgstr "" " ficheiros/pastas.\n" "De: " #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, fuzzy, c-format msgid "%s is not a folder" msgstr "%s não é uma pasta" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 #, fuzzy msgid "Symlink operation cancelled!" msgstr "A operação copiar ficheiro foi cancelada!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, fuzzy, c-format msgid "Definitively delete folder %s ?" msgstr "Impossível remover a pasta " #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Confirmar Remoção" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 #, fuzzy msgid "File delete" msgstr "Remover Ficheiro" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, fuzzy, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr " está protegido contra escrita, remover? " #: ../src/DirPanel.cpp:2264 #, fuzzy, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr " está protegido contra escrita, remover? " #: ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #, fuzzy msgid "Delete folder operation cancelled!" msgstr "A remoção da pasta foi cancelada!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, fuzzy, c-format msgid "Move folder %s to trash can?" msgstr "\tRemover ficheiros seleccionados (Del, F8)" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 #, fuzzy msgid "Confirm Trash" msgstr "Confirmar saída" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "" #: ../src/DirPanel.cpp:2360 #, fuzzy, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr " está protegido contra escrita, remover? " #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 #, fuzzy msgid "Move to trash folder operation cancelled!" msgstr "A operação mover ficheiro foi cancelada!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 #, fuzzy msgid "Restore from trash" msgstr "Remover pasta " #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 #, fuzzy msgid "Confirm Restore" msgstr "Confirmar Remoção" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2640 #, fuzzy, c-format msgid "Can't create folder %s : %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, fuzzy, c-format msgid "Can't create folder %s" msgstr "Impossível remover a pasta " #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 msgid "An error has occurred during the restore from trash operation!" msgstr "" #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 #, fuzzy msgid "Restore from trash file operation cancelled!" msgstr "A operação mover ficheiro foi cancelada!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 #, fuzzy msgid "Create new folder:" msgstr "Criar nova pasta..." #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Nova pasta" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Cancelado exclusão de arquivo!" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Executar comando" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Montar" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Desmontar" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " sistema de ficheiros..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 #, fuzzy msgid " the folder:" msgstr " a pasta :" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " operação cancelada!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 #, 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:1133 #, 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:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "A modificar permissões..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 #, fuzzy msgid "File:" msgstr "Ficheiro :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Confirmar gravação por cima" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, fuzzy, c-format msgid "Can't copy file %s: %s" msgstr "Impossível remover o ficheiro" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, fuzzy, c-format msgid "Can't copy file %s" msgstr "Impossível remover o ficheiro" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 #, fuzzy msgid "Source: " msgstr "Origem : " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 #, fuzzy msgid "Target: " msgstr "Destino : " #: ../src/File.cpp:604 #, 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:608 #, 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:750 #, fuzzy, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Impossível gravar em %s: Permissão negada" #: ../src/File.cpp:754 #, fuzzy, c-format msgid "Can't copy file %s : Permission denied" msgstr "Impossível gravar em %s: Permissão negada" #: ../src/File.cpp:791 #, 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:795 #, 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:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, fuzzy, c-format msgid "Source %s doesn't exist" msgstr "Pasta %s não exitente" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, c-format msgid "Destination %s is identical to source" msgstr "" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1048 #, fuzzy msgid "Delete folder: " msgstr "Remover pasta : " #: ../src/File.cpp:1054 ../src/File.cpp:1139 #, fuzzy msgid "From: " msgstr "De : " #: ../src/File.cpp:1095 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "Impossível remover a pasta " #: ../src/File.cpp:1099 #, fuzzy, c-format msgid "Can't delete folder %s" msgstr "Impossível remover a pasta " #: ../src/File.cpp:1160 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "Impossível remover o ficheiro" #: ../src/File.cpp:1164 #, fuzzy, c-format msgid "Can't delete file %s" msgstr "Impossível remover o ficheiro" #: ../src/File.cpp:1213 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Ficheiro ou pasta %s já existente" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Não pode renomear para %s" #: ../src/File.cpp:1572 #, fuzzy, c-format msgid "Can't symlink %s: %s" msgstr "Criar novo ficheiro..." #: ../src/File.cpp:1576 #, fuzzy, c-format msgid "Can't symlink %s" msgstr "Criar novo ficheiro..." #: ../src/File.cpp:1655 ../src/File.cpp:1852 #, fuzzy msgid "Folder: " msgstr "Pasta : " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Extrair ficheiro" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Adicionar ao arquivo" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, fuzzy, c-format msgid "Failed command: %s" msgstr "Falhou o comando : %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Sucesso" #: ../src/File.cpp:2111 #, fuzzy, c-format msgid "Folder %s was successfully mounted." msgstr "A pasta %s foi montada com sucesso." #: ../src/File.cpp:2115 #, 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:2126 #, fuzzy msgid "Install/Upgrade package" msgstr "Instalar/Actualizar RPM" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, fuzzy, c-format msgid "Installing package: %s \n" msgstr "Intalando um pacote :" #. Make and show command window #: ../src/File.cpp:2144 #, fuzzy msgid "Uninstall package" msgstr "Desinstalando pacote :" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 #, fuzzy msgid "Go to previous folder" msgstr "\tVoltar uma pasta\tVoltar para pasta de topo." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 #, fuzzy msgid "Go to next folder" msgstr "\tVoltar uma pasta\tVoltar para pasta de topo." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 #, fuzzy msgid "Go to parent folder" msgstr " a pasta :" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 #, fuzzy msgid "Go to home folder" msgstr " a pasta :" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 #, 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 #, fuzzy msgid "Big icon list" msgstr "Ícones &grandes" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 #, fuzzy msgid "Small icon list" msgstr "Ícones &grandes" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 #, fuzzy msgid "Detailed file list" msgstr "\tMostrar lista\tMostrar pasta com ícones pequenos." #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 #, fuzzy msgid "Show hidden files" msgstr "Mostrar pastas ocultas" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 #, fuzzy msgid "Hide hidden files" msgstr "Ficheiros &ocultos" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 #, fuzzy msgid "Show thumbnails" msgstr "\tMostrar ficheiros ocultos (Ctrl-F5)" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 #, 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:3758 msgid "New File" msgstr "Novo Ficheiro" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, fuzzy, c-format msgid "File or folder %s already exists" msgstr "Ficheiro ou pasta %s já existente" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 #, fuzzy msgid "Go ho&me" msgstr "Ir para pasta padrão\tCtrl-H" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 #, fuzzy msgid "New f&older..." msgstr "Nova pasta..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 #, fuzzy msgid "&Hidden files" msgstr "Ficheiros &ocultos" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 #, fuzzy msgid "Thum&bnails" msgstr "&Terminal" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 #, fuzzy msgid "B&ig icons" msgstr "Ícones &grandes" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 #, fuzzy msgid "&Small icons" msgstr "Ícones &grandes" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 #, fuzzy msgid "Fu&ll file list" msgstr "Lista &detalhada de ficheiros" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 #, fuzzy msgid "&Rows" msgstr "&Linhas" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 #, fuzzy msgid "&Columns" msgstr "&Colunas" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 #, fuzzy msgid "&Name" msgstr "&Nome" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 #, fuzzy msgid "Si&ze" msgstr "Tamanho" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 #, fuzzy msgid "&Type" msgstr "T&ipo" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 #, fuzzy msgid "E&xtension" msgstr "Extensão:" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 #, fuzzy msgid "&Date" msgstr "Colar" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 #, fuzzy msgid "&User" msgstr "Utilizador" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 #, fuzzy msgid "&Group" msgstr "Grupo" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 #, fuzzy msgid "Fold&ers first" msgstr "Pasta" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 #, fuzzy msgid "Re&verse order" msgstr "Subpastas" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 #, fuzzy msgid "&Family:" msgstr "&Ficheiro" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 #, fuzzy msgid "Si&ze:" msgstr "Tamanho:" #. Character set choice #: ../src/FontDialog.cpp:82 #, fuzzy msgid "Character Set:" msgstr "Dispositivo de saída" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "" #: ../src/FontDialog.cpp:92 #, fuzzy msgid "Greek" msgstr "Livre:" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "" #: ../src/FontDialog.cpp:94 #, fuzzy msgid "Turkish" msgstr "Ficheiro " #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "" #. Set width #: ../src/FontDialog.cpp:114 #, fuzzy msgid "Set Width:" msgstr "Abrir com" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "" #: ../src/FontDialog.cpp:119 #, fuzzy msgid "Extra condensed" msgstr "Comando para extrair não especificado" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "" #: ../src/FontDialog.cpp:122 #, fuzzy msgid "Normal" msgstr "Fonte normal:" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "" #: ../src/FontDialog.cpp:124 #, fuzzy msgid "Expanded" msgstr "&Expandir" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "" #. Pitch #: ../src/FontDialog.cpp:130 #, fuzzy msgid "Pitch:" msgstr "Caminho" #: ../src/FontDialog.cpp:134 #, fuzzy msgid "Fixed" msgstr "Procurar" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "" #: ../src/FontDialog.cpp:144 #, fuzzy msgid "All Fonts:" msgstr "Fonte" #: ../src/FontDialog.cpp:148 #, fuzzy msgid "Preview:" msgstr "Ver:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 #, fuzzy msgid "Launch Xfe as root" msgstr "Executando Xfe como ROOT!" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "Não" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Sim" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Sair" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Gravar" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Sim para &Todos" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 #, fuzzy msgid "Name: " msgstr "Nome" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 #, fuzzy msgid "Size in root: " msgstr " em " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 #, fuzzy msgid "Type: " msgstr "Tipo:" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "Modified date: " msgstr "Data de modificação" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "User: " msgstr "Utilizador" #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "Group: " msgstr "Grupo" #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 #, fuzzy msgid "Permissions: " msgstr "Permissões" #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "" #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 #, fuzzy msgid "Deletion date: " msgstr "Seleccione Ícone" #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 #, fuzzy msgid "Size: " msgstr "Tamanho:" #: ../src/FileList.cpp:151 msgid "Size" msgstr "Tamanho" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Tipo" #: ../src/FileList.cpp:153 #, fuzzy msgid "Extension" msgstr "Extensão:" #: ../src/FileList.cpp:154 #, fuzzy msgid "Modified date" msgstr "Data de modificação" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Permissões" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 #, fuzzy msgid "Unable to load image" msgstr "Impossivel abrir completamente o ficheiro: %s" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 #, fuzzy msgid "Deletion date" msgstr "Seleccione Ícone" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Filtro" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Estado" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:1035 ../src/SearchPanel.cpp:790 #, 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 #, fuzzy msgid "Command log" msgstr "Registo de Comandos" #: ../src/FilePanel.cpp:1832 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Cancelado exclusão de arquivo!" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 #, fuzzy msgid "To folder:" msgstr "Montar a pasta :" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, 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:2408 ../src/SearchPanel.cpp:2936 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "\tRemover ficheiros seleccionados (Del, F8)" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, fuzzy, c-format msgid "Move %s selected items to trash can?" msgstr "\tRemover ficheiros seleccionados (Del, F8)" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, fuzzy, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr " está protegido contra escrita, remover? " #: ../src/FilePanel.cpp:2575 ../src/SearchPanel.cpp:3090 #, fuzzy msgid "Move to trash file operation cancelled!" msgstr "A operação mover ficheiro foi cancelada!" #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" #: ../src/FilePanel.cpp:2721 #, fuzzy, c-format msgid "Restore %s selected items to their original locations?" msgstr "\tRemover ficheiros seleccionados (Del, F8)" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, fuzzy, c-format msgid "Can't create folder %s: %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "Impossível remover a pasta " #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr " Remover item seleccionado ? " #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, fuzzy, c-format msgid "File %s is write-protected, delete it anyway?" msgstr " está protegido contra escrita, remover? " #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "A remoção do ficheiro foi cancelada!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3758 #, fuzzy msgid "Create new file:" msgstr "Criar novo ficheiro..." #: ../src/FilePanel.cpp:3794 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/FilePanel.cpp:3798 #, fuzzy, c-format msgid "Can't create file %s" msgstr "Impossível remover a pasta " #: ../src/FilePanel.cpp:3813 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "Criar novo ficheiro..." #: ../src/FilePanel.cpp:3817 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "Impossível gravar em %s: Permissão negada" #: ../src/FilePanel.cpp:3865 #, fuzzy msgid "Create new symbolic link:" msgstr "Criar novo ficheiro..." #: ../src/FilePanel.cpp:3865 #, fuzzy msgid "New Symlink" msgstr "Ligação simbólica" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "" #: ../src/FilePanel.cpp:3899 #, fuzzy, c-format msgid "Symlink source %s does not exist" msgstr "Pasta %s não exitente" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 #, fuzzy msgid "Open selected file(s) with:" msgstr "Abrir ficheiro(s) seleccionado(s) com :" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Abrir com" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "A&ssociar" #: ../src/FilePanel.cpp:4401 #, fuzzy msgid "Show files:" msgstr "Mostrar ficheiros :" #. Menu items #: ../src/FilePanel.cpp:4512 #, fuzzy msgid "New& file..." msgstr "Novo &ficheiro" #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 #, fuzzy msgid "New s&ymlink..." msgstr "Novo &ficheiro" #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 #, fuzzy msgid "Fi<er..." msgstr "Fi<ro" #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 #, fuzzy msgid "&Full file list" msgstr "Lista &detalhada de ficheiros" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 #, fuzzy msgid "Per&missions" msgstr "Permissões" #: ../src/FilePanel.cpp:4555 #, fuzzy msgid "Ne&w file..." msgstr "Novo &ficheiro" #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 #, fuzzy msgid "&Mount" msgstr "&Montar" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 #, fuzzy msgid "Open &with..." msgstr "Abrir &com..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 #, fuzzy msgid "&Open" msgstr "&Abrir" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 #, fuzzy msgid "Extr&act to folder " msgstr "Impossível remover a pasta " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 #, fuzzy msgid "&Extract here" msgstr "Extrair ficheiro" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 #, fuzzy msgid "E&xtract to..." msgstr "E&xtrair para..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 #, fuzzy msgid "&View" msgstr "&Ver" #: ../src/FilePanel.cpp:4646 #, fuzzy msgid "Install/Up&grade" msgstr "&Instalar/Actualizar" #: ../src/FilePanel.cpp:4647 #, fuzzy msgid "Un&install" msgstr "&Desinstalar" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 #, fuzzy msgid "&Edit" msgstr "&Editar" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 #, fuzzy msgid "Com&pare..." msgstr "Seleccione Ícone" #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4672 #, fuzzy msgid "Packages &query " msgstr "Pacote " #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 #, fuzzy msgid "Scripts" msgstr "D&escrição" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 #, fuzzy msgid "&Go to script folder" msgstr " a pasta :" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 #, fuzzy msgid "Copy &to..." msgstr "Copiar " #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 #, fuzzy msgid "M&ove to trash" msgstr "\tMostrar dois painéis (Ctrl-F4)" #: ../src/FilePanel.cpp:4695 #, fuzzy msgid "Restore &from trash" msgstr "Remover pasta " #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 #, fuzzy msgid "Compare &sizes" msgstr "Origem :" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 #, fuzzy msgid "P&roperties" msgstr "Propriedades" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 #, fuzzy msgid "Select a destination folder" msgstr " Seleccionar..." #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Todos os ficheiros" #. File object #: ../src/FilePanel.cpp:5523 #, fuzzy msgid "Package Install/Upgrade" msgstr "Instalar/Actualizar RPM" #. File object #: ../src/FilePanel.cpp:5572 #, fuzzy msgid "Package Uninstall" msgstr "Desinstalar RPM" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, 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:5832 ../src/SearchPanel.cpp:4210 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "Impossível remover a pasta " #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 #, fuzzy msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Gerenciador de pacotes da RedHat (RPM) não encontrado!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr " pertence ao pacote RPM : " #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Informação" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, fuzzy, c-format msgid "File %s belongs to the package: %s" msgstr " pertence ao pacote RPM : " #. Make and show command window #: ../src/FilePanel.cpp:6220 ../src/SearchPanel.cpp:2887 #, fuzzy msgid "Sizes of Selected Items" msgstr " ficheiros selecionados" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 bytes" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr " ficheiros selecionados" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr " ficheiros selecionados" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr " ficheiros selecionados" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr " ficheiros selecionados" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " a pasta :" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "Pastas ocultas" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "Pastas ocultas" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "Pastas ocultas" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Ligação" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 #, fuzzy msgid "Cl&ose" msgstr "Fe&char" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "Impossível remover o ficheiro" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 #, fuzzy msgid "Can't duplicate pipes" msgstr "Impossível remover o ficheiro" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "Preferências" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Tema actual" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Opções" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "" #: ../src/Preferences.cpp:185 #, fuzzy msgid "Auto save layout" msgstr "&Gravar configuração automaticamente" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "" #: ../src/Preferences.cpp:189 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "\tMostrar detalhes\tMostrar lista da pasta com detalhes." #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Confirmar Remoção" #: ../src/Preferences.cpp:198 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:213 #, fuzzy msgid "Start in home folder" msgstr " a pasta :" #: ../src/Preferences.cpp:214 #, fuzzy msgid "Start in current folder" msgstr " a pasta :" #: ../src/Preferences.cpp:215 #, fuzzy msgid "Start in last visited folder" msgstr " a pasta :" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Cor da moldura" #: ../src/Preferences.cpp:231 #, fuzzy msgid "Root mode" msgstr "Modo consola" #: ../src/Preferences.cpp:232 #, fuzzy msgid "Allow root mode" msgstr "Modo consola" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Falhou o comando : %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Executar comando" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 #, fuzzy msgid "&Dialogs" msgstr "Paleta" #: ../src/Preferences.cpp:326 #, fuzzy msgid "Confirmations" msgstr "C&onfirmação" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "" #: ../src/Preferences.cpp:330 #, fuzzy msgid "Confirm delete" msgstr "Confirmar Remoção" #: ../src/Preferences.cpp:331 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Não pode remover a pasta %s" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Confirmar escrever por cima" #: ../src/Preferences.cpp:333 #, fuzzy msgid "Confirm execute text files" msgstr "Confirmar Remoção" #: ../src/Preferences.cpp:334 #, fuzzy msgid "Confirm change properties" msgstr "Propriedades" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 #, fuzzy msgid "Warnings" msgstr "Alertas" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Alertar quando os pontos de montagem não responderem" #: ../src/Preferences.cpp:340 msgid "Display mount / unmount success messages" msgstr "" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Alertar se executar como ROOT" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 #, fuzzy msgid "&Programs" msgstr "&Programas" #: ../src/Preferences.cpp:390 #, fuzzy msgid "Default programs" msgstr "Programa de terminal:" #: ../src/Preferences.cpp:393 #, fuzzy msgid "Text viewer:" msgstr "Visualizador de texto padrão:" #: ../src/Preferences.cpp:399 #, fuzzy msgid "Text editor:" msgstr "Editor de texto padrão:" #: ../src/Preferences.cpp:405 #, fuzzy msgid "File comparator:" msgstr "Permissões do ficheiro" #: ../src/Preferences.cpp:411 #, fuzzy msgid "Image editor:" msgstr "Editor de texto padrão:" #: ../src/Preferences.cpp:417 #, fuzzy msgid "Image viewer:" msgstr "Visualizador de texto padrão:" #: ../src/Preferences.cpp:423 #, fuzzy msgid "Archiver:" msgstr "Criar um arquivo" #: ../src/Preferences.cpp:429 #, fuzzy msgid "Pdf viewer:" msgstr "Visualizador de texto padrão:" #: ../src/Preferences.cpp:435 #, fuzzy msgid "Audio player:" msgstr "Visualizador de texto padrão:" #: ../src/Preferences.cpp:441 #, fuzzy msgid "Video player:" msgstr "Visualizador de texto padrão:" #: ../src/Preferences.cpp:447 #, fuzzy msgid "Terminal:" msgstr "&Terminal" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 #, fuzzy msgid "Mount:" msgstr "Montar" #: ../src/Preferences.cpp:462 #, fuzzy msgid "Unmount:" msgstr "Desmontar" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 #, fuzzy msgid "Color theme" msgstr "Tema de cor" #: ../src/Preferences.cpp:482 #, fuzzy msgid "Custom colors" msgstr "Cores" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Cor base" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Cor da moldura" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Cor de fundo" #: ../src/Preferences.cpp:492 #, fuzzy msgid "Text color" msgstr "Cor base" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Seleccionar cor de fundo" #: ../src/Preferences.cpp:494 #, fuzzy msgid "Selection text color" msgstr "Seleccionar cor da frente" #: ../src/Preferences.cpp:495 #, fuzzy msgid "File list background color" msgstr "Seleccionar cor de fundo" #: ../src/Preferences.cpp:496 #, fuzzy msgid "File list text color" msgstr "Seleccionar cor de fundo" #: ../src/Preferences.cpp:497 #, fuzzy msgid "File list highlight color" msgstr "Seleccionar cor de fundo" #: ../src/Preferences.cpp:498 #, fuzzy msgid "Progress bar color" msgstr "Cor da moldura" #: ../src/Preferences.cpp:499 #, fuzzy msgid "Attention color" msgstr "Cor base" #: ../src/Preferences.cpp:500 #, fuzzy msgid "Scrollbar color" msgstr "Cor da moldura" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 #, fuzzy msgid "Controls" msgstr "Fonte" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "" #: ../src/Preferences.cpp:523 #, fuzzy msgid "\tSelect path..." msgstr " Seleccionar..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 #, fuzzy msgid "&Fonts" msgstr "&Fontes" #: ../src/Preferences.cpp:530 #, fuzzy msgid "Fonts" msgstr "Fonte" #: ../src/Preferences.cpp:533 #, fuzzy msgid "Normal font:" msgstr "Fonte normal:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Seleccionar..." #: ../src/Preferences.cpp:539 #, fuzzy msgid "Text font:" msgstr "Fonte do texto:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "" #: ../src/Preferences.cpp:634 #, fuzzy msgid "Select an icon theme folder or an icon file" msgstr " a pasta :" #: ../src/Preferences.cpp:723 #, fuzzy msgid "Change Normal Font" msgstr "Mudar Fonte Normal" #: ../src/Preferences.cpp:747 #, fuzzy msgid "Change Text Font" msgstr "Mudar fonte do texto" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 #, fuzzy msgid "Create new file" msgstr "Criar novo ficheiro..." #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 #, fuzzy msgid "Create new folder" msgstr "Criar nova pasta..." #: ../src/Preferences.cpp:803 #, fuzzy msgid "Copy to clipboard" msgstr "" "\tCopiar ficheiros seleccionados para a área de transferência (Ctrl-C, F5)" #: ../src/Preferences.cpp:807 #, fuzzy msgid "Cut to clipboard" msgstr "\tCortar ficheiros seleccionados para a área de transferência (Ctrl-X)" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 #, fuzzy msgid "Paste from clipboard" msgstr "\tColar conteúdo da área de transferência (Ctrl-V)" #: ../src/Preferences.cpp:827 #, fuzzy msgid "Open file" msgstr "Abrir ficheiro...\tCtrl-O" #: ../src/Preferences.cpp:831 #, fuzzy msgid "Quit application" msgstr "Aplicação" #: ../src/Preferences.cpp:835 #, fuzzy msgid "Select all" msgstr "Seleccione Ícone" #: ../src/Preferences.cpp:839 #, fuzzy msgid "Deselect all" msgstr "&Desmarcar tudo\tCtrl-Z" #: ../src/Preferences.cpp:843 #, fuzzy msgid "Invert selection" msgstr "&Inverter selecção\tCtrl-I" #: ../src/Preferences.cpp:847 #, fuzzy msgid "Display help" msgstr "Barra de ferramentas\t\tMostrar barra de ferramentas" #: ../src/Preferences.cpp:851 #, fuzzy msgid "Toggle display hidden files" msgstr "Mostrar pastas ocultas" #: ../src/Preferences.cpp:855 #, fuzzy msgid "Toggle display thumbnails" msgstr "Mostrar imagens como miniaturas" #: ../src/Preferences.cpp:863 #, fuzzy msgid "Close window" msgstr "&Procurar" #: ../src/Preferences.cpp:867 #, fuzzy msgid "Print file" msgstr "Imprimir ficheiro" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 #, fuzzy msgid "Search" msgstr "&Procurar" #: ../src/Preferences.cpp:875 #, fuzzy msgid "Search previous" msgstr "Procurar ícones em" #: ../src/Preferences.cpp:879 #, fuzzy msgid "Search next" msgstr "&Procurar" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 #, fuzzy msgid "Vertical panels" msgstr "&Dois painéis\tCtrl-F4" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 #, fuzzy msgid "Horizontal panels" msgstr "&Dois painéis\tCtrl-F4" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 #, fuzzy msgid "Refresh panels" msgstr "Painel &esquerdo" #: ../src/Preferences.cpp:901 #, fuzzy msgid "Create new symbolic link" msgstr "Criar novo ficheiro..." #: ../src/Preferences.cpp:905 #, fuzzy msgid "File properties" msgstr "Propriedades" #: ../src/Preferences.cpp:909 #, fuzzy msgid "Move files to trash" msgstr "\tRemover ficheiros seleccionados (Del, F8)" #: ../src/Preferences.cpp:913 #, fuzzy msgid "Restore files from trash" msgstr "Remover pasta " #: ../src/Preferences.cpp:917 #, fuzzy msgid "Delete files" msgstr "Remover pasta " #: ../src/Preferences.cpp:921 #, fuzzy msgid "Create new window" msgstr "Criar novo ficheiro..." #: ../src/Preferences.cpp:925 #, fuzzy msgid "Create new root window" msgstr "Criar nova pasta..." #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Execute command" msgstr "Executar comando" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 #, fuzzy msgid "Launch terminal" msgstr "&Terminal" #: ../src/Preferences.cpp:938 #, fuzzy msgid "Mount file system (Linux only)" msgstr "Montar sistema de ficheiros..." #: ../src/Preferences.cpp:942 #, fuzzy msgid "Unmount file system (Linux only)" msgstr "Desmontar sistema de ficheiros..." #: ../src/Preferences.cpp:946 #, fuzzy msgid "One panel mode" msgstr "Painel &esquerdo" #: ../src/Preferences.cpp:950 #, fuzzy msgid "Tree and panel mode" msgstr "&Árvore e um painel\tCtrl-F1" #: ../src/Preferences.cpp:954 #, fuzzy msgid "Two panels mode" msgstr "&Dois painéis\tCtrl-F4" #: ../src/Preferences.cpp:958 #, fuzzy msgid "Tree and two panels mode" msgstr "Á&rvore e dois painéis\tCtrl-F2" #: ../src/Preferences.cpp:962 #, fuzzy msgid "Clear location bar" msgstr "\tLimpar barra de endereço\tLimpar barra de endereço." #: ../src/Preferences.cpp:966 #, fuzzy msgid "Rename file" msgstr "Renomear " #: ../src/Preferences.cpp:970 #, fuzzy msgid "Copy files to location" msgstr "\tIr\tIr para o endereço." #: ../src/Preferences.cpp:974 #, fuzzy msgid "Move files to location" msgstr "\tIr\tIr para o endereço." #: ../src/Preferences.cpp:978 #, fuzzy msgid "Symlink files to location" msgstr "\tIr\tIr para o endereço." #: ../src/Preferences.cpp:982 #, fuzzy msgid "Add bookmark" msgstr "&Adicionar marcador\tCtrl-B" #: ../src/Preferences.cpp:986 #, fuzzy msgid "Synchronize panels" msgstr "&Um painel\tCtrl-F3" #: ../src/Preferences.cpp:990 #, fuzzy msgid "Switch panels" msgstr "&Dois painéis\tCtrl-F4" #: ../src/Preferences.cpp:994 #, fuzzy msgid "Go to trash can" msgstr "\tMostrar dois painéis (Ctrl-F4)" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "" #: ../src/Preferences.cpp:1002 #, fuzzy msgid "View" msgstr "Ver:" #: ../src/Preferences.cpp:1006 #, fuzzy msgid "Edit" msgstr "Editar:" #: ../src/Preferences.cpp:1014 #, fuzzy msgid "Toggle display hidden folders" msgstr "Mostrar pastas ocultas" #: ../src/Preferences.cpp:1018 #, fuzzy msgid "Filter files" msgstr "Hora do ficheiro" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "" #: ../src/Preferences.cpp:1033 #, fuzzy msgid "Zoom to fit window" msgstr "Linha:" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "" #: ../src/Preferences.cpp:1059 #, fuzzy msgid "Create new document" msgstr "Criar nova pasta..." #: ../src/Preferences.cpp:1063 #, fuzzy msgid "Save changes to file" msgstr "\tAbrir pacote RPM (Ctrl-O)" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 #, fuzzy msgid "Goto line" msgstr "Linha:" #: ../src/Preferences.cpp:1071 #, fuzzy msgid "Undo last change" msgstr "\tProcurar novamente (Ctrl-G)" #: ../src/Preferences.cpp:1075 #, fuzzy msgid "Redo last change" msgstr "\tProcurar novamente (Ctrl-G)" #: ../src/Preferences.cpp:1079 #, fuzzy msgid "Replace string" msgstr "Seleccione Ícone" #: ../src/Preferences.cpp:1083 #, fuzzy msgid "Toggle word wrap mode" msgstr "\tProcurar uma expressão (Ctrl-F)" #: ../src/Preferences.cpp:1087 #, fuzzy msgid "Toggle line numbers mode" msgstr "\tSair do Xfq (Ctrl-Q, F10)" #: ../src/Preferences.cpp:1091 #, fuzzy msgid "Toggle lower case mode" msgstr "\tProcurar uma expressão (Ctrl-F)" #: ../src/Preferences.cpp:1095 #, fuzzy msgid "Toggle upper case mode" msgstr "\tProcurar uma expressão (Ctrl-F)" #. Confirmation message #: ../src/Preferences.cpp:1114 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" #: ../src/Preferences.cpp:1115 msgid "Restore default key bindings" msgstr "" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Reiniciar" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "Fe&char" #: ../src/SearchPanel.cpp:165 #, fuzzy msgid "Refresh panel" msgstr "Painel &esquerdo" #: ../src/SearchPanel.cpp:177 ../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:182 ../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:187 ../src/XFileExplorer.cpp:664 #, fuzzy msgid "Show properties of selected files" msgstr "\tMostrar propriedades dos ficheiros seleccionados (F9)" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 #, fuzzy msgid "Move selected files to trash can" msgstr "\tRemover ficheiros seleccionados (Del, F8)" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 #, fuzzy msgid "Delete selected files" msgstr "\tCortar ficheiros seleccionados para a área de transferência (Ctrl-X)" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 #, fuzzy msgid "F&ull file list" msgstr "Lista &detalhada de ficheiros" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnorar letra" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "" #: ../src/SearchPanel.cpp:2421 #, fuzzy msgid "&Packages query " msgstr "Pacote " #: ../src/SearchPanel.cpp:2435 #, fuzzy msgid "&Go to parent folder" msgstr " a pasta :" #: ../src/SearchPanel.cpp:3658 #, fuzzy, c-format msgid "Copy %s items" msgstr "" " ficheiros/pastas.\n" "De: " #: ../src/SearchPanel.cpp:3674 #, fuzzy, c-format msgid "Move %s items" msgstr "" " ficheiros/pastas.\n" "De: " #: ../src/SearchPanel.cpp:3690 #, fuzzy, c-format msgid "Symlink %s items" msgstr "" " ficheiros/pastas.\n" "De: " #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr " Items" #: ../src/SearchPanel.cpp:4299 #, fuzzy msgid "1 item" msgstr " Items" #: ../src/SearchWindow.cpp:71 #, fuzzy msgid "Find files:" msgstr "Imprimir ficheiro" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:79 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr " a pasta :" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "In folder:" msgstr "Montar a pasta :" #: ../src/SearchWindow.cpp:86 #, fuzzy msgid "\tIn folder..." msgstr "Nova pasta..." #: ../src/SearchWindow.cpp:89 #, fuzzy msgid "Text contains:" msgstr "Fonte do texto:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "More options" msgstr "Procurar ícones em" #: ../src/SearchWindow.cpp:98 #, fuzzy msgid "Search options" msgstr "Procurar ícones em" #: ../src/SearchWindow.cpp:99 #, fuzzy msgid "Reset\tReset search options" msgstr "Procurar ícones em" #: ../src/SearchWindow.cpp:115 #, fuzzy msgid "Min size:" msgstr "Imprimir ficheiro" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "Hora do ficheiro" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 #, fuzzy msgid "Max size:" msgstr "Total %s" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "Hora do ficheiro" #. Modification date #: ../src/SearchWindow.cpp:126 #, fuzzy msgid "Last modified before:" msgstr "Última Modificação:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:131 #, fuzzy msgid "Last modified after:" msgstr "Última Modificação:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:137 #, fuzzy msgid "User:" msgstr "Utilizador" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "\tFilter by user name" msgstr "Hora do ficheiro" #: ../src/SearchWindow.cpp:142 #, fuzzy msgid "Group:" msgstr "Grupo" #: ../src/SearchWindow.cpp:145 #, fuzzy msgid "\tFilter by group name" msgstr "Hora do ficheiro" #. File type #: ../src/SearchWindow.cpp:178 #, fuzzy msgid "File type:" msgstr "Sistema de ficheiros:" #: ../src/SearchWindow.cpp:181 #, fuzzy msgid "File" msgstr "Ficheiro :" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:187 #, fuzzy msgid "\tFilter by file type" msgstr "Hora do ficheiro" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 #, fuzzy msgid "Permissions:" msgstr "Permissões" #: ../src/SearchWindow.cpp:194 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Permissões do ficheiro" #. Empty files #: ../src/SearchWindow.cpp:197 #, fuzzy msgid "Empty files:" msgstr "Mostrar ficheiros :" #: ../src/SearchWindow.cpp:198 #, fuzzy msgid "\tEmpty files only" msgstr "Mostrar ficheiros :" #: ../src/SearchWindow.cpp:202 #, fuzzy msgid "Follow symbolic links:" msgstr "Criar novo ficheiro..." #: ../src/SearchWindow.cpp:203 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Criar novo ficheiro..." #: ../src/SearchWindow.cpp:207 #, fuzzy msgid "Non recursive:" msgstr "Subpastas" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:212 #, fuzzy msgid "Ignore other file systems:" msgstr "Desmontar sistema de ficheiros..." #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:782 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Procurar ícones em" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 #, fuzzy msgid " items" msgstr " Items" #: ../src/SearchWindow.cpp:938 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Procurar ícones em" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:973 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "&Procurar" #: ../src/SearchWindow.cpp:1147 #, 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:201 #: ../src/XFileImage.cpp:327 ../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:808 #, fuzzy msgid "&Vertical panels" msgstr "&Dois painéis\tCtrl-F4" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 #, 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:781 #, fuzzy msgid "&Thumbnails" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 #, 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:3538 #: ../src/XFileExplorer.cpp:3589 #, 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:3537 #: ../src/XFileExplorer.cpp:3588 #, 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:4240 #, fuzzy msgid "T&rash" msgstr "Ficheiro " #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "Executando Xfe como ROOT!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, 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:2274 #, 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:2296 msgid "No global xferc file found! Please select a configuration file..." msgstr "" #: ../src/XFileExplorer.cpp:2300 msgid "XFE configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, 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:2339 ../src/XFileExplorer.cpp:3992 #, 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:2357 ../src/XFileExplorer.cpp:4005 #, 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:2361 ../src/XFileExplorer.cpp:4007 #, 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:3181 msgid "Help" msgstr "Ajuda" #: ../src/XFileExplorer.cpp:3211 #, fuzzy, c-format msgid "X File Explorer Version %s" msgstr "Sobre o X File Explorer" #: ../src/XFileExplorer.cpp:3212 #, 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:3214 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" "Finnish: Kimmo Siira\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:3246 #, fuzzy msgid "About X File Explorer" msgstr "&Sobre o X File Explorer" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 #, fuzzy msgid "&Panel" msgstr "&Painel" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Execute the command:" msgstr "Executar o comando :" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Console mode" msgstr "Modo consola" #: ../src/XFileExplorer.cpp:3896 #, fuzzy msgid "Search files and folders" msgstr " a pasta :" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Deseja realmente terminar o Xfe?" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr " em " #: ../src/XFileExplorer.cpp:3959 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" #: ../src/XFileExplorer.cpp:4049 #, fuzzy, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "Data de modificação" #: ../src/XFileExplorer.cpp:4051 #, fuzzy msgid "Trash size" msgstr "Total %s" #: ../src/XFileExplorer.cpp:4058 #, 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:4512 ../src/XFileExplorer.cpp:4586 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Impossível remover a pasta " #: ../src/XFileExplorer.cpp:4591 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "Associações de &Ficheiros" #: ../src/XFileExplorer.cpp:4596 #, fuzzy, c-format msgid "File association not found: %s" msgstr "Associações de &Ficheiros" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 #, fuzzy msgid "&Preferences" msgstr "Pre&ferências" #: ../src/XFilePackage.cpp:213 #, fuzzy msgid "Open package file" msgstr "\tAbrir pacote RPM (Ctrl-O)" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 #, fuzzy msgid "&Open..." msgstr "&Abrir" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 #, fuzzy msgid "&Toolbar" msgstr "Barra de ferramentas\t\tMostrar barra de ferramentas" #. Help Menu entries #: ../src/XFilePackage.cpp:235 #, fuzzy msgid "&About X File Package" msgstr "Sobre o X File View" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "&Desinstalar" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Instalar/Actualizar" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "D&escrição" #. Second item is File List #: ../src/XFilePackage.cpp:272 #, fuzzy msgid "File &List" msgstr "&Lista de ficheiros" #: ../src/XFilePackage.cpp:304 #, 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:306 #, fuzzy msgid "About X File Package" msgstr "Sobre o X File View" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "Pacotes fonte RPM" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "Pacotes RPM" #: ../src/XFilePackage.cpp:321 #, fuzzy msgid "DEB packages" msgstr "Pacotes RPM" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Abrir documento" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 #, fuzzy msgid "No package loaded" msgstr "Nenhum pacote RPM aberto" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "" #. Make and show command window #: ../src/XFilePackage.cpp:374 #, fuzzy msgid "Install/Upgrade Package" msgstr "Instalar/Actualizar RPM" #. Make and show command window #: ../src/XFilePackage.cpp:424 #, fuzzy msgid "Uninstall Package" msgstr "Desinstalando pacote :" #: ../src/XFilePackage.cpp:573 #, fuzzy msgid "[RPM package]\n" msgstr "Pacotes RPM" #: ../src/XFilePackage.cpp:578 #, fuzzy msgid "[DEB package]\n" msgstr "Pacotes RPM" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "Consulta de %s falhou!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../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:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Impossivel abrir o ficheiro: %s" #. Usage message #: ../src/XFilePackage.cpp:719 #, 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:182 #, fuzzy msgid "GIF Image" msgstr "Imagens GIF" #: ../src/XFileImage.cpp:183 #, fuzzy msgid "BMP Image" msgstr "Imagens BMP" #: ../src/XFileImage.cpp:184 #, fuzzy msgid "XPM Image" msgstr "Imagens BMP" #: ../src/XFileImage.cpp:185 #, fuzzy msgid "PCX Image" msgstr "Imagens BMP" #: ../src/XFileImage.cpp:186 #, fuzzy msgid "ICO Image" msgstr "Imagens GIF" #: ../src/XFileImage.cpp:187 #, fuzzy msgid "RGB Image" msgstr "Imagens BMP" #: ../src/XFileImage.cpp:188 #, fuzzy msgid "XBM Image" msgstr "Imagens BMP" #: ../src/XFileImage.cpp:189 #, fuzzy msgid "TARGA Image" msgstr "Imagens GIF" #: ../src/XFileImage.cpp:190 #, fuzzy msgid "PPM Image" msgstr "Imagens BMP" #: ../src/XFileImage.cpp:191 #, fuzzy msgid "PNG Image" msgstr "Imagens PNG" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 #, fuzzy msgid "JPEG Image" msgstr "Imagens PNG" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 #, fuzzy msgid "TIFF Image" msgstr "Imagens GIF" #: ../src/XFileImage.cpp:331 #, fuzzy msgid "&Image" msgstr "Imagens PNG" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 #, fuzzy msgid "Open" msgstr "Abrir:" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 #, fuzzy msgid "Open image file." msgstr "Abrir documento" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 #, fuzzy msgid "Print" msgstr "Imprimir ficheiro" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 #, 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:660 #, fuzzy msgid "Zoom in" msgstr "Linha:" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "" #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "" #: ../src/XFileImage.cpp:675 #, fuzzy msgid "Zoom to fit" msgstr "Linha:" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "" #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "" #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "" #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "" #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 #, fuzzy msgid "&Print..." msgstr "Imprimir ficheiro" #: ../src/XFileImage.cpp:721 #, fuzzy msgid "&Clear recent files" msgstr "Ficheiro de código C" #: ../src/XFileImage.cpp:721 #, fuzzy msgid "Clear recent file menu." msgstr "Ficheiro de código C" #: ../src/XFileImage.cpp:727 #, fuzzy msgid "Quit Xfi." msgstr "A terminar o Xfe" #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "" #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "" #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "" #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "" #: ../src/XFileImage.cpp:775 #, fuzzy msgid "Show hidden files and folders." msgstr " a pasta :" #: ../src/XFileImage.cpp:781 #, fuzzy msgid "Show image thumbnails." msgstr "Mostrar imagens como miniaturas" #: ../src/XFileImage.cpp:789 #, fuzzy msgid "Display folders with big icons." msgstr "\tMostrar ícones\tMostrar pasta com ícones grandes." #: ../src/XFileImage.cpp:795 #, fuzzy msgid "Display folders with small icons." msgstr "\tMostrar lista\tMostrar pasta com ícones pequenos." #: ../src/XFileImage.cpp:801 #, fuzzy msgid "&Detailed file list" msgstr "Lista &detalhada de ficheiros" #: ../src/XFileImage.cpp:801 #, fuzzy msgid "Display detailed folder listing." msgstr "\tMostrar detalhes\tMostrar lista da pasta com detalhes." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "" #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "" #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "" #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 #, fuzzy msgid "Display toolbar." msgstr "Barra de ferramentas\t\tMostrar barra de ferramentas" #: ../src/XFileImage.cpp:823 #, fuzzy msgid "&File list" msgstr "Lista &detalhada de ficheiros" #: ../src/XFileImage.cpp:823 #, fuzzy msgid "Display file list." msgstr "\tMostrar lista\tMostrar pasta com ícones pequenos." #: ../src/XFileImage.cpp:824 #, fuzzy msgid "File list &before" msgstr "Seleccionar cor de fundo" #: ../src/XFileImage.cpp:824 #, fuzzy msgid "Display file list before image window." msgstr "\tMostrar ícones\tMostrar pasta com ícones grandes." #: ../src/XFileImage.cpp:825 #, fuzzy msgid "&Filter images" msgstr "Hora do ficheiro" #: ../src/XFileImage.cpp:825 #, fuzzy msgid "List only image files." msgstr "\tMostrar lista\tMostrar pasta com ícones pequenos." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "" #: ../src/XFileImage.cpp:831 #, fuzzy msgid "&About X File Image" msgstr "Sobre o X File View" #: ../src/XFileImage.cpp:831 #, fuzzy msgid "About X File Image." msgstr "Sobre o X File View" #: ../src/XFileImage.cpp:1333 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:1335 #, fuzzy msgid "About X File Image" msgstr "Sobre o X File View" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 #, fuzzy msgid "Error Loading Image" msgstr "Erro ao abrir o ficheiro" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "" #: ../src/XFileImage.cpp:1464 #, fuzzy msgid "Unable to load image, the file may be corrupted" msgstr "Impossivel abrir completamente o ficheiro: %s" #: ../src/XFileImage.cpp:1504 #, 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:1619 #, fuzzy msgid "Open Image" msgstr "Abrir documento" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" #. Usage message #: ../src/XFileImage.cpp:2685 #, 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 #, fuzzy msgid "Error Saving File" msgstr "Erro ao ler o ficheiro" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "Impossivel abrir o ficheiro: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "" #: ../src/WriteWindow.cpp:1206 #, fuzzy, c-format msgid "File: %s truncated." msgstr "Renomear ficheiro" #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "" #: ../src/WriteWindow.cpp:1477 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" #: ../src/WriteWindow.cpp:1479 #, fuzzy msgid "About X File Write" msgstr "Sobre o X File View" #: ../src/WriteWindow.cpp:1501 #, fuzzy msgid "Change Font" msgstr "Mudar fonte do texto" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Ficheiros de texto" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "Ficheiro de código C" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "Ficheiros de código C++" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "Ficheiros Header C/C++" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 #, fuzzy msgid "HTML Files" msgstr "Ficheiros HTML" #: ../src/WriteWindow.cpp:1549 #, fuzzy msgid "PHP Files" msgstr "Todos os ficheiros" #: ../src/WriteWindow.cpp:1670 #, fuzzy msgid "Unsaved Document" msgstr "Abrir documento" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 #, fuzzy msgid "Save Document" msgstr "Abrir documento" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, fuzzy msgid "Overwrite Document" msgstr "Abrir documento" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "" #: ../src/WriteWindow.cpp:1841 #, fuzzy msgid " (changed)" msgstr "Última alteração:" #: ../src/WriteWindow.cpp:1851 #, fuzzy msgid " (read only)" msgstr "Somente Leitura" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "" #: ../src/WriteWindow.cpp:2071 #, fuzzy msgid "File Was Changed" msgstr "Última alteração:" #: ../src/WriteWindow.cpp:2071 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" #: ../src/WriteWindow.cpp:2132 #, fuzzy msgid "Replace" msgstr "Seleccione Ícone" #: ../src/WriteWindow.cpp:2293 #, fuzzy msgid "Goto Line" msgstr "Linha:" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "" #. Usage message #: ../src/XFileWrite.cpp:217 #, 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "Não pode remover a pasta %s" #: ../src/xfeutils.cpp:936 #, fuzzy msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 #, fuzzy msgid "copy" msgstr "Copiar ficheiro" #: ../src/xfeutils.cpp:1413 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "Impossível remover a pasta " #: ../src/xfeutils.cpp:1417 #, 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 "Never execute text files" #~ msgstr "Confirmar Remoção" #~ msgid "KB" #~ msgstr "KB" #, 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?" #, 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?" #, 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?" #, 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?" #, 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?" #, 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.44/po/ca.po0000644000200300020030000054423714023353061010502 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # Pere Orga , 2019. # msgid "" msgstr "" "Project-Id-Version: Xfe 1.43.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-14 10:23+0100\n" "PO-Revision-Date: 2019-11-25 23:03+0100\n" "Last-Translator: Pere Orga \n" "Language-Team: \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.2.4\n" #. Usage message #: ../src/main.cpp:333 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:467 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" "Advertiment: mode de panell desconegut, revertiu-ho a l'últim panell desat\n" #: ../src/main.cpp:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Error en carregar les icones" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "" "No s'han pogut carregar algunes icones. Comproveu el camí de les icones." #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" msgstr "" "No s'han pogut carregar algunes icones. Comproveu el camí de les icones." #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 msgid "User" msgstr "Usuari" #: ../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 "Escriptura" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Execució" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:156 msgid "Group" msgstr "Grup" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Altres" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Especial" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "Estableix l'UID" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "Estableix el GID" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Enganxós" #. 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 msgid "Recursively" msgstr "Recursivament" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Neteja els marcats" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Fitxers i carpetes" #: ../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 msgid "Owner only" msgstr "Només el pietari" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Només els fitxers" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Propietats" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&General" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 msgid "\tSelect file..." msgstr "\tSelecciona un fitxer..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Visualitza:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Edita:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Extreu:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Instal·la/Actualitza:" #: ../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:146 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 "= > Avís: el nom del fitxer no està codificat en UTF-8." #: ../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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Directori" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Dispositiu de caràcter" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Dispositiu de bloc" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Conducte designat" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Connector (socket)" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Executable" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Document" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Enllaç trencat" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 msgid "Link to " msgstr "Enllaç a " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Ubicació:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Tipus:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 msgid "Total size:" msgstr "Mida total:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Enllaç a:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Enllaç trencat a:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Ubicació original:" #: ../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 "Notificació d'inici" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "Desactiva la notificació d'inici per a aquest executable" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Data de supressió:" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu octets)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu octets)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Mida:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Selecció:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Diversos tipus" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d elements" #: ../src/Properties.cpp:1118 #, c-format msgid "%d file, %d folder" msgstr "%d fitxer, %d carpeta" #: ../src/Properties.cpp:1122 #, c-format msgid "%d file, %d folders" msgstr "%d fitxer, %d carpetes" #: ../src/Properties.cpp:1126 #, c-format msgid "%d files, %d folder" msgstr "%d fitxers, %d carpeta" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d fitxers, %d carpetes" #: ../src/Properties.cpp:1252 msgid "Change properties of the selected folder?" msgstr "Voleu canviar les propietats de la carpeta seleccionada?" #: ../src/Properties.cpp:1256 msgid "Change properties of the selected file?" msgstr "Voleu canviar les propietats del fitxer seleccionat?" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 msgid "Confirm Change Properties" msgstr "Confirmeu el canvi de propietats" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Advertència" #: ../src/Properties.cpp:1401 msgid "Invalid file name, operation cancelled" msgstr "El nom del fitxer no és vàlid, s'ha cancel·lat l'operació" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 msgid "The / character is not allowed in folder names, operation cancelled" msgstr "" "El caràcter / no està permès en noms de carpeta, s'ha cancel·lat l'operació" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 msgid "The / character is not allowed in file names, operation cancelled" msgstr "" "El caràcter / no està permès en noms de fitxer, s'ha cancel·lat l'operació" #. Error message box #. Error #: ../src/Properties.cpp:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, 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:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "La carpeta %s no existeix" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Reanomena fitxer" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Propietari del fitxer" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "S'ha cancel·lat el canvi de propietari." #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "Ha fallat el chown a %s: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "Ha fallat el chown a %s" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" "Establir permisos especials podria ser perillós. Esteu segur que voleu fer-" "ho?" #: ../src/Properties.cpp:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Ha fallat el chmod a %s: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Permissos del fitxer" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "S'ha cancel·lat el canvi de permisos." #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "Ha fallat el chmod a %s" #: ../src/Properties.cpp:1628 msgid "Apply permissions to the selected items?" msgstr "Voleu aplicar els permisos als fitxers seleccionats?" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "No s'ha pogut canviar els permisos del(s) fitxer(s)." #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Seleccioneu un fitxer executable" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Tots els fitxers" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "Imatges PNG" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "Imatges GIF" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "Imatges BMP" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Seleccioneu un fitxer d'icona" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, c-format msgid "%u file, %u subfolder" msgstr "%u fitxer, %u subcarpeta" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, c-format msgid "%u file, %u subfolders" msgstr "%u fitxer, %u subcarpetes" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, c-format msgid "%u files, %u subfolder" msgstr "%u fitxers, %u subcarpeta" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u fitxers, %u subcarpetes" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Copia aquí" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Mou aquí" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Enllaça aquí" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Cancel·la" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Copia el fitxer" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Mou el fitxer" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Fitxer d'enllaç simbòlic" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Copia" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Copia %s fitxers/carpetes.\n" "Des de: %s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Desplaça" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Desplaça %s fitxers/carpetes.\n" "Des de: %s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Enllaç simbòlic" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "A:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "S'ha produït un error durant l'operació de desplaçament de fitxers." #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "S'ha cancel·lat l'operació de moviment de fitxers." #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "S'ha produït un error durant l'operació de còpia de fitxers." #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "S'ha cancel·lat l'operació de còpia de fitxers." #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "El punt de muntatge %s no respon..." #: ../src/DirList.cpp:2021 msgid "Link to Folder" msgstr "Enllaç a una carpeta" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Carpetes" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Mostra els directoris ocults" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "Amaga les carpetes ocultes" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3125 msgid "0 bytes in root" msgstr "0 bytes a l'arrel" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 msgid "Panel is active" msgstr "El panell és actiu" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 msgid "Activate panel" msgstr "Activa el panell" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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 msgid "New &folder..." msgstr "Carpeta nova..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "&Carpetes ocultes" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 msgid "Ignore c&ase" msgstr "Ignora les m&ajúscules" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "Inve&rteix l'ordre" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "E&xpandeix l'arbre" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Col·lap&sa l'arbre" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4586 #: ../src/SearchPanel.cpp:2361 msgid "Pane&l" msgstr "Pane&ll" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "&Munta" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "Desmun&tar" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "&Afegeix a l'arxiu..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Copia" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Re&talla" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Enganxa" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Rea&nomena..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Copia a..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Mou a..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 msgid "Symlin&k to..." msgstr "Enllaça simbòlicament a..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "&Llença-ho a la paperera" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "R&estaura de la paperera" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4696 #: ../src/SearchPanel.cpp:2444 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "Su&primeix" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "Propi&etats" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, c-format msgid "Can't enter folder %s: %s" msgstr "No s'ha pogut entrar a la carpeta %s: %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, c-format msgid "Can't enter folder %s" msgstr "No s'ha pogut entrar a la carpeta %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 msgid "File name is empty, operation cancelled" msgstr "El nom del fitxer és buit, s'ha cancel·lat la operació" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Crea un arxiu" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Copia " #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "Copia %s elements de: %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Reanomenar" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Renomena " #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Copia a" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Mou " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "Mou %s elements de: %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Enllaç simbòlic " #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "Crea l'enllaç simbòlic %s de: %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s no és una carpeta" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "S'ha produït un error durant l'operació d'enllaç simbòlic." #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "S'ha cancel·lat l'operació d'enllaç simbòlic." #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "Esteu segur que voleu suprimir definitivament la carpeta %s ?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Confirma la supressió" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Supressió de fitxers" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "La carpeta %s no està buida, voleu suprimiu-la de totes maneres?" #: ../src/DirPanel.cpp:2264 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "" "La carpeta %s està protegida contra escriptura, voleu suprimir-la de totes " "maneres?" #: ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "S'ha cancel·lat la supressió de directoris." #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "Voleu llençar la carpeta %s a la paperera?" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Confirma abans de llençar a la paperera" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Llença a la paperera" #: ../src/DirPanel.cpp:2360 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "" "La carpeta %s està protegida contra escriptura, voleu llençar-la a la " "paperera de totes maneres?" #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "S'ha produït un error durant l'operació de llençar-ho a la paperera." #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "S'ha cancel·lat l'operació d'enviar a la paperera." #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Restaura-ho de la paperera" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Voleu restaurar la carpeta %s a la seva ubicació original %s ?" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Confirma la restauració" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "La informació de restauració no està disponible per %s" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "La carpeta pare %s no existeix, voleu crear-la?" #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "No s'ha pogut crear la carpeta %s: %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "No s'ha pogut crear la carpeta %s" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 msgid "An error has occurred during the restore from trash operation!" msgstr "S'ha produït un error durant la restauració de la paperera." #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "S'ha cancel·lat l'operació de restauració." #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Crea una carpeta nova:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Directori Nou" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 msgid "Folder name is empty, operation cancelled" msgstr "El nom de la carpeta és buit, l'operació s'ha cancel·lat" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, c-format msgid "Can't execute command %s" msgstr "No s'ha pogut executar l'ordre %s" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Muntar" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Desmuntar" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " sistema de fitxers..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " la carpeta:" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " s'ha cancel·lat l'operació." #. Refresh the status label #: ../src/DirPanel.cpp:3157 msgid " in root" msgstr " a l'arrel" #. 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 "Destinació:" #: ../src/File.cpp:111 msgid "Copied data:" msgstr "Dades copiades:" #: ../src/File.cpp:126 msgid "Moved data:" msgstr "Dades mogudes:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1133 msgid "Delete:" msgstr "Suprimeix:" #: ../src/File.cpp:136 msgid "From:" msgstr "De:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "S'estan canviant els permisos..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "Fitxer:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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 msgid "Mount the folder:" msgstr "Munta la carpeta:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Desmunta el sistema de fitxers..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "Desmunta la carpeta:" #: ../src/File.cpp:300 #, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "La carpeta %s ja existeix.\n" "Sobreescriure?\n" "= > Precaució, els fitxers d'aquesta carpeta es podrien sobreescriure." #: ../src/File.cpp:304 ../src/File.cpp:2031 #, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "El fitxer %s ja existeix. El voleu sobreescriure?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:2032 msgid "Confirm Overwrite" msgstr "Confirma la sobreescriptura" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "No s'ha pogut copiar el fitxer %s: %s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "No s'ha pogut copiar el fitxer %s" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "Origen: " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "Destinació: " #: ../src/File.cpp:604 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "No s'ha pogut conservar la data en copiar el fitxer %s : %s" #: ../src/File.cpp:608 #, c-format msgid "Can't preserve date when copying file %s" msgstr "No s'ha pogut conservar la data en copiar el fitxer %s" #: ../src/File.cpp:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "No s'ha pogut copiar la carpeta %s: Permís denegat" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "No s'ha pogut copiar el fitxer %s: Permís denegat" #: ../src/File.cpp:791 #, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "No s'ha pogut conservar la data en copiar la carpeta %s: %s" #: ../src/File.cpp:795 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "No s'ha pogut conservar la data en copiar la carpeta %s" #: ../src/File.cpp:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "L'origen %s no existeix" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, c-format msgid "Destination %s is identical to source" msgstr "La destinació %s és idèntica a l'origen" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, c-format msgid "Target %s is a sub-folder of source" msgstr "La destinació %s és una subcarpeta de l'origen" #. Set labels for progress dialog #: ../src/File.cpp:1048 msgid "Delete folder: " msgstr "Suprimeix la carpeta: " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "Des de: " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "No s'ha pogut suprimir la carpeta: %s: %s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "No s'ha pogut suprimir la carpeta: %s" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "No s'ha pogut suprimir el fitxer %s: %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "No s'ha pogut suprimir el fitxer %s" #: ../src/File.cpp:1213 #, c-format msgid "Destination %s already exists" msgstr "La destinació %s ja existeix" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, c-format msgid "Can't rename to target %s: %s" msgstr "No s'ha pogut canviar de nom la destinació %s: %s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "No s'ha pogut crear l'enllaç simbòlic %s: %s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "No s'ha pogut crear l'enllaç simbòlic %s" #: ../src/File.cpp:1655 ../src/File.cpp:1852 msgid "Folder: " msgstr "Carpeta: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Extreu arxiu" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Afegeix a l'arxiu" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Ha fallat l'ordre : %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Amb èxit" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "El directori %s s'ha muntat amb èxit." #: ../src/File.cpp:2115 #, 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:2126 msgid "Install/Upgrade package" msgstr "Instal·la/actualitza el paquet" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "S'està instal·lant el paquet: %s\n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Desinstal·la el paquet" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, c-format msgid "Uninstalling package: %s \n" msgstr "S'està desinstal·lant el paquet: %s\n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "Nom del &fitxer:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "D'ac&ord" #: ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 msgid "Go to previous folder" msgstr "Vés a la carpeta anterior" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 msgid "Go to next folder" msgstr "Vés a la carpeta següent" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 msgid "Go to parent folder" msgstr "Vés a la carpeta pare" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "Vés a la carpeta d'usuari" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 msgid "Go to working folder" msgstr "Vés a la carpeta de treball" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Carpeta nova" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Llista d'icones grans" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Llista d'icones petites" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Llista de fitxers detallada" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Mostra els fitxers ocults" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "Amaga els fitxers ocults" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Mostra les miniatures" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Hide thumbnails" msgstr "Amaga les miniatures" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Crea un nou directori..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Crea un fitxer nou..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3758 msgid "New File" msgstr "Nou Fitxer" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "El fitxer o carpeta %s ja existeix" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "Ves a la carpeta d'usuari" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 msgid "Go &work" msgstr "Ves a la &feina" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "&Fitxer nou..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Carpeta n&ova..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "&Fitxers ocults" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "&Miniatures" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "Icones &grans" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "Icones &petites" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "&Llista completa de fitxers" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "&Files" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "&Columnes" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "Mida automàtica" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "&Nom" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "Mida" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Tipus" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "E&xtensió" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "&Data" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "&Usuari" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "&Grup" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 msgid "Fold&ers first" msgstr "Carpetes primer" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "Re&verteix l'ordre" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "&Família:" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "&Pes:" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "E&stil:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "&Mida:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Joc de caràcters:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Qualsevol" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "Europeu occidental" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Europeu oriental" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Europeu del sud" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Europeu del nord" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Ciríl·lic" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Àrab" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Grec" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Hebreu" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Turc" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Nòrdic" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Tailandès" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Bàltic" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Cèltic" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Rus" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Centreeuropeu (CP1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Rus (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Grec (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Turc (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Hebreu (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Àrab (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Bàltic (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Vietnam (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Tailandès (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Amplada del conjunt:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "Ultracondensat" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Extracondensat" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Condensat" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "Semi condensat" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Normal" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Semi expandit" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Expandit" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Extraexpandit" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "Ultraexpandit" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "To:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Fix" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Variable" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Escalable:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Tots els tipus de lletra:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Vista prèvia:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Inicia Xfe com a root" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&No" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Sí" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Surt" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Desa" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Si a tot" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Introduïu la contrasenya d'usuari:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Introduïu la contrasenya de root:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "S'ha produït un error." #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Nom: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Mida a l'arrel: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Tipus: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Data de modificació: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Usuari: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Grup: " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Permisos: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Camí original: " #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Data de supressió: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Pes: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Pes" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Tipus" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Extensió" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Modified date" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Permisos" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "No es pot carregar la imatge" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Camí original" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Data de supressió" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Filtre" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Estat" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "El fitxer %s és un fitxer de text executable, què voleu fer?" #: ../src/FilePanel.cpp:1035 ../src/SearchPanel.cpp:790 msgid "Confirm Execute" msgstr "Confirma l'execució" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Fitxer de registre d'ordres" #: ../src/FilePanel.cpp:1832 msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "" "No es permet el caràcter / en noms de fitxer o de carpeta, l'operació s'ha " "cancel·lat" #: ../src/FilePanel.cpp:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "A la carpeta:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "" "No s'ha pogut escriure a la ubicació de la paperera %s : Permís denegat" #: ../src/FilePanel.cpp:2408 ../src/SearchPanel.cpp:2936 #, c-format msgid "Move file %s to trash can?" msgstr "Voleu llençar el fitxer %s a la paperera?" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "Voleu llençar els elements seleccionats %s a la paperera?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "" "El fitxer %s està protegit contra escriptura, segur que el voleu llençar a " "la paperera?" #: ../src/FilePanel.cpp:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "S'ha cancel·lat l'operació de llençar-ho a la paperera." #: ../src/FilePanel.cpp:2716 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Voleu restaurar el fitxer %s a la seva ubicació original %s ?" #: ../src/FilePanel.cpp:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "" "Voleu restaurar els elements seleccionats %s a la seva ubicació original?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "No s'ha pogut crear la carpeta %s: %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, c-format msgid "Definitively delete file %s ?" msgstr "Voleu suprimir definitivament el fitxer %s?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, c-format msgid "Definitively delete %s selected items?" msgstr "" "Esteu segur que voleu suprimir definitivament els elements seleccionats %s?" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "" "El fitxer %s està protegit contra escriptura, el voleu suprimiu de totes " "maneres?" #: ../src/FilePanel.cpp:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "S'ha cancel·lat la supressió de fitxers." #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "Compara" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "Amb:" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" "No s'ha trobat el programa %s. Definiu un comparador de fitxers en el diàleg " "de preferències." #: ../src/FilePanel.cpp:3758 msgid "Create new file:" msgstr "Crea un fitxer nou:" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "No s'ha pogut crear el fitxer %s: %s" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "No s'ha pogut crear el fitxer %s" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "No es poden definir els permisos a %s: %s" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "No es poden definir els permisos a %s" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Crea un enllaç simbòlic:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Nou enllaç simbòlic" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "Seleccioneu el fitxer o carpeta a referenciar per l'enllaç simbòlic" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "L'origen de l'enllaç simbòlic %s no existeix" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Obre els fitxers seleccionats amb:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Obre amb" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "A&ssocia" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Mostra els fitxers:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "Fitxer nou..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Enllaç s&imbòlic nou..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "Fi<re..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "Llistat de fitxers complet" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "Per&misos" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "Fitxer no&u..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Munta" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "Obre &amb..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Obre" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 msgid "Extr&act to folder " msgstr "Extr&eu a la carpeta " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "&Extreu aquí" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "E&xtreu a..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Vista" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "&Instal·la/Actualitza" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "&Desinstal·la" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Edita" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 msgid "Com&pare..." msgstr "Com¶..." #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "Com¶" #: ../src/FilePanel.cpp:4672 msgid "Packages &query " msgstr "Consulta de pa&quets " #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 msgid "Scripts" msgstr "Scripts" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 msgid "&Go to script folder" msgstr "&Ves a la carpeta de l'script" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Copia &a..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 msgid "M&ove to trash" msgstr "&Llença a la paperera" #: ../src/FilePanel.cpp:4695 msgid "Restore &from trash" msgstr "Restaura &de la paperera" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 msgid "Compare &sizes" msgstr "Compara &pesos" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 msgid "P&roperties" msgstr "P&ropietats" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Seleccioneu una carpeta de destinació" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Tots els fitxers" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Instal·la/actualitza el paquet" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Desinstal·la el paquet" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Error: la bifurcació ha fallat: %s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, c-format msgid "Can't create script folder %s: %s" msgstr "No s'ha pogut crear la carpeta de l'script %s: %s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, c-format msgid "Can't create script folder %s" msgstr "No s'ha pogut crear la carpeta de l'script %s" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "No s'ha trobat cap gestor de paquets compatible (rpm o dpkg)." #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "El fitxer %s no pertany a cap paquet." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Informació" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, c-format msgid "File %s belongs to the package: %s" msgstr "El fitxer %s pertany al paquet: %s" #. Make and show command window #: ../src/FilePanel.cpp:6220 ../src/SearchPanel.cpp:2887 msgid "Sizes of Selected Items" msgstr "Pes dels elements seleccionats" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 Octets" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s en %s elements seleccionats (%s carpeta, %s fitxer)" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s en %s elements seleccionats (%s carpeta, %s fitxers)" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s en %s elements seleccionats (%s carpetes, %s fitxer)" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s en %s elements seleccionats (%s carpetes, %s fitxers)" #: ../src/FilePanel.cpp:6322 msgid "1 item (1 folder)" msgstr "1 element (1 carpeta)" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "%s elements ( %s carpetes, %s fitxers)" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, c-format msgid "%s items (%s folder, %s file)" msgstr "%s elements ( %s carpeta, %s fitxer)" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, c-format msgid "%s items (%s folder, %s files)" msgstr "%s elements (%scarpeta, %s fitxers)" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, c-format msgid "%s items (%s folders, %s file)" msgstr "%s elements (%s carpetes, %s fitxer)" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Enllaç" #: ../src/FilePanel.cpp:6402 #, c-format msgid " - Filter: %s" msgstr " - Filtre: %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "S'ha assolit el límit de marcadors. Se suprimirà l'últim marcador..." #: ../src/Bookmarks.cpp:137 msgid "Confirm Clear Bookmarks" msgstr "Confirma l'esborrat dels marcadors" #: ../src/Bookmarks.cpp:137 msgid "Do you really want to clear all your bookmarks?" msgstr "Segur que voleu esborrar tots els mardadors?" #: ../src/CommandWindow.cpp:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "&Tanca" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" "Espereu...\n" "\n" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, c-format msgid "Can't duplicate pipes: %s" msgstr "No s'ha pogut duplicar les canonades: %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 msgid "Can't duplicate pipes" msgstr "No s'ha pogut duplicar les canonades" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> ORDRE CANCEL·LADA <<<<" #: ../src/CommandWindow.cpp:298 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> FI DE L'ORDRE <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tSeleccioneu una destinació..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Seleccioneu un fitxer" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Seleccioneu un fitxer destí o la carpeta de destí" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Afegeix a l'arxiu" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Nom de l'arxiu nou:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Format:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tL'arxiu és en format tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tL'arxiu és en format zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tL'arxiu és en format 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tL'arxiu és en format tar.bz2" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.xz\tL'arxiu és en format tar.xz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tL'arxiu és en format tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tL'arxiu és en format tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tL'arxiu és en format gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tL'arxiu és en format bz2" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "xz\tL'arxiu és en format xz" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tL'arxiu és en format Z" #. Construct window #: ../src/Preferences.cpp:135 msgid "Preferences" msgstr "Preferències" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Tema actual" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Opcions" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "" "Fes servir la paperera per la supressió de fitxers (per tenir més seguretat)" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Inclou una ordre per eludir la paperera (supressió permanent)" #: ../src/Preferences.cpp:185 msgid "Auto save layout" msgstr "Disseny de desament automàtic" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Desa la posició de la finestra" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "Un sol clic per obrir carpetes" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Un sol clic per obrir fitxers" #: ../src/Preferences.cpp:189 msgid "Display tooltips in file and folder lists" msgstr "Mostra l'ajuda en llistes de fitxers i carpetes" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "Redimensionament relatiu de llistes de fitxers" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Visualitza un enllaçador de camís per sobre de les llistes de fitxers" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Avisa quan s'iniciïn les aplicacions" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Confirma abans d'executar fitxers de text" #: ../src/Preferences.cpp:198 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" "Format de data utilitzat a les llistes de fitxers i carpetes:\n" "(Executeu \"man strftime\" en un terminal per obtenir ajuda sobre el format)" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "&Modes" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "Mode d'inici" #: ../src/Preferences.cpp:213 msgid "Start in home folder" msgstr "Inici a la carpeta d'inici" #: ../src/Preferences.cpp:214 msgid "Start in current folder" msgstr "Inicia a la carpeta actual" #: ../src/Preferences.cpp:215 msgid "Start in last visited folder" msgstr "Inicia a l'última carpeta visitada" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "Mode de desplaçament" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "Desplaçament suau en llistes de fitxers i finestres de text" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Velocitat del desplaçament del ratolí:" #: ../src/Preferences.cpp:227 msgid "Scrollbar width:" msgstr "Amplada de la barra de desplaçament:" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Mode root" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "Permet el mode root" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Autenticació mitjançant sudo (amb la contrasenya de l'usuari)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Autenticació mitjançant su (amb la contrasenya de root)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Ha fallat l'ordre : %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Executa l'ordre" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "&Diàlegs" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Confirmacions" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "Confirma abans de copiar/moure/canviar de nom/crear enllaços simbòlics" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "Confirma abans d'arrossegar i deixar anar" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "Confirma abans de llençar/restaurar de la paperera" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Confirma abans de suprimir" #: ../src/Preferences.cpp:331 msgid "Confirm delete non empty folders" msgstr "Confirma abans de suprimir que no estan buides" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Confirma abans de sobreescriure" #: ../src/Preferences.cpp:333 msgid "Confirm execute text files" msgstr "Confirma abans d'executar fitxers de text" #: ../src/Preferences.cpp:334 msgid "Confirm change properties" msgstr "Confirma el canvi de propietats" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Avisos" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "Avisa quan es defineixi la carpeta actual a la finestra de cerca" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Avisa quan els punts de muntatge no responguin" #: ../src/Preferences.cpp:340 msgid "Display mount / unmount success messages" msgstr "Visualitza missatges d'èxit en muntar i desmuntar" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "Avisa quan falli la preservació de la data" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Avisa si s'executa com a root" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Programes" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Programes predeterminats" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Visualitzador de text:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Editor de text:" #: ../src/Preferences.cpp:405 msgid "File comparator:" msgstr "Comparador de fitxers:" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Editor d'imatges:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Visor d'imatges:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Arxivador:" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "Visor de PDF:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Reproductor d'àudio:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Reproductor de vídeo:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "Terminal:" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "Gestió dels volums" #: ../src/Preferences.cpp:456 msgid "Mount:" msgstr "Muntura:" #: ../src/Preferences.cpp:462 msgid "Unmount:" msgstr "Desm&unta:" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Color del tema" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Colors personalitzats" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Feu doble clic per personalitzar el color" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Color de base" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Color del costat" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Color de fons" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Color del text" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Color de fons de la selecció" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Color de la selecció del text" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Color de fons de la llista de fitxers" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Color del text de la llista de fitxers" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Color de ressaltat de la llista de fitxers" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "Color de la barra de progrés" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Color d'atenció" #: ../src/Preferences.cpp:500 msgid "Scrollbar color" msgstr "Color de la barra de desplaçament" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Controls" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Estàndard (controls clàssics)" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (controls amb aspecte modern)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "Camí del tema d'icones" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tSeleccioneu el camí..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Tipus de lletra" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Lletres tipogràfiques" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Tipus de lletra normal:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Seleccioneu..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Tipus de lletra pel text:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "Assignació de &tecles" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Assignació de tecles" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Modifica les assignacions de tecles..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Restaura les assignacions de tecles per defecte..." #: ../src/Preferences.cpp:634 msgid "Select an icon theme folder or an icon file" msgstr "Seleccioneu una carpeta de tema d'icones o un fitxer d'icona" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "Canvia la lletra normal" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Canvia la lletra del text" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Crea un fitxer nou" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Crea una carpeta nova" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "Copia al porta-retalls" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "Retalla al porta-retalls" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Enganxa des del porta-retalls" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Obre el fitxer" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Surt de l'aplicació" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Selecciona-ho tot" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Deseleccionna-ho tot" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Invertir selecció" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Mostra l'ajuda" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Commuta la visualització de fitxers ocults" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Commuta miniatures de visualització" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Tanca la finestra" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Imprimeix el fitxer" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Cerca" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Cerca l'anterior" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Cerca el següent" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 msgid "Vertical panels" msgstr "Panells verticals" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 msgid "Horizontal panels" msgstr "Panells horitzontals" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Refresca els panells" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Crea un enllaç simbòlic" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Propietats del fitxer" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Mou els fitxers a la paperera" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Restaura els fitxers de la paperera" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Suprimeix fitxers" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Crea una finestra nova" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Crea una finestra arrel nova" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Executa l'ordre" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Inicia el terminal" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Munta el sistema de fitxers (només Linux)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Desmunta el sistema de fitxers (només Linux)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "Mode d'un panell" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Mode arbre i panell" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "Mode de dos panells" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Mode arbre i dos panells" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Neteja la barra de la ubicació" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Reanomena el fitxer" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Copia els fitxers a la ubicació" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Mou els fitxers a la ubicació" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Crea un enllaç simbòlic dels fitxers a la ubicació" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Afegeix un punt d'interès" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Sincronitza els panells" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Canvia els panells" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Vés a la paperera" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Buida la paperera" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Visualitza" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Edita" #: ../src/Preferences.cpp:1014 msgid "Toggle display hidden folders" msgstr "Commuta la visualització de carpetes ocultes" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Filtra els fitxers" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "Apropa la imatge al 100%" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Encaixa l'ampliació a la finestra" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "Girar la imatge cap a l'esquerra" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "Girar la imatge a la dreta" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "Emmiralla horitzontalment la imatge" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "Emmiralla verticalment la imatge" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Crea un document nou" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Desa els canvis al fitxer" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Vés a la línia" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Desfés l'últim canvi" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Refés l'últim canvi" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "Substitueix la cadena" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "Commuta el mode d'ajustament de paraula" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "Commuta el mode de números de línia" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Commuta el mode de minúscules" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Commuta el mode majúscules" #. Confirmation message #: ../src/Preferences.cpp:1114 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Esteu segur que voleu restaurar assignacions de tecles per defecte?\n" "\n" "Es perdran totes les personalitzacions." #: ../src/Preferences.cpp:1115 msgid "Restore default key bindings" msgstr "Restaura les assignacions de tecles per defecte" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Reinicia" #: ../src/Preferences.cpp:1213 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Les assignacions de tecles es canviaran després de reiniciar.\n" "Voleu reiniciar File Explorer X ara?" #: ../src/Preferences.cpp:1869 msgid "" "Preferences will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Les preferències es canviaran després de reiniciar.\n" "Voleu reiniciar File Explorer X 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 msgid "Source size:" msgstr "Pes de l'origen:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 msgid "- Modified date:" msgstr "- Data de modificació:" #: ../src/OverwriteBox.cpp:88 msgid "Target size:" msgstr "Pes de l'objectiu:" #: ../src/ExecuteBox.cpp:39 msgid "E&xecute" msgstr "E&xecuta" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "Executa en &mode consola" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Tanca" #: ../src/SearchPanel.cpp:165 msgid "Refresh panel" msgstr "Refresca el plafó" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Copia els fitxers seleccionats al porta-retalls" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Retalla els fitxers seleccionats al porta-retalls" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Mostra les propietats dels fitxers seleccionats" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Mou els fitxers seleccionats a la paperera" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Suprimeix els fitxers seleccionats" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "La carpeta actual s'ha definit a '%s'" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "&Llista de fitxers completa" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnora les majúscules i minúscules" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "Mida &automàtica" #: ../src/SearchPanel.cpp:2421 msgid "&Packages query " msgstr "Consulta de &paquets " #: ../src/SearchPanel.cpp:2435 msgid "&Go to parent folder" msgstr "Vés a la carpeta &pare" #: ../src/SearchPanel.cpp:3658 #, c-format msgid "Copy %s items" msgstr "Copia els elements %s" #: ../src/SearchPanel.cpp:3674 #, c-format msgid "Move %s items" msgstr "Mou els elements %s" #: ../src/SearchPanel.cpp:3690 #, c-format msgid "Symlink %s items" msgstr "Crea enllaços simbòlics per %s elements" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" "El caràcter '/' no es permet als noms de fitxer o de carpeta, s'ha " "cancel·lat l'operació" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "Heu d'introduir un camí absolut." #: ../src/SearchPanel.cpp:4231 msgid "0 item" msgstr "0 elements" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 element" #: ../src/SearchWindow.cpp:71 msgid "Find files:" msgstr "Cerca fitxers:" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "Ignora maj.\tIgnora les majúscules/minúscules als noms dels fitxers" #. Hidden files #: ../src/SearchWindow.cpp:79 msgid "Hidden files\tShow hidden files and folders" msgstr "Fitxers ocults\tMostra els fitxers i carpetes ocults" #: ../src/SearchWindow.cpp:84 msgid "In folder:" msgstr "A la carpeta:" #: ../src/SearchWindow.cpp:86 msgid "\tIn folder..." msgstr "\tA la carpeta..." #: ../src/SearchWindow.cpp:89 msgid "Text contains:" msgstr "El text conté:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "Ignora maj.\tIgnora les majúscules/minúscules al text" #. Search options #: ../src/SearchWindow.cpp:97 msgid "More options" msgstr "Més opcions" #: ../src/SearchWindow.cpp:98 msgid "Search options" msgstr "Opcions de cerca" #: ../src/SearchWindow.cpp:99 msgid "Reset\tReset search options" msgstr "Restableix\tRestableix les opcions de cerca" #: ../src/SearchWindow.cpp:115 msgid "Min size:" msgstr "Pes mín.:" #: ../src/SearchWindow.cpp:117 msgid "Filter by minimum file size (kBytes)" msgstr "Filtra per pes mínim del fitxer (KB)" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "kB" #: ../src/SearchWindow.cpp:120 msgid "Max size:" msgstr "Pes màxim:" #: ../src/SearchWindow.cpp:122 msgid "Filter by maximum file size (kBytes)" msgstr "Filtra per pes màxim del fitxer (KB)" #. Modification date #: ../src/SearchWindow.cpp:126 msgid "Last modified before:" msgstr "Última modificació abans de:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "Filtra per la data de modificació més llunyana (dies)" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "Dies" #: ../src/SearchWindow.cpp:131 msgid "Last modified after:" msgstr "Última modificació després de:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "Filtra per la data de modificació més pròxima (dies)" #. User and group #: ../src/SearchWindow.cpp:137 msgid "User:" msgstr "Usuari:" #: ../src/SearchWindow.cpp:140 msgid "\tFilter by user name" msgstr "\tFiltra per nom d'usuari" #: ../src/SearchWindow.cpp:142 msgid "Group:" msgstr "Grup:" #: ../src/SearchWindow.cpp:145 msgid "\tFilter by group name" msgstr "\tFiltra per nom del grup" #. File type #: ../src/SearchWindow.cpp:178 msgid "File type:" msgstr "Tipus de fitxer:" #: ../src/SearchWindow.cpp:181 msgid "File" msgstr "Fitxer" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "Conducte" #: ../src/SearchWindow.cpp:187 msgid "\tFilter by file type" msgstr "\tFiltra per tipus de fitxer" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 msgid "Permissions:" msgstr "Permisos:" #: ../src/SearchWindow.cpp:194 msgid "\tFilter by permissions (octal)" msgstr "\tFiltra per permisos (octal)" #. Empty files #: ../src/SearchWindow.cpp:197 msgid "Empty files:" msgstr "Fitxers buits:" #: ../src/SearchWindow.cpp:198 msgid "\tEmpty files only" msgstr "\tNomés fitxers buits" #: ../src/SearchWindow.cpp:202 msgid "Follow symbolic links:" msgstr "Segueix els enllaços simbòlics:" #: ../src/SearchWindow.cpp:203 msgid "\tSearch while following symbolic links" msgstr "\tCerca mentre se segueixen els enllaços simbòlics" #: ../src/SearchWindow.cpp:207 msgid "Non recursive:" msgstr "No recursiu:" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "\tNo cerquis a carpetes recursivament" #: ../src/SearchWindow.cpp:212 msgid "Ignore other file systems:" msgstr "Ignora els altres sistemes de fitxers:" #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "\tNo cerquis en altres sistemes de fitxers" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "&Inicia\tInicia la cerca (F3)" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "&Atura\tAtura la cerca (Esc)" #: ../src/SearchWindow.cpp:782 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> La cerca ha començat - Espereu... <<<<" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " elements" #: ../src/SearchWindow.cpp:938 msgid ">>>> Search results <<<<" msgstr ">>>> Resultats de la cerca <<<<" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "Error d'entrada/sortida" #: ../src/SearchWindow.cpp:973 msgid ">>>> Search stopped... <<<<" msgstr ">>>> La cerca s'ha aturat... <<<<" #: ../src/SearchWindow.cpp:1147 msgid "Select path" msgstr "Seleccioneu el camí" #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Crea un enllaç simbòlic" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Restaura els fitxers seleccionats de la paperera" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "Posa en funcionament Xfe" #: ../src/XFileExplorer.cpp:690 msgid "Search files and folders..." msgstr "Cerca fitxers i carpetes..." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Munta (només Linux)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Desmunta (només Linux)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "Mostra un panell" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Mostra un panell i un arbre" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "Mostra dos panells" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Mostra tres i dos panells" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Neteja l'ubicació" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Ves a la ubicació" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "D&irectori nou..." #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "Ves a la carpeta d'usuari" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "&Refresca" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "&Copia a..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "Enllaça &simbòlicament a..." #: ../src/XFileExplorer.cpp:861 msgid "&Properties" msgstr "&Propietats" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:201 #: ../src/XFileImage.cpp:327 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Fitxer" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "&Selecciona-ho tot" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "_Desselecciona-ho tot" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "&Inverteix la selecció" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "P&referències" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "Barra d'eines &general" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "Barra d'eines" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "Mostra la &barra d'eines" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "Barra de la &ubicació" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "Barra d'e&stat" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "&Un panell" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "T&res i un panells" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "Dos &panells" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "Dos i tres panells" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:808 msgid "&Vertical panels" msgstr "Panells &verticals" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 msgid "&Horizontal panels" msgstr "Panells &horitzontal" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "&Afegeix un marcador" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "&Esborra els marcadors" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "Ad&reces d'interès" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Filtre..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:781 msgid "&Thumbnails" msgstr "Minia&tures" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 msgid "&Big icons" msgstr "Icones grans" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "T&ipus" #: ../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&suari" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "Gr&up" #: ../src/XFileExplorer.cpp:1021 msgid "Fol&ders first" msgstr "Carp&etes primer" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3538 #: ../src/XFileExplorer.cpp:3589 msgid "&Left panel" msgstr "&Panell esquerre" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "&Filtre" #: ../src/XFileExplorer.cpp:1051 msgid "&Folders first" msgstr "Carp&etes primer" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3537 #: ../src/XFileExplorer.cpp:3588 msgid "&Right panel" msgstr "Panell d&ret" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "Finestra no&va" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Finestra &arrel nova" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "E&xecuta l'ordre..." #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "&Sincronitza els panells" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "&Intercanvia els panells" #: ../src/XFileExplorer.cpp:1096 msgid "Go to script folder" msgstr "Ves a la carpeta de l'script" #: ../src/XFileExplorer.cpp:1098 msgid "&Search files..." msgstr "Cerca fitxer&s..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "Desm&unta" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Eines" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "Vés a la paperera" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "Pes de la &paperera" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "Buida la pap&erera" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4240 msgid "T&rash" msgstr "Paperera" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "A&juda" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "&Quant al X File Explorer" #: ../src/XFileExplorer.cpp:2218 msgid "Running Xfe as root!" msgstr "S'està executant Xfe com a root." #: ../src/XFileExplorer.cpp:2253 #, 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ó dels fitxers de configuració ha canviat a " "'%s'.\n" "Tingueu en compte que podeu editar manualment els nous fitxers de " "configuració per importar les personalitzacions anteriors..." #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "No s'ha pogut crear la carpeta de configuració del Xfe %s: %s" #: ../src/XFileExplorer.cpp:2274 #, c-format msgid "Can't create Xfe config folder %s" msgstr "No s'ha pogut crear la carpeta de configuració del Xfe %s" #: ../src/XFileExplorer.cpp:2296 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "No s'ha troba el fitxer global xferc. Seleccioneu un fitxer de " "configuració..." #: ../src/XFileExplorer.cpp:2300 msgid "XFE configuration file" msgstr "Fitxer de configuració del XFE" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "No s'ha pogut crear la carpeta \"fitxers\" per la paperera %s: %s" #: ../src/XFileExplorer.cpp:2339 ../src/XFileExplorer.cpp:3992 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "No s'ha pogut crear la carpeta \"fitxers\" per la paperera %s" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "No s'ha pogut crear la carpeta \"info\" per la paperera %s: %s" #: ../src/XFileExplorer.cpp:2361 ../src/XFileExplorer.cpp:4007 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "No s'ha pogut crear la carpeta \"info\" per la paperera %s" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "Ajuda" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "Quant al X File Explorer versió %s" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Basat en X WinCommander per Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3214 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" "Finnish: Kimmo Siira\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:3246 msgid "About X File Explorer" msgstr "Quant al X File Explorer" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 msgid "&Panel" msgstr "Vista de &panell" #: ../src/XFileExplorer.cpp:3718 msgid "Execute the command:" msgstr "Executa l'ordre:" #: ../src/XFileExplorer.cpp:3718 msgid "Console mode" msgstr "Mode de consola" #: ../src/XFileExplorer.cpp:3896 msgid "Search files and folders" msgstr "Cerca fitxers i carpetes" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 msgid "Do you really want to empty the trash can?" msgstr "Esteu segur que voleu buidar la paperera?" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr " en " #: ../src/XFileExplorer.cpp:3959 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "Es perdran tots els articles." #: ../src/XFileExplorer.cpp:4049 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "Mida de la paperera: %s (fitxers %s, %s subcarpetes)\n" "\n" "Data de modificació: %s" #: ../src/XFileExplorer.cpp:4051 msgid "Trash size" msgstr "Mida de la paperera" #: ../src/XFileExplorer.cpp:4058 #, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "La carpeta \"fitxers\" de la paperera %s no és llegible." #: ../src/XFileExplorer.cpp:4512 ../src/XFileExplorer.cpp:4586 #, c-format msgid "Command not found: %s" msgstr "No s'ha trobat l'ordre: %s" #: ../src/XFileExplorer.cpp:4591 #, c-format msgid "Invalid file association: %s" msgstr "L'associació del fitxer no és vàlida: %s" #: ../src/XFileExplorer.cpp:4596 #, c-format msgid "File association not found: %s" msgstr "No s'ha trobat l'associació del fitxer: %s" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Preferències" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Obra un paquet" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Obre..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Barra d'eines" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "Quant &a X File Package" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "Desinstal·la" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Instal·la/Actualitza" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "&Descripció" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "&Llista de fitxers" #: ../src/XFilePackage.cpp:304 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "El X File Package versió %s és un gestor de paquets simple per a rpm o deb.\n" "\n" #: ../src/XFilePackage.cpp:306 msgid "About X File Package" msgstr "Quant al X File Package" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "Paquets font RPM" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "Paquets RPM" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "Paquets DEB" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Obre el document" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "No s'ha carregat cap paquet" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Format de paquet desconegut" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Instal·la/actualitza un paquet" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Desinstal·la un paquet" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[paquet RPM]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[paquet DEB]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "Ha fallat la sol·licitud de %s." #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Error en carregar el fitxer" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "No s'ha pogut obrir el fitxer %s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "Imatge GIF" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "Imatge BMP" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "Imatge XPM" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "Imatge PCX" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "ICO imatge" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "Imatge RGB" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "Imatge XBM" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "Imatge TARGA" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "Imatge PPM" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "Imatge PNG" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "Imatge JPEG" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "Imatge TIFF" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "&Imatge" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Obre" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Obre un fitxer d'imatge." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Imprimeix" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 msgid "Print image file." msgstr "Imprimeix el fitxer d'imatge." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:660 msgid "Zoom in" msgstr "Apropa" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "Amplia la imatge." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Disminueix el zoom" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "Allunya la imatge." #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "Amplia al 100%" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "Amplia la imatge al 100%." #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "Escala per a encabir" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "Adapta l'ampliació a la finestra." #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "Gira a l'esquerra" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Girar la imatge a l'esquerra." #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Gira a la dreta" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Girar la imatge a la dreta." #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Emmiralla horitzontalment" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "E&mmiralla la imatge horitzontalment." #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Emmiralla verticalment" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Emmiralla la imatge &verticalment." #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "&Imprimeix..." #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "&Esborra els fitxers recents" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "Neteja el menú de fitxers recents." #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Surt del Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "_Amplia" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "_Redueix" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "A&mplia al 100%" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "Encaixa l'ampliació a la finestra" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "Gira a la &dreta" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Gira a la dreta." #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "Gira a l'&esquerra" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Gira a l'esquerra." #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "Emmiralla &horitzontalment" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Emmiralla &horitzontalment." #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "Emmiralla &verticalment" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Emmiralla &verticalment." #: ../src/XFileImage.cpp:775 msgid "Show hidden files and folders." msgstr "Mostra els fitxers i carpertes ocults." #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Mostra les miniatures de les imatges." #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Mostra les carpetes amb icones grans." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Mostra les carpetes amb icones petites." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "Llista de fitxers &detallada" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Mostra la llista detallada de carpetes." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "Veure els icones per fila." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "Veure els icones per columna." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Canvia la mida automàticament dels noms dels icones." #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Mostra la barra d'eines." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "Llista de &fitxers" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Mostra la llista de fitxers." #: ../src/XFileImage.cpp:824 msgid "File list &before" msgstr "Llista de fitxers prè&via" #: ../src/XFileImage.cpp:824 msgid "Display file list before image window." msgstr "Mostra la llista de fitxers abans que la finestra d'imatge." #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "&Filtra les imatges" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Mostra només els fitxers d'imatge." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "Ajusta la finestra en obrir" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "Ajusta l'ampliació a la finestra en obrir una imatge." #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "Qu&ant a X File Image" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "Quant al X File Image." #: ../src/XFileImage.cpp:1333 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "El X File Image versió %s és un visor d'imatges simple.\n" "\n" #: ../src/XFileImage.cpp:1335 msgid "About X File Image" msgstr "Quant a X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "S'ha produït un error en carregar la imatge" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Tipus no suportat: %s" #: ../src/XFileImage.cpp:1464 msgid "Unable to load image, the file may be corrupted" msgstr "No s'ha pogut carregar la imatge, pot ser que el fitxer sigui corrupte" #: ../src/XFileImage.cpp:1504 msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "El canvi s'aplicarà després de reiniciar.\n" "Voleu reiniciar el X File Explorer ara?" #: ../src/XFileImage.cpp:1619 msgid "Open Image" msgstr "Obre una imatge" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Ordre d'impressió: \n" "(p. ex: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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 "Preferències del 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 "Marge d'ajustament:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Mida de la tabulació:" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "Elimina els retorns de carro:" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "&Colors" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Línies" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Fons:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Text:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Fons de text seleccionat:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Text seleccionat:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Fons de text ressaltat:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Text ressaltat:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Cursor:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Números de línia del fons:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Números de línia en primer pla:" #: ../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 " Línies:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Col:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Línia:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Nou" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Crea un nou document." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Obre el document." #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Desa" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Desa el document." #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Tanca" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Tanca el document." #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Imprimeix el document." #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Surt" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "Surt del fitxer X Write." #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "Copia la selecció al porta-retalls." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Talla" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "Retalla la selecció al porta-retalls." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Enganxa" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Enganxa el porta-retalls." #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Vés al número de línia." #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Desfès" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Desfés l'últim canvi." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Refès" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "Refés l'últim «desfés»." #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Cerca text." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Cerca la selecció endarrere" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "Cerca cap enrere per al text seleccionat." #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "Cerca la selecció cap endavant" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "Cerca cap endavant per al text seleccionat." #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "Activa l'ajustament de paraules" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "Habilita l'ajustament de paraules." #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "Desactiva l'ajustament de paraules" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "Deshabilita l'ajustament de paraules." #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Mostra els números de línia" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Mostra els números de línia." #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Amaga els números de línia" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Amaga els números de línia." #: ../src/WriteWindow.cpp:741 msgid "&New" msgstr "&Nou" #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "Desa els canvis al fitxer." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "Des&a com a..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Desa el document en un altre fitxer." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Tanca el document." #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "&Esborra els fitxers recents" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "&Desfés" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "&Refés" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "Reverteix al &desat" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Reverteix el document desat." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "Re&talla" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Enganxa des del porta-retalls." #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "Minúscu&les" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Canvia a minúscules." #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "Majúscul&es" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Canvia a majúscules." #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "&Vés a la línia..." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Seleccion&a-ho tot" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "Línia d'e&stat" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Mostra la línia d'estat." #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "&Cerca..." #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Cerca una cadena." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "&Substitueix..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Cerca una cadena i substitueix-la per una altra." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "Cerca la sel. &endarrere" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Cerca la sel. &endavant" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "&Ajusta les paraules" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "Commuta el mode d'ajustament de paraules." #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "Números de &línia" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Commuta el mode de números de línia." #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "&Superposició" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "Commuta el mode superposició." #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "&Lletra..." #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Canvia la lletra del text." #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "&Més preferències..." #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Canvieu més opcions." #: ../src/WriteWindow.cpp:959 msgid "&About X File Write" msgstr "Quant &al X File Write" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "Quant al X File Write." #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "El fitxer és massa gros: %s (%d octets)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "No s'ha pogut llegir el fitxer: %s" #: ../src/WriteWindow.cpp:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "S'ha produït un error en desar el fitxer" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "No s'ha pogut obrir el fitxer %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "El fitxer és massa gros: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "El fitxer %s està truncat." #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "sense títol" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "senset títol %d" #: ../src/WriteWindow.cpp:1477 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "El X File Write versió %s és un editor de text simple.\n" "\n" #: ../src/WriteWindow.cpp:1479 msgid "About X File Write" msgstr "Quant al X File View" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Canvia el tipus de lletra" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Fitxers de text" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "Fitxers font de C" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "Fitxers font de C++" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "Fitxers de capçalera de C/C++" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "Fitxers HTML" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "Fitxers PHP" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Document no desat" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "Voleu desar %s al fitxer?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Desa el document" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Sobreescriu el document" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "Voleu sobreescriure el document existent: %s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (canviat)" #: ../src/WriteWindow.cpp:1851 msgid " (read only)" msgstr " (només de lectura)" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "NOMÉS LECTURA" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "SOBR" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "El fitxer es va canviar" #: ../src/WriteWindow.cpp:2071 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "ha estat canviat per un altre programa. Voleu tornar a carregar el fitxer " "del disc?" #: ../src/WriteWindow.cpp:2132 msgid "Replace" msgstr "Substitueix" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Vés a la línia" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "&Vés al número de línia:" #. Usage message #: ../src/XFileWrite.cpp:217 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 "Carpeta arrel" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "A punt." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "&Reemplaça" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Reem&plaça-ho tot" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Cerca per:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Substitueix per:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "Ex&acte" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "&Ignora les majúscules" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "E&xpressió" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "&Enrere" #: ../src/help.h:7 #, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\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\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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\n" " \n" " " msgstr "" #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "Assignacions de tecles &globals" #: ../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 "" "Aquestes assignacions de tecles són comunes a totes les aplicacions Xfe.\n" "Feu doble clic sobre un element per modificar l'assignació seleccionada..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Assignació de tecles del 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 "" "Aquestes assignacions de tecles són específiques de l'aplicació X File " "Explorer.\n" "Feu doble clic sobre un element per modificar l'assignació seleccionada..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Assignació de tecles del 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 "" "Aquestes assignacions de tecles són específiques de l'aplicació X File " "Image.\n" "Feu doble clic sobre un element per modificar l'assignació seleccionada..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Assignació de tecles del 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 "" "Aquestes assignacions de tecles són específiques de l'aplicació X File " "Write.\n" "Feu doble clic sobre un element per modificar l'assignació seleccionada..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Nom de l'acció" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Registra la tecla" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Assignació de tecles" #: ../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 "Premeu la combinació de tecles que voleu utilitzar per a l'acció: %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 "[Premeu l'espai per desactivar l'assignació per a aquesta acció]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Modifica les assignacions de tecles" #: ../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 "" "L'assignació de tecles %s ja s'utilitza a la secció global.\n" "Hauríeu d'esborrar la l'assignació existent abans d'assignar-la de nou." #: ../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 "" "L'assignació de tecles %s ja s'utilitza a la secció Xfe.\n" "Hauríeu d'esborrar la l'assignació existent abans d'assignar-la de nou." #: ../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 "" "L'assignació de tecles %s ja s'utilitza a la secció Xfi.\n" "Hauríeu d'esborrar la l'assignació existent abans d'assignar-la de nou." #: ../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 "" "L'assignació de tecles %s ja s'utilitza a la secció Xfw.\n" "Hauríeu d'esborrar la l'assignació existent abans d'assignar-la de nou." #: ../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 s'ha pogut introduir la carpeta %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 s'ha pogut entrar a la carpeta %s" #: ../src/startupnotification.cpp:126 #, c-format msgid "Error: Can't open display\n" msgstr "Error: No s'ha pogut obrir la visualització\n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "Inici de %s" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, c-format msgid "Error: Can't execute command %s" msgstr "Error: No s'ha pogut executar l'ordre %s" #: ../src/xfeutils.cpp:829 ../src/xfeutils.cpp:917 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Error: No s'ha pogut tancar el directori %s\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 msgid "copy" msgstr "copia" #: ../src/xfeutils.cpp:1413 #, c-format msgid "Error: Can't read group list: %s" msgstr "Error: No s'ha pogut llegir la llista de grups: %s" #: ../src/xfeutils.cpp:1417 #, c-format msgid "Error: Can't read group list" msgstr "Error: No s'ha pogut llegir la llista de grups" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "Xfe" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "Gestor de fitxers" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "Un gestor de fitxers lleuger per a X Window" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "Xfi" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "Visor d'imatges" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "Un visor d'imatges simple per a Xfe" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "Xfw" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Editor de textos" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Un editor de text simple per a Xfe" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "Xfp" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Gestor de paquets" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Un gestor de paquets simple per a Xfe" #~ msgid "&Themes" #~ msgstr "&Temes" #, 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?" #, 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?" #, 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?" #, 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?" #, 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?" #, 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.44/po/POTFILES.skip0000644000200300020030000000012613501733230011654 00000000000000src/icons.cpp xfe.desktop.in.in xfi.desktop.in.in xfp.desktop.in.in xfw.desktop.in.in xfe-1.44/po/es_AR.po0000644000200300020030000061702014023353061011077 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: 2021-03-14 10:23+0100\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:333 #, 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:467 #, 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:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Error al cargar los iconos" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "No se pueden cargar algunos iconos. ¡Revisa tus rutas de iconos!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" msgstr "No se pueden cargar algunos iconos. ¡Revisa tus rutas de iconos!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Propiedades" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&General" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Directorio" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Dispositivo de caracteres" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Dispositivo de bloques" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Tubería con nombre" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Ejecutable" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Documento" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Enlace roto" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 #, fuzzy msgid "Link to " msgstr "Enlace a " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Dirección:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Tipo:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu bytes)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Tamaño:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Selección:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Múltiples tipos" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d elementos" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d archivos, %d directorios" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d archivos, %d directorios" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d archivos, %d directorios" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d archivos, %d directorios" #: ../src/Properties.cpp:1252 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Mostrar propiedades de archivos seleccionados" #: ../src/Properties.cpp:1256 #, fuzzy msgid "Change properties of the selected file?" msgstr "Mostrar propiedades de archivos seleccionados" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 #, fuzzy msgid "Confirm Change Properties" msgstr "Propiedades del archivo" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Aviso" #: ../src/Properties.cpp:1401 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "¡Se ha cancelado la operación de mover archivos!" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Nombre de archivo vacío, operación cancelada" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 #, 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:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "No se puede escribir en %s: Permiso denegado" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "El directorio %s no existe" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Renombrar archivo" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Propietario del archivo" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "¡Se ha cancelado el cambio de propietario!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown en %s ha fallado: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "Chmod en %s ha fallado" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 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:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod en %s ha fallado: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Permisos de archivo" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "¡Se ha cancelado el cambio de permisos!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "Chmod en %s ha fallado" #: ../src/Properties.cpp:1628 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " en un elemento seleccionado" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "¡Se ha cancelado el cambio de permisos en archivo(s)!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Selecciona un archivo ejecutable" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Todos los archivos" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "Imágenes PNG" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "Imágenes GIF" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "Imágenes BMP" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Selecciona un archivo de icono" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%u archivos, %u subdirectorios" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%u archivos, %u subdirectorios" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%u archivos, %u subdirectorios" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u archivos, %u subdirectorios" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Copiar aquí" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Mover aquí" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Enlazar aquí" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Cancelar" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Copiar archivo" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Mover archivo" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Enlazar archivo" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Copiar" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Copiar %s archivos/directorios.\n" "Desde: %s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Mover" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Mover %s archivos/directorios.\n" "Desde: %s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Enlace simbólico" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "A:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "¡Ha ocurrido un error al mover los archivos!" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "¡Se ha cancelado la operación de mover archivos!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "¡Ha ocurrido un error al copiar los archivos!" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "¡Se ha cancelado la operación de copiar archivos!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "El punto de montaje %s no está respondiendo..." #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "0 bytes en raíz" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 #, fuzzy msgid "Panel is active" msgstr "Panel tiene foco" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 #, fuzzy msgid "Activate panel" msgstr "Intercambiar paneles" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "&Añadir a archivo comprimido..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Copiar" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Cor&tar" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Pegar" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Mover a..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, 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:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, 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:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 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:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Crear archivo" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Copiar" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "Copiar %s elementos desde: %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Renombrar" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Renombrar " #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Copiar a" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Mover" #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "Mover %s elementos desde: %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Enlace simbólico " #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "Enlazar a %s elementos desde: %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s no es un directorio" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "¡Ha ocurrido un error al enlazar los archivos!" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "¡Se ha cancelado la operación de enlazar archivos!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "¿Eliminar definitivamente el directorio %s?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Confirmar eliminación" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Eliminar archivo" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, 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:2264 #, 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:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "¡Se ha cancelado la operación de eliminar directorios!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "¿Mover el directorio %s a la papelera?" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Confirmar papelera" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Mover a la papelera" #: ../src/DirPanel.cpp:2360 #, 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:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "¡Ha ocurrido un error al mover a la papelera!" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "¡Se ha cancelado la operación de mover a la papelera!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Restaurar de la papelera" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, 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:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Confirmar restauración" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "Información de restauración no disponible para %s" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, 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:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "No se puede crear el directorio %s : %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "No se puede crear el directorio %s" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 msgid "An error has occurred during the restore from trash operation!" msgstr "¡Ha ocurrido un error al recuperar desde la papelera!" #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "¡Se ha cancelado la restauración desde la papelera!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Crear directorio nuevo:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Directorio nuevo" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Nombre de archivo vacío, operación cancelada" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, c-format msgid "Can't execute command %s" msgstr "No se puede ejecutar el comando %s" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Montar" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Desmontar" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " sistema de archivos..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " el directorio:" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " ¡operación cancelada!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 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:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Cambiando permisos..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "Archivo:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Confirmar sobreescritura" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "No se puede copiar el archivo %s: %s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "No se puede copiar el archivo %s" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "Origen: " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "Destino: " #: ../src/File.cpp:604 #, 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:608 #, 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:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "No se puede copiar el directorio %s : Permiso denegado" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "No se puede copiar el archivo %s : Permiso denegado" #: ../src/File.cpp:791 #, 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:795 #, 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:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "El origen %s no existe" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "El destino %s es idéntico al origen" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, 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:1048 #, fuzzy msgid "Delete folder: " msgstr "Eliminar directorio: " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "Desde: " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "No se puede eliminar el directorio %s:%s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "No se puede eliminar el directorio %s" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "No se puede eliminar el archivo %s: %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "No se puede eliminar el archivo %s" #: ../src/File.cpp:1213 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "El archivo o directorio %s ya existe" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "No se puede renombrar al destino %s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "No se puede crear enlace simbólico %s: %s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "No se puede crear enlace simbólico %s" #: ../src/File.cpp:1655 ../src/File.cpp:1852 #, fuzzy msgid "Folder: " msgstr "Directorio: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Extraer archivo" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Añadir a archivo comprimido" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Comando fallido: %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Éxito" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "El directorio %s se ha montado con éxito." #: ../src/File.cpp:2115 #, 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:2126 msgid "Install/Upgrade package" msgstr "Instalar/actualizar paquete" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "Instalando paquete: %s \n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Desinstalar paquete" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 msgid "Go to previous folder" msgstr "Ir al directorio anterior" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 msgid "Go to next folder" msgstr "Ir al directorio siguiente" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 msgid "Go to parent folder" msgstr "Subir un directorio" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "Ir al directorio personal" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Lista de íconos grandes" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Lista de iconos pequeños" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Lista de archivos detallada" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Mostrar archivos ocultos" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "Ocultar archivos ocultos" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Mostrar miniaturas" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 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:3758 msgid "New File" msgstr "Archivo nuevo" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "El archivo o directorio %s ya existe" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "Ir al directorio &personal" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "&Directorio nuevo..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "Archivos &ocultos" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "&Miniaturas" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "Iconos &grandes" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "Iconos &pequeños" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "&Lista completa de archivos" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "&Filas" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "&Columnas" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "Autodimensionar" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "&Nombre" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "Ta&maño" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Tipo" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "E&xtensión" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "&Fecha" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "&Usuario" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "&Grupo" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 msgid "Fold&ers first" msgstr "Dir&ectorios primero" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "&Invertir orden" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "&Familia" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "&Peso:" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "&Estilo:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "&Tamaño:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Juego de caracteres:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Cualquiera" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "Europa-Oeste" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Europa-Este" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Europa-Sur" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Europa-Norte" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Cirílico" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Arábigo" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Griego" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Hebreo" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Turco" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Nórdico" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Tailandés" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Báltico" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Celta" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Ruso" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Europa central (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Ruso (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Griego (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Turco (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Hebreo (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Arábigo (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Báltico (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Vietnamita (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Tailandés (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Indicar ancho:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "Ultra condensado" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Extra condensado" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Condensado" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "Semi condensado" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Normal" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Semi expandido" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Expandido" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Extra expandido" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "Ultra expandido" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "Espaciado:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Fijo" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Variable" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Escalable:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Todas las fuentes:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Previsualizar:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Ejecutar Xfe como administrador" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&No" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Sí" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "Sali&r" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Guardar" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Sí a &todo" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Introducir contraseña de usuario:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Introducir la contraseña de administrador:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "¡Ha ocurrido un error!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Nombre: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Tamaño en raíz: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Tipo: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Fecha de modificación: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Usuario: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Grupo: " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Permisos: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Camino original: " #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Fecha de eliminación: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Tamaño: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Tamaño" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Tipo" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Extensión" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Fecha de modificación" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Permisos" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "No se puede cargar la imagen" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Camino original" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Fecha de eliminación" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Filtro" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Estado" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, 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:1035 ../src/SearchPanel.cpp:790 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Registro de comandos" #: ../src/FilePanel.cpp:1832 #, 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:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "En la ruta:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, 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:2408 ../src/SearchPanel.cpp:2936 #, c-format msgid "Move file %s to trash can?" msgstr "¿Mover el directorio %s a la papelera?" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "¿Mover %s archivos seleccionados a la papelera?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, 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:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "¡Se ha cancelado la operación de mover a la papelera!" #: ../src/FilePanel.cpp:2716 #, 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:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "¿Restaurar %s elementos seleccionados a sus directorios originales?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "No se puede crear el directorio %s: %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, c-format msgid "Definitively delete file %s ?" msgstr "¿Eliminar definitivamente el directorio %s?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, c-format msgid "Definitively delete %s selected items?" msgstr "¿Eliminar definitivamente %s elementos seleccionados?" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, 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:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "¡Se ha cancelado la operación de borrar archivos!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3758 msgid "Create new file:" msgstr "Crear archivo nuevo:" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "No se puede crear el archivo %s: %s" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "No se puede crear el archivo %s" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "No se pueden establecer los permisos en %s: %s" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "No se pueden establecer los permisos en %s" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Crear enlace simbólico nuevo:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Enlace simbólico nuevo" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "Seleccionar archivo o directorio referenciado por el enlace" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "El origen %s del enlace no existe" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Abrir los archivo(s) seleccionado(s) con:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Abrir con" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "A&sociar" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Mostrar archivos:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "Archiv&o nuevo" #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "&Enlace simbólico nuevo..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "Fi<ro..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "&Lista completa de archivos" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "Per&misos" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "A&rchivo nuevo" #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Montar" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "Abrir co&n..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Abrir" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 #, fuzzy msgid "Extr&act to folder " msgstr "Extr&aer a directorio " #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "Ext&raer aquí" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "E&xtraer a..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Ver" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Instalar/Actuali&zar" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "De&sinstalar" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Editar" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 #, fuzzy msgid "Com&pare..." msgstr "&Reemplazar..." #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4672 #, fuzzy msgid "Packages &query " msgstr "Consultar pa&quetes " #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 msgid "Scripts" msgstr "Scripts" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 msgid "&Go to script folder" msgstr "Ir al directorio de &scripts" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Cop&iar a..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 msgid "M&ove to trash" msgstr "M&over a la papelera" #: ../src/FilePanel.cpp:4695 msgid "Restore &from trash" msgstr "Res&taurar de la papelera" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 #, fuzzy msgid "Compare &sizes" msgstr "Origen:" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 #, fuzzy msgid "P&roperties" msgstr "Propiedades" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Seleccionar un directorio de destino" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Todos los archivos" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Instalar/actualizar paquete" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Desinstalar paquete" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Error: Bifurcación fallida: %s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, c-format msgid "Can't create script folder %s: %s" msgstr "No se puede crear el directorio de scripts %s : %s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, c-format msgid "Can't create script folder %s" msgstr "No se puede crear el directorio de scripts %s" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "¡No encontrado un gestor de paquetes compatible (rpm o dpkg)!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "El archivo %s no pertenece a ningún paquete." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Información" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, 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:6220 ../src/SearchPanel.cpp:2887 #, fuzzy msgid "Sizes of Selected Items" msgstr " elementos seleccionados " #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 bytes" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s de %s elementos seleccionados" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s de %s elementos seleccionados" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s de %s elementos seleccionados" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s de %s elementos seleccionados" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " el directorio:" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d archivos, %d directorios" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d archivos, %d directorios" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d archivos, %d directorios" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Enlace" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "&Cerrar" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, c-format msgid "Can't duplicate pipes: %s" msgstr "No se pueden duplicar los tubos: %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 msgid "Can't duplicate pipes" msgstr "No se pueden duplicar los tubos" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> COMANDO CANCELADO <<<<" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "Preferencias" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Tema actual" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Opciones" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "Usar papelera para borrar archivos (borrado seguro)" #: ../src/Preferences.cpp:184 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Incluir un comando para evitar la papelera (borrado permanente)" #: ../src/Preferences.cpp:185 msgid "Auto save layout" msgstr "Recordar disposición" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Guardar la posición de la ventana" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "Abrir directorios con un solo click" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Abrir archivos con un solo click" #: ../src/Preferences.cpp:189 msgid "Display tooltips in file and folder lists" msgstr "Mostrar pistas en listas de archivos y directorios" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "Dimensionado relativo de listas de archivos" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Mostrar enlazador de ruta sobre listas de archivos" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Notifica cuando la aplicación arranca" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Confirmar ejecución de archivos de texto" #: ../src/Preferences.cpp:198 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)" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:213 #, fuzzy msgid "Start in home folder" msgstr "Ir al directorio personal" #: ../src/Preferences.cpp:214 #, fuzzy msgid "Start in current folder" msgstr "Subir un directorio" #: ../src/Preferences.cpp:215 #, fuzzy msgid "Start in last visited folder" msgstr "Buscar archivos y directorios" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "Desplazamiento suave en listas de archivos y ventanas de texto" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Velocidad de desplazamiento del ratón:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Color de barra de progreso" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Modo administrador" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "Permitir modo administrador" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Identificación mediante sudo (usa contraseña de usuario)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Identificación mediante su (usa contraseña de administrador)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Comando fallido: %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Ejecutar comando" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "&Diálogos" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Confirmaciones" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "Confirmar copiar/mover/renombrar/enlazar" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "Confirmar arrastrar y soltar" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "Confirmar mover a la papelera/restaurar" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Confirmar eliminación" #: ../src/Preferences.cpp:331 msgid "Confirm delete non empty folders" msgstr "Confirmar eliminación de directorios no vacíos" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Confirmar sobreescritura" #: ../src/Preferences.cpp:333 msgid "Confirm execute text files" msgstr "Confirmar ejecución de archivos de texto" #: ../src/Preferences.cpp:334 #, fuzzy msgid "Confirm change properties" msgstr "Propiedades del archivo" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Avisos" #: ../src/Preferences.cpp:337 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:339 msgid "Warn when mount points are not responding" msgstr "Avisar cuando los puntos de montaje no respondan" #: ../src/Preferences.cpp:340 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Mostrar mensajes de éxito al montar/desmontar" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "Avisar si falla la preservación de fecha" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Avisar si se ejecuta como administrador" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Programas" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Programas predeterminados" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Visor de texto:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Editor de texto:" #: ../src/Preferences.cpp:405 #, fuzzy msgid "File comparator:" msgstr "Permisos de archivo" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Editor de imágenes:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Visor de imágenes:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Compresor:" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "Visor de PDF" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Reproductor de audio" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Reproductor de video:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "Terminal:" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 #, fuzzy msgid "Mount:" msgstr "Montar" #: ../src/Preferences.cpp:462 #, fuzzy msgid "Unmount:" msgstr "Desmontar" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Tema de color" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Colores personalizados" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Doble click para personalizar el color" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Color base" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Color de borde" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Color de fondo" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Color de texto" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Color de fondo de selección" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Color de selección de texto" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Color de fondo en lista de archivos" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Color de texto de lista de archivos" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Color de resaltado en lista de archivos" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "Color de barra de progreso" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Color de atención" #: ../src/Preferences.cpp:500 msgid "Scrollbar color" msgstr "Color de barra de progreso" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Controles" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Estándar (controles cásicos)" #: ../src/Preferences.cpp:517 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (estilo moderno)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:520 msgid "Icon theme path" msgstr "Ruta del tema de iconos" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tSeleccionar ruta..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Fuentes" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Fuentes" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Fuente normal:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Seleccionar..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Fuente de texto:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "&Teclas rápidas" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Teclas rápidas" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Modificar teclas rápidas..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Restaurar los atajos predeterminados..." #: ../src/Preferences.cpp:634 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:723 msgid "Change Normal Font" msgstr "Cambiar fuente normal" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Cambiar fuente de texto" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Crear archivo nuevo" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Crear directorio nuevo" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "Copiar al portapapeles" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "Cortar al portapapeles" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Pegar desde el portapapeles" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Abrir archivo" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Salir de la aplicación" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Seleccionar todo" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Deseleccionar todo" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Invertir selección" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Mostrar ayuda" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Mostrar archivos ocultos" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Mostrar miniaturas" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Cerrar ventana" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Imprimir archivo" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Buscar" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Buscar anterior" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Buscar siguiente" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 #, fuzzy msgid "Vertical panels" msgstr "Intercambiar paneles" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 #, fuzzy msgid "Horizontal panels" msgstr "Intercambiar paneles" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Refrescar paneles" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Crear enlace simbólico nuevo" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Propiedades del archivo" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Mover archivos a la papelera" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Restaurar archivos de la papelera" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Eliminar archivos" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Crear nueva ventana" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Crear una nueva ventana principal" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Ejecutar comando" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Ejecutar terminal" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Montar el sistema de archivos (solo Linux)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Desmontar el sistema de archivos (solo Linux)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "Panel izquierdo" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Árbol y panel" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "Dos paneles" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Árbol y dos paneles" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Limpiar barra de dirección" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Renombrar archivo" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Copiar archivos a la ubicación" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Mover archivos a la ubicación" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Crear enlaces simbólicos a la ubicación" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Añadir favorito" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Sincronizar paneles" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Intercambiar paneles" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Ir a la papelera" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Vaciar papelera" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Ver" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Editar" #: ../src/Preferences.cpp:1014 msgid "Toggle display hidden folders" msgstr "Mostrar archivos ocultos" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Filtrar archivos" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "Zoom al 100%" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Zoom al ancho de ventana" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "Rotar la imagen a la izquierda" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "Rotar la imagen a la derecha" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "Voltear la imagen horizontalmente" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "Voltear la imagen verticalmente" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Crear nuevo documento" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Guardar cambios al archivo" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Ir a línea" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Deshacer el último cambio" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Rehacer el último cambio" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "Reemplazar cadena" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "Activar/desactivar el modo autoformatear líneas" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "Activar/desactivar el modo numerar líneas" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Activar/desactivar el modo minúsculas" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Activar/desactivar el modo mayúsculas" #. Confirmation message #: ../src/Preferences.cpp:1114 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:1115 msgid "Restore default key bindings" msgstr "Restaurar las teclas rápidas predeterminadas" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Reiniciar" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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/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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Cerrar" #: ../src/SearchPanel.cpp:165 msgid "Refresh panel" msgstr "Refrescar panel" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Copiar archivos seleccionados al portapapeles" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Cortar archivos seleccionados al portapapeles" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Mostrar propiedades de archivos seleccionados" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Mover archivos seleccionados a la papelera" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Eliminar archivos seleccionados" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "El directorio actual ha sido fijado a '%s'" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Lis&ta completa" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnorar capitalización" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "&Autodimensionar" #: ../src/SearchPanel.cpp:2421 #, fuzzy msgid "&Packages query " msgstr "Consultar &paquetes" #: ../src/SearchPanel.cpp:2435 msgid "&Go to parent folder" msgstr "&Subir un directorio" #: ../src/SearchPanel.cpp:3658 #, c-format msgid "Copy %s items" msgstr "Copiar %s elementos" #: ../src/SearchPanel.cpp:3674 #, c-format msgid "Move %s items" msgstr "Mover %s elementos" #: ../src/SearchPanel.cpp:3690 #, c-format msgid "Symlink %s items" msgstr "Enlazar %s elementos" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr " 0 elementos" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 elemento" #: ../src/SearchWindow.cpp:71 msgid "Find files:" msgstr "Buscar archivos:" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "Ignorar capitalización\tIgnorar capitalización de nombres de archivos" #. Hidden files #: ../src/SearchWindow.cpp:79 msgid "Hidden files\tShow hidden files and folders" msgstr "Archivos ocultos\tMostrar archivos y directorios ocultos." #: ../src/SearchWindow.cpp:84 msgid "In folder:" msgstr "En el directorio:" #: ../src/SearchWindow.cpp:86 msgid "\tIn folder..." msgstr "\tEn el directorio..." #: ../src/SearchWindow.cpp:89 msgid "Text contains:" msgstr "Texto contiene:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "Ignorar capitalización\tIgnorar capitalización del texto" #. Search options #: ../src/SearchWindow.cpp:97 msgid "More options" msgstr "Más opciones" #: ../src/SearchWindow.cpp:98 msgid "Search options" msgstr "Opciones de búsqueda" #: ../src/SearchWindow.cpp:99 msgid "Reset\tReset search options" msgstr "Reinicializar\tReinicializar opciones de búsqueda" #: ../src/SearchWindow.cpp:115 msgid "Min size:" msgstr "Tamaño mínimo:" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "Filtrar por tamaño de archivo mínimo (KBytes)" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 msgid "Max size:" msgstr "Tamaño máximo:" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "Filtrar por tamaño de archivo máximo (KBytes)" #. Modification date #: ../src/SearchWindow.cpp:126 msgid "Last modified before:" msgstr "Última modificación antes:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "Filtrar por fecha de modificación mayor (días)" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "Días" #: ../src/SearchWindow.cpp:131 msgid "Last modified after:" msgstr "Última modificación después:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "Filtrar por fecha de modificación menor (días)" #. User and group #: ../src/SearchWindow.cpp:137 msgid "User:" msgstr "Usuario:" #: ../src/SearchWindow.cpp:140 msgid "\tFilter by user name" msgstr "\tFiltrar por nombre de usuario" #: ../src/SearchWindow.cpp:142 msgid "Group:" msgstr "Grupo:" #: ../src/SearchWindow.cpp:145 msgid "\tFilter by group name" msgstr "\tFiltrar por nombre de grupo" #. File type #: ../src/SearchWindow.cpp:178 msgid "File type:" msgstr "Tipo de archivo:" #: ../src/SearchWindow.cpp:181 msgid "File" msgstr "Archivo" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "Tubo" #: ../src/SearchWindow.cpp:187 msgid "\tFilter by file type" msgstr "\tFiltrar por tipo de archivo" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 msgid "Permissions:" msgstr "Permisos:" #: ../src/SearchWindow.cpp:194 msgid "\tFilter by permissions (octal)" msgstr "\tFiltrar por permisos (octal)" #. Empty files #: ../src/SearchWindow.cpp:197 msgid "Empty files:" msgstr "Archivos vacíos:" #: ../src/SearchWindow.cpp:198 msgid "\tEmpty files only" msgstr "\tSolo archivos vacíos" #: ../src/SearchWindow.cpp:202 msgid "Follow symbolic links:" msgstr "Seguir enlaces simbólicos:" #: ../src/SearchWindow.cpp:203 msgid "\tSearch while following symbolic links" msgstr "\tBuscar siguiendo enlaces simbólicos" #: ../src/SearchWindow.cpp:207 #, fuzzy msgid "Non recursive:" msgstr "Recursivamente" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:212 #, fuzzy msgid "Ignore other file systems:" msgstr "Desmontar el sistema de archivos..." #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "&Iniciar\tIniciar la búsqueda (F3)" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "&Detener\tDetener la búsqueda (Esc)" #: ../src/SearchWindow.cpp:782 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Búsqueda iniciada - Por favor espere..." #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " elementos" #: ../src/SearchWindow.cpp:938 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Resultados de búsqueda" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "Error de Entrada/Salida" #: ../src/SearchWindow.cpp:973 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "Búsqueda detenida..." #: ../src/SearchWindow.cpp:1147 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:201 #: ../src/XFileImage.cpp:327 ../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:808 #, fuzzy msgid "&Vertical panels" msgstr "Inter&cambiar paneles" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 #, 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:781 msgid "&Thumbnails" msgstr "&Miniaturas" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "P&apelera" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "¡Ejecutando Xfe como administrador!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, 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:2274 #, 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:2296 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:2300 msgid "XFE configuration file" msgstr "Archivo de configuración de XFE" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, 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:2339 ../src/XFileExplorer.cpp:3992 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "No se puede crear el directorio papelera 'archivos' %s" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, 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:2361 ../src/XFileExplorer.cpp:4007 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "No se puede crear el directorio papelera 'info' %s" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "Ayuda" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer versión %s" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Basado en X WinCommander de Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3214 #, 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" "Finnish: Kimmo Siira\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:3246 #, fuzzy msgid "About X File Explorer" msgstr "Acerca de &X File Explorer" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Execute the command:" msgstr "Ejecutar el comando:" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Console mode" msgstr "Modo consola" #: ../src/XFileExplorer.cpp:3896 msgid "Search files and folders" msgstr "Buscar archivos y directorios" #. Confirmation message #: ../src/XFileExplorer.cpp:3958 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "¿Realmente desea salir de Xfe?" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr " en " #: ../src/XFileExplorer.cpp:3959 #, 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:4049 #, 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:4051 msgid "Trash size" msgstr "Tamaño de papelera" #: ../src/XFileExplorer.cpp:4058 #, 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:4512 ../src/XFileExplorer.cpp:4586 #, fuzzy, c-format msgid "Command not found: %s" msgstr "No se puede ingresar al directorio %s: %s" #: ../src/XFileExplorer.cpp:4591 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "A&sociaciones de archivos" #: ../src/XFileExplorer.cpp:4596 #, fuzzy, c-format msgid "File association not found: %s" msgstr "A&sociaciones de archivos" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Preferencias" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Abrir archivo de paquete" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Abrir..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "Barra de &herramientas" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "Acerca de &X File Package" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "&Desinstalar" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Instalar/Actualizar" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "&Descripción" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "&Lista de archivos" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "Acerca de X File Package" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "Paquetes de fuentes RPM" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "Paquetes RPM" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "Paquetes DEB" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Abrir documento" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Ningún paquete cargado" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Formato de paquete desconocido" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Instalar/actualizar paquete" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Desinstalar paquete" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[Paquete RPM]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[Paquete DEB]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "¡Ha fallado la consulta de %s!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../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:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "No se puede abrir el archivo: %s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "Imagen GIF" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "Imagen BMP" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "Imagen XPM" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "Imagen PCX" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "Imagen ICO" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "Imagen RGB" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "Imagen XBM" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "Imagen TARGA" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "Imagen PPM" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "Imagen PNG" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "Imagen JPEG" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "Imagen TIFF" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "&Imagen" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Abrir" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Abrir archivo de imagen." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Imprimir" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 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:660 msgid "Zoom in" msgstr "Ampliar" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "Ampliar la imagen." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Reducir" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "Reducir la imagen." #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "Ampliar 100%" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "Ampliar la imagen al 100%." #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "Ajustar a la ventana" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "Ampliar hasta ajustar a la ventana." #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "Rotar a la izquierda" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Rotar la imagen a la izquierda." #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Rotar a la derecha" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Rotar la imagen a la derecha." #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Voltear horizontalmente" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "Voltear la imagen horizontalmente." #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Voltear verticalmente" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Voltear la imagen verticalmente." #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "Im&primir..." #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "&Limpiar archivos recientes" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "Limpiar el menú de archivos recientes." #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Salir de Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "&Ampliar" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "&Reducir" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "A&mpliar 100%" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "Ajustar a la &ventana" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "Rotar a la &derecha" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Rotar a la derecha." #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "Rotar a la &izquierda" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Rotar a la izquierda." #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "Voltear &horizontalmente" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Voltear horizontalmente." #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "Voltear &verticalmente" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Voltear verticalmente." #: ../src/XFileImage.cpp:775 msgid "Show hidden files and folders." msgstr "Mostrar archivos y directorios ocultos." #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Mostrar miniaturas de imágenes." #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Mostrar directorios con iconos grandes." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Mostrar directorios con iconos pequeños." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "&Lista detallada de archivos" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Mostrar listado detallado del directorio." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "Mostrar los iconos por filas." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "Mostrar los iconos por columnas." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Autodimensionar nombres de iconos." #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Mostrar la barra de herramientas." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "&Lista de archivos" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Mostrar la lista de archivos." #: ../src/XFileImage.cpp:824 #, fuzzy msgid "File list &before" msgstr "Color de texto de lista de archivos" #: ../src/XFileImage.cpp:824 #, fuzzy msgid "Display file list before image window." msgstr "Mostrar directorio con iconos grandes." #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "&Filtrar imágenes" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Listar solo los archivos de imagen." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "Ajustar a la &ventana al abrir" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "Ajustar a la ventana al abrir una imagen." #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "Acerca de &X File Image" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "Acerca de X File Image." #: ../src/XFileImage.cpp:1333 #, 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:1335 msgid "About X File Image" msgstr "Acerca de X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Error al cargar la imagen" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Tipo no soportado: %s" #: ../src/XFileImage.cpp:1464 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:1504 #, 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:1619 msgid "Open Image" msgstr "Abrir imagen" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Comando de impresión: \n" "(ej: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Error al guardar el archivo" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "No se puede abrir el archivo: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "El archivo es demasiado grande: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "Archivo: %s truncado." #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "sin título" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "sin título%d" #: ../src/WriteWindow.cpp:1477 #, 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:1479 msgid "About X File Write" msgstr "Acerca de X File Write" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Cambiar fuente" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Archivos de texto" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "Archivos de código C" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "Archivos de código C++" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "Archivos de cabeceras C/C++" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "Archivos HTML" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "Archivos PHP" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Documento sin guardar" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "¿Guardar %s a un archivo?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Guardar documento" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Sobreescribir documento" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "¿Sobreescribir documento existente: %s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (modificado)" #: ../src/WriteWindow.cpp:1851 #, fuzzy msgid " (read only)" msgstr "Sólo lectura" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "SOB" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "El archivo fue modificado" #: ../src/WriteWindow.cpp:2071 #, 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:2132 msgid "Replace" msgstr "Reemplazar" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Ir a línea" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "&Ir a línea número:" #. Usage message #: ../src/XFileWrite.cpp:217 #, 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Error: No se puede cerrar el directorio %s\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 #, fuzzy msgid "copy" msgstr "Copiar archivo" #: ../src/xfeutils.cpp:1413 #, c-format msgid "Error: Can't read group list: %s" msgstr "Error: No se puede leer la lista de grupos: %s" #: ../src/xfeutils.cpp:1417 #, 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" #~ msgid "&Themes" #~ msgstr "&Temas" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "Confirmar ejecución de archivos de texto" #~ msgid "KB" #~ msgstr "KB" #~ 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? " #~ 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?" #~ 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?" #~ 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?" #~ 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?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ msgstr "¡Ha ocurrido un error!" #, 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.44/po/es_CO.po0000644000200300020030000060460414023353061011102 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: 2021-03-14 10:23+0100\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:333 #, 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:467 #, 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:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Error al cargar los iconos" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "" "No se pueden cargar algunos iconos. Por favor, ¡compruebe la ruta de iconos!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" 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:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Propiedades" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&General" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Directorio" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Dispositivo de Caracter" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Dispositivo de Bloque" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Tubería con Nombre" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Enchufe" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Ejecutable" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Documento" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Enlace Roto" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 #, fuzzy msgid "Link to " msgstr "Enlace a " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Ubicación:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Tipo:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Tamaño:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Selección:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Múltiples tipos" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d elementos" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d archivos, %d directorios" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d archivos, %d directorios" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d archivos, %d directorios" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d archivos, %d directorios" #: ../src/Properties.cpp:1252 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Mostrar propiedades de los archivos seleccionados" #: ../src/Properties.cpp:1256 #, fuzzy msgid "Change properties of the selected file?" msgstr "Mostrar propiedades de los archivos seleccionados" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 #, fuzzy msgid "Confirm Change Properties" msgstr "Propiedades del archivo" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Advertencia" #: ../src/Properties.cpp:1401 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "¡Operación de movimiento de archivos cancelada!" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Nombre de archivo vacío, operación cancelada" #: ../src/Properties.cpp:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 #, 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:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "No se puede escribir en %s: Permiso denegado" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "Directorio %s no existe" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Renombrar archivo" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Propietario del archivo" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "¡Cambio de propietario cancelado!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown en %s falló: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "Chown en %s falló" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 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:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod en %s falló: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Permisos de archivo" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Se canceló cambio de los permisos de archivo!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "Chmod en %s falló" #: ../src/Properties.cpp:1628 #, fuzzy msgid "Apply permissions to the selected items?" msgstr "%s en %s elementos seleccionados" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "¡Cambio en los permisos de archivo (s) cancelado!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Seleccione un archivo ejecutable" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Todos los archivos" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "Imágenes PNG" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "Imágenes GIF" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "Imágenes BMP" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Seleccione un archivo de icono" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%u archivos, %u subdirectorios" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%u archivos, %u subdirectorios" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%u archivos, %u subdirectorios" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u archivos, %u subdirectorios" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Copiar aquí" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Mover aquí" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Enlazar aquí" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Cancelar" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Copiar archivo" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Mover Archivo" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Enlazar Archivo" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Copiar" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Copiar %s archivos/directorios.\n" "De: %s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Mover" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Mover %s archivos/directorios.\n" "De: %s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Enlace" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "A:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 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:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "¡Operación de movimiento de archivos cancelada!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 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:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "¡Operación de copia de archivos cancelada!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "El punto de montaje %s no responde..." #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "0 bytes en la raíz" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 #, fuzzy msgid "Panel is active" msgstr "Panel tiene el foco" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 #, fuzzy msgid "Activate panel" msgstr "Intercambiar páneles" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "&Añadir al archivo..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Copiar" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "C&ortar" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Pegar" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Mover a..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, 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:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, 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:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 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:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Crear un archivo" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Copiar " #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "Copiar %s elementos de: %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Renombrar" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Renombrar" #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Copiar" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Mover " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "Moviendo %s elementos de: %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Enlace simbólico " #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "Enlanzar %s elementos de: %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s no es un directorio" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "¡Se produjo un error durante la operación de enlace!" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "Operación de enlace cancelada!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "¿En definitiva eliminar el directorio %s ?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Confirmar Eliminación" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Borrar archivo" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, 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:2264 #, 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:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "¡Operación de eliminación de directorio cancelada!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "¿Mover el directorio %s a la papelera?" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Confirmar Papelera" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Mover a la papelera" #: ../src/DirPanel.cpp:2360 #, 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:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 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:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "¡Se canceló la operación Mover Directorio!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Restaurar de papelera" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "¿Restaurar directorio %s a su ubicación original %s ?" #: ../src/DirPanel.cpp:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Confirmar Restauración" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "La información para restaurar %s, no está disponible" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, 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:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "No se puede crear el directorio %s : %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "No se puede crear el directorio %s" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 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:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "¡Operación de restaurar archivos de la papelera cancelada!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Crear directorio nuevo:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Directorio nuevo" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Nombre de archivo vacío, operación cancelada" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Ejecutar comando" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Montar" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Desmontar" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " sistema de archivos..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " el directorio:" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " operación cancelada!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 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:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Cambiando permisos..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "Archivo:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Confirmar sobrescritura" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "No se puede copiar el archivo %s: %s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "No se puede copiar el archivo %s" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "Origen: " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "Destino: " #: ../src/File.cpp:604 #, 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:608 #, 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:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "No se puede copiar el directorio %s : Permiso denegado" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "No se puede copiar el archivo %s : Permiso denegado" #: ../src/File.cpp:791 #, 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:795 #, 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:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "No existe el origen %s" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "Destino %s es idéntico al origen" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, 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:1048 #, fuzzy msgid "Delete folder: " msgstr "Eliminar directorio: " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "De: " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "No se puede eliminar el directorio %s: %s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "No se puede eliminar el directorio %s" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "No se puede eliminar el archivo %s: %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "No se puede eliminar el archivo %s" #: ../src/File.cpp:1213 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "El archivo o directorio %s ya existe" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "No se puede cambiar el nombre de destino %s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "No se pudo crear enlace %s: %s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "No se pudo crear enlace %s" #: ../src/File.cpp:1655 ../src/File.cpp:1852 #, fuzzy msgid "Folder: " msgstr "Directorio: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Extraer archivo" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Añadir al archivo" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Error en el comando: %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Éxito" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "El directorio %s se montó correctamente." #: ../src/File.cpp:2115 #, 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:2126 msgid "Install/Upgrade package" msgstr "Instalar/Actualizar paquete" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "Instalando el paquete: %s\n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Desinstalar paquete" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 #, fuzzy msgid "Go to previous folder" msgstr "Mover al directorio anterior." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 #, fuzzy msgid "Go to next folder" msgstr "Mover al directorio siguiente." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 #, fuzzy msgid "Go to parent folder" msgstr "Ir al directorio superior" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "Ir al directorio personal" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Listado con iconos grandes" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Listado con iconos pequeños" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Listado detallado de archivos" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Mostrar archivos ocultos" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "Ocultar archivos ocultos" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Mostrar miniaturas" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 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:3758 msgid "New File" msgstr "Archivo nuevo" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "El archivo o directorio %s ya existe" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "Ir al directorio &personal" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "D&irectorio nuevo..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "Archivos &ocultos" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "Minia&turas" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "Iconos &grandes" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "Iconos &pequeños" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "Listado de archivos comple&to" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "&Filas" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "&Columnas" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "Tamaño automático" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "&Nombre" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "Ta&maño" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Tipo" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "E&xtensión" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "&Fecha" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "&Usuario" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "&Grupo" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 #, fuzzy msgid "Fold&ers first" msgstr "Directorios" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "Orden &inverso" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "&Familia:" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "&Peso:" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "&Estilo:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "Ta&maño:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Juego de caracteres:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Cualquier" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "Europa Occidental" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Europa del Este" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Sur de Europa" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Norte de Europa" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Cirílico" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Árabe" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Griego" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Hebreo" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Turco" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Nórdico" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Tailandés" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Báltico" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Celta" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Ruso" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Europa Central (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Ruso (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Latin1 (CP1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Griego (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Turco (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Hebreo (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Árabe (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Báltico (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Vietnam (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Thai (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Establecer ancho:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "Ultra condensada" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Extra condensada" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Condensado" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "Semi condensada" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Normal" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Semi expandido" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Expandido" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Muy ampliada" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "Ultra ampliada" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "Espaciado:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Fijo" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Variable" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "Escalable:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Todas las tipografías:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Vista previa:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Inicie Xfe como superusuario" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&No" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Sí" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Salir" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Guardar" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Sí a &Todo" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Introduzca la contraseña de usuario:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Introduzca la contraseña de superusuario:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "!Ha ocurrido un error!" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Nombre: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Tamaño de la raíz: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Tipo: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Fecha de modificación: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Usuario: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Grupo: " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Permisos: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Ruta original: " #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Fecha de Eliminación: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Tamaño: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Tamaño" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Tipo" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Extensión" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Fecha de modificación" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Permisos" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "No se pudo cargar la imagen" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Ruta original" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Fecha de Eliminación" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Filtrar" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Estado" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, 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:1035 ../src/SearchPanel.cpp:790 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Bitácora de comandos" #: ../src/FilePanel.cpp:1832 #, 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:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "Al directorio:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, 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:2408 ../src/SearchPanel.cpp:2936 #, c-format msgid "Move file %s to trash can?" msgstr "¿Mover el archivo %s a la papelera?" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "¿Mover %s elementos seleccionados a la papelera?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, 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:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "¡Cancelada la operaciónd e Mover a la papelera!" #: ../src/FilePanel.cpp:2716 #, 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:2721 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "¿Restaurar %s elementos seleccionados a sus ubicaciones originales?" #: ../src/FilePanel.cpp:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "No se puede crear el directorio %s: %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, c-format msgid "Definitively delete file %s ?" msgstr "¿Eliminar definitivamente el archivo %s ?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, c-format msgid "Definitively delete %s selected items?" msgstr "¿Borrar definitivamente %s elementos seleccionados?" #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, 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:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "¡Operación de eliminación de archivo cancelada!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3758 msgid "Create new file:" msgstr "Crear archivo nuevo:" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "No se puede crear el archivo %s: %s" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "No se puede crear el archivo %s" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "No se pueden establecer permisos en %s: %s" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "No se puede establecer permisos en %s" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Crear un enlace simbólico nuevo:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Enlace nuevo" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "Seleccione el archivo de enlace simbólico referido o el directorio" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "No existe el origen del enlace %s" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Abra el archivo seleccionado (s) con:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Abrir con" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "A&sociar" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Mostrar todos los archivos:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "Archi&vo nuevo..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "En&lace nuevo..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "Fi<ros..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "&Listado de archivos completo" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "Per&misos" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "Archi&vo nuevo..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Montaje" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "Abrir &con..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Abrir" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 #, fuzzy msgid "Extr&act to folder " msgstr "Extr&aer a directorio" #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "&Extraer aquí" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "E&xtraer a..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Ver" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Instalar/Act&ualizar" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "Des&instalar" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Editar" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 #, fuzzy msgid "Com&pare..." msgstr "&Remplazar..." #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4672 #, fuzzy msgid "Packages &query " msgstr "&Consultar Paquetes" #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 #, fuzzy msgid "Scripts" msgstr "De&scripción" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 #, fuzzy msgid "&Go to script folder" msgstr "Ir al directorio superior" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Copiar &a..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 #, fuzzy msgid "M&ove to trash" msgstr "Mover a la papelera" #: ../src/FilePanel.cpp:4695 #, fuzzy msgid "Restore &from trash" msgstr "Restaurar de papelera" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 #, fuzzy msgid "Compare &sizes" msgstr "Origen:" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 #, fuzzy msgid "P&roperties" msgstr "Propiedades" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Seleccione un directorio destino" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Todos los archivos" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Instalación/Actualización de Paquete" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Desinstalación de Paquete" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, fuzzy, c-format msgid "Error: Fork failed: %s\n" msgstr "¡Error! Fork (bifuración) falló: %s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "No se puede crear el directorio %s : %s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "No se puede crear el directorio %s" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "¡No se encontró un administrador de paquetes compatbile (rpm o dpkg)!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "El archivo %s no pertenece a ningún paquete." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Información" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, 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:6220 ../src/SearchPanel.cpp:2887 #, fuzzy msgid "Sizes of Selected Items" msgstr "%s en %s elementos seleccionados" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 bytes" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s en %s elementos seleccionados" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s en %s elementos seleccionados" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s en %s elementos seleccionados" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s en %s elementos seleccionados" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " el directorio:" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d archivos, %d directorios" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d archivos, %d directorios" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d archivos, %d directorios" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Enlace" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "C&errar" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "No se puede eliminar el archivo %s: %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 #, fuzzy msgid "Can't duplicate pipes" msgstr "No se puede eliminar el archivo %s" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> COMANDO CANCELADO <<<<" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "Preferencias" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Tema actual" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Opciones" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "" "Utilizar la papelera para eliminación de archivos (eliminación cautelosa)" #: ../src/Preferences.cpp:184 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:185 msgid "Auto save layout" msgstr "Auto guardar diseño" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Guardar posición de la ventana" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Single click folder open" msgstr "Una sóla pulsación abre archivo" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Una sóla pulsación abre archivo" #: ../src/Preferences.cpp:189 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "Mostrar ayudas emergentes en listados de archivos y directorios" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "Cambiar el tamaño relativo de los listados de archivos" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Mostrar un enlazador de rutas sobre los listados de archivos" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Notificar cuando las aplicaciones inicien" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Confirmar ejecutar archivos de texto" #: ../src/Preferences.cpp:198 #, 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)" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:213 #, fuzzy msgid "Start in home folder" msgstr "Ir al directorio personal" #: ../src/Preferences.cpp:214 #, fuzzy msgid "Start in current folder" msgstr "Ir al directorio superior" #: ../src/Preferences.cpp:215 #, fuzzy msgid "Start in last visited folder" msgstr "Mostrar todos los archivos y directorios ocultos." #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "Desplazamiento suave en los listados de archivos y ventanas de texto" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Velocidad de desplazamiento del ratón:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Color de la barra de desplazamiento" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Módo Superusuario" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "Permitir modo superusuario" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Autenticación con sudo (utiliza contraseña de usuario)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Autenticación con su (utiliza contraseña de superusuario)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Error en el comando: %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Ejecutar comando" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "&Diálogos" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Confirmaciones" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "Confirmar copiar/mover/renombrar/enlazar" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "Confirmar arrastrar y soltar" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "Confirmar mover a la papelera/restaurar de la papelera" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Confirmar eliminación" #: ../src/Preferences.cpp:331 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Confirmar borrar directorios no vacíos" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Confirmar sobrescribir" #: ../src/Preferences.cpp:333 msgid "Confirm execute text files" msgstr "Confirmar ejecutar archivos de texto" #: ../src/Preferences.cpp:334 #, fuzzy msgid "Confirm change properties" msgstr "Propiedades del archivo" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Advertencias" #: ../src/Preferences.cpp:337 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:339 msgid "Warn when mount points are not responding" msgstr "Avisar cuando los puntos de montaje no respondan" #: ../src/Preferences.cpp:340 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Visualizar mensajes de exito en montajes/desmontajes" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "Avisar cuando la preservación de fecha falle" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Advertir si se ejecuta como superusuario" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Programas" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Programas predeterminados" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Visor de Texto:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Editor de texto:" #: ../src/Preferences.cpp:405 #, fuzzy msgid "File comparator:" msgstr "Permisos de archivo" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Editor de Imágenes:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Visor de imágenes:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Archivador:" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "Lector de PDF:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Reproductor de Audio:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Reproductor de Vídeo:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "Terminal:" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 #, fuzzy msgid "Mount:" msgstr "Montar" #: ../src/Preferences.cpp:462 #, fuzzy msgid "Unmount:" msgstr "Desmontar" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Color del tema" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Colores Personalizados" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Haga doble click para personalizar color" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Color de base" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Color del borde" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Color del fondo" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Color del texto" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Selección del color de fondo" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Selección del color de texto" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Color del fondo en los listados" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Color del texto en los listados" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Color de resaltado en listados" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "Color en la barra de progreso" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Color de Atención" #: ../src/Preferences.cpp:500 msgid "Scrollbar color" msgstr "Color de la barra de desplazamiento" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Controles" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Estándar (controles clásicos)" #: ../src/Preferences.cpp:517 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:520 msgid "Icon theme path" msgstr "Ruta a los iconos del tema" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tSeleccionar ruta..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Tipo de letra" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Tipos de letra" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Tipo de letra normal:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Seleccionar..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Tipo de letra del texto:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "&Atajos de teclado" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Atajos de teclado" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Modificar atajos de teclado..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Restaurar atajos de teclado predeterminados..." #: ../src/Preferences.cpp:634 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:723 msgid "Change Normal Font" msgstr "Cambiar la tipografía normal" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Cambiar la tipografía para textos" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Crear un archivo nuevo" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Crear un directorio nuevo" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "Copiar al portapapeles" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "Cortar al portapapeles" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Pegar desde el portapapeles" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Abrir el archivo" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Salir de la aplicación" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Seleccionar todo" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Deseleccionar todo" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Invertir selección" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Mostrar ayuda" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Alternar mostrar archivos ocultos" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Alternar visualización de miniaturas de imágenes" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Cerrar ventana" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Imprimir archivo" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Buscar" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Buscar anterior" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Buscar siguiente" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 #, fuzzy msgid "Vertical panels" msgstr "Intercambiar páneles" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 #, fuzzy msgid "Horizontal panels" msgstr "Intercambiar páneles" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Actualizar paneles" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Crear un enlace simbólico nuevo" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Propiedades del archivo" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Mover archivos a la papelera" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Restaurar archivos de papelera" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Eliminar archivos" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Crear una ventana nueva" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Crear ventana superusuario nueva" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Ejecutar comando" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Lanzar terminal" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Montar el sistema de archivos (sólo Linux)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Desmontar el sistema de archivos (sólo Linux)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "Modo Un panel" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Modo Árbol y panel" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "Modo Dos paneles" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Modo Árbol y dos paneles" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Limpiar Barra de Ubicación" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Renombar archivo" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Copiar archivos a la ubicación" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Mover archivos a la ubicación" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Enlzar archivos a una ubicación" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Añadir marcador" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Sincronizar los paneles" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Intercambiar páneles" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Ir a la papelera" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Vaciar papelera" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Ver" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Editar" #: ../src/Preferences.cpp:1014 #, fuzzy msgid "Toggle display hidden folders" msgstr "Alternar mostrar archivos ocultos" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Filtrar archivos" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "Ampliar imagen al 100%" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Ampliar para ajustar a la ventana" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "Girar imagen a la izquierda" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "Girar imagen a la derecha" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "Reflejar imagen horizontalmente" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "Reflejar imagen verticalmente" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Crear un documento nuevo" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Guardar cambios al archivo" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Ir a la línea" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Deshacer el último cambio" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Rehacer el último cambio" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "Reemplazar cadena" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "Alternar el modo Ajuste de texto" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "Activar el modo Numeración de líneas" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Activar el modo Minúsculas" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Activar el modo Mayúsculas" #. Confirmation message #: ../src/Preferences.cpp:1114 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:1115 msgid "Restore default key bindings" msgstr "Restaurar atajos de teclado predeterminados" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Reanudar" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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/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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Cerrar" #: ../src/SearchPanel.cpp:165 #, fuzzy msgid "Refresh panel" msgstr "Actualizar paneles" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Copiar archivos seleccionados en el portapapeles" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Cortar archivos seleccionados al portapapeles" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Mostrar propiedades de los archivos seleccionados" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Mover los archivos seleccionados a la papelera" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Eliminar los archivos seleccionados" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Listado de archi&vos completo" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "Ignorar capitali&zación" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "Tamaño &automático" #: ../src/SearchPanel.cpp:2421 #, fuzzy msgid "&Packages query " msgstr "&Consultar Paquetes" #: ../src/SearchPanel.cpp:2435 #, fuzzy msgid "&Go to parent folder" msgstr "Ir al directorio superior" #: ../src/SearchPanel.cpp:3658 #, fuzzy, c-format msgid "Copy %s items" msgstr "Copiar %s elementos de: %s" #: ../src/SearchPanel.cpp:3674 #, fuzzy, c-format msgid "Move %s items" msgstr "Moviendo %s elementos de: %s" #: ../src/SearchPanel.cpp:3690 #, fuzzy, c-format msgid "Symlink %s items" msgstr "Enlanzar %s elementos de: %s" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr " elementos" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 elemento" #: ../src/SearchWindow.cpp:71 #, fuzzy msgid "Find files:" msgstr "Imprimir archivo" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:79 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr "Mostrar todos los archivos y directorios ocultos." #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "In folder:" msgstr "Al directorio:" #: ../src/SearchWindow.cpp:86 #, fuzzy msgid "\tIn folder..." msgstr "&Directorio nuevo..." #: ../src/SearchWindow.cpp:89 #, fuzzy msgid "Text contains:" msgstr "Tipo de letra del texto:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "More options" msgstr "Buscar anterior" #: ../src/SearchWindow.cpp:98 #, fuzzy msgid "Search options" msgstr "Buscar anterior" #: ../src/SearchWindow.cpp:99 #, fuzzy msgid "Reset\tReset search options" msgstr "Buscar anterior" #: ../src/SearchWindow.cpp:115 #, fuzzy msgid "Min size:" msgstr "Imprimir archivo" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "Filtrar archivos" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 #, fuzzy msgid "Max size:" msgstr "Tamaño total:" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "Filtrar archivos" #. Modification date #: ../src/SearchWindow.cpp:126 #, fuzzy msgid "Last modified before:" msgstr "Última Modificación:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:131 #, fuzzy msgid "Last modified after:" msgstr "Última Modificación:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:137 #, fuzzy msgid "User:" msgstr "Usuario: " #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "\tFilter by user name" msgstr "Filtrar archivos" #: ../src/SearchWindow.cpp:142 #, fuzzy msgid "Group:" msgstr "Grupo: " #: ../src/SearchWindow.cpp:145 #, fuzzy msgid "\tFilter by group name" msgstr "Filtrar archivos" #. File type #: ../src/SearchWindow.cpp:178 #, fuzzy msgid "File type:" msgstr "Sistema de archivos:" #: ../src/SearchWindow.cpp:181 #, fuzzy msgid "File" msgstr "Archivo:" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:187 #, fuzzy msgid "\tFilter by file type" msgstr "Filtrar archivos" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 #, fuzzy msgid "Permissions:" msgstr "Permisos: " #: ../src/SearchWindow.cpp:194 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Permisos de archivo" #. Empty files #: ../src/SearchWindow.cpp:197 #, fuzzy msgid "Empty files:" msgstr "Mostrar todos los archivos:" #: ../src/SearchWindow.cpp:198 #, fuzzy msgid "\tEmpty files only" msgstr "Mostrar todos los archivos:" #: ../src/SearchWindow.cpp:202 #, fuzzy msgid "Follow symbolic links:" msgstr "Crear un enlace simbólico nuevo:" #: ../src/SearchWindow.cpp:203 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Crear un enlace simbólico nuevo" #: ../src/SearchWindow.cpp:207 #, fuzzy msgid "Non recursive:" msgstr "Recursivamente" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:212 #, fuzzy msgid "Ignore other file systems:" msgstr "Desmontar el sistema de archivos..." #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:782 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Buscar anterior" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " elementos" #: ../src/SearchWindow.cpp:938 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Buscar anterior" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:973 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "Buscar en el texto." #: ../src/SearchWindow.cpp:1147 #, 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:201 #: ../src/XFileImage.cpp:327 ../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:808 #, fuzzy msgid "&Vertical panels" msgstr "Cam&biar paneles" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 #, 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:781 msgid "&Thumbnails" msgstr "Minia&turas" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "Papele&ra" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "¡Ejecutando Xfe como superusuario!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, 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:2274 #, 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:2296 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:2300 msgid "XFE configuration file" msgstr "Archivo de configuración de Xfe" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, 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:2339 ../src/XFileExplorer.cpp:3992 #, 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:2357 ../src/XFileExplorer.cpp:4005 #, 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:2361 ../src/XFileExplorer.cpp:4007 #, 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:3181 msgid "Help" msgstr "Ayuda" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer versión %s" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Basado en X WinCommander por Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3214 #, 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" "Finnish: Kimmo Siira\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:3246 #, fuzzy msgid "About X File Explorer" msgstr "Acerca de &X File Explorer" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Execute the command:" msgstr "Ejecutar el comando:" #: ../src/XFileExplorer.cpp:3718 #, fuzzy msgid "Console mode" msgstr "Modo consola" #: ../src/XFileExplorer.cpp:3896 #, fuzzy msgid "Search files and folders" msgstr "Mostrar todos los archivos y directorios ocultos." #. Confirmation message #: ../src/XFileExplorer.cpp:3958 #, 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:3958 #, fuzzy msgid " in " msgstr " en la raíz" #: ../src/XFileExplorer.cpp:3959 #, 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:4049 #, 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:4051 msgid "Trash size" msgstr "Tamaño de la papelera" #: ../src/XFileExplorer.cpp:4058 #, 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:4512 ../src/XFileExplorer.cpp:4586 #, fuzzy, c-format msgid "Command not found: %s" msgstr "No se puede eliminar el directorio %s: %s" #: ../src/XFileExplorer.cpp:4591 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "Asociaciones de A&rchivos" #: ../src/XFileExplorer.cpp:4596 #, fuzzy, c-format msgid "File association not found: %s" msgstr "Asociaciones de A&rchivos" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Preferencias" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Abrir archivo con paquete" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "A&brir..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Barra de herramientas" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "Acerca de &X File Package" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "&Desinstalar" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Instalar/Actualizar" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "De&scripción" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "Listado de Archi&vos" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "Acerca de X File Package" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "Paquetes RPM con código fuente" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "Paquetes RPM" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "Paquetes DEB" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Abrir Documento" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Ningún paquete cargado" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Formato de paquete desconocido" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Instalar/Actualizar Paquete" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Desinstalar Paquete" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[Paquete RPM]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[Paquete DEB]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "¡Falló consulta de %s!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../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:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "No se puede abrir el archivo: %s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "Imagen GIF" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "Imagen BMP" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "Imagen XPM" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "Imagen PCX" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "Imagen OIC" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "Imagen RGB" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "Imagen XBM" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "Imagen TARGA" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "Imagen PPM" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "Imagen PNG" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "Imagen JPEG" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "Imagen TIFF" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "&Imagen" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Abrir" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Abrir archivo de imagen." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Imprimir" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 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:660 msgid "Zoom in" msgstr "Acercar" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "Acercar imagen." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Alejar" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "Alejar imagen." #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "Ampliar al 100%" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "Ampliar imagen al 100%." #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "Ampliar para encajar" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "Ampliar para encajar a la ventana." #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "Girar a la izquierda" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Rotar imagen de la izquierda." #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Girar a la derecha" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Girar la imagen derecha." #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Reflejar horizontalmente" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "Imagen espejo horizontalmente." #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Reflejar verticalmente" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Reflejar imagen verticalmente." #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "&Impresión..." #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "&Borrar archivos recientes" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "Borrar archivos recientes del menú." #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Salir Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "A&cercar" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "A&lejar" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "A&mpliar al 100%" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "Ampliar para encajar a la &ventana" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "Girar a la &derecha" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Girar a la derecha." #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "Girar a la &izquierda" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Girar a la izquierda." #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "Reflejar &horizontalmente" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Reflejar horizontalmente." #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "Reflejar v&erticalmente" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Reflejar verticalmente" #: ../src/XFileImage.cpp:775 #, fuzzy msgid "Show hidden files and folders." msgstr "Mostrar todos los archivos y directorios ocultos." #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Mostrar imágenes en miniatura." #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Visualizar directorio con iconos grandes." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Visualizar directorio con iconos pequeños." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "Listado de archivos &detallado" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Mostrar listado detallado del directorio." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "Ver los iconos de sabios fila." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "Ver los iconos de modo de columna." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Autosize nombres de iconos." #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Mostrar barra de herramientas." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "Listado de &archivos" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Mostrar lista de archivos." #: ../src/XFileImage.cpp:824 #, fuzzy msgid "File list &before" msgstr "Color del texto en los listados" #: ../src/XFileImage.cpp:824 #, fuzzy msgid "Display file list before image window." msgstr "Mostrar directorio con iconos grandes." #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "&Filtar imágenes" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Listar sólo archivos de imagen." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "A&justar la ventana al abrir" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "Ampliar para encajar a la ventana al abrir una imagen." #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "Acerca de &X File Image" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "Acerca de X File Image." #: ../src/XFileImage.cpp:1333 #, 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:1335 msgid "About X File Image" msgstr "Acerca de X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Error Loading Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Tipo no soportado: %s" #: ../src/XFileImage.cpp:1464 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:1504 #, 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:1619 msgid "Open Image" msgstr "Abrir imagen" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Comando para imprimir: \n" " (por ejemplo: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Error al guardar el archivo" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "No se puede abrir el archivo: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "El archivo es demasiado grande: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "Archivo: %s truncado." #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "Sin título" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "sintitulo%d" #: ../src/WriteWindow.cpp:1477 #, 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:1479 msgid "About X File Write" msgstr "Acerca de X File Write" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Cambiar el tipo de letra" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Archivos de texto" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "Archivos con código fuente en C" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "Archivos con código fuente en C++" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "Archivos con encabezados C/C++" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "Archivos HTML" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "Archivos PHP" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Documento no guardado" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "¿Guardar archivo %s?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Guardar documento" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Sobrescribir documento" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "Sobrescribir existente documento: %s ?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (Cambiado)" #: ../src/WriteWindow.cpp:1851 #, fuzzy msgid " (read only)" msgstr "Solo lectura" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "El archivo ha cambiado" #: ../src/WriteWindow.cpp:2071 #, 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:2132 msgid "Replace" msgstr "Reemplazar" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Ir a la línea" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "&Ir a una línea numerada:" #. Usage message #: ../src/XFileWrite.cpp:217 #, 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "No se puede cerrar el directorio %s\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 #, fuzzy msgid "copy" msgstr "Copiar archivo" #: ../src/xfeutils.cpp:1413 #, c-format msgid "Error: Can't read group list: %s" msgstr "" #: ../src/xfeutils.cpp:1417 #, 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" #~ msgid "&Themes" #~ msgstr "&Temas" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "Confirmar ejecutar archivos de texto" #~ msgid "KB" #~ msgstr "KB" #~ 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?" #~ 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?" #~ 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?" #~ 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?" #~ 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?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ msgstr "!Ha ocurrido un error!" #, 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.44/po/ChangeLog0000644000200300020030000000143013501733230011310 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.44/po/cs.po0000644000200300020030000060651214023353061010517 00000000000000# msgid "" msgstr "" "Project-Id-Version: Xfe 1.40.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-14 10:23+0100\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:333 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:467 #, 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:566 ../src/main.cpp:572 ../src/XFilePackage.cpp:889 #: ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2864 #: ../src/XFileImage.cpp:2870 ../src/XFileWrite.cpp:355 #: ../src/XFileWrite.cpp:361 msgid "Error loading icons" msgstr "Chyba při nahrávání ikon" #: ../src/main.cpp:566 ../src/XFilePackage.cpp:889 ../src/XFileImage.cpp:2864 #: ../src/XFileWrite.cpp:355 #, fuzzy msgid "" "Icon path doesn't exist, icon theme was set back to default. Please check " "your icon path!" msgstr "Nemohu načíst některé ikony. Prosím zkontrolujte cestu k ikonám!" #: ../src/main.cpp:572 ../src/XFilePackage.cpp:895 ../src/XFileImage.cpp:2870 #: ../src/XFileWrite.cpp:361 #, fuzzy msgid "Unable to load some icons. Please check your icon theme!" 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:155 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:156 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:676 #: ../src/Properties.cpp:929 ../src/Properties.cpp:960 msgid "Properties" msgstr "Vlastnosti" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:948 ../src/FontDialog.cpp:46 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:168 ../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:952 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:47 ../src/MessageBox.cpp:94 #: ../src/MessageBox.cpp:106 ../src/MessageBox.cpp:113 #: ../src/MessageBox.cpp:119 ../src/MessageBox.cpp:126 #: ../src/CommandWindow.cpp:58 ../src/CommandWindow.cpp:87 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:173 ../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:958 #: ../src/Preferences.cpp:179 msgid "&General" msgstr "&Obecné" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:974 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:927 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:395 #: ../src/Preferences.cpp:401 ../src/Preferences.cpp:407 #: ../src/Preferences.cpp:413 ../src/Preferences.cpp:419 #: ../src/Preferences.cpp:425 ../src/Preferences.cpp:431 #: ../src/Preferences.cpp:437 ../src/Preferences.cpp:443 #: ../src/Preferences.cpp:449 ../src/Preferences.cpp:458 #: ../src/Preferences.cpp:464 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:146 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:1104 ../src/DirList.cpp:1931 ../src/IconList.cpp:2479 #: ../src/FileList.cpp:149 ../src/FileList.cpp:4319 ../src/FileList.cpp:4325 #: ../src/FileList.cpp:5015 ../src/FileList.cpp:5021 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1978 ../src/SearchPanel.cpp:1984 #: ../src/SearchWindow.cpp:182 msgid "Folder" msgstr "Adresář" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4332 #: ../src/FileList.cpp:5028 ../src/FileList.cpp:5132 #: ../src/SearchPanel.cpp:1991 msgid "Character Device" msgstr "Znakové zařízení" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4338 #: ../src/FileList.cpp:5034 ../src/FileList.cpp:5136 #: ../src/SearchPanel.cpp:1997 msgid "Block Device" msgstr "Blokové zařízení" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4344 #: ../src/FileList.cpp:5040 ../src/FileList.cpp:5140 #: ../src/SearchPanel.cpp:2003 msgid "Named Pipe" msgstr "Pojmenovaná roura" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4350 #: ../src/FileList.cpp:5046 ../src/FileList.cpp:5144 #: ../src/SearchPanel.cpp:2009 ../src/SearchWindow.cpp:184 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4356 ../src/FileList.cpp:5052 #: ../src/FileList.cpp:5148 ../src/SearchPanel.cpp:2015 msgid "Executable" msgstr "Spustitelný" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1076 #: ../src/Properties.cpp:1092 ../src/FileList.cpp:4366 ../src/FileList.cpp:5062 #: ../src/FileList.cpp:5152 ../src/SearchPanel.cpp:2025 msgid "Document" msgstr "Dokument" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4395 ../src/FileList.cpp:5109 #: ../src/FilePanel.cpp:6366 ../src/SearchPanel.cpp:2050 #: ../src/SearchPanel.cpp:4343 msgid "Broken link" msgstr "Poškozený odkaz" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4406 ../src/FileList.cpp:4410 #: ../src/FileList.cpp:5120 ../src/FileList.cpp:5155 #: ../src/SearchPanel.cpp:2061 ../src/SearchPanel.cpp:2065 msgid "Link to " msgstr "Odkaz na " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1966 ../src/DirList.cpp:1983 #: ../src/IconList.cpp:2479 ../src/FileList.cpp:4520 ../src/FileList.cpp:5266 #: ../src/FileList.cpp:5283 ../src/SearchPanel.cpp:2091 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:684 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Umístění:" #: ../src/Properties.cpp:678 ../src/Properties.cpp:966 msgid "Type:" msgstr "Typ:" #: ../src/Properties.cpp:680 ../src/Properties.cpp:968 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:809 ../src/Properties.cpp:2082 #: ../src/Properties.cpp:2148 ../src/XFileExplorer.cpp:3948 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu bytů)" #: ../src/Properties.cpp:811 ../src/Properties.cpp:2084 #: ../src/Properties.cpp:2150 ../src/XFileExplorer.cpp:3950 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bytů)" #: ../src/Properties.cpp:813 msgid "Size:" msgstr "Velikost:" #: ../src/Properties.cpp:962 msgid "Selection:" msgstr "Výběr:" #: ../src/Properties.cpp:1087 ../src/Properties.cpp:1094 #: ../src/Properties.cpp:1109 msgid "Multiple types" msgstr "Několik typů" #. Number of selected files #: ../src/Properties.cpp:1113 #, c-format msgid "%d items" msgstr "%d položek" #: ../src/Properties.cpp:1118 #, fuzzy, c-format msgid "%d file, %d folder" msgstr "%d souborů, %d adresářů" #: ../src/Properties.cpp:1122 #, fuzzy, c-format msgid "%d file, %d folders" msgstr "%d souborů, %d adresářů" #: ../src/Properties.cpp:1126 #, fuzzy, c-format msgid "%d files, %d folder" msgstr "%d souborů, %d adresářů" #: ../src/Properties.cpp:1130 #, c-format msgid "%d files, %d folders" msgstr "%d souborů, %d adresářů" #: ../src/Properties.cpp:1252 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Zobrazí vlastnosti vybraných souborů" #: ../src/Properties.cpp:1256 #, fuzzy msgid "Change properties of the selected file?" msgstr "Zobrazí vlastnosti vybraných souborů" #: ../src/Properties.cpp:1259 ../src/Properties.cpp:1628 #, fuzzy msgid "Confirm Change Properties" msgstr "Vlastnosti" #: ../src/Properties.cpp:1401 ../src/Properties.cpp:1414 #: ../src/Properties.cpp:1418 ../src/Properties.cpp:1499 #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1579 #: ../src/Properties.cpp:1701 ../src/Properties.cpp:1732 #: ../src/Properties.cpp:1785 ../src/DirList.cpp:865 ../src/DirList.cpp:916 #: ../src/DirList.cpp:1495 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1912 #: ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2108 ../src/DirPanel.cpp:2158 #: ../src/DirPanel.cpp:2178 ../src/DirPanel.cpp:2276 ../src/DirPanel.cpp:2304 #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 ../src/DirPanel.cpp:2571 #: ../src/DirPanel.cpp:2613 ../src/DirPanel.cpp:2620 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:759 ../src/FileList.cpp:806 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1897 #: ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2083 #: ../src/FilePanel.cpp:2219 ../src/FilePanel.cpp:2276 #: ../src/FilePanel.cpp:2303 ../src/FilePanel.cpp:2575 #: ../src/FilePanel.cpp:2798 ../src/FilePanel.cpp:3089 #: ../src/FilePanel.cpp:3678 ../src/FilePanel.cpp:3685 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3774 #: ../src/FilePanel.cpp:3874 ../src/FilePanel.cpp:4246 #: ../src/FilePanel.cpp:4920 ../src/FilePanel.cpp:5947 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3090 ../src/SearchPanel.cpp:3330 #: ../src/SearchPanel.cpp:3800 ../src/SearchPanel.cpp:3807 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:3993 #: ../src/SearchPanel.cpp:4095 ../src/SearchPanel.cpp:4145 #: ../src/SearchPanel.cpp:4165 ../src/XFileExplorer.cpp:2218 #: ../src/XFileExplorer.cpp:2234 ../src/XFileExplorer.cpp:2254 msgid "Warning" msgstr "Varování" #: ../src/Properties.cpp:1401 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Přesun souboru zrušen!" #: ../src/Properties.cpp:1414 ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:2620 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3685 #, 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:1418 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3774 #, 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:1427 ../src/Properties.cpp:1434 #: ../src/Properties.cpp:1439 ../src/Properties.cpp:1512 #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1541 #: ../src/Properties.cpp:1592 ../src/Properties.cpp:1596 #: ../src/Properties.cpp:1713 ../src/Properties.cpp:1717 #: ../src/Properties.cpp:1797 ../src/Properties.cpp:1801 ../src/DirList.cpp:857 #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1760 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1812 #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:1840 ../src/DirPanel.cpp:1847 ../src/DirPanel.cpp:1905 #: ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2100 ../src/DirPanel.cpp:2150 #: ../src/DirPanel.cpp:2170 ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 #: ../src/DirPanel.cpp:2381 ../src/DirPanel.cpp:2414 ../src/DirPanel.cpp:2510 #: ../src/DirPanel.cpp:2538 ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2556 #: ../src/DirPanel.cpp:2640 ../src/DirPanel.cpp:2644 ../src/DirPanel.cpp:2671 #: ../src/DirPanel.cpp:2675 ../src/DirPanel.cpp:2687 ../src/DirPanel.cpp:2697 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2757 #: ../src/DirPanel.cpp:2780 ../src/DirPanel.cpp:2784 ../src/DirPanel.cpp:2796 #: ../src/File.cpp:212 ../src/File.cpp:899 ../src/File.cpp:907 #: ../src/File.cpp:916 ../src/File.cpp:940 ../src/File.cpp:1196 #: ../src/File.cpp:1203 ../src/File.cpp:1213 ../src/File.cpp:1239 #: ../src/File.cpp:1265 ../src/File.cpp:1273 ../src/File.cpp:1282 #: ../src/File.cpp:1301 ../src/File.cpp:1434 ../src/File.cpp:1472 #: ../src/File.cpp:1480 ../src/File.cpp:1499 ../src/File.cpp:1572 #: ../src/File.cpp:1576 ../src/File.cpp:1986 ../src/File.cpp:1990 #: ../src/File.cpp:2010 ../src/File.cpp:2014 ../src/File.cpp:2083 #: ../src/File.cpp:2099 ../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:196 ../src/FileList.cpp:751 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:1061 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:1088 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1929 ../src/FilePanel.cpp:1936 #: ../src/FilePanel.cpp:1943 ../src/FilePanel.cpp:1950 #: ../src/FilePanel.cpp:1957 ../src/FilePanel.cpp:2010 #: ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2211 #: ../src/FilePanel.cpp:2268 ../src/FilePanel.cpp:2295 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2367 #: ../src/FilePanel.cpp:2540 ../src/FilePanel.cpp:2567 #: ../src/FilePanel.cpp:2737 ../src/FilePanel.cpp:2764 #: ../src/FilePanel.cpp:2768 ../src/FilePanel.cpp:2783 #: ../src/FilePanel.cpp:2837 ../src/FilePanel.cpp:3546 #: ../src/FilePanel.cpp:3596 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:3641 #: ../src/FilePanel.cpp:3705 ../src/FilePanel.cpp:3709 #: ../src/FilePanel.cpp:3785 ../src/FilePanel.cpp:3794 #: ../src/FilePanel.cpp:3798 ../src/FilePanel.cpp:3813 #: ../src/FilePanel.cpp:3817 ../src/FilePanel.cpp:3884 #: ../src/FilePanel.cpp:3899 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4812 ../src/FilePanel.cpp:4823 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4837 #: ../src/FilePanel.cpp:4861 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5034 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5240 #: ../src/FilePanel.cpp:5244 ../src/FilePanel.cpp:5480 #: ../src/FilePanel.cpp:5768 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5801 #: ../src/FilePanel.cpp:5828 ../src/FilePanel.cpp:5832 #: ../src/FilePanel.cpp:5905 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:5936 #: ../src/FilePanel.cpp:6055 ../src/FilePanel.cpp:6069 #: ../src/FilePanel.cpp:6086 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6185 ../src/FilePanel.cpp:6233 #: ../src/FilePanel.cpp:6237 ../src/CommandWindow.cpp:199 #: ../src/CommandWindow.cpp:203 ../src/SearchPanel.cpp:394 #: ../src/SearchPanel.cpp:589 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:820 ../src/SearchPanel.cpp:1753 #: ../src/SearchPanel.cpp:1796 ../src/SearchPanel.cpp:2537 #: ../src/SearchPanel.cpp:2541 ../src/SearchPanel.cpp:2830 #: ../src/SearchPanel.cpp:2855 ../src/SearchPanel.cpp:2906 #: ../src/SearchPanel.cpp:3059 ../src/SearchPanel.cpp:3082 #: ../src/SearchPanel.cpp:3734 ../src/SearchPanel.cpp:3825 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3846 ../src/SearchPanel.cpp:3853 #: ../src/SearchPanel.cpp:3860 ../src/SearchPanel.cpp:3867 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:3986 #: ../src/SearchPanel.cpp:4087 ../src/SearchPanel.cpp:4137 #: ../src/SearchPanel.cpp:4157 ../src/SearchPanel.cpp:4206 #: ../src/SearchPanel.cpp:4210 ../src/SearchPanel.cpp:4483 #: ../src/SearchPanel.cpp:4497 ../src/SearchPanel.cpp:4514 #: ../src/SearchWindow.cpp:829 ../src/SearchWindow.cpp:833 #: ../src/SearchWindow.cpp:956 ../src/XFileExplorer.cpp:2270 #: ../src/XFileExplorer.cpp:2274 ../src/XFileExplorer.cpp:2312 #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:2339 #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:2361 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3137 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3164 #: ../src/XFileExplorer.cpp:3709 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3752 ../src/XFileExplorer.cpp:3797 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3828 ../src/XFileExplorer.cpp:3871 #: ../src/XFileExplorer.cpp:3873 ../src/XFileExplorer.cpp:3880 #: ../src/XFileExplorer.cpp:3990 ../src/XFileExplorer.cpp:3992 #: ../src/XFileExplorer.cpp:4005 ../src/XFileExplorer.cpp:4007 #: ../src/XFileExplorer.cpp:4058 ../src/XFileExplorer.cpp:4512 #: ../src/XFileExplorer.cpp:4586 ../src/XFileExplorer.cpp:4591 #: ../src/XFileExplorer.cpp:4596 ../src/XFilePackage.cpp:350 #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:396 #: ../src/XFilePackage.cpp:419 ../src/XFilePackage.cpp:521 #: ../src/XFilePackage.cpp:585 ../src/XFilePackage.cpp:617 #: ../src/XFilePackage.cpp:923 ../src/XFileImage.cpp:1669 #: ../src/XFileImage.cpp:1936 ../src/XFileImage.cpp:1980 #: ../src/WriteWindow.cpp:1892 ../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:1427 ../src/Properties.cpp:1439 #: ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1826 ../src/DirPanel.cpp:1833 #: ../src/DirPanel.cpp:2218 ../src/DirPanel.cpp:2333 ../src/FilePanel.cpp:1922 #: ../src/FilePanel.cpp:1950 ../src/FilePanel.cpp:1957 #: ../src/FilePanel.cpp:2360 ../src/FilePanel.cpp:2837 #: ../src/FilePanel.cpp:5188 ../src/FilePanel.cpp:5480 #: ../src/SearchPanel.cpp:2830 ../src/SearchPanel.cpp:2855 #: ../src/SearchPanel.cpp:3825 ../src/SearchPanel.cpp:3846 #: ../src/SearchPanel.cpp:3853 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Nemohu zapisovat do %s: Nedostatečná práva" #: ../src/Properties.cpp:1434 ../src/DirPanel.cpp:1812 ../src/DirPanel.cpp:1840 #: ../src/FilePanel.cpp:1915 ../src/FilePanel.cpp:1936 #: ../src/SearchPanel.cpp:3832 ../src/SearchPanel.cpp:3860 #, c-format msgid "Folder %s doesn't exist" msgstr "Adresář %s neexistuje" #: ../src/Properties.cpp:1447 ../src/DirPanel.cpp:1917 #: ../src/FilePanel.cpp:2022 ../src/SearchPanel.cpp:3932 msgid "File rename" msgstr "Přejmenování souboru" #: ../src/Properties.cpp:1462 ../src/Properties.cpp:1653 msgid "File owner" msgstr "Vlastník souboru" #: ../src/Properties.cpp:1499 ../src/Properties.cpp:1701 msgid "Change owner cancelled!" msgstr "Změna vlastníka zrušena!" #: ../src/Properties.cpp:1512 ../src/Properties.cpp:1713 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown v %s selhal: %s" #: ../src/Properties.cpp:1516 ../src/Properties.cpp:1717 #, c-format msgid "Chown in %s failed" msgstr "Chown selhal v %s" #: ../src/Properties.cpp:1529 ../src/Properties.cpp:1732 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:1541 ../src/Properties.cpp:1592 #: ../src/Properties.cpp:1797 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod selhal v %s: %s" #: ../src/Properties.cpp:1545 ../src/Properties.cpp:1738 msgid "File permissions" msgstr "Práva k souboru" #: ../src/Properties.cpp:1579 msgid "Change file permissions cancelled!" msgstr "Změna práv k souboru zrušena!" #: ../src/Properties.cpp:1596 ../src/Properties.cpp:1801 #, c-format msgid "Chmod in %s failed" msgstr "Chmod selhal v %s" #: ../src/Properties.cpp:1628 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " ve vybrané položce" #: ../src/Properties.cpp:1785 msgid "Change file(s) permissions cancelled!" msgstr "Změna práv k souboru(ům) zrušena!" #: ../src/Properties.cpp:1936 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:656 msgid "Select an executable file" msgstr "Vyberte spustitelný soubor" #: ../src/Properties.cpp:1939 ../src/Preferences.cpp:659 msgid "All files" msgstr "Všechny soubory" #: ../src/Properties.cpp:1986 msgid "PNG Images" msgstr "PNG obrázky" #: ../src/Properties.cpp:1987 msgid "GIF Images" msgstr "GIF obrázky" #: ../src/Properties.cpp:1988 msgid "BMP Images" msgstr "BMP obrázky" #: ../src/Properties.cpp:1990 msgid "Select an icon file" msgstr "Vyberte soubor s ikonami" #: ../src/Properties.cpp:2090 ../src/Properties.cpp:2156 #, fuzzy, c-format msgid "%u file, %u subfolder" msgstr "%u souborů, %u podsložek" #: ../src/Properties.cpp:2094 ../src/Properties.cpp:2160 #, fuzzy, c-format msgid "%u file, %u subfolders" msgstr "%u souborů, %u podsložek" #: ../src/Properties.cpp:2098 ../src/Properties.cpp:2164 #, fuzzy, c-format msgid "%u files, %u subfolder" msgstr "%u souborů, %u podsložek" #: ../src/Properties.cpp:2102 ../src/Properties.cpp:2168 #: ../src/XFileExplorer.cpp:3952 #, c-format msgid "%u files, %u subfolders" msgstr "%u souborů, %u podsložek" #: ../src/DirList.cpp:677 ../src/FileList.cpp:574 msgid "Copy here" msgstr "Kopírovat sem" #: ../src/DirList.cpp:678 ../src/FileList.cpp:575 msgid "Move here" msgstr "Přesunout sem" #: ../src/DirList.cpp:679 ../src/FileList.cpp:576 msgid "Link here" msgstr "Odkaz sem" #: ../src/DirList.cpp:681 ../src/FileList.cpp:578 msgid "Cancel" msgstr "Zrušit" #: ../src/DirList.cpp:723 ../src/DirPanel.cpp:1874 ../src/DirPanel.cpp:2008 #: ../src/FileList.cpp:618 ../src/FilePanel.cpp:1979 ../src/FilePanel.cpp:2112 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:4022 msgid "File copy" msgstr "Kopírování souboru" #: ../src/DirList.cpp:727 ../src/DirPanel.cpp:1932 ../src/DirPanel.cpp:2012 #: ../src/FileList.cpp:622 ../src/FilePanel.cpp:2037 ../src/FilePanel.cpp:2116 #: ../src/SearchPanel.cpp:3947 ../src/SearchPanel.cpp:4026 msgid "File move" msgstr "Přesun souboru" #: ../src/DirList.cpp:731 ../src/FileList.cpp:626 msgid "File symlink" msgstr "Odkaz souboru" #: ../src/DirList.cpp:765 ../src/DirPanel.cpp:1629 ../src/FileList.cpp:660 #: ../src/FilePanel.cpp:1683 ../src/FilePanel.cpp:1727 #: ../src/SearchPanel.cpp:3649 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopírovat" #: ../src/DirList.cpp:773 ../src/FileList.cpp:668 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Kopírovat %s soubory/adresáře.\n" "Z: %s" #: ../src/DirList.cpp:778 ../src/DirPanel.cpp:1688 ../src/DirPanel.cpp:1694 #: ../src/DirPanel.cpp:1704 ../src/DirPanel.cpp:1714 ../src/FileList.cpp:673 #: ../src/FilePanel.cpp:1742 ../src/FilePanel.cpp:1748 #: ../src/FilePanel.cpp:1758 ../src/FilePanel.cpp:1768 #: ../src/SearchPanel.cpp:3664 ../src/SearchPanel.cpp:3670 msgid "Move" msgstr "Přesunout" #: ../src/DirList.cpp:786 ../src/FileList.cpp:681 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Přesunout %s soubory/adresáře.\n" "Z: %s" #: ../src/DirList.cpp:791 ../src/DirPanel.cpp:1724 ../src/DirPanel.cpp:1983 #: ../src/DirPanel.cpp:2016 ../src/FileList.cpp:686 ../src/FilePanel.cpp:1778 #: ../src/FilePanel.cpp:2088 ../src/FilePanel.cpp:2120 #: ../src/FilePanel.cpp:3903 ../src/SearchPanel.cpp:3680 #: ../src/SearchPanel.cpp:3998 ../src/SearchPanel.cpp:4030 msgid "Symlink" msgstr "Odkaz" #: ../src/DirList.cpp:796 ../src/DirPanel.cpp:1745 ../src/DirPanel.cpp:1773 #: ../src/FileList.cpp:691 ../src/FilePanel.cpp:1801 ../src/FilePanel.cpp:1845 #: ../src/SearchPanel.cpp:3703 ../src/SearchPanel.cpp:3747 msgid "To:" msgstr "Na:" #: ../src/DirList.cpp:857 ../src/DirPanel.cpp:1971 ../src/DirPanel.cpp:2150 #: ../src/FileList.cpp:751 ../src/FilePanel.cpp:2076 ../src/FilePanel.cpp:2268 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4137 msgid "An error has occurred during the move file operation!" msgstr "Nastala chyba při přesunu souboru!" #: ../src/DirList.cpp:865 ../src/DirPanel.cpp:1978 ../src/DirPanel.cpp:2158 #: ../src/FileList.cpp:759 ../src/FilePanel.cpp:2083 ../src/FilePanel.cpp:2276 #: ../src/SearchPanel.cpp:3993 ../src/SearchPanel.cpp:4145 msgid "Move file operation cancelled!" msgstr "Přesun souboru zrušen!" #: ../src/DirList.cpp:908 ../src/DirPanel.cpp:1905 ../src/DirPanel.cpp:2100 #: ../src/FileList.cpp:798 ../src/FilePanel.cpp:2010 ../src/FilePanel.cpp:2211 #: ../src/SearchPanel.cpp:3920 ../src/SearchPanel.cpp:4087 msgid "An error has occurred during the copy file operation!" msgstr "Nastala chyba při kopírování!" #: ../src/DirList.cpp:916 ../src/DirPanel.cpp:1912 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:806 ../src/FilePanel.cpp:2017 ../src/FilePanel.cpp:2219 #: ../src/SearchPanel.cpp:3927 ../src/SearchPanel.cpp:4095 msgid "Copy file operation cancelled!" msgstr "Kopírování souboru zrušeno!" #: ../src/DirList.cpp:1495 ../src/XFileExplorer.cpp:2234 #, c-format msgid "Mount point %s is not responding..." msgstr "Připojovací bod %s neodpovídá" #: ../src/DirList.cpp:2021 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:3125 msgid "0 bytes in root" msgstr "0 bytů v kořeni" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:377 #, fuzzy msgid "Panel is active" msgstr "Panel má zaměření" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:404 #, fuzzy msgid "Activate panel" msgstr "Vertikální panely" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1194 ../src/FilePanel.cpp:1390 #: ../src/SearchPanel.cpp:394 ../src/SearchPanel.cpp:589 #: ../src/SearchPanel.cpp:1796 ../src/XFileImage.cpp:1936 #: ../src/XFileImage.cpp:1980 #, 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:4540 ../src/FilePanel.cpp:4583 #: ../src/SearchPanel.cpp:2358 ../src/XFileImage.cpp:929 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:4586 #: ../src/SearchPanel.cpp:2361 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:4667 #: ../src/SearchPanel.cpp:2416 msgid "&Add to archive..." msgstr "&Přidat do archívu..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4686 #: ../src/SearchPanel.cpp:2436 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Kopírovat" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4687 #: ../src/SearchPanel.cpp:2437 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Vy&jmout" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4517 ../src/FilePanel.cpp:4560 #: ../src/FilePanel.cpp:4688 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Vložit" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4690 #: ../src/SearchPanel.cpp:2439 ../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:4692 #: ../src/SearchPanel.cpp:2441 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "Přesu&nout do..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4693 #: ../src/SearchPanel.cpp:2442 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:4696 #: ../src/SearchPanel.cpp:2444 ../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:2671 #: ../src/DirPanel.cpp:2697 ../src/DirPanel.cpp:2753 ../src/DirPanel.cpp:2780 #: ../src/File.cpp:1986 ../src/File.cpp:2010 ../src/FilePanel.cpp:1061 #: ../src/FilePanel.cpp:1084 ../src/FilePanel.cpp:3596 #: ../src/FilePanel.cpp:3637 ../src/FilePanel.cpp:4808 #: ../src/FilePanel.cpp:4833 ../src/FilePanel.cpp:4861 #: ../src/FilePanel.cpp:5030 ../src/FilePanel.cpp:5768 #: ../src/FilePanel.cpp:5797 ../src/FilePanel.cpp:5905 #: ../src/FilePanel.cpp:5932 ../src/FilePanel.cpp:6181 #: ../src/FilePanel.cpp:6233 ../src/SearchPanel.cpp:816 #: ../src/SearchPanel.cpp:2537 ../src/XFileExplorer.cpp:3133 #: ../src/XFileExplorer.cpp:3160 ../src/XFileExplorer.cpp:3709 #: ../src/XFileExplorer.cpp:3797 ../src/XFileExplorer.cpp:3826 #: ../src/XFileExplorer.cpp:3871 #, 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:2675 #: ../src/DirPanel.cpp:2701 ../src/DirPanel.cpp:2757 ../src/DirPanel.cpp:2784 #: ../src/File.cpp:1990 ../src/File.cpp:2014 ../src/FilePanel.cpp:1065 #: ../src/FilePanel.cpp:1088 ../src/FilePanel.cpp:3600 #: ../src/FilePanel.cpp:3641 ../src/FilePanel.cpp:4812 #: ../src/FilePanel.cpp:4837 ../src/FilePanel.cpp:4865 #: ../src/FilePanel.cpp:5034 ../src/FilePanel.cpp:5772 #: ../src/FilePanel.cpp:5801 ../src/FilePanel.cpp:5909 #: ../src/FilePanel.cpp:5936 ../src/FilePanel.cpp:6185 #: ../src/FilePanel.cpp:6237 ../src/SearchPanel.cpp:820 #: ../src/SearchPanel.cpp:2541 ../src/XFileExplorer.cpp:3137 #: ../src/XFileExplorer.cpp:3164 ../src/XFileExplorer.cpp:3711 #: ../src/XFileExplorer.cpp:3799 ../src/XFileExplorer.cpp:3828 #: ../src/XFileExplorer.cpp:3873 #, 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:1897 #: ../src/FilePanel.cpp:3767 ../src/FilePanel.cpp:3874 #: ../src/FilePanel.cpp:4246 ../src/FilePanel.cpp:4920 #: ../src/SearchPanel.cpp:908 ../src/SearchPanel.cpp:2576 #: ../src/SearchPanel.cpp:3800 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:5019 #: ../src/SearchPanel.cpp:2671 msgid "Create archive" msgstr "Vytvořit archív" #: ../src/DirPanel.cpp:1633 ../src/DirPanel.cpp:1677 ../src/FilePanel.cpp:1687 #: ../src/FilePanel.cpp:1731 ../src/SearchPanel.cpp:3653 msgid "Copy " msgstr "Kopírovat" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1682 ../src/FilePanel.cpp:1704 #: ../src/FilePanel.cpp:1736 #, c-format msgid "Copy %s items from: %s" msgstr "Kopírovat %s položek z : %s" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1663 ../src/FilePanel.cpp:1710 #: ../src/FilePanel.cpp:1717 ../src/SearchPanel.cpp:3632 #: ../src/SearchPanel.cpp:3639 msgid "Rename" msgstr "Přejmenovat" #: ../src/DirPanel.cpp:1660 ../src/FilePanel.cpp:1714 #: ../src/SearchPanel.cpp:3636 msgid "Rename " msgstr "Přejmenovat " #: ../src/DirPanel.cpp:1673 msgid "Copy to" msgstr "Kopírovat do" #: ../src/DirPanel.cpp:1692 ../src/DirPanel.cpp:1708 ../src/FilePanel.cpp:1746 #: ../src/FilePanel.cpp:1762 ../src/SearchPanel.cpp:3668 msgid "Move " msgstr "Přesunout " #: ../src/DirPanel.cpp:1698 ../src/DirPanel.cpp:1718 ../src/FilePanel.cpp:1752 #: ../src/FilePanel.cpp:1772 #, c-format msgid "Move %s items from: %s" msgstr "Přesunout %s položky z: %s" #: ../src/DirPanel.cpp:1728 ../src/FilePanel.cpp:1782 #: ../src/SearchPanel.cpp:3684 msgid "Symlink " msgstr "Odkaz " #: ../src/DirPanel.cpp:1734 ../src/FilePanel.cpp:1788 #, c-format msgid "Symlink %s items from: %s" msgstr "Symbolické odkazy %s položek z: %s" #: ../src/DirPanel.cpp:1819 ../src/DirPanel.cpp:1847 ../src/FilePanel.cpp:1929 #: ../src/FilePanel.cpp:1943 ../src/SearchPanel.cpp:3839 #: ../src/SearchPanel.cpp:3867 #, c-format msgid "%s is not a folder" msgstr "%s není adresář" #: ../src/DirPanel.cpp:2170 ../src/FilePanel.cpp:2295 #: ../src/SearchPanel.cpp:4157 msgid "An error has occurred during the symlink operation!" msgstr "Nastala chyba při tvorbě odkazu!" #: ../src/DirPanel.cpp:2178 ../src/FilePanel.cpp:2303 #: ../src/SearchPanel.cpp:4165 msgid "Symlink operation cancelled!" msgstr "Vytvoření odkazu zrušeno!" #: ../src/DirPanel.cpp:2228 ../src/FilePanel.cpp:2874 #: ../src/SearchPanel.cpp:3143 #, c-format msgid "Definitively delete folder %s ?" msgstr "Definitivně smazat adresář %s ?" #: ../src/DirPanel.cpp:2229 ../src/DirPanel.cpp:2249 ../src/DirPanel.cpp:2265 #: ../src/FilePanel.cpp:2885 ../src/FilePanel.cpp:2949 #: ../src/FilePanel.cpp:2961 ../src/FilePanel.cpp:3008 #: ../src/FilePanel.cpp:3023 ../src/SearchPanel.cpp:3154 #: ../src/SearchPanel.cpp:3210 ../src/SearchPanel.cpp:3256 #: ../src/SearchPanel.cpp:3271 msgid "Confirm Delete" msgstr "Potvrdit smazání" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2237 ../src/FilePanel.cpp:2895 #: ../src/SearchPanel.cpp:3164 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3976 msgid "File delete" msgstr "Smazání souboru" #: ../src/DirPanel.cpp:2248 ../src/FilePanel.cpp:2945 #: ../src/SearchPanel.cpp:3209 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Adresář %s není prázdný, přesto smazat?" #: ../src/DirPanel.cpp:2264 #, 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:2276 ../src/DirPanel.cpp:2304 msgid "Delete folder operation cancelled!" msgstr "Smazání adresáře zrušeno!" #: ../src/DirPanel.cpp:2342 ../src/FilePanel.cpp:2404 #: ../src/SearchPanel.cpp:2932 #, c-format msgid "Move folder %s to trash can?" msgstr "Přesunout adresář %s do koše?" #: ../src/DirPanel.cpp:2343 ../src/DirPanel.cpp:2361 ../src/FilePanel.cpp:2416 #: ../src/FilePanel.cpp:2475 ../src/FilePanel.cpp:2489 #: ../src/SearchPanel.cpp:2944 ../src/SearchPanel.cpp:2998 #: ../src/SearchPanel.cpp:3012 msgid "Confirm Trash" msgstr "Potvrzení koše" #. File object #: ../src/DirPanel.cpp:2351 ../src/FilePanel.cpp:2427 #: ../src/SearchPanel.cpp:2955 msgid "Move to trash" msgstr "Přesunout do koše" #: ../src/DirPanel.cpp:2360 #, 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:2381 ../src/DirPanel.cpp:2414 ../src/FilePanel.cpp:2540 #: ../src/FilePanel.cpp:2567 ../src/SearchPanel.cpp:3059 #: ../src/SearchPanel.cpp:3082 msgid "An error has occurred during the move to trash operation!" msgstr "Nastala chyba při přesunu do koše!" #: ../src/DirPanel.cpp:2388 ../src/DirPanel.cpp:2421 msgid "Move to trash folder operation cancelled!" msgstr "Přesun souboru do koše zrušen!" #. File object #: ../src/DirPanel.cpp:2447 ../src/FilePanel.cpp:2632 msgid "Restore from trash" msgstr "Obnovit z koše" #: ../src/DirPanel.cpp:2493 ../src/FilePanel.cpp:2712 #, 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:2495 ../src/DirPanel.cpp:2522 ../src/FilePanel.cpp:2724 #: ../src/FilePanel.cpp:2749 msgid "Confirm Restore" msgstr "Potvrdit obnovení" #: ../src/DirPanel.cpp:2510 ../src/FilePanel.cpp:2737 #, c-format msgid "Restore information not available for %s" msgstr "Informace pro obnovení nejsou pro %s dostupné" #: ../src/DirPanel.cpp:2521 ../src/FilePanel.cpp:2748 #, 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:2538 ../src/DirPanel.cpp:2640 #, c-format msgid "Can't create folder %s : %s" msgstr "Nemohu vytvořit adresář %s : %s" #: ../src/DirPanel.cpp:2542 ../src/DirPanel.cpp:2644 ../src/FilePanel.cpp:2768 #: ../src/FilePanel.cpp:3709 ../src/FilePanel.cpp:5244 #, c-format msgid "Can't create folder %s" msgstr "Nemohu vytvořit adresář %s" #: ../src/DirPanel.cpp:2556 ../src/FilePanel.cpp:2783 msgid "An error has occurred during the restore from trash operation!" msgstr "Nastala chyba při obnově z koše!" #: ../src/DirPanel.cpp:2571 ../src/FilePanel.cpp:2798 msgid "Restore from trash file operation cancelled!" msgstr "Obnovení souboru z koše zrušeno!" #: ../src/DirPanel.cpp:2606 ../src/FilePanel.cpp:3669 msgid "Create new folder:" msgstr "Vytvořit nový adresář:" #: ../src/DirPanel.cpp:2606 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3669 msgid "New Folder" msgstr "Nový adresář" #: ../src/DirPanel.cpp:2613 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3678 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Jméno souboru je prázdné, operace zrušena" #: ../src/DirPanel.cpp:2687 ../src/FilePanel.cpp:4823 #: ../src/XFileExplorer.cpp:3111 ../src/XFileExplorer.cpp:3149 #: ../src/XFileExplorer.cpp:3752 ../src/XFileImage.cpp:1669 #: ../src/WriteWindow.cpp:1892 #, c-format msgid "Can't execute command %s" msgstr "Nemohu spustit příkaz %s" #: ../src/DirPanel.cpp:2735 ../src/FilePanel.cpp:5888 msgid "Mount" msgstr "Připojit" #: ../src/DirPanel.cpp:2741 ../src/FilePanel.cpp:4594 ../src/FilePanel.cpp:5894 msgid "Unmount" msgstr "Odpojit" #. File object #: ../src/DirPanel.cpp:2767 ../src/FilePanel.cpp:5919 msgid " file system..." msgstr " systém souborů..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2772 ../src/FilePanel.cpp:5924 msgid " the folder:" msgstr " adresář:" #: ../src/DirPanel.cpp:2795 ../src/FilePanel.cpp:5946 msgid " operation cancelled!" msgstr " operace zrušena!" #. Refresh the status label #: ../src/DirPanel.cpp:3157 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:1133 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:1625 ../src/File.cpp:1653 #: ../src/File.cpp:1717 msgid "Changing permissions..." msgstr "Měním práva..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1627 #: ../src/File.cpp:1719 ../src/File.cpp:1821 ../src/File.cpp:1910 msgid "File:" msgstr "Soubor:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1819 ../src/File.cpp:1850 #: ../src/File.cpp:1908 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:2031 #, 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:2032 msgid "Confirm Overwrite" msgstr "Potvrdit přepsání" #: ../src/File.cpp:458 ../src/File.cpp:553 ../src/File.cpp:649 #, c-format msgid "Can't copy file %s: %s" msgstr "Nemohu kopírovat soubor %s : %s" #: ../src/File.cpp:462 ../src/File.cpp:557 ../src/File.cpp:653 #, c-format msgid "Can't copy file %s" msgstr "Nemohu kopírovat soubor %s" #. Set labels for progress dialog #: ../src/File.cpp:524 ../src/File.cpp:950 ../src/File.cpp:1315 msgid "Source: " msgstr "Zdroj: " #: ../src/File.cpp:529 ../src/File.cpp:955 ../src/File.cpp:1320 msgid "Target: " msgstr "Cíl: " #: ../src/File.cpp:604 #, 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:608 #, 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:750 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Nemohu kopírovat adresář %s: Nedostatečná práva" #: ../src/File.cpp:754 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Nemohu kopírovat soubor %s: Nedostatečná práva" #: ../src/File.cpp:791 #, 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:795 #, 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:899 ../src/File.cpp:1196 ../src/File.cpp:1265 #: ../src/File.cpp:1472 #, c-format msgid "Source %s doesn't exist" msgstr "Zdroj %s neexistuje" #: ../src/File.cpp:907 ../src/File.cpp:940 ../src/File.cpp:1203 #: ../src/File.cpp:1273 ../src/File.cpp:1301 ../src/File.cpp:1480 #: ../src/File.cpp:1499 #, c-format msgid "Destination %s is identical to source" msgstr "Cíl %s je identický se zdrojem" #: ../src/File.cpp:916 ../src/File.cpp:1282 #, 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:1048 msgid "Delete folder: " msgstr "Smazat adresář: " #: ../src/File.cpp:1054 ../src/File.cpp:1139 msgid "From: " msgstr "Z: " #: ../src/File.cpp:1095 #, c-format msgid "Can't delete folder %s: %s" msgstr "Nemohu smazat adresář %s: %s" #: ../src/File.cpp:1099 #, c-format msgid "Can't delete folder %s" msgstr "Nemohu smazat adresář %s" #: ../src/File.cpp:1160 #, c-format msgid "Can't delete file %s: %s" msgstr "Nemohu smazat soubor %s: %s" #: ../src/File.cpp:1164 #, c-format msgid "Can't delete file %s" msgstr "Nemohu smazat soubor %s" #: ../src/File.cpp:1213 #, c-format msgid "Destination %s already exists" msgstr "Cíl %s už existuje" #: ../src/File.cpp:1239 ../src/File.cpp:1434 #, c-format msgid "Can't rename to target %s: %s" msgstr "Nemohu přejmenovat na cíl %s: %s" #: ../src/File.cpp:1572 #, c-format msgid "Can't symlink %s: %s" msgstr "Nemohu vytvořit symbolický odkaz %s: %s" #: ../src/File.cpp:1576 #, c-format msgid "Can't symlink %s" msgstr "Nemohu vytvořit symbolický odkaz %s" #: ../src/File.cpp:1655 ../src/File.cpp:1852 msgid "Folder: " msgstr "Adresář: " #. Make and show command window #. File object #: ../src/File.cpp:1997 ../src/FilePanel.cpp:5177 ../src/FilePanel.cpp:5341 #: ../src/FilePanel.cpp:5469 ../src/SearchPanel.cpp:2819 #: ../src/SearchPanel.cpp:2844 msgid "Extract archive" msgstr "Rozbalit archív" #. Make and show command window #: ../src/File.cpp:2042 msgid "Add to archive" msgstr "Přidat do archívu" #: ../src/File.cpp:2083 ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:4497 #, c-format msgid "Failed command: %s" msgstr "Selhal příkaz: %s" #: ../src/File.cpp:2111 ../src/File.cpp:2115 msgid "Success" msgstr "Úspěšné" #: ../src/File.cpp:2111 #, c-format msgid "Folder %s was successfully mounted." msgstr "Adresář %s byl úspěšně připojen." #: ../src/File.cpp:2115 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Adresář %s byl úspěšně odpojen." #. Make and show command window #: ../src/File.cpp:2126 msgid "Install/Upgrade package" msgstr "Instalovat/Upgradovat balík" #: ../src/File.cpp:2131 ../src/XFilePackage.cpp:378 #, c-format msgid "Installing package: %s \n" msgstr "Instalace balíku: %s \n" #. Make and show command window #: ../src/File.cpp:2144 msgid "Uninstall package" msgstr "Odinstalace balíku" #: ../src/File.cpp:2149 ../src/XFilePackage.cpp:428 #, 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:73 ../src/MessageBox.cpp:78 #: ../src/MessageBox.cpp:95 ../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:779 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:408 msgid "Go to previous folder" msgstr "Jít do předchozího adresáře." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:783 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:414 msgid "Go to next folder" msgstr "Jít do dalšího adresáře." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:787 #: ../src/SearchPanel.cpp:171 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:420 msgid "Go to parent folder" msgstr "Jít do nadřazeného adresáře" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:791 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:428 msgid "Go to home folder" msgstr "Jít domů" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:859 #: ../src/XFileImage.cpp:433 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:815 #: ../src/SearchPanel.cpp:214 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:442 msgid "Big icon list" msgstr "Velké ikony" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:819 #: ../src/SearchPanel.cpp:219 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:447 msgid "Small icon list" msgstr "Malé ikony" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:823 #: ../src/SearchPanel.cpp:224 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:452 msgid "Detailed file list" msgstr "Seznam souborů" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Show hidden files" msgstr "Zobrazit skryté soubory" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:236 ../src/XFileImage.cpp:636 msgid "Hide hidden files" msgstr "Skrýt skryté soubory" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 msgid "Show thumbnails" msgstr "Zobrazit náhledy" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:240 #: ../src/SearchPanel.cpp:234 ../src/XFileImage.cpp:640 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:3758 msgid "New File" msgstr "Nový soubor" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3785 #: ../src/FilePanel.cpp:3884 #, c-format msgid "File or folder %s already exists" msgstr "Soubor nebo adresář %s už existuje" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:906 msgid "Go ho&me" msgstr "Jít &domů" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:907 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:4513 #: ../src/FilePanel.cpp:4556 msgid "New f&older..." msgstr "Nový &adresář..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4519 #: ../src/FilePanel.cpp:4562 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:775 #: ../src/XFileImage.cpp:909 msgid "&Hidden files" msgstr "&Skryté soubory" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4520 #: ../src/FilePanel.cpp:4563 ../src/SearchPanel.cpp:2311 #: ../src/SearchPanel.cpp:2339 ../src/XFileImage.cpp:910 msgid "Thum&bnails" msgstr "Ná&hledy" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4522 #: ../src/FilePanel.cpp:4565 ../src/SearchPanel.cpp:2313 #: ../src/SearchPanel.cpp:2341 ../src/XFileImage.cpp:912 msgid "B&ig icons" msgstr "Ve&lké ikony" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4523 #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2314 #: ../src/SearchPanel.cpp:2342 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:795 #: ../src/XFileImage.cpp:913 msgid "&Small icons" msgstr "&Malé ikony" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:914 msgid "Fu&ll file list" msgstr "Ú&plný seznam souborů" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4526 #: ../src/FilePanel.cpp:4569 ../src/SearchPanel.cpp:2317 #: ../src/SearchPanel.cpp:2345 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:817 #: ../src/XFileImage.cpp:916 msgid "&Rows" msgstr "Řá&dky" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4527 #: ../src/FilePanel.cpp:4570 ../src/SearchPanel.cpp:2318 #: ../src/SearchPanel.cpp:2346 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:818 #: ../src/XFileImage.cpp:917 msgid "&Columns" msgstr "S&loupce" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4528 #: ../src/FilePanel.cpp:4571 ../src/SearchPanel.cpp:2319 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:918 msgid "Autosize" msgstr "Automatická velikost" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4530 #: ../src/FilePanel.cpp:4573 ../src/SearchPanel.cpp:2321 #: ../src/SearchPanel.cpp:2349 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:920 msgid "&Name" msgstr "&Jméno" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4531 #: ../src/FilePanel.cpp:4574 ../src/SearchPanel.cpp:2322 #: ../src/SearchPanel.cpp:2350 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:921 msgid "Si&ze" msgstr "Ve&likost" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4532 #: ../src/FilePanel.cpp:4575 ../src/SearchPanel.cpp:2323 #: ../src/SearchPanel.cpp:2351 ../src/XFileImage.cpp:922 msgid "&Type" msgstr "&Typ" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4533 #: ../src/FilePanel.cpp:4576 ../src/SearchPanel.cpp:2324 #: ../src/SearchPanel.cpp:2352 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:923 msgid "E&xtension" msgstr "Příp&ona" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4534 #: ../src/FilePanel.cpp:4577 ../src/SearchPanel.cpp:2325 #: ../src/SearchPanel.cpp:2353 ../src/XFileImage.cpp:924 msgid "&Date" msgstr "&Datum" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4535 #: ../src/FilePanel.cpp:4578 ../src/SearchPanel.cpp:2326 #: ../src/SearchPanel.cpp:2354 ../src/XFileImage.cpp:925 msgid "&User" msgstr "&Uživatel" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4536 #: ../src/FilePanel.cpp:4579 ../src/SearchPanel.cpp:2327 #: ../src/SearchPanel.cpp:2355 ../src/XFileImage.cpp:926 msgid "&Group" msgstr "&Skupina" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4541 #: ../src/FilePanel.cpp:4584 ../src/SearchPanel.cpp:2331 #: ../src/SearchPanel.cpp:2359 ../src/XFileImage.cpp:930 msgid "Fold&ers first" msgstr "Adresáře napřed" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4542 #: ../src/FilePanel.cpp:4585 ../src/SearchPanel.cpp:2332 #: ../src/SearchPanel.cpp:2360 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:931 msgid "Re&verse order" msgstr "&Obrácená nabídka" #. Font families, to be filled later #: ../src/FontDialog.cpp:53 msgid "&Family:" msgstr "&Rodina:" #. Font weights #: ../src/FontDialog.cpp:62 msgid "&Weight:" msgstr "&Tloušťka:" #. Font styles #: ../src/FontDialog.cpp:68 msgid "&Style:" msgstr "&Styl:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:74 msgid "Si&ze:" msgstr "Ve&likost:" #. Character set choice #: ../src/FontDialog.cpp:82 msgid "Character Set:" msgstr "Znaková sada:" #: ../src/FontDialog.cpp:85 ../src/FontDialog.cpp:117 ../src/FontDialog.cpp:133 msgid "Any" msgstr "Vše" #: ../src/FontDialog.cpp:86 msgid "West European" msgstr "Západoevropské" #: ../src/FontDialog.cpp:87 msgid "East European" msgstr "Východoevropské" #: ../src/FontDialog.cpp:88 msgid "South European" msgstr "Jihoevropské" #: ../src/FontDialog.cpp:89 msgid "North European" msgstr "Severoevropské" #: ../src/FontDialog.cpp:90 msgid "Cyrillic" msgstr "Cyrilika" #: ../src/FontDialog.cpp:91 msgid "Arabic" msgstr "Arabské" #: ../src/FontDialog.cpp:92 msgid "Greek" msgstr "Řecké" #: ../src/FontDialog.cpp:93 msgid "Hebrew" msgstr "Hebrejské" #: ../src/FontDialog.cpp:94 msgid "Turkish" msgstr "Turecké" #: ../src/FontDialog.cpp:95 msgid "Nordic" msgstr "Nordické" #: ../src/FontDialog.cpp:96 msgid "Thai" msgstr "Thajské" #: ../src/FontDialog.cpp:97 msgid "Baltic" msgstr "Baltské" #: ../src/FontDialog.cpp:98 msgid "Celtic" msgstr "Keltské" #: ../src/FontDialog.cpp:99 msgid "Russian" msgstr "Ruské" #: ../src/FontDialog.cpp:100 msgid "Central European (cp1250)" msgstr "Středoevropské (cp1250)" #: ../src/FontDialog.cpp:101 msgid "Russian (cp1251)" msgstr "Ruské (cp1251)" #: ../src/FontDialog.cpp:102 msgid "Latin1 (cp1252)" msgstr "Západní (cp1252)" #: ../src/FontDialog.cpp:103 msgid "Greek (cp1253)" msgstr "Řecké (cp1253)" #: ../src/FontDialog.cpp:104 msgid "Turkish (cp1254)" msgstr "Turecké (cp1254)" #: ../src/FontDialog.cpp:105 msgid "Hebrew (cp1255)" msgstr "Hebrejské (cp1255)" #: ../src/FontDialog.cpp:106 msgid "Arabic (cp1256)" msgstr "Arabské (cp1256)" #: ../src/FontDialog.cpp:107 msgid "Baltic (cp1257)" msgstr "Baltské (cp1257)" #: ../src/FontDialog.cpp:108 msgid "Vietnam (cp1258)" msgstr "Vietnamské (cp1258)" #: ../src/FontDialog.cpp:109 msgid "Thai (cp874)" msgstr "Thajské (cp874)" #: ../src/FontDialog.cpp:110 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:114 msgid "Set Width:" msgstr "Nastavit šířku:" #: ../src/FontDialog.cpp:118 msgid "Ultra condensed" msgstr "Ultra zúžené" #: ../src/FontDialog.cpp:119 msgid "Extra condensed" msgstr "Extra zúžené" #: ../src/FontDialog.cpp:120 msgid "Condensed" msgstr "Zúžené" #: ../src/FontDialog.cpp:121 msgid "Semi condensed" msgstr "Polo-zúžené" #: ../src/FontDialog.cpp:122 msgid "Normal" msgstr "Normální" #: ../src/FontDialog.cpp:123 msgid "Semi expanded" msgstr "Polo-roztažené" #: ../src/FontDialog.cpp:124 msgid "Expanded" msgstr "Roztažené" #: ../src/FontDialog.cpp:125 msgid "Extra expanded" msgstr "Extra roztažené" #: ../src/FontDialog.cpp:126 msgid "Ultra expanded" msgstr "Ultra roztažené" #. Pitch #: ../src/FontDialog.cpp:130 msgid "Pitch:" msgstr "Rozteč:" #: ../src/FontDialog.cpp:134 msgid "Fixed" msgstr "Fixní" #: ../src/FontDialog.cpp:135 msgid "Variable" msgstr "Variabilní" #: ../src/FontDialog.cpp:140 msgid "Scalable:" msgstr "S měřítkem:" #: ../src/FontDialog.cpp:144 msgid "All Fonts:" msgstr "Všechny fonty:" #: ../src/FontDialog.cpp:148 msgid "Preview:" msgstr "Náhled:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:86 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Spustit Xfe jako root" #: ../src/MessageBox.cpp:100 ../src/MessageBox.cpp:108 #: ../src/MessageBox.cpp:128 msgid "&No" msgstr "&Ne" #: ../src/MessageBox.cpp:101 ../src/MessageBox.cpp:107 #: ../src/MessageBox.cpp:127 ../src/OverwriteBox.cpp:51 #: ../src/OverwriteBox.cpp:59 ../src/OverwriteBox.cpp:101 #: ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Ano" #: ../src/MessageBox.cpp:114 ../src/MessageBox.cpp:120 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:224 #: ../src/XFileImage.cpp:727 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Ukončit" #: ../src/MessageBox.cpp:121 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Uložit" #: ../src/MessageBox.cpp:129 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Ano pro vš&e" #: ../src/MessageBox.cpp:160 ../src/XFileExplorer.cpp:3836 msgid "Enter the user password:" msgstr "Vložte uživatelské heslo:" #: ../src/MessageBox.cpp:166 ../src/XFileExplorer.cpp:3842 msgid "Enter the root password:" msgstr "Vložte heslo roota:" #: ../src/MessageBox.cpp:196 ../src/XFileExplorer.cpp:3880 msgid "An error has occurred!" msgstr "Nastala chyba !" #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2500 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2519 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Jméno: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Velikost v kořeni: " #: ../src/IconList.cpp:2494 ../src/IconList.cpp:2502 ../src/IconList.cpp:2513 #: ../src/IconList.cpp:2521 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Typ: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2503 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2522 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Datum úpravy: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Uživatel: " #: ../src/IconList.cpp:2495 ../src/IconList.cpp:2505 ../src/IconList.cpp:2514 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Skupina: " #: ../src/IconList.cpp:2496 ../src/IconList.cpp:2505 ../src/IconList.cpp:2515 #: ../src/IconList.cpp:2524 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Práva: " #: ../src/IconList.cpp:2501 ../src/IconList.cpp:2520 msgid "Original path: " msgstr "Původní cesta: " #: ../src/IconList.cpp:2504 ../src/IconList.cpp:2523 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Datum smazání: " #: ../src/IconList.cpp:2513 ../src/IconList.cpp:2521 msgid "Size: " msgstr "Velikost: " #: ../src/FileList.cpp:151 msgid "Size" msgstr "Velikost" #: ../src/FileList.cpp:152 msgid "Type" msgstr "Typ" #: ../src/FileList.cpp:153 msgid "Extension" msgstr "Přípona" #: ../src/FileList.cpp:154 msgid "Modified date" msgstr "Datum úpravy" #: ../src/FileList.cpp:157 msgid "Permissions" msgstr "Práva" #: ../src/FileList.cpp:4482 ../src/FileList.cpp:5227 ../src/XFileImage.cpp:1471 #: ../src/XFileImage.cpp:2099 ../src/XFileImage.cpp:2153 #: ../src/XFileImage.cpp:2244 msgid "Unable to load image" msgstr "Nemohu načíst obrázek" #: ../src/FileList.cpp:4673 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Původní cesta" #: ../src/FileList.cpp:4674 ../src/FilePanel.cpp:4538 ../src/FilePanel.cpp:4581 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Datum smazání" #: ../src/FilePanel.cpp:244 ../src/FilePanel.cpp:4401 msgid "Filter" msgstr "Filtr" #: ../src/FilePanel.cpp:248 ../src/SearchPanel.cpp:240 msgid "Status" msgstr "Stav" #: ../src/FilePanel.cpp:1034 ../src/SearchPanel.cpp:789 #, 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:1035 ../src/SearchPanel.cpp:790 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:1074 ../src/SearchPanel.cpp:829 #: ../src/XFileExplorer.cpp:3738 msgid "Command log" msgstr "Záznam příkazů" #: ../src/FilePanel.cpp:1832 #, 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:1876 ../src/SearchPanel.cpp:3779 msgid "To folder:" msgstr "Do adresáře:" #: ../src/FilePanel.cpp:2367 ../src/SearchPanel.cpp:2906 #, 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:2408 ../src/SearchPanel.cpp:2936 #, c-format msgid "Move file %s to trash can?" msgstr "Přesunout soubor %s do koše?" #: ../src/FilePanel.cpp:2413 ../src/SearchPanel.cpp:2941 #, c-format msgid "Move %s selected items to trash can?" msgstr "Přesunout %s vybraných položek do koše?" #: ../src/FilePanel.cpp:2471 ../src/SearchPanel.cpp:2994 #, 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:2575 ../src/SearchPanel.cpp:3090 msgid "Move to trash file operation cancelled!" msgstr "Přesun souboru do koše zrušen!" #: ../src/FilePanel.cpp:2716 #, 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:2721 #, 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:2764 ../src/FilePanel.cpp:3705 #: ../src/FilePanel.cpp:5240 #, c-format msgid "Can't create folder %s: %s" msgstr "Nemohu vytvořit adresář %s: %s" #: ../src/FilePanel.cpp:2878 ../src/SearchPanel.cpp:3147 #, c-format msgid "Definitively delete file %s ?" msgstr "Definitivně smazat soubor %s ?" #: ../src/FilePanel.cpp:2883 ../src/SearchPanel.cpp:3152 #, c-format msgid "Definitively delete %s selected items?" msgstr "Definitivně smazat %s vybrané položky? " #: ../src/FilePanel.cpp:3004 ../src/SearchPanel.cpp:3252 #, 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:3089 ../src/SearchPanel.cpp:3330 msgid "Delete file operation cancelled!" msgstr "Smazání souboru zrušeno!" #: ../src/FilePanel.cpp:3496 ../src/Preferences.cpp:1010 #: ../src/SearchPanel.cpp:1703 msgid "Compare" msgstr "Porovnat" #: ../src/FilePanel.cpp:3496 ../src/SearchPanel.cpp:1703 msgid "With:" msgstr "S:" #: ../src/FilePanel.cpp:3546 ../src/SearchPanel.cpp:1753 #, 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:3758 msgid "Create new file:" msgstr "Vytvořit nový soubor:" #: ../src/FilePanel.cpp:3794 #, c-format msgid "Can't create file %s: %s" msgstr "Nemohu vytvořit soubor %s: %s" #: ../src/FilePanel.cpp:3798 #, c-format msgid "Can't create file %s" msgstr "Nemohu vytvořit soubor %s" #: ../src/FilePanel.cpp:3813 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Nemohu nastavit práva v %s: %s" #: ../src/FilePanel.cpp:3817 #, c-format msgid "Can't set permissions in %s" msgstr "Nemohu nastavit práva v %s" #: ../src/FilePanel.cpp:3865 msgid "Create new symbolic link:" msgstr "Vytvořit nový symbolický odkaz:" #: ../src/FilePanel.cpp:3865 msgid "New Symlink" msgstr "Nový odkaz" #. Select target #: ../src/FilePanel.cpp:3889 msgid "Select the symlink refered file or folder" msgstr "Vyberte odkaz souboru nebo adresáře" #: ../src/FilePanel.cpp:3899 #, c-format msgid "Symlink source %s does not exist" msgstr "Zdroj odkazu %s neexistuje" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open selected file(s) with:" msgstr "Otevřít vybraný soubor(y) pomocí:" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "Open With" msgstr "Otevřít pomocí" #: ../src/FilePanel.cpp:4227 ../src/SearchPanel.cpp:889 msgid "A&ssociate" msgstr "A&sociovat" #: ../src/FilePanel.cpp:4401 msgid "Show files:" msgstr "Zobrazit soubory:" #. Menu items #: ../src/FilePanel.cpp:4512 msgid "New& file..." msgstr "Nový& soubor..." #: ../src/FilePanel.cpp:4514 ../src/FilePanel.cpp:4557 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Nový od&kaz..." #: ../src/FilePanel.cpp:4515 ../src/FilePanel.cpp:4558 msgid "Fi<er..." msgstr "Fi<r..." #: ../src/FilePanel.cpp:4524 ../src/FilePanel.cpp:4567 #: ../src/SearchPanel.cpp:2343 msgid "&Full file list" msgstr "Ú&plný seznam souborů" #: ../src/FilePanel.cpp:4537 ../src/FilePanel.cpp:4580 #: ../src/SearchPanel.cpp:2328 ../src/SearchPanel.cpp:2356 msgid "Per&missions" msgstr "&Práva" #: ../src/FilePanel.cpp:4555 msgid "Ne&w file..." msgstr "No&vý soubor..." #: ../src/FilePanel.cpp:4593 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Připojit" #: ../src/FilePanel.cpp:4602 ../src/SearchPanel.cpp:2368 msgid "Open &with..." msgstr "Otevřít &s..." #: ../src/FilePanel.cpp:4603 ../src/SearchPanel.cpp:2369 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Otevřít" #: ../src/FilePanel.cpp:4614 ../src/FilePanel.cpp:4618 msgid "Extr&act to folder " msgstr "Ro&zbalit do adresáře" #: ../src/FilePanel.cpp:4625 ../src/FilePanel.cpp:4632 #: ../src/FilePanel.cpp:4637 ../src/SearchPanel.cpp:2385 msgid "&Extract here" msgstr "&Rozbalit sem" #: ../src/FilePanel.cpp:4627 ../src/FilePanel.cpp:4639 #: ../src/SearchPanel.cpp:2380 ../src/SearchPanel.cpp:2390 msgid "E&xtract to..." msgstr "Roz&balit do..." #: ../src/FilePanel.cpp:4645 ../src/FilePanel.cpp:4653 #: ../src/SearchPanel.cpp:2396 ../src/SearchPanel.cpp:2402 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:335 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Zobrazit" #: ../src/FilePanel.cpp:4646 msgid "Install/Up&grade" msgstr "Instalovat/Up&gradovat" #: ../src/FilePanel.cpp:4647 msgid "Un&install" msgstr "Od&instalovat" #: ../src/FilePanel.cpp:4654 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2403 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Editovat" #: ../src/FilePanel.cpp:4657 ../src/SearchPanel.cpp:2406 msgid "Com&pare..." msgstr "Po&rovnat..." #: ../src/FilePanel.cpp:4661 ../src/SearchPanel.cpp:2410 msgid "Com&pare" msgstr "Po&rovnat" #: ../src/FilePanel.cpp:4672 msgid "Packages &query " msgstr "Dotaz na &balíky" #: ../src/FilePanel.cpp:4680 ../src/SearchPanel.cpp:2429 msgid "Scripts" msgstr "Skripty" #: ../src/FilePanel.cpp:4683 ../src/SearchPanel.cpp:2432 msgid "&Go to script folder" msgstr "&Jít do adresáře skriptů" #: ../src/FilePanel.cpp:4691 ../src/SearchPanel.cpp:2440 msgid "Copy &to..." msgstr "Kopírovat &do..." #: ../src/FilePanel.cpp:4694 ../src/SearchPanel.cpp:2443 msgid "M&ove to trash" msgstr "Pře&sunout do koše" #: ../src/FilePanel.cpp:4695 msgid "Restore &from trash" msgstr "O&bnovit z koše" #: ../src/FilePanel.cpp:4698 ../src/SearchPanel.cpp:2446 #, fuzzy msgid "Compare &sizes" msgstr "Porovnat" #: ../src/FilePanel.cpp:4699 ../src/SearchPanel.cpp:2447 #, fuzzy msgid "P&roperties" msgstr "Vlastnosti" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:5060 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2691 msgid "Select a destination folder" msgstr "Vyberte cílový adresář" #: ../src/FilePanel.cpp:5063 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2694 ../src/SearchWindow.cpp:1151 #: ../src/XFilePackage.cpp:318 ../src/XFileImage.cpp:181 #: ../src/WriteWindow.cpp:1540 msgid "All Files" msgstr "Všechny soubory" #. File object #: ../src/FilePanel.cpp:5523 msgid "Package Install/Upgrade" msgstr "Instalace/Upgrade balíku" #. File object #: ../src/FilePanel.cpp:5572 msgid "Package Uninstall" msgstr "Odinstalace balíku" #: ../src/FilePanel.cpp:5781 ../src/CommandWindow.cpp:184 #: ../src/SearchWindow.cpp:809 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1711 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Chyba: Selhal fork: %s\n" #: ../src/FilePanel.cpp:5828 ../src/SearchPanel.cpp:4206 #, c-format msgid "Can't create script folder %s: %s" msgstr "Nemohu vytvořit adresář skriptů %s : %s" #: ../src/FilePanel.cpp:5832 ../src/SearchPanel.cpp:4210 #, c-format msgid "Can't create script folder %s" msgstr "Nemohu vytvořit adresář skriptů %s" #: ../src/FilePanel.cpp:6055 ../src/SearchPanel.cpp:4483 #: ../src/XFilePackage.cpp:923 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Kompatibilní správce balíků (rpm nebo dpkg) nenalezen!" #: ../src/FilePanel.cpp:6120 ../src/SearchPanel.cpp:4548 #, c-format msgid "File %s does not belong to any package." msgstr "Soubor %s nepatří k žádnému balíku." #: ../src/FilePanel.cpp:6121 ../src/FilePanel.cpp:6126 #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 ../src/SearchPanel.cpp:4549 #: ../src/SearchPanel.cpp:4554 msgid "Information" msgstr "Informace" #: ../src/FilePanel.cpp:6125 ../src/SearchPanel.cpp:4553 #, 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:6220 ../src/SearchPanel.cpp:2887 #, fuzzy msgid "Sizes of Selected Items" msgstr " vybrané položky" #: ../src/FilePanel.cpp:6253 ../src/SearchPanel.cpp:4245 msgid "0 bytes" msgstr "0 bytů" #: ../src/FilePanel.cpp:6299 ../src/SearchPanel.cpp:4276 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s file)" msgstr "%s v %s vybraných položkách" #: ../src/FilePanel.cpp:6303 ../src/SearchPanel.cpp:4280 #, fuzzy, c-format msgid "%s in %s selected items (%s folder, %s files)" msgstr "%s v %s vybraných položkách" #: ../src/FilePanel.cpp:6307 ../src/SearchPanel.cpp:4284 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s file)" msgstr "%s v %s vybraných položkách" #: ../src/FilePanel.cpp:6311 ../src/SearchPanel.cpp:4288 #, fuzzy, c-format msgid "%s in %s selected items (%s folders, %s files)" msgstr "%s v %s vybraných položkách" #: ../src/FilePanel.cpp:6322 #, fuzzy msgid "1 item (1 folder)" msgstr " adresář:" #: ../src/FilePanel.cpp:6336 ../src/FilePanel.cpp:6351 #: ../src/SearchPanel.cpp:4313 ../src/SearchPanel.cpp:4328 #, c-format msgid "%s items (%s folders, %s files)" msgstr "" #: ../src/FilePanel.cpp:6339 ../src/SearchPanel.cpp:4316 #, fuzzy, c-format msgid "%s items (%s folder, %s file)" msgstr "%d souborů, %d adresářů" #: ../src/FilePanel.cpp:6343 ../src/SearchPanel.cpp:4320 #, fuzzy, c-format msgid "%s items (%s folder, %s files)" msgstr "%d souborů, %d adresářů" #: ../src/FilePanel.cpp:6347 ../src/SearchPanel.cpp:4324 #, fuzzy, c-format msgid "%s items (%s folders, %s file)" msgstr "%d souborů, %d adresářů" #: ../src/FilePanel.cpp:6371 ../src/SearchPanel.cpp:4348 #: ../src/SearchWindow.cpp:183 msgid "Link" msgstr "Odkaz" #: ../src/FilePanel.cpp:6402 #, 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:57 ../src/CommandWindow.cpp:86 msgid "Cl&ose" msgstr "&Zavřít" #: ../src/CommandWindow.cpp:66 ../src/CommandWindow.cpp:95 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:829 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Nemohu duplikovat roury: %s" #: ../src/CommandWindow.cpp:203 ../src/SearchWindow.cpp:833 msgid "Can't duplicate pipes" msgstr "Nemohu duplikovat roury" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> PŘÍKAZ ZRUŠEN <<<<" #: ../src/CommandWindow.cpp:298 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:135 msgid "Preferences" msgstr "Nastavení" #: ../src/Preferences.cpp:137 msgid "Current Theme" msgstr "Aktuální téma" #: ../src/Preferences.cpp:182 msgid "Options" msgstr "Volby" #: ../src/Preferences.cpp:183 msgid "Use trash can for file deletion (safe delete)" msgstr "Používat koš pro mazání (bezpečné mazání)" #: ../src/Preferences.cpp:184 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:185 msgid "Auto save layout" msgstr "Automatické uložení rozvržení" #: ../src/Preferences.cpp:186 msgid "Save window position" msgstr "Ukládat pozici okna" #: ../src/Preferences.cpp:187 msgid "Single click folder open" msgstr "Kliknutí otevře adresář" #: ../src/Preferences.cpp:188 msgid "Single click file open" msgstr "Kliknutí otevře soubor" #: ../src/Preferences.cpp:189 msgid "Display tooltips in file and folder lists" msgstr "Zobrazit tipy v seznamu souborů a adresářů" #: ../src/Preferences.cpp:190 msgid "Relative resizing of file lists" msgstr "Poměrná změna velikost seznamu souborů" #: ../src/Preferences.cpp:191 msgid "Display a path linker above file lists" msgstr "Zobrazit cestu nad seznamem souborů" #: ../src/Preferences.cpp:193 msgid "Notify when applications start up" msgstr "Upozorňovat při startu aplikace" #: ../src/Preferences.cpp:195 #, fuzzy msgid "Don't execute text files" msgstr "Potvrzení spuštění souborů" #: ../src/Preferences.cpp:198 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)" #. Second tab - Modes #: ../src/Preferences.cpp:204 msgid "&Modes" msgstr "&Módy" #: ../src/Preferences.cpp:211 msgid "Starting mode" msgstr "Mód spuštění" #: ../src/Preferences.cpp:213 msgid "Start in home folder" msgstr "Spustit v domovském adresáři" #: ../src/Preferences.cpp:214 msgid "Start in current folder" msgstr "Spustit v aktuálním adresáři" #: ../src/Preferences.cpp:215 msgid "Start in last visited folder" msgstr "Spustit v posledním navštíveném adresáři" #: ../src/Preferences.cpp:217 msgid "Scrolling mode" msgstr "Mód skrolování" #: ../src/Preferences.cpp:220 msgid "Smooth scrolling in file lists and text windows" msgstr "Hladké rolování v seznamu souborů a textových oknech" #: ../src/Preferences.cpp:224 msgid "Mouse scrolling speed:" msgstr "Rychlost točení kolečka myši:" #: ../src/Preferences.cpp:227 #, fuzzy msgid "Scrollbar width:" msgstr "Barva posuvníku" #: ../src/Preferences.cpp:231 msgid "Root mode" msgstr "Root mód" #: ../src/Preferences.cpp:232 msgid "Allow root mode" msgstr "Povolit root mód" #: ../src/Preferences.cpp:233 msgid "Authentication using sudo (uses user password)" msgstr "Ověření pomocí sudo (používá uživatelské heslo)" #: ../src/Preferences.cpp:234 msgid "Authentication using su (uses root password)" msgstr "Ověření pomocí su (používá heslo roota)" #: ../src/Preferences.cpp:238 #, fuzzy msgid "sudo command:" msgstr "Selhal příkaz: %s" #: ../src/Preferences.cpp:240 #, fuzzy msgid "su command:" msgstr "Spustit příkaz" #. Third tab - Dialogs #: ../src/Preferences.cpp:324 msgid "&Dialogs" msgstr "&Dialogy" #: ../src/Preferences.cpp:326 msgid "Confirmations" msgstr "Potvrzení" #: ../src/Preferences.cpp:327 msgid "Confirm copy/move/rename/symlink" msgstr "Potvrzení kopírování/přesunu/přejmenování/odkazu" #: ../src/Preferences.cpp:328 msgid "Confirm drag and drop" msgstr "Potvrzení drag && drop" #: ../src/Preferences.cpp:329 msgid "Confirm move to trash/restore from trash" msgstr "Potvrzení přesunutí do koše/obnovení z koše" #: ../src/Preferences.cpp:330 msgid "Confirm delete" msgstr "Potvrzení smazání" #: ../src/Preferences.cpp:331 msgid "Confirm delete non empty folders" msgstr "Potvrzení mazání neprázdných adresářů" #: ../src/Preferences.cpp:332 msgid "Confirm overwrite" msgstr "Potvrzení přepsání" #: ../src/Preferences.cpp:333 msgid "Confirm execute text files" msgstr "Potvrzení spuštění souborů" #: ../src/Preferences.cpp:334 #, fuzzy msgid "Confirm change properties" msgstr "Vlastnosti" #. Warning window #: ../src/Preferences.cpp:336 ../src/SearchWindow.cpp:482 msgid "Warnings" msgstr "Varování" #: ../src/Preferences.cpp:337 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:339 msgid "Warn when mount points are not responding" msgstr "Varovat, když připojené body neodpovídají" #: ../src/Preferences.cpp:340 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Zobrazit okno při úspěšném připojení/odpojení" #: ../src/Preferences.cpp:342 msgid "Warn when date preservation failed" msgstr "Varovat pokud selže prezentace data" #: ../src/Preferences.cpp:343 msgid "Warn if running as root" msgstr "Varovat při spuštění pod rootem" #. Fourth tab - Programs #: ../src/Preferences.cpp:388 msgid "&Programs" msgstr "&Programy" #: ../src/Preferences.cpp:390 msgid "Default programs" msgstr "Přednastavené programy" #: ../src/Preferences.cpp:393 msgid "Text viewer:" msgstr "Prohlížeč textů:" #: ../src/Preferences.cpp:399 msgid "Text editor:" msgstr "Textový editor:" #: ../src/Preferences.cpp:405 #, fuzzy msgid "File comparator:" msgstr "Porovnávání souboru:" #: ../src/Preferences.cpp:411 msgid "Image editor:" msgstr "Editor obrázků:" #: ../src/Preferences.cpp:417 msgid "Image viewer:" msgstr "Prohlížeč obrázků:" #: ../src/Preferences.cpp:423 msgid "Archiver:" msgstr "Program pro archívy:" #: ../src/Preferences.cpp:429 msgid "Pdf viewer:" msgstr "Prohlížeč pdf:" #: ../src/Preferences.cpp:435 msgid "Audio player:" msgstr "Audio přehrávač:" #: ../src/Preferences.cpp:441 msgid "Video player:" msgstr "Video přehrávač:" #: ../src/Preferences.cpp:447 msgid "Terminal:" msgstr "Terminál:" #: ../src/Preferences.cpp:453 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:456 #, fuzzy msgid "Mount:" msgstr "Připojit" #: ../src/Preferences.cpp:462 #, fuzzy msgid "Unmount:" msgstr "Odpojit" #. Fifth tab - Appearance #: ../src/Preferences.cpp:470 msgid "&Appearance" msgstr "" #: ../src/Preferences.cpp:472 msgid "Color theme" msgstr "Barevné téma" #: ../src/Preferences.cpp:482 msgid "Custom colors" msgstr "Uživatelské barvy" #: ../src/Preferences.cpp:487 msgid "Double click to customize the color" msgstr "Dvoj-klik pro úpravy barvy" #: ../src/Preferences.cpp:489 msgid "Base color" msgstr "Základní barva" #: ../src/Preferences.cpp:490 msgid "Border color" msgstr "Barva okraje" #: ../src/Preferences.cpp:491 msgid "Background color" msgstr "Barva pozadí" #: ../src/Preferences.cpp:492 msgid "Text color" msgstr "Barva textu" #: ../src/Preferences.cpp:493 msgid "Selection background color" msgstr "Barva pozadí vybraného textu" #: ../src/Preferences.cpp:494 msgid "Selection text color" msgstr "Barva vybraného textu" #: ../src/Preferences.cpp:495 msgid "File list background color" msgstr "Barva pozadí seznamu souborů" #: ../src/Preferences.cpp:496 msgid "File list text color" msgstr "Barva textu seznamu souborů" #: ../src/Preferences.cpp:497 msgid "File list highlight color" msgstr "Barva zvýraznění seznamu souborů" #: ../src/Preferences.cpp:498 msgid "Progress bar color" msgstr "Barva ukazatele průběhu" #: ../src/Preferences.cpp:499 msgid "Attention color" msgstr "Barva upozornění" #: ../src/Preferences.cpp:500 msgid "Scrollbar color" msgstr "Barva posuvníku" #. Monitor resolution #: ../src/Preferences.cpp:504 msgid "Screen resolution" msgstr "" #: ../src/Preferences.cpp:506 msgid "DPI:" msgstr "" #. Controls theme #: ../src/Preferences.cpp:514 msgid "Controls" msgstr "Ovládání" #: ../src/Preferences.cpp:516 msgid "Standard (classic controls)" msgstr "Standardní (klasické ovládací prvky)" #: ../src/Preferences.cpp:517 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:520 msgid "Icon theme path" msgstr "Cesta k ikonám pro témata" #: ../src/Preferences.cpp:523 msgid "\tSelect path..." msgstr "\tVybrat cestu..." #. Sixth tab - Fonts #: ../src/Preferences.cpp:528 msgid "&Fonts" msgstr "&Fonty" #: ../src/Preferences.cpp:530 msgid "Fonts" msgstr "Fonty" #: ../src/Preferences.cpp:533 msgid "Normal font:" msgstr "Normální font:" #: ../src/Preferences.cpp:535 ../src/Preferences.cpp:541 msgid " Select..." msgstr " Vybrat..." #: ../src/Preferences.cpp:539 msgid "Text font:" msgstr "Font textů:" #. Seventh tab - Key bindings #: ../src/Preferences.cpp:546 msgid "&Key Bindings" msgstr "Přiřazení &kláves" #: ../src/Preferences.cpp:548 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Přiřazení kláves" #: ../src/Preferences.cpp:551 msgid "Modify key bindings..." msgstr "Upravit přiřazení kláves..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:552 msgid "Restore default key bindings..." msgstr "Obnovit výchozí přiřazení kláves..." #: ../src/Preferences.cpp:634 msgid "Select an icon theme folder or an icon file" msgstr "Vyberte adresář s tématem ikon nebo soubor s ikonami" #: ../src/Preferences.cpp:723 msgid "Change Normal Font" msgstr "Změnit normální font" #: ../src/Preferences.cpp:747 msgid "Change Text Font" msgstr "Změnit font textů" #: ../src/Preferences.cpp:795 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Vytvořit nový soubor" #: ../src/Preferences.cpp:799 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Vytvořit nový adresář" #: ../src/Preferences.cpp:803 msgid "Copy to clipboard" msgstr "Kopírovat do schránky" #: ../src/Preferences.cpp:807 msgid "Cut to clipboard" msgstr "Vyjmout do schránky" #: ../src/Preferences.cpp:811 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Vložit ze schránky" #: ../src/Preferences.cpp:827 msgid "Open file" msgstr "Otevřít soubor" #: ../src/Preferences.cpp:831 msgid "Quit application" msgstr "Ukončit aplikaci" #: ../src/Preferences.cpp:835 msgid "Select all" msgstr "Vybrat vše" #: ../src/Preferences.cpp:839 msgid "Deselect all" msgstr "Od vybrat vše" #: ../src/Preferences.cpp:843 msgid "Invert selection" msgstr "Obrácený výběr" #: ../src/Preferences.cpp:847 msgid "Display help" msgstr "Zobrazit nápovědu" #: ../src/Preferences.cpp:851 msgid "Toggle display hidden files" msgstr "Přepnout zobrazení skrytých souborů" #: ../src/Preferences.cpp:855 msgid "Toggle display thumbnails" msgstr "Přepnout zobrazení náhledů" #: ../src/Preferences.cpp:863 msgid "Close window" msgstr "Zavřít okno" #: ../src/Preferences.cpp:867 msgid "Print file" msgstr "Tisknout soubor" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2090 msgid "Search" msgstr "Najít" #: ../src/Preferences.cpp:875 msgid "Search previous" msgstr "Najít předchozí" #: ../src/Preferences.cpp:879 msgid "Search next" msgstr "Najít další" #: ../src/Preferences.cpp:883 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:461 msgid "Vertical panels" msgstr "Vertikální panely" #: ../src/Preferences.cpp:887 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:467 msgid "Horizontal panels" msgstr "Horizontální panely" #: ../src/Preferences.cpp:897 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Obnovit panely" #: ../src/Preferences.cpp:901 msgid "Create new symbolic link" msgstr "Vytvořit nový symbolický odkaz" #: ../src/Preferences.cpp:905 msgid "File properties" msgstr "Vlastnosti" #: ../src/Preferences.cpp:909 msgid "Move files to trash" msgstr "Přesunout soubory do koše" #: ../src/Preferences.cpp:913 msgid "Restore files from trash" msgstr "Obnovit soubory z koše" #: ../src/Preferences.cpp:917 msgid "Delete files" msgstr "Smazat soubory" #: ../src/Preferences.cpp:921 msgid "Create new window" msgstr "Nové okno" #: ../src/Preferences.cpp:925 msgid "Create new root window" msgstr "Nové root okno" #: ../src/Preferences.cpp:929 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3718 msgid "Execute command" msgstr "Spustit příkaz" #: ../src/Preferences.cpp:933 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Spustit terminál" #: ../src/Preferences.cpp:938 msgid "Mount file system (Linux only)" msgstr "Připojit souborový systém (jen pro Linux)" #: ../src/Preferences.cpp:942 msgid "Unmount file system (Linux only)" msgstr "Odpojit souborový systém (jen pro Linux)" #: ../src/Preferences.cpp:946 msgid "One panel mode" msgstr "Jeden panel" #: ../src/Preferences.cpp:950 msgid "Tree and panel mode" msgstr "Strom a panel" #: ../src/Preferences.cpp:954 msgid "Two panels mode" msgstr "Dva panely" #: ../src/Preferences.cpp:958 msgid "Tree and two panels mode" msgstr "Strom a dva panely" #: ../src/Preferences.cpp:962 msgid "Clear location bar" msgstr "Vyčistit lokační řádek" #: ../src/Preferences.cpp:966 msgid "Rename file" msgstr "Přejmenovat soubor" #: ../src/Preferences.cpp:970 msgid "Copy files to location" msgstr "Kopírovat soubor" #: ../src/Preferences.cpp:974 msgid "Move files to location" msgstr "Přesunout soubor" #: ../src/Preferences.cpp:978 msgid "Symlink files to location" msgstr "Vytvořit symbolický odkaz na soubor" #: ../src/Preferences.cpp:982 msgid "Add bookmark" msgstr "Přidat záložku" #: ../src/Preferences.cpp:986 msgid "Synchronize panels" msgstr "Synchronizovat panely" #: ../src/Preferences.cpp:990 msgid "Switch panels" msgstr "Přepnout panely" #: ../src/Preferences.cpp:994 msgid "Go to trash can" msgstr "Jít ke koši" #: ../src/Preferences.cpp:998 ../src/XFileExplorer.cpp:3961 msgid "Empty trash can" msgstr "Prázdný koš může" #: ../src/Preferences.cpp:1002 msgid "View" msgstr "Zobrazit" #: ../src/Preferences.cpp:1006 msgid "Edit" msgstr "Upravit" #: ../src/Preferences.cpp:1014 msgid "Toggle display hidden folders" msgstr "Přepnout zobrazení skrytých adresářů" #: ../src/Preferences.cpp:1018 msgid "Filter files" msgstr "Filtr souborů" #: ../src/Preferences.cpp:1029 msgid "Zoom image to 100%" msgstr "Zobrazit na 100%" #: ../src/Preferences.cpp:1033 msgid "Zoom to fit window" msgstr "Přizpůsobit oknu" #: ../src/Preferences.cpp:1037 msgid "Rotate image to left" msgstr "Otočit obrázek doleva" #: ../src/Preferences.cpp:1041 msgid "Rotate image to right" msgstr "Otočit obrázek doprava" #: ../src/Preferences.cpp:1045 msgid "Mirror image horizontally" msgstr "Zrcadlit obrázek horizontálně" #: ../src/Preferences.cpp:1049 msgid "Mirror image vertically" msgstr "Zrcadlit obrázek vertikálně" #: ../src/Preferences.cpp:1059 msgid "Create new document" msgstr "Vytvořit nový dokument" #: ../src/Preferences.cpp:1063 msgid "Save changes to file" msgstr "Uložit změny" #: ../src/Preferences.cpp:1067 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Jít na řádek" #: ../src/Preferences.cpp:1071 msgid "Undo last change" msgstr "Vrátit poslední změnu" #: ../src/Preferences.cpp:1075 msgid "Redo last change" msgstr "Obnovit poslední změnu" #: ../src/Preferences.cpp:1079 msgid "Replace string" msgstr "Nahradit řetězec" #: ../src/Preferences.cpp:1083 msgid "Toggle word wrap mode" msgstr "Přepínání módu dělení slov" #: ../src/Preferences.cpp:1087 msgid "Toggle line numbers mode" msgstr "Přepínání módu číslování řádků" #: ../src/Preferences.cpp:1091 msgid "Toggle lower case mode" msgstr "Přepínání módu malá písmena" #: ../src/Preferences.cpp:1095 msgid "Toggle upper case mode" msgstr "Přepínání módu velká písmena" #. Confirmation message #: ../src/Preferences.cpp:1114 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:1115 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:1213 ../src/Preferences.cpp:1869 #: ../src/XFileImage.cpp:1504 ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Restart" #: ../src/Preferences.cpp:1213 ../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:1869 #, fuzzy msgid "" "Preferences 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/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:254 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Zavřít" #: ../src/SearchPanel.cpp:165 msgid "Refresh panel" msgstr "Obnovit panel" #: ../src/SearchPanel.cpp:177 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Zkopíruje vybrané soubory do schránky" #: ../src/SearchPanel.cpp:182 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Vyjme vybrané soubory do schránky" #: ../src/SearchPanel.cpp:187 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Zobrazí vlastnosti vybraných souborů" #: ../src/SearchPanel.cpp:198 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Přesune vybrané soubory do koše" #: ../src/SearchPanel.cpp:203 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Smaže vybrané soubory" #: ../src/SearchPanel.cpp:410 ../src/SearchPanel.cpp:605 #: ../src/SearchPanel.cpp:1812 #, c-format msgid "Current folder has been set to '%s'" msgstr "Aktuální adresář nemůže být nastaven na '%s'" #: ../src/SearchPanel.cpp:2315 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Ú&plný seznam souborů" #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnorovat velikost písmen" #: ../src/SearchPanel.cpp:2347 ../src/XFileImage.cpp:819 msgid "&Autosize" msgstr "&Automatická velikost" #: ../src/SearchPanel.cpp:2421 msgid "&Packages query " msgstr "Dotaz na &balíky" #: ../src/SearchPanel.cpp:2435 msgid "&Go to parent folder" msgstr "&Jít do nadřazeného adresáře" #: ../src/SearchPanel.cpp:3658 #, c-format msgid "Copy %s items" msgstr "Kopírovat %s položek" #: ../src/SearchPanel.cpp:3674 #, c-format msgid "Move %s items" msgstr "Přesunout %s položek" #: ../src/SearchPanel.cpp:3690 #, c-format msgid "Symlink %s items" msgstr "Symbolické odkazy %s položek" #: ../src/SearchPanel.cpp:3734 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3807 msgid "You must enter an absolute path!" msgstr "Musíte zadat absolutní cestu!" #: ../src/SearchPanel.cpp:4231 #, fuzzy msgid "0 item" msgstr "Žádné položky" #: ../src/SearchPanel.cpp:4299 msgid "1 item" msgstr "1 položka" #: ../src/SearchWindow.cpp:71 msgid "Find files:" msgstr "Najít soubory:" #: ../src/SearchWindow.cpp:74 msgid "Ignore case\tIgnore file name case" msgstr "Ignorovat velikost\tIgnoruje velikost písmen v názvu souboru" #. Hidden files #: ../src/SearchWindow.cpp:79 msgid "Hidden files\tShow hidden files and folders" msgstr "Skryté soubory\tZobrazí skryté soubory a adresáře." #: ../src/SearchWindow.cpp:84 msgid "In folder:" msgstr "V adresáři:" #: ../src/SearchWindow.cpp:86 msgid "\tIn folder..." msgstr "\tV adresáři..." #: ../src/SearchWindow.cpp:89 msgid "Text contains:" msgstr "Obsahuje text:" #: ../src/SearchWindow.cpp:92 msgid "Ignore case\tIgnore text case" msgstr "Ignorovat velikost\tIgnoruje velikost písmen v textu" #. Search options #: ../src/SearchWindow.cpp:97 msgid "More options" msgstr "Další volby" #: ../src/SearchWindow.cpp:98 msgid "Search options" msgstr "Volby hledání" #: ../src/SearchWindow.cpp:99 msgid "Reset\tReset search options" msgstr "Reset\tReset voleb hledání" #: ../src/SearchWindow.cpp:115 msgid "Min size:" msgstr "Minimální velikost:" #: ../src/SearchWindow.cpp:117 #, fuzzy msgid "Filter by minimum file size (kBytes)" msgstr "Filtr pro minimální velikost souboru (KByty)" #: ../src/SearchWindow.cpp:118 ../src/SearchWindow.cpp:123 #: ../src/xfeutils.cpp:952 msgid "kB" msgstr "" #: ../src/SearchWindow.cpp:120 msgid "Max size:" msgstr "Maximální velikost:" #: ../src/SearchWindow.cpp:122 #, fuzzy msgid "Filter by maximum file size (kBytes)" msgstr "Filtr pro maximální velikost souboru (KByty)" #. Modification date #: ../src/SearchWindow.cpp:126 msgid "Last modified before:" msgstr "Poslední modifikace před:" #: ../src/SearchWindow.cpp:128 msgid "Filter by maximum modification date (days)" msgstr "Filter pro maximální datum úpravy (dny)" #: ../src/SearchWindow.cpp:129 ../src/SearchWindow.cpp:134 msgid "Days" msgstr "Dny" #: ../src/SearchWindow.cpp:131 msgid "Last modified after:" msgstr "Poslední modifikace po:" #: ../src/SearchWindow.cpp:133 msgid "Filter by minimum modification date (days)" msgstr "Filtr pro minimální datum úpravy (dny)" #. User and group #: ../src/SearchWindow.cpp:137 msgid "User:" msgstr "Uživatel: " #: ../src/SearchWindow.cpp:140 msgid "\tFilter by user name" msgstr "\tFiltrování podle jména uživatele" #: ../src/SearchWindow.cpp:142 msgid "Group:" msgstr "Skupina: " #: ../src/SearchWindow.cpp:145 msgid "\tFilter by group name" msgstr "\tFiltrování podle jména skupiny" #. File type #: ../src/SearchWindow.cpp:178 msgid "File type:" msgstr "Typ souboru:" #: ../src/SearchWindow.cpp:181 msgid "File" msgstr "Soubor" #: ../src/SearchWindow.cpp:185 msgid "Pipe" msgstr "Roura" #: ../src/SearchWindow.cpp:187 msgid "\tFilter by file type" msgstr "\tFiltrování podle typu souboru" #. Permissions (in octal) #: ../src/SearchWindow.cpp:190 msgid "Permissions:" msgstr "Práva: " #: ../src/SearchWindow.cpp:194 msgid "\tFilter by permissions (octal)" msgstr "\tFiltrování podle práv" #. Empty files #: ../src/SearchWindow.cpp:197 msgid "Empty files:" msgstr "Prázdné soubory:" #: ../src/SearchWindow.cpp:198 msgid "\tEmpty files only" msgstr "\tJen prázdné soubory" #: ../src/SearchWindow.cpp:202 msgid "Follow symbolic links:" msgstr "Následovat symbolické odkazy:" #: ../src/SearchWindow.cpp:203 msgid "\tSearch while following symbolic links" msgstr "\tHledání s následováním symbolických odkazů" #: ../src/SearchWindow.cpp:207 msgid "Non recursive:" msgstr "Nerekurzivně" #: ../src/SearchWindow.cpp:208 msgid "\tDon't search folders recursively" msgstr "\tNeprohlédávat adresáře rekurzivně" #: ../src/SearchWindow.cpp:212 msgid "Ignore other file systems:" msgstr "Ignorovat jiné souborové systémy:" #: ../src/SearchWindow.cpp:213 msgid "\tDon't search in other file systems" msgstr "\tNeprohledávat ostatní souborové systémy" #. Start #: ../src/SearchWindow.cpp:223 msgid "&Start\tStart the search (F3)" msgstr "&Start\tSpustí hledání (F3)" #. Stop #: ../src/SearchWindow.cpp:226 msgid "&Stop\tStop the search (Esc)" msgstr "Sto&p\tZastaví hledání (Esc)" #: ../src/SearchWindow.cpp:782 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Hledání spuštěno - Čekejte... <<<<" #. Update item count #: ../src/SearchWindow.cpp:912 ../src/SearchWindow.cpp:945 msgid " items" msgstr " položky" #: ../src/SearchWindow.cpp:938 msgid ">>>> Search results <<<<" msgstr ">>>> Výsledek hledání <<<<" #: ../src/SearchWindow.cpp:956 msgid "Input / Output error" msgstr "I/O chyba" #: ../src/SearchWindow.cpp:973 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Hledání zastaveno... <<<<" #: ../src/SearchWindow.cpp:1147 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:201 #: ../src/XFileImage.cpp:327 ../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:808 msgid "&Vertical panels" msgstr "&Vertikální panely" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:812 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:781 msgid "&Thumbnails" msgstr "&Náhled" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:789 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:3538 #: ../src/XFileExplorer.cpp:3589 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:3537 #: ../src/XFileExplorer.cpp:3588 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:4240 msgid "T&rash" msgstr "&Koš" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4243 ../src/XFileExplorer.cpp:4254 #: ../src/XFilePackage.cpp:209 ../src/XFileImage.cpp:343 #: ../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:2218 msgid "Running Xfe as root!" msgstr "Xfe běží pod rootem!" #: ../src/XFileExplorer.cpp:2253 #, 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:2270 #, 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:2274 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Nemohu vytvořit adresář %s pro uložení konfigurace Xfe" #: ../src/XFileExplorer.cpp:2296 msgid "No global xferc file found! Please select a configuration file..." msgstr "Nenalezen soubor xferc! Vyberte prosím konfigurační soubor..." #: ../src/XFileExplorer.cpp:2300 msgid "XFE configuration file" msgstr "Konfigurační soubor XFE" #: ../src/XFileExplorer.cpp:2312 msgid "Xfe cannot run without a global xferc configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2335 ../src/XFileExplorer.cpp:3990 #, 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:2339 ../src/XFileExplorer.cpp:3992 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Nemohu vytvořit adresář koše 'files' %s" #: ../src/XFileExplorer.cpp:2357 ../src/XFileExplorer.cpp:4005 #, 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:2361 ../src/XFileExplorer.cpp:4007 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Nemohu vytvořit adresář koše 'info' %s" #: ../src/XFileExplorer.cpp:3181 msgid "Help" msgstr "Nápověda" #: ../src/XFileExplorer.cpp:3211 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer %s" #: ../src/XFileExplorer.cpp:3212 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Založeno na X WinCommander Maxima Baranova\n" #: ../src/XFileExplorer.cpp:3214 #, 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" "Finnish: Kimmo Siira\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:3246 msgid "About X File Explorer" msgstr "O X File Explorer" #: ../src/XFileExplorer.cpp:3509 ../src/XFileExplorer.cpp:3557 msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3718 msgid "Execute the command:" msgstr "Spustit příkaz:" #: ../src/XFileExplorer.cpp:3718 msgid "Console mode" msgstr "Konzolový mód" #: ../src/XFileExplorer.cpp:3896 msgid "Search files and folders" msgstr "Vyhledá soubory a adresáře." #. Confirmation message #: ../src/XFileExplorer.cpp:3958 msgid "Do you really want to empty the trash can?" msgstr "Opravdu chcete vysypat koš?" #: ../src/XFileExplorer.cpp:3958 msgid " in " msgstr " ve" #: ../src/XFileExplorer.cpp:3959 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "Všechny položky budou definitivně ztraceny!" #: ../src/XFileExplorer.cpp:4049 #, 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:4051 msgid "Trash size" msgstr "Velikost koše" #: ../src/XFileExplorer.cpp:4058 #, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Adresář koše %s není pro čtení!" #: ../src/XFileExplorer.cpp:4512 ../src/XFileExplorer.cpp:4586 #, c-format msgid "Command not found: %s" msgstr "Příkaz nenalezen: %s" #: ../src/XFileExplorer.cpp:4591 #, c-format msgid "Invalid file association: %s" msgstr "Neplatná asociace souboru: %s" #: ../src/XFileExplorer.cpp:4596 #, c-format msgid "File association not found: %s" msgstr "Asociace souboru nenalezena: %s" #: ../src/XFilePackage.cpp:205 ../src/XFileImage.cpp:339 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Nastavení" #: ../src/XFilePackage.cpp:213 msgid "Open package file" msgstr "Otevře soubor balíčku" #: ../src/XFilePackage.cpp:218 ../src/XFileImage.cpp:701 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Otevřít..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:232 ../src/XFileImage.cpp:822 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Nástrojová lišta" #. Help Menu entries #: ../src/XFilePackage.cpp:235 msgid "&About X File Package" msgstr "&O X File Package" #. Uninstall #: ../src/XFilePackage.cpp:257 msgid "&Uninstall" msgstr "&Odinstalovat" #. Install/Upgrade #: ../src/XFilePackage.cpp:260 msgid "&Install/Upgrade" msgstr "&Instalovat/Upgradovat" #. First item is Description #: ../src/XFilePackage.cpp:266 msgid "&Description" msgstr "&Popis" #. Second item is File List #: ../src/XFilePackage.cpp:272 msgid "File &List" msgstr "&Seznam souborů" #: ../src/XFilePackage.cpp:304 #, 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:306 msgid "About X File Package" msgstr "O X File Package" #: ../src/XFilePackage.cpp:319 msgid "RPM source packages" msgstr "Zdrojové RPM balíčky" #: ../src/XFilePackage.cpp:320 msgid "RPM packages" msgstr "RPM balíky" #: ../src/XFilePackage.cpp:321 msgid "DEB packages" msgstr "DEB balíky" #: ../src/XFilePackage.cpp:325 ../src/WriteWindow.cpp:1552 msgid "Open Document" msgstr "Otevřít dokument" #: ../src/XFilePackage.cpp:350 ../src/XFilePackage.cpp:396 msgid "No package loaded" msgstr "Balík nenačten" #: ../src/XFilePackage.cpp:369 ../src/XFilePackage.cpp:419 #: ../src/XFilePackage.cpp:521 ../src/XFilePackage.cpp:585 msgid "Unknown package format" msgstr "Neznámý formát balíku" #. Make and show command window #: ../src/XFilePackage.cpp:374 msgid "Install/Upgrade Package" msgstr "Instalace/Upgrade balíku" #. Make and show command window #: ../src/XFilePackage.cpp:424 msgid "Uninstall Package" msgstr "Odinstalace balíku" #: ../src/XFilePackage.cpp:573 msgid "[RPM package]\n" msgstr "[RPM balík]\n" #: ../src/XFilePackage.cpp:578 msgid "[DEB package]\n" msgstr "[DEB balík]\n" #: ../src/XFilePackage.cpp:617 #, c-format msgid "Query of %s failed!" msgstr "Dotaz na %s selhal!" #: ../src/XFilePackage.cpp:641 ../src/XFileImage.cpp:1354 #: ../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:641 ../src/XFileImage.cpp:1354 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1177 #, c-format msgid "Unable to open file: %s" msgstr "Nemohu otevřít soubor: %s" #. Usage message #: ../src/XFilePackage.cpp:719 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:182 msgid "GIF Image" msgstr "GIF obrázek" #: ../src/XFileImage.cpp:183 msgid "BMP Image" msgstr "BMP obrázek" #: ../src/XFileImage.cpp:184 msgid "XPM Image" msgstr "XPM obrázek" #: ../src/XFileImage.cpp:185 msgid "PCX Image" msgstr "PCX obrázek" #: ../src/XFileImage.cpp:186 msgid "ICO Image" msgstr "ICO obrázek" #: ../src/XFileImage.cpp:187 msgid "RGB Image" msgstr "RGB obrázek" #: ../src/XFileImage.cpp:188 msgid "XBM Image" msgstr "XBM obrázek" #: ../src/XFileImage.cpp:189 msgid "TARGA Image" msgstr "TARGA obrázek" #: ../src/XFileImage.cpp:190 msgid "PPM Image" msgstr "PPM obrázek" #: ../src/XFileImage.cpp:191 msgid "PNG Image" msgstr "PNG obrázek" #: ../src/XFileImage.cpp:192 ../src/XFileImage.cpp:193 msgid "JPEG Image" msgstr "JPEG obrázek" #: ../src/XFileImage.cpp:194 ../src/XFileImage.cpp:195 msgid "TIFF Image" msgstr "TIFF obrázek" #: ../src/XFileImage.cpp:331 msgid "&Image" msgstr "O&brázek" #: ../src/XFileImage.cpp:648 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Otevřít" #: ../src/XFileImage.cpp:648 ../src/XFileImage.cpp:701 msgid "Open image file." msgstr "Otevře obrázek." #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:1648 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1871 msgid "Print" msgstr "Tisk" #: ../src/XFileImage.cpp:652 ../src/XFileImage.cpp:707 msgid "Print image file." msgstr "Vytiskne soubor." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:660 msgid "Zoom in" msgstr "Zvětšit" #: ../src/XFileImage.cpp:660 ../src/XFileImage.cpp:734 msgid "Zoom in image." msgstr "Zvětší obrázek." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:665 msgid "Zoom out" msgstr "Zmenšit" #: ../src/XFileImage.cpp:665 ../src/XFileImage.cpp:735 msgid "Zoom out image." msgstr "Zmenší obrázek." #: ../src/XFileImage.cpp:671 msgid "Zoom 100%" msgstr "Zobrazit na 100%" #: ../src/XFileImage.cpp:671 ../src/XFileImage.cpp:738 msgid "Zoom image to 100%." msgstr "Zobrazí obrázek na 100%." #: ../src/XFileImage.cpp:675 msgid "Zoom to fit" msgstr "Přizpůsobit oknu" #: ../src/XFileImage.cpp:675 ../src/XFileImage.cpp:744 msgid "Zoom to fit window." msgstr "Přizpůsobí oknu." #: ../src/XFileImage.cpp:682 msgid "Rotate left" msgstr "Otočit doleva" #: ../src/XFileImage.cpp:682 msgid "Rotate left image." msgstr "Otočí obrázek doleva." #: ../src/XFileImage.cpp:686 msgid "Rotate right" msgstr "Otočit vpravo" #: ../src/XFileImage.cpp:686 msgid "Rotate right image." msgstr "Otočí obrázek doprava." #: ../src/XFileImage.cpp:690 msgid "Mirror horizontally" msgstr "Zrcadlit horizontálně" #: ../src/XFileImage.cpp:690 msgid "Mirror image horizontally." msgstr "Zrcadlí obrázek horizontálně." #: ../src/XFileImage.cpp:694 msgid "Mirror vertically" msgstr "Zrcadlit vertikálně" #: ../src/XFileImage.cpp:694 msgid "Mirror image vertically." msgstr "Zrcadlí obrázek vertikálně." #: ../src/XFileImage.cpp:707 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "&Tisk..." #: ../src/XFileImage.cpp:721 msgid "&Clear recent files" msgstr "&Vyčistit nedávné soubory" #: ../src/XFileImage.cpp:721 msgid "Clear recent file menu." msgstr "Vyčistí menu nedávných souborů" #: ../src/XFileImage.cpp:727 msgid "Quit Xfi." msgstr "Ukončit Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:734 msgid "Zoom &in" msgstr "Z&většit" #: ../src/XFileImage.cpp:735 msgid "Zoom &out" msgstr "Z&menšit" #: ../src/XFileImage.cpp:738 msgid "Zoo&m 100%" msgstr "Zobrazit na &100%" #: ../src/XFileImage.cpp:744 msgid "Zoom to fit &window" msgstr "&Přizpůsobit oknu" #: ../src/XFileImage.cpp:750 msgid "Rotate &right" msgstr "Otočit v&pravo" #: ../src/XFileImage.cpp:750 msgid "Rotate right." msgstr "Otočí obrázek vpravo." #: ../src/XFileImage.cpp:756 msgid "Rotate &left" msgstr "Otočit v&levo" #: ../src/XFileImage.cpp:756 msgid "Rotate left." msgstr "Otočí obrázek vlevo." #: ../src/XFileImage.cpp:762 msgid "Mirror &horizontally" msgstr "Zrcadlit &horizontálně" #: ../src/XFileImage.cpp:762 msgid "Mirror horizontally." msgstr "Zrcadlí horizontálně." #: ../src/XFileImage.cpp:768 msgid "Mirror &vertically" msgstr "Zrcadlit &vertikálně" #: ../src/XFileImage.cpp:768 msgid "Mirror vertically." msgstr "Zrcadlí vertikálně." #: ../src/XFileImage.cpp:775 msgid "Show hidden files and folders." msgstr "Zobrazí skryté soubory a adresáře." #: ../src/XFileImage.cpp:781 msgid "Show image thumbnails." msgstr "Zobrazí náhledy" #: ../src/XFileImage.cpp:789 msgid "Display folders with big icons." msgstr "Zobrazí adresář s velkými ikonami." #: ../src/XFileImage.cpp:795 msgid "Display folders with small icons." msgstr "Zobrazí adresář s malými ikonami." #: ../src/XFileImage.cpp:801 msgid "&Detailed file list" msgstr "Ú&plný seznam souborů" #: ../src/XFileImage.cpp:801 msgid "Display detailed folder listing." msgstr "Zobrazí detailní výpis adresáře." #: ../src/XFileImage.cpp:817 msgid "View icons row-wise." msgstr "Zobrazí ikony v řádcích." #: ../src/XFileImage.cpp:818 msgid "View icons column-wise." msgstr "Zobrazí ikony ve sloupcích." #: ../src/XFileImage.cpp:819 msgid "Autosize icon names." msgstr "Automatická velikost jmen ikon." #: ../src/XFileImage.cpp:822 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Zobrazí nástrojovou lištu." #: ../src/XFileImage.cpp:823 msgid "&File list" msgstr "&Seznam souborů" #: ../src/XFileImage.cpp:823 msgid "Display file list." msgstr "Zobrazí seznam souborů." #: ../src/XFileImage.cpp:824 msgid "File list &before" msgstr "Seznam souborů &nad" #: ../src/XFileImage.cpp:824 msgid "Display file list before image window." msgstr "Zobrazí seznam souborů nad oknem s obrázkem." #: ../src/XFileImage.cpp:825 msgid "&Filter images" msgstr "&Filtrovat jen obrázky" #: ../src/XFileImage.cpp:825 msgid "List only image files." msgstr "Vypíše jen soubory obrázků." #: ../src/XFileImage.cpp:826 msgid "Fit &window when opening" msgstr "Přizpůsobit &okno při otevření" #: ../src/XFileImage.cpp:826 msgid "Zoom to fit window when opening an image." msgstr "Zobrazí obrázek do okna při otevření." #: ../src/XFileImage.cpp:831 msgid "&About X File Image" msgstr "&O X File Image" #: ../src/XFileImage.cpp:831 msgid "About X File Image." msgstr "O X File Image." #: ../src/XFileImage.cpp:1333 #, 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:1335 msgid "About X File Image" msgstr "O X File Image" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #: ../src/XFileImage.cpp:1464 msgid "Error Loading Image" msgstr "Chyba při načítání obrázku" #: ../src/XFileImage.cpp:1442 ../src/XFileImage.cpp:1448 #, c-format msgid "Unsupported type: %s" msgstr "Nepodporovaný typ: %s" #: ../src/XFileImage.cpp:1464 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:1504 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:1619 msgid "Open Image" msgstr "Otevřít obrázek" #: ../src/XFileImage.cpp:1648 ../src/WriteWindow.cpp:1871 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Vložte příkaz pro tisk: \n" "(např: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2685 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:1159 ../src/WriteWindow.cpp:1166 #: ../src/WriteWindow.cpp:1177 ../src/WriteWindow.cpp:1184 #: ../src/WriteWindow.cpp:1206 msgid "Error Saving File" msgstr "Chyba při ukládání souboru" #: ../src/WriteWindow.cpp:1159 #, fuzzy, c-format msgid "Unable to save file: %s" msgstr "Nemohu otevřít soubor: %s" #: ../src/WriteWindow.cpp:1166 #, c-format msgid "" "Not enough space left on device, unable to save file: %s\n" "\n" "=> To prevent losing data, you should save this file to another device " "before exiting!" msgstr "" #: ../src/WriteWindow.cpp:1184 #, c-format msgid "File is too big: %s" msgstr "Soubor je příliš velký: %s" #: ../src/WriteWindow.cpp:1206 #, c-format msgid "File: %s truncated." msgstr "Soubor: %s rozdělen." #: ../src/WriteWindow.cpp:1222 ../src/XFileWrite.cpp:392 #: ../src/XFileWrite.cpp:406 msgid "untitled" msgstr "nepojmenovaný" #: ../src/WriteWindow.cpp:1230 #, c-format msgid "untitled%d" msgstr "nepojmenovaný%d" #: ../src/WriteWindow.cpp:1477 #, 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:1479 msgid "About X File Write" msgstr "O X File Write" #: ../src/WriteWindow.cpp:1501 msgid "Change Font" msgstr "Změnit font" #: ../src/WriteWindow.cpp:1541 msgid "Text Files" msgstr "Textové soubory" #: ../src/WriteWindow.cpp:1542 msgid "C Source Files" msgstr "C zdrojové soubory" #: ../src/WriteWindow.cpp:1543 ../src/WriteWindow.cpp:1544 #: ../src/WriteWindow.cpp:1545 msgid "C++ Source Files" msgstr "C++ zdrojové soubory" #: ../src/WriteWindow.cpp:1546 msgid "C/C++ Header Files" msgstr "C/C++ hlavičkové soubory" #: ../src/WriteWindow.cpp:1547 ../src/WriteWindow.cpp:1548 msgid "HTML Files" msgstr "HTML soubory" #: ../src/WriteWindow.cpp:1549 msgid "PHP Files" msgstr "PHP soubory" #: ../src/WriteWindow.cpp:1670 msgid "Unsaved Document" msgstr "Neuložený dokument" #: ../src/WriteWindow.cpp:1670 #, c-format msgid "Save %s to file?" msgstr "Uložit soubor %s?" #: ../src/WriteWindow.cpp:1680 ../src/WriteWindow.cpp:1742 msgid "Save Document" msgstr "Uložit dokument" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 msgid "Overwrite Document" msgstr "Přepsat dokument" #: ../src/WriteWindow.cpp:1690 ../src/WriteWindow.cpp:1752 #, c-format msgid "Overwrite existing document: %s?" msgstr "Přepsat existující dokument: %s?" #: ../src/WriteWindow.cpp:1841 msgid " (changed)" msgstr " (změněn)" #: ../src/WriteWindow.cpp:1851 msgid " (read only)" msgstr " (jen pro čtení)" #: ../src/WriteWindow.cpp:1962 msgid "READ ONLY" msgstr "JEN PRO ČTENÍ" #: ../src/WriteWindow.cpp:1967 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1967 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2071 msgid "File Was Changed" msgstr "Soubor byl změněn" #: ../src/WriteWindow.cpp:2071 #, 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:2132 msgid "Replace" msgstr "Nahradit" #: ../src/WriteWindow.cpp:2293 msgid "Goto Line" msgstr "Jít na řádek" #: ../src/WriteWindow.cpp:2293 msgid "&Goto line number:" msgstr "&Jít na řádek:" #. Usage message #: ../src/XFileWrite.cpp:217 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 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" " - HiDPI monitor 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\n" " 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\n" " 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\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " HiDPI support\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.44, Xfe supports HiDPI monitors. All users have to " "do is to manually adjust the screen\n" " resolution using the Edit / Preferences / Appearance / DPI option. A value " "of 200 - 240 dpi should be fine for Ultra\n" " HD (4K) monitors.\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\n" " 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 24 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: 19/06/2019]\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:829 ../src/xfeutils.cpp:917 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Chyba: Nemohu zavřít adresář %s\n" #: ../src/xfeutils.cpp:936 msgid "bytes" msgstr "bytů" #: ../src/xfeutils.cpp:940 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:946 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1100 msgid "copy" msgstr "kopie" #: ../src/xfeutils.cpp:1413 #, c-format msgid "Error: Can't read group list: %s" msgstr "Chyba: Nemohu číst seznam skupin: %s" #: ../src/xfeutils.cpp:1417 #, 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" #~ msgid "&Themes" #~ msgstr "&Témata" #, fuzzy #~ msgid "Never execute text files" #~ msgstr "Potvrzení spuštění souborů" #~ msgid "KB" #~ msgstr "KB" #~ 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ď?" #~ 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ď?" #~ 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ď?" #~ 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ď?" #~ 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ď?" #, fuzzy #~ msgid "!!!!!An error has occurred!" #~ msgstr "Nastala chyba !" #, 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.44/po/LINGUAS0000644000200300020030000000016713501733230010571 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 fi xfe-1.44/config.h0000644000200300020030000004330314023353045010545 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.44" /* 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.44" /* 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.44" /* 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.44/ABOUT-NLS0000644000200300020030000023334013501733230010356 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.44/xfw.10000644000200300020030000000142313501733230010010 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.44/xfw.svg0000644000200300020030000004020013501733230010443 00000000000000 image/svg+xml Favourites (emblem) 2005-02-01 Jakub Steiner http://jimmac.musichall.cz/ Andreas Nilsson <nisses.mail@home.se> XFW xfe-1.44/iconlinks.sh0000644000200300020030000000161313655732152011464 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=gnome-theme ref_theme2=kde-theme # Link theme names link_theme1=default-theme link_theme2=xfce-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_theme1/$iconname $2/icons/$link_theme2/$iconname; ln -s -f ../$ref_theme1/$iconname $2/icons/$link_theme2/$iconname fi done xfe-1.44/xfp.xpm0000644000200300020030000002136313501733230010452 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.44/config.guess0000755000200300020030000012637313661504114011462 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2018 Free Software Foundation, Inc. timestamp='2018-02-24' # 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: # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # 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. Options: -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-2018 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'`" # If ldd exists, use it to detect musl libc. if command -v ldd >/dev/null && \ ldd --version 2>&1 | grep -q ^musl then LIBC=musl fi ;; 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) and ABI. case "$UNAME_MACHINE_ARCH" in earm*) os=netbsdelf ;; arm*|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 ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" exit ;; *:MidnightBSD:*:*) echo "$UNAME_MACHINE"-unknown-midnightbsd"$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 ;; *:Redox:*:*) echo "$UNAME_MACHINE"-unknown-redox exit ;; mips:OSF1:*.*) echo mips-dec-osf1 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 ;; 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:4.4BSD:*) 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) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" 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*: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 ;; i*:UWIN*:*) echo "$UNAME_MACHINE"-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-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 "[:upper:]" "[:lower:]"``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 ;; k1om: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; } ;; mips64el:Linux:*:*) echo "$UNAME_MACHINE"-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 ;; riscv32:Linux:*:* | riscv64:Linux:*:*) echo "$UNAME_MACHINE"-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:*:*) if objdump -f /bin/sh | grep -q elf32-x86-64; then echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32 else echo "$UNAME_MACHINE"-pc-linux-"$LIBC" fi 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.*:*) 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 configure 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 ;; SX-ACE:SUPER-UX:*:*) echo sxace-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 # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_PPC >/dev/null then UNAME_PROCESSOR=powerpc 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 ;; NSV-*:NONSTOP_KERNEL:*:*) echo nsv-tandem-nsk"$UNAME_RELEASE" exit ;; NSX-*:NONSTOP_KERNEL:*:*) echo nsx-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 ;; amd64:Isilon\ OneFS:*:*) echo x86_64-unknown-onefs exit ;; esac echo "$0: unable to guess system type" >&2 case "$UNAME_MACHINE:$UNAME_SYSTEM" in mips:Linux | mips64:Linux) # If we got here on MIPS GNU/Linux, output extra information. cat >&2 <&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-functions 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: xfe-1.44/xfe.desktop.in.in0000644000200300020030000000032413501733230012310 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.44/missing0000755000200300020030000001533013501733230010523 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.44/xfw.desktop.in.in0000644000200300020030000000034013501733230012330 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.44/debian/0000755000200300020030000000000014023202167010424 500000000000000xfe-1.44/debian/README.Debian0000644000200300020030000000033013501733230012401 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.44/debian/source/0000755000200300020030000000000013501733230011724 500000000000000xfe-1.44/debian/source/format0000644000200300020030000000001413501733230013052 000000000000003.0 (quilt) xfe-1.44/debian/docs0000644000200300020030000000003213501733230011212 00000000000000AUTHORS BUGS README TODO xfe-1.44/debian/control0000644000200300020030000000117613501733230011754 00000000000000Source: xfe Section: x11 Priority: optional Maintainer: Roland Baudin Build-Depends: cdbs, autotools-dev, debhelper (>= 4.0.0), libfox-1.6-dev, libpng-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.44/debian/rules0000755000200300020030000000044413501733230011426 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.44/debian/menu0000644000200300020030000000155413501733230011240 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.44/debian/compat0000644000200300020030000000000314023202167011543 0000000000000010 xfe-1.44/debian/changelog0000644000200300020030000003007413501733230012222 00000000000000xfe (1.44-1) unstable; urgency=medium * New upstream release -- Roland Tue, 11 Jun 2019 09:52:41 +0200 xfe (1.43.2-1) unstable; urgency=medium * New upstream release -- Roland Sun, 24 Feb 2019 10:21:04 +0200 xfe (1.43.1-1) unstable; urgency=medium * New upstream release -- Roland Wed, 25 Jul 2018 14:49:55 +0200 xfe (1.43-1bionic) unstable; urgency=medium * New upstream release -- Roland Tue, 15 May 2018 11:02:28 +0200 xfe (1.42.1-1) unstable; urgency=medium * New upstream release -- Roland Mon, 01 Aug 2016 10:23:05 +0200 xfe (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.44/debian/copyright0000644000200300020030000000100413501733230012272 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.44/xfw.png0000644000200300020030000000370013501733230010434 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=:; image/svg+xml XFI xfe-1.44/NEWS0000644000200300020030000000004013501733230007613 00000000000000Please see the ChangeLog file. xfe-1.44/install-sh0000755000200300020030000002202113501733230011123 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.44/ChangeLog0000644000200300020030000036661714023353007010717 00000000000000Version 1.44 (released 14/03/2021) - fixed segmentation fault when Xfe can't find the default xferc (bug #255) - removed CDE color theme and renamed GNOME2 and KDE3 color themes to GNOME and KDE - refreshed default, gnome, kde and xfce icon themes and removed old tango, windows, xfe and gnomeblue icon themes - switched arrange by row and arranged by columns in icon lists - enter target directory in root mode, when invoked from an error message - updated Gnome icons for LibreOffice / OpenOffice documents - fixed loss of data in full disk partition with xfw (bug #245) - fixed copy/paste between xfe windows requires source window to be open (bug #247) - fixed wrong position of the '(copy)' suffix when a folder name contains a dot - fixed root mode not working in FreeBSD (bug #237) - fixed unzip not working in FreeBSD (bug #236) - fixed window & icon title wrong when path contains hidden directory (bug #243) - updated Catalan translation (thanks to Pere Orga ) - updated Turkish translation (thanks to yaşar çiv ) - fixed a compilation warning with gcc 8 in Properties.cpp - set focus to main window when closing command window, help or search dialog - updated documentation to add instructions for HiDPI support - changed the hand cursor to a more modern shape - implemented HiDPI support and added the Edit / Preferences / Appearance / DPI option that allows to manually set the screen resolution. For a Ultra HD monitor (4K), a value of 200 - 240 dpi should be fine - renamed Edit / Preferences / Themes to Edit / Preferences / Appearance - vertically centered toolbar buttons in Xfe, Xfi, Xfp and Xfw - execution of text files (e.g. script shells) do not support startup notification - implemented custom sudo/su commands - fixed the wrong number of selected files/folders in file panels - added an option to prevent the execution of text files - it is now possible to open/view multiple files in single click mode - fixed the middle mouson button view command in single click mode - changed st terminal name to "Xfe" - upgraded st terminal to version 0.8.2 Version 1.43.2 (released 8/06/2019) - removed some duplicate lines of code - added the number of files and folders to the panel status bar - updated greek translation (thanks to Nikos Papadopoulos ) - when launched from a terminal, Xfe is now interruptible using Ctrl-C (thanks to Lars Lindqvist ) Version 1.43.1 - fixed a regression that corrupted the initial search window content - changed 'KB' to the more correct 'kB' Version 1.43 - updated russian translation (thanks to Bogdan V. Kilin ) - fixed ugly transient window drawing when starting Xfe on older hardware - the scrollbar size can now be changed in the Preferences dialog - fixed wrong icon when file names are equal to an extension name (bug #221) - fixed missing FXURL::encode() in DirList.cpp (bug #228) - fixed bug #233 in "Open with" and "Run" dialog history (patch from klappnase). - fixed a screen corruption problem in XFileExplorer.cpp and in WriteWindow.cpp. This problem appears when using the nouveau driver for nvidia graphic cards (NB : repaint and disable commented out) - updated spanish translation (thanks to jcsl ) - applied several patches (#7, #9, #21, #22, #23 and #25) from Debian (thanks to Joachim Wiedorn ) - applied patch #34 for freetype detection (thanks to polynomial-C) - fixed a compilation warning in WriteWindow.cpp - updated libsn to current version (0.12) Version 1.42.1 - fixed a Valgrind complaint about uninitialized values when allocating an icon - the location string in the Properties / General tab is now selectable - better mini folder open icon for Gnome icon theme - in drag'n drop mode, display the destination folder name as selected - sort scripts with directory entries first - fixed suffix position when creating a copy of a dot file - updated german translation (thanks to Joachim Wiedorn ) - new finnish translation (thanks to Kimmo Siira ) - fixed a possible data loss when moving files between two file systems and an error has occurred (bug #224) Version 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - new application XFileImage (Xfi) for image viewing Version 0.76 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - fixed a crash bug when right clicking in the directory panel in a place where there is no item Version 0.57 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - upgrade of the configure scripts to automake-1.5 and autoconf-2.53 - add of i18n support Version 0.50 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - add of X File Query (Xfq), a simple RPM package viewer and installer, with the same look and feel as Xfe. Version 0.37 - the color theme of Xfv is now the same as Xfe. Removed the color option box. Version 0.36 - 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 - add of a progress dialog for mount / unmount file system operations. Version 0.33 - add of a progress dialog for archive (extraction and creation) operations. Version 0.32 - 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 - add of a GNOME color theme. Version 0.30 - add of a progress dialog for file move operations. Version 0.29 - add of a progress dialog for file delete operations. Version 0.28 - 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.44/xfi.png0000644000200300020030000000331313501733230010416 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.44/INSTALL0000644000200300020030000002243213501733230010156 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.44/xfe.10000644000200300020030000000254313501733230007772 00000000000000.TH "XFE" "1" "3 December 2014" "Roland Baudin" "" .SH "NAME" xfe \- A lightweight file manager for X Window .SH "SYNOPSIS" \fBxfe\fP [\-h] [\-\-help] [\-v] [\-\-version] [\-i] [\-\-iconic] [\-m] [\-\-maximized] [\-p n] [\-\-panel n] [\fIFOLDER | FILE...\fP] .SH "DESCRIPTION" X File Explorer (xfe) is a lightweight file manager for X Window, written using the FOX toolkit. It is desktop independent and can easily be customized. It has Windows Commander or MS\-Explorer look and it's very fast and small. Xfe is based on the popular, but discontinued X Win Commander, written by Maxim Baranov. .SH "AUTHOR" Roland Baudin . .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.44/xfi.xpm0000644000200300020030000002134313501733230010441 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.44/xfp.png0000644000200300020030000000367513501733230010440 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`