wcd-6.0.3/0000755000175500010010000000000013524756523011560 5ustar waterlanGeenwcd-6.0.3/doc/0000755000175500010010000000000013524756523012325 5ustar waterlanGeenwcd-6.0.3/doc/copying.dj0000644000175500010010000000304713524756523014320 0ustar waterlanGeenThis is the file "copying.dj". It does not apply to any sources or binaries copyrighted by UCB Berkeley or the Free Software Foundation. Copyright Information for sources and executables that are marked Copyright (C) DJ Delorie 24 Kirsten Ave Rochester NH 03867-2954 This document is Copyright (C) DJ Delorie and may be distributed verbatim, but changing it is not allowed. Source code copyright DJ Delorie is distributed under the terms of the GNU General Public Licence, with the following exceptions: * Any existing copyright or authorship information in any given source file must remain intact. If you modify a source file, a notice to that effect must be added to the authorship information in the source file. * binaries provided in djgpp may be distributed without sources ONLY if the recipient is given sufficient information to obtain a copy of djgpp themselves. This primarily applies to go32.exe, emu387, stub.exe, and the graphics drivers. * modified versions of the binaries provided in djgpp must be distributed under the terms of the GPL. * objects and libraries linked into an application may be distributed without sources. ----- Changes to source code copyright BSD or FSF by DJ Delorie fall under the terms of the original copyright. A copy of the file "COPYING" is included with this document. If you did not receive a copy of "COPYING", you may obtain one from whence this document was obtained, or by writing: Free Software Foundation 675 Mass Ave Cambridge, MA 02139 USA wcd-6.0.3/doc/copying.txt0000644000175500010010000004330513524756523014543 0ustar waterlanGeen ------------------------------------------------------------------------ Table of Contents * GNU GENERAL PUBLIC LICENSE o Preamble o TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION o How to Apply These Terms to Your New Programs ------------------------------------------------------------------------ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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. 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. one line to give the program's name and an idea of what it does. Copyright (C) 19yy name of author 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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. signature of Ty Coon, 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. wcd-6.0.3/doc/dosdir.txt0000644000175500010010000000503213524756523014352 0ustar waterlanGeen DOSDIR: A Portable DOS/UNIX/VMS Directory Interface version 2.1a ----------------------------------------------- DOSDIR is an implementation of the MS-DOS directory functions (findfirst, findnext, and fnsplit) on MS-DOS, UNIX, and VMS platforms using the appropriate file & directory structure. It uses the DOS directory framework to provide a portable interface for MS-DOS/UNIX/VMS application programmers. DOSDIR minimizes the OS- specific directory access code for applications allowing programmers to concentrate on the application itself and not on the low-level directory and file structure. DOSDIR applications will run on their native operating systems with the appropriate file syntax and handling, which is expected for that platform. An alternative mechanism, the POSIX opendir/readdir directory functions, provides low-level directory access with all of the file handling in the application. Findfirst/findnext filter files matching a filemask and returns file information, such as whether the entry is directory or a regular file or the entry is read-only. However, readdir() returns only the filenames of files in the opened directory stream. The package includes the following files: COPYING - GNU license and copying conditions. dosdir.c - DOSDIR findfirst/findnext functions dirent.c - C/C++ Run Time Library opendir/readdir functions fnsplit.c - C/C++ Run Time Library fnsplit function match.c - Info-ZIP regular expression evaluator *.h - DOSDIR header files dirtree.c - Example graphically displays directory structure filelist.c - Example program using dosdir directory functions example2.c - Another example program example3.c - An example program for opendir functions makefile.bor - Makefile for MS-DOS with Borland C++ makefile.unx - Makefile for UNIX with gcc or cc vaxmake.com - Script to compile examples for VAX/VMS DOSDIR supports and has been tested under the following systems: MS-DOS 3.3/5.0 with Borland C++ V3.x/4.0, Turbo C, or Microsoft C V6.0/7.0, SunOS 4.1 with SUN or GNU C compilers, SGI IRIX 4.05 and 5.x, DEC Alpha OSF/1, and VMS 5.5 with VAX C. Other comparable ANSI C compilers should work as well. Jason Mathews The MITRE Coporation 202 Burlington Road Bedford, MA 01730-1420 Email: mathews@mitre.org, mathews@computer.org DOSDIR is free software, you can redistribute it and/or modify it under the terms of the GNU General Public License, a copy of which is provided under the name COPYING. wcd-6.0.3/doc/faq.txt0000644000175500010010000000371713524756523013645 0ustar waterlanGeen sh/bash/zsh/csh: Q: I have installed wcd. It looks like it works, but the directory is actually not changed. A: The directory can only be changed by the shell builtin cd command. You need to define a wcd function or alias. See the manual or the installation documentation. bash: Q: I have wcd.exe installed and defined the function in ~/.bashrc but the shell returns: "command not found". A: The problem is that ~/.bashrc is not executed because the bash is started as an interactive login shell. The bash only executes the commands in ~/.bashrc if it is started as an interactive shell that is not a login shell. If the bash is started as an interactive login shell it first reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. The solution is to define the wcd function in one of these files. Windows Q: How do I automatically start the explorer after wcd? A: If you use the DOS 32 bit version on windows 95/98/ME this batch script will work: @echo off wcd.exe %1 %2 %3 %4 %5 %6 explorer.exe . If you use the win32 console version add an extra line to your wcd.bat script (on windows NT/2000/XP/Vista/7). @echo off wcdwin32.exe %* echo explorer.exe . >> c:\wcdgo.bat c:\wcdgo.bat Windows NT/2000/XP/Vista/7 Q: The system administrator has set environment variable HOME, but I want the behaviour of wcd as if HOME and WCDHOME were not set (as I was used to on DOS/Windows 9x). A: In the wcd.bat file you have to copy HOME into another variable, unset HOME, run wcd, and copy HOME back to its original value. An example follows: @echo off set HOMETEMP=%HOME% set HOME= wcdwin32.exe %* set HOME=%HOMETEMP% c:\wcdgo.bat You may need to rescan your drives after this. wcd-6.0.3/doc/GCC_DOS.txt0000644000175500010010000002712513524756523014176 0ustar waterlanGeenThis file explains how to compile wcd for DOS, Windows, and OS/2 with GNU C compiler (GCC, DJGPP/MinGW/EMX). For Unix/Linux/Cygwin compile instructions see file UNIX.txt For how to install the program on DOS, Windows, OS/2 see file INST_DOS.txt. Prerequisites ============= * gcc : GNU C compiler * make : GNU make * sh : POSIX type shell * coreutils : GNU core utilities package Optional: * perl : Practical Extraction and Report Language (perlpod) * gettext : Framework to help GNU packages produce multi-lingual messages. * libiconv : Character set conversion library. * pdcurses : CRT screen handling and optimization package * ncurses : A free software emulation of curses in System V Release 4.0 (SVr4), and more. * libunistring : Library with functions for manipulating Unicode strings. If you want to generate PostScript or PDF versions of the manual: * groff : GNU troff text formatting system. * ghostscript : An interpreter for the PostScript language and for PDF (ps2pdf) Needed for building packages: * zip : compressor-archiver gcc === DOS : DJGPP : http://www.delorie.com/djgpp/ Windows : MinGW : http://www.mingw.org/ Windows : MinGW-w64 : https://mingw-w64.org/ Windows : MSYS2 : http://www.msys2.org/ OS/2 : EMX : http://www.edm2.com/index.php/The_EMX_Project DJGPP 2.03 gcc >= 4.6 seems to cause problems. Crashes of gcc itself, or crashing wcd binaries. Use DJGPP 2.03 gcc <= 4.5.3. DJGPP 2.05 gcc seems to work OK (I tried gcc 5.3.0). Wcd compiles with mingw.org and mingw-w64. I recommend using mingw-w64 in the MSYS2 project. The MSYS2 project includes the MinGW-w64 compiler for both 32 and 64 bit. Plus it includes a complete building environment. A POSIX shell, and many libraries and utilities. See also http://www.msys2.org/ On OS/2 don't add gcc flag -Zargs-wild, because we want wcd to see the literal arguments. Wild argument expansion may lead to unexpected behaviour when an argument matches a file in the current directory. sh == A POSIX type shell. A copy of Bash or Zsh will do. GNU make may not work as expected if you don't have a proper shell installed. You can choose a shell for GNU Make by setting the environment variable SHELL. See also the GNU make manual: http://www.gnu.org/software/make/manual/make.html#Choosing-the-Shell DJGPP : Includes bash MinGW-w64 : Use MSYS2 In DJGPP it is certain that you get problems if you don't make the SHELL variable point to bash (c:/djgpp/bin/bash.exe). make, coreutils =============== make and coreutils can be found as packages on the web site of the gcc compiler. Coreutiles is needed for `chmod', `install', `mkdir', `mv', `rm', and `uname'. install : copy files and set their attributes (part of GNU `coreutils' package). For DJGPP compiler use package `fileutils' instead of `coreutils'. Coreutils is not (yet) available for DJGPP. perl ==== Perl packages are distributed with the DJGPP, MinGW, MSYS2, and EMX environment. gettext (libintl) and libiconv ============================== gettext and libiconv can be found as packages on the web site of the gcc compiler. Until wcd version 5.1.1 I used GnuWin32's gettext/libiconv instead of MinGW's, because the GnuWin32 port of libintl (part of gettext) has builtin relocation support. From wcd version 5.1.2 I use MinGW's gettext/libiconv. Wcd win32 binaries are packed with a patched version of MinGW's libintl-8.dll that also supports relocation. See also http://waterlan.home.xs4all.nl/libintl.html and http://sourceforge.net/p/mingw/bugs/1808/ The patch was not accepted by MinGW.org, but the MSYS2 project has included the patch for both 32 and 64 bit. groff and ghostscript ===================== These packages are needed if you want to create PostScript and PDF versions of the wcd manual page. Groff and ghostscript are available in the Cygwin environment (http://cygwin.com). Problems on Windows VISTA and higher ==================================== DOS programs can only run on 32 bit versions of Windows, not on 64 bit Windows versions. Permissions ----------- To be able to run `gmake install' you may need adminstrator rights. You can get a Command Prompt with administrator rights if you right click on the Command Prompt icon and select `run as administrator'. Out of memory ------------- Since Windows Vista SP1 DOS programs are by default limited by Windows to use a maximum amount of 32 MB memory. When you compile wcd with DJGPP 2.05 gcc will run out of memory with this message: cc1.exe: out of memory allocating 39408 bytes after a total of 9774416 bytes Use a registry editor (such as REGEDIT) to create the new (REG_DWORD) registry value DpmiLimit under the key Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WOW Now edit the value to reflect the maximum amount of memory (in bytes) that you wish to make available to console applications (DOS command boxes). E.g. 8000000 (hexadecimal) to make 128 MB available. See also http://www.trnicely.net/misc/vista.html Windows 10 ---------- Windows 10 has a renewed Windows Console. When you run a DOS program you may get this error message: 16 bit MS-DOS Subsystem C:\Windows\system32\cmd.exe - ls NTVDM has encountered a System Error The handle is invalid. Choos 'Close' to terminate the application. To solve this. First: Enable NTVDM (This may also be done automatically when you start a DOS program for the first time): All settings -> Apps -> Apps & features. Scroll down to Related settings, and then Programs and Features -> Turn Windows Features on or off -> Legacy Components -> Enable NTVDM Second: Open "Command prompt" Right click over title "Command prompt" and select "Properties" Select the left tab "Options" Select "Use legacy console (require relauch)", then "OK" Close and re-open "Command prompt" to test. See also https://social.technet.microsoft.com/Forums/en-US/d3482e1c-bc5d-4245-baec-ae900469fd89/problems-running-16bit-programs-in-32bit-windows-10tp?forum=WinPreview2014General Basic Installation ================== dos32 : DOS 32 bit dos32bsh : DOS 32 bit for BASH win32 : Windows 32 bit console version. win32psh : Windows 32 bit PowerShell version. win32zsh : Windows 32 bit MSYS and ZSH version. win64 : Windows 64 bit console version. win64psh : Windows 64 bit PowerShell version. win64zsh : Windows 64 bit MSYS and ZSH version. os2 : OS/2 32 bit console version. os2bash : OS/2 32 bit bash version. Change to the appropriate directory `dos32', `dos32bsh', `win32', `win32psh', `win32zsh', `win64', `win64psh', `win64zsh', `os2', `os2bash'. Build wcd: Type `make' to compile the package. Install wcd: Type `make install' to install the package. `make install' will also compile the package if it wasn't done yet. To start clean: Type `make clean' Native Language Support (NLS) ============================= NLS is by default disabled. To enable NLS set the ENABLE_NLS variable to 1: make ENABLE_NLS=1 Curses interface ================ The default interface is curses. To disable CURSES and compile with stdio interface, reset the CURSES variable: make CURSES= PDCurses -------- The DOS and Windows versions of Wcd use by default PDCurses. To build wcd with PDCurses interface you need to have the PDCurses library installed. Get PDCurses at http://sourceforge.net/projects/pdcurses/ Compile it and copy the library file into the \lib directory of your compiler and the curses.h file in the \include directory. Build PDCurses for Windows with wide-character (Unicode) support (WIDE=Y), and install it as libpdcursesw.a. Also the non-Unicode version of wcd requires PDCurses with wide-character support. Support for resizing of ConEmu or Windows 10 console requires PDCurses version 3.7 or higher. The DJGPP and MinGW project also provide ready-to-use binary PDCurses packages. The DOS versions use the library with narrow character support (CURSES=pdcurses). The Windows versions (Wcd with and without Unicode support) use the library with wide (Unicode) character support (CURSES=pdcursesw). Ncurses ------- The OS/2 EMX (gcc) versions of Wcd use by default ncurses (CURSES=ncurses). You can also build the Windows version of wcd with Ncurses. Mingw.org and MSYS2 provide ncurses(w) libraries. See also whatsnew.txt for issues with Ncurses that have been solved. To compile for ncurses add CURSES=ncursesw (wide Unicode characters support) to the make command line for Windows. * By default the Ncurses interface does not work in Console (also known as Console2) and ConsoleZ . Set environment variable NCURSES_CONSOLE2 to 1 to make it work. * The ncurses interface vibrates while moving around in the tree. It is very visible in a standard Windows Command Prompt. In ConEmu there is less vibration. The vibration can be solved by using werase() instead of wclear(), but when werase() is used, the screen gets filled with garbage when an East-Asian CJK legacy font is used. * The ncurses interface has better support for Unicode than PDCurses, because Ncurses supports combining characters, while PDCurses doesn't. Both Ncurses and PDCurses have misalignment at the highlighted directory in the graphical tree with true type CJK font. E.g. the Chinese Simsun font. PDCurses is still the default on Windows, because it gives a more stable screen. Conio interface (DOS only) ========================== To enable the conio interface instead of curses add CONIO=1: make CONIO=1 Graphical tree ============== By default the graphical tree is drawn with line drawing characters. If these are not available on your system you can set ASCII_TREE=1 so that ASCII characters are used instead. make ASCII_TREE=1 Unicode support =============== Unicode support is by default enabled on Windows and disabled on DOS and OS/2. To disable add UCS= to the make command: make UCS= Unicode support requires a (pd/n)curses installation with wide character support. Not supported for DOS versions of wcd. Unicode works only in Windows PowerShell, and Command Prompt on Windows 7 or higher. On older versions of Windows you need Take Command or TCC/LE made by JP Software be able to change to Unicode paths. Enable Unicode normalization with UNINORM=1. This implies UCS=1. make UNINORM=1 Unicode normalization requires libunistring, see http://www.gnu.org/s/libunistring/ http://en.wikipedia.org/wiki/Unicode_normalization libunistring packages are provided by Mingw.org and MSYS2. Installation Names ================== By default `make install' will install the program in /usr/bin, the language files in /usr/share/locale and the man file in /usr/share/man. You can specify an installation prefix other than `/usr' by giving `make' the option `prefix=PATH'. Example: make clean make prefix=c:/Users/waterlan make install prefix=c:/Users/waterlan dos32 : The default PREFIX is c:/dos32 dos32bsh : The default PREFIX is c:/dos32 win32 : The default PREFIX is c:/usr/local win32psh : The default PREFIX is c:/usr/local win32zsh : The default PREFIX is c:/usr/local win64 : The default PREFIX is c:/usr/local64 win64psh : The default PREFIX is c:/usr/local64 win64zsh : The default PREFIX is c:/usr/local64 os2 : The default PREFIX is c:/usr os2bash : The default PREFIX is c:/usr distribution package ==================== After installation a ready-to-run binary distribution package can be created. Type `make dist' to create the package. wcd-6.0.3/doc/INSTALL.txt0000644000175500010010000000064613524756523014202 0ustar waterlanGeenFor building and installation see the following files: GCC_DOS.txt : How to build wcd for DOS, Windows, and OS/2 with GCC. WATCOMC.txt : How to build wcd for DOS, Windows, and OS/2 with Watcom C. VISUALC.txt : How to build wcd for Windows with Microsoft Visual C++. INST_DOS.txt : How to install wcd on DOS, Windows, and OS/2. UNIX.txt : How to build and install wcd on Unix/Linux/Cygwin. wcd-6.0.3/doc/INST_DOS.txt0000644000175500010010000001640513524756523014356 0ustar waterlanGeenInstall wcd on DOS, Windows, and OS/2. For installation on Unix/Linux/Cygwin see UNIX.txt. Contents ======== Basic installation 1 Installation on DOS and Windows 9x/ME - DOS 16 bit - DOS 32 bit - DOS Bourne Again Shell (bash) 2 Installation on Windows (XP and later) - Windows Command Prompt (cmd.exe) - Windows VISTA/7 - Windows PowerShell - WinZsh (zsh) and MSYS (bash) - Native MSYS (bash) - UNC support 3 Installation on OS/2 Basic installation ================== Unpack the zip file in a directory of your choice which we will call PREFIX. You will get the following directories: bin/ Program and run-time libraries. share/ Documentation and language files. Add directory 'bin' to your PATH environment variable: set PATH=%PATH%;PREFIX\bin Replace PREFIX with the directory path where you unpacked the zip file. ====================================================================== = 1 Installation on DOS and Windows 9x/ME = ====================================================================== - DOS 16 bit version: Make sure that wcd.exe is in your path. ...................................................................... - DOS 32 bit version: Make sure that wcd.exe and cwsdpmi.exe are in your path. ...................................................................... - DOS Bourne Again Shell (bash): Add the following function to your ~/_bashrc file. Notice that under Windows 95/NT the ~/.bashrc file overrides the ~/_bashrc file. In that case place the function in ~/.bashrc function wcd { PREFIX/bin/wcdbash.exe $* . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } Replace PREFIX with the prefix used during package installation. Start a new bash ... If HOME is set, DJGPP bash will read '_bashrc' from %HOME%. Your wcd function could now look like: function wcd { PREFIX/bin/wcd.exe $* . ${WCDHOME:-${HOME}}/wcd.go } If the environment variable WCDHOME is set wcd will use WCDHOME instead of HOME. ====================================================================== = 2 Installation on Windows (XP and later) = ====================================================================== - Windows Command Prompt (cmd.exe) Add the 'bin' folder to PATH. In Windows Command Prompt a Windows program cannot change the current work directory, but a .bat file can. The batch scrip "wcd.bat" runs the wcd program which generates a new batch script "wcdgo.bat". Then wcd.bat runs wcdgo.bat which actually changes the directory. - Console2 If you use the Console2 Windows console (https://sourceforge.net/projects/console/) and wcd has an "ncurses" interface, you need to set the NCURSES_CONSOLE2 environment variable to 1. set NCURSES_CONSOLE2=1 ...................................................................... - Windows VISTA/7 In a Windows VISTA/7 Command Prompt you may have limited access to directories. To get access to more directories you need adminstrator rights. You can get a Command Prompt with administrator rights if you right click on the Command Prompt icon and select `Run as administrator'. ...................................................................... - Windows PowerShell See http://en.wikipedia.org/wiki/Windows_PowerShell It is required that environment variable HOME or WCDHOME is set. A function in your PowerShell user profile must be defined. The location of this profile is stored in the $profile variable. function wcd { PREFIX\bin\wcdwin32psh.exe $args & $env:HOME\wcdgo.ps1 } Replace PREFIX with the prefix used during package installation. Start a new PowerShell ...................................................................... - WinZsh (zsh) and MSYS (bash) A native Windows port of Z shell has been made by Amol Deshpande. See http://waterlan.home.xs4all.nl/#ZSH An updated version is available at: http://zsh-nt.sourceforge.net/ MSYS, a contraction of "Minimal SYStem", is a Bourne Shell command line interpreter system. Offered as an alternative to Microsoft's cmd.exe, this provides a general purpose command line environment, which is particularly suited to use with MinGW, for porting of many Open Source applications to the MS-Windows platform. See also http://www.mingw.org/ It is required that environment variable HOME or WCDHOME is set. A function must be defined like this: function wcd { PREFIX/bin/wcdwin32zsh.exe $* . ${WCDHOME:-${HOME}}/wcd.go } MSYS bash: put this function e.g. in $HOME/.bashrc Z Shell : put this function e.g. in $HOME/.zshenv Replace PREFIX with the prefix used during package installation. You have to start MSYS like this: msys.bat --norxvt , because the default rxvt terminal doesn't accept standard input from native Windows programs. See also http://www.nabble.com/Accepting-standard-input-from-MSYS-with-native-Win32-programs-td19432889.html You need a recent version of msys.bat that supports option --norxvt. ...................................................................... - Native MSYS (bash) The native MSYS version of wcd is linked against the MSYS runtime DLL. This version uses MSYS style directory paths: E.g. in MSYS the path "C:\Program Files" maps to "/c/Program Files" Define a function like this: function wcd { PREFIX/bin/wcdmsys.exe $* . ${WCDHOME:-${HOME}}/bin/wcd.go } The native MSYS version behaves exactly as the Unix version of wcd: o) regards case by default. - Use option -i to ignore case. o) does not use drive letters. o) Uses the same filenames for treedata files etc. ...................................................................... - UNC support UNC stands for Universal Naming Convention. It is a Windows 9x/NT way of accessing network drives without using a drive letter. It's from Windows SMB LAN manager networking. A UNC path looks like: \\servername\sharename In Windows networking, you can map a drive letter to a UNC: net use G: \\gui_fileserv\apps The Windows Command Prompt version of wcd supports UNC paths since version 3.1.0. To change to the UNC path wcd makes use of the 'pushd' command in the wcdgo.bat script. Quote from John Savill's Windows NT/2000 FAQ (http://www.windows2000faq.com): "The 'pushd' command automatically maps a drive and navigates to it. If you run the 'net use' command after you run pushd, you'll see a new drive mapping. After you're done working in the UNC location, use the 'popd' command to navigate back to your original network location before you ran 'pushd'." Options -S, -A and -E can also work on servernames. For instance: wcd -S \\servername will search for shared directories on the server and scan them all. The Windows PowerShell and MSYS/ZSH version of wcd have full support of UNC paths. One can change directly to UNC paths, without mapping to a drive letter. ====================================================================== = 3 Installation on OS/2 = ====================================================================== - OS/2 Command Prompt (cmd.exe) Add the 'bin' folder to PATH. In OS/2 Command Prompt an OS/2 program cannot change the current work directory, but a .cmd file can. The command scrip "wcd.cmd" runs the wcd program which generates a new command script "wcdgo.cmd". Then wcd.cmd runs wcdgo.cmd which actually changes the directory. wcd-6.0.3/doc/problems.txt0000644000175500010010000000402613524756523014713 0ustar waterlanGeenKnown problems ============== 1 Unix shells (bash, ksh, sh, csh): Strange behaviour when the argument has a wildcard and matches a file or directory in the current directory. This is the result of the filename expansion of the shell. The work-around is to 'single quote' the argument. 2 Option -rmtree doesn't remove directories. This only happens with Windows versions when wcd has been build with Borland 5.x. The problem is not there when wcd has been build with any other compiler. 3 Garbage printed on screen after exit. Occurs in Windows NT/2000/XP console with large buffer with wcd for win32 when PDC_RESTORE_SCREEN is set. Windows only allows a relatively small buffer size to save. 4 `gmake install' may fail on Windows or OS/2. When you build wcd on Windows without the MSYS environment you may run into problems during `make install', because the GnuWin32 ports of `mkdir' and `install' of the coreutils package have problems. See http://sourceforge.net/tracker/?func=detail&aid=2115584&group_id=23617&atid=379173 Better use the MSYS environment. This problem is also seen on OS/2. Try an older version of coreutils package. 5 A DOS 32 bit version built with OpenWatcom C stops scanning the disk when it encounters on a Windows drive a path longer than 66 characters. The problem is that after chdir() fails to change to a path longer than 66 characters, getcwd() returns a wrong path, namely the path chdir() could not change to chopped at 66 characters. I think this is a bug in OpenWatcom. getcwd() should return the path of the last successful chdir(). This was seen on Windows Vista 32 bit. ...................................................................... If you think you found a bug do the following. First check that you have the latest version of WCD. The bug may already have been solved. If it has not been solved than send me an e-mail . Describe the bug and tell me what version of WCD you use and under what operating system. Also ideas to improve wcd are welcome. wcd-6.0.3/doc/README.txt0000644000175500010010000003742313524756523014034 0ustar waterlanGeenFile list README.txt : This file. INSTALL.txt : Installation documentation. ../src/man/man1/wcd.txt : Manual, text format. ../src/man/man1/wcd.htm : Manual, HTML format. whatsnew.txt : Change log. faq.txt : Frequently Asked Questions. copying.txt : distribution license. problems.txt : Known problems. todo.txt : Things to do. Table of Contents 1.0 History 2.0 Copyright 2.1 C3PO data structures 2.2 DOSDIR 2.3 Recmatch 2.4 Ninux Czo Directory 2.5 Miscellaneous bits and pieces 3.0 Acknowledgements 3.1 Translators 3.2 Works of others used in the program 4.0 Contact and Download information 1.0 History In 1995 I started working for Philips Research in Eindhoven. I had to do all my work on HP Unix (HP-UX). I was missing an application like Norton Change Directory (NCD). I didn't know of any other NCD like program so in 1996 I decided to make it myself. On the internet I found Jason Mathew's DOSDIR package in the Simtel archives. DOSDIR was my starting point. Because DOSDIR was portable I could make wcd at home with Borland-C 3.1 on my PC (intel 80486, 80 MHz) on DOS 6.2. I mailed the source code to work and there I build a version for HP-UX. I made wcd for myself, but was happy to share it with others. Some colleagues started using wcd. In 1997, I found the DJGPP compiler and used that as my main development environment. Now I was able to create a 32 bit DOS version, and it supported long directory names under Windows 95. In Dec 1997 I put wcd on the internet. I was amazed that already 7 people downloaded it in the first month. From then on development was driven a lot by feedback I got via the internet. In March 1998 the GNU distribution license was attached to version 2.0.0. Later I installed Linux (RedHat 5.0) on my PC at home and that became my main development platform. Because eventually most DOS users will migrate to Windows I ported wcd to Windows NT. I started with Borland C 4.0, but changed soon to the MinGW compiler. The first Win32 port was ready in November 1999. The DOS 32 bit version still stayed the most popular version for a long time. In 2003 the Windows NT port became most popular. In April 2000 (version 2.3.0) a curses based interface was added to have a consistent interface on all platforms. And a year later the 'graphical tree' curses interface was added (version 3.0.0). I used wcd mainly in an ASCII (C) environment. Only since version 3.2.0 in Dec 2005 eight bit characters sets were properly supported. After a development pause of two years, version 4.0.0 (Sep 2008) was the first which supported internationalization by message translations via gettext. Since version 5.0.0 (Mar 2009) wcd supports Unicode, to enable internationalization for all languages. In the beginning this development was done on Linux, and later on Cygwin which supports Unicode since version 1.7. In version 6.0.0 (Feb 2017) the DOSDIR directory interface layer was removed from Wcd. The amount of directories can be huge these days, so scanning a disk can take a long time. Removal of DOSDIR resulted in faster disk scanning on Windows and Unix. 2.0 Copyright Copyright (C) 1996-2019 Erwin Waterlander 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. Visit 2.1 C3PO data structures Data structures with dynamic memory allocation were created with Ondrej Popp's C3PO ( Compiler Compiler Compiler Popp Ondrej ). http://sourceforge.net/projects/c3po/ email: 2.2 DOSDIR Wcd used DOSDIR for scanning the disk until Wcd version 5.3.4. Only the parts of DOSDIR that are distributed under GNU General Public License were used in WCD. DOSDIR: A Portable DOS/UNIX/VMS Directory Interface DOSDIR minimizes the OS-specific directory access code for applications allowing programmers to concentrate on the application itself and not on the low-level directory and file structure. DOSDIR applications will run on their native operating systems with the appropriate file syntax and handling, which is expected for that platform. Copyright (C) 1994 Jason Mathews. Jason Mathews The MITRE Corporation 202 Burlington Road Bedford, MA 01730-1420 Email: mathews@mitre.org, mathews@computer.org DOSDIR can be download from my own homepage http://waterlan.home.xs4all.nl/ 2.3 Recmatch I used the regular matching algorithm, recmatch(), of Info-Zip's unzip program. recmatch() was written by Mark Adler. Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly, Kai Uwe Rommel and Igor Mandrichenko. Mark Adler (original Zip author; UnZip decompression; writer of recmatch() ) and Greg Roelofs (former UnZip maintainer/co-author) have given permission to me to distribute recmatch() (match.c,match.h) under the GNU General Public License conditions as long as there's some sort of comment included that indicates it came from Info-ZIP's UnZip/Zip and was written by Mark Adler. Info-ZIP's home WWW site is at: http://www.info-zip.org/ 2.4 Ninux Czo Directory Ideas and source code of NCD (Ninux Czo Directory) have been used in the WCD graphical interface. Ninux Change Directory Copyright (C) 1995 Borja Etxebarria or http://www.ibiblio.org/pub/Linux/utils/shell/ncd-0.9.8.tgz Additions on NCD were made by Olivier Sirol (Czo) Ninux Czo Directory Copyright (C) 1995 Borja Etxebarria Copyright (C) 1996 Olivier Sirol Olivier Sirol http://www.ibiblio.org/pub/Linux/utils/file/managers/ncd1_205.tgz 2.5 Miscellaneous bits and pieces wcd_fixpath() is a modified version of _fixpath() Copyright (C) 1995-1996 DJ Delorie, see COPYING.DJ for details _fixpath() is a library function of libc for DJGPP. See also http://www.delorie.com/djgpp/ Source code to scan Windows LAN was originally written and placed in the Public Domain by Felix Kasza. Copied from Felix Kasza's Win32 Samples page at MVPS.ORG. http://www.mvps.org/win32/ Source code for colours in curses interface was copied from the PDCurses demo program 'tui'. The 'tui' demo program was originally written by P.J. Kunst and placed in the Public Domain. Markus Kuhn's free wcwidth() and wcwidth_cjk() implementation is used. See also http://www.cl.cam.ac.uk/~mgk25/unicode.html Rugxulo is the original autor of query_con_codepage(), which is in the public domain. 3.0 Acknowledgements Thanks to the following people for giving ideas and/or reporting/solving bugs: Leo Sevat (First user) Paul Lippens (? I forgot. ew) Ondrej Popp (relative treefiles) Ad Vaassen (subdirectories) Michael Magan (interface) Christopher Drexler (bugfix on SGI IRIX64) Richard Tietjen (HOME on DOS/Windows) Howard Schwartz (interface: use letters, WCDHOME) Ajit J. Thakkar (zsh on windows) Christian Mondrup (man page) Gary R. Johnson (graphical tree mode) Peter Gutmann (just go mode) Etienne Joarlette (SunOS makefile) Edwin Rijpkema (zoom in graphical tree mode) Juhapekka Tolvanen (man page) Andre vd Avoird (Keep paths, -k) Kevin M. Rosenberg (patch for compile problems w.r.t. gcc and , man page) Zoltan Varady (fix compile problems on Mac OS X/Darwin) Eric Auer (default makefile for DOS 16 bit (compact memory model) works again) Val Vakar (WCDFILTER) Jari Aalto (man page improvements) Jari Aalto (option -l takes alias directly) Jari Aalto (in match list key z does page down.) Jari Aalto (Swap options -v and -V.) Jari Aalto (Unix: Replace volume manager path of HOME dir by "$HOME") Jari Aalto (Makefile improvements) Jari Aalto (Updated installation documentation) Jari Aalto (Code cleanup) Jari Aalto (Generate manual from Perl POD file) Jari Aalto (Reformat README file.) Jari Aalto (Fix compilation on Solaris) Jari Aalto (Version date in ISO 8601 format) Gabor Grothendieck (UNC paths support) Gabor Grothendieck (automatically set PDC_RESTORE_SCREEN) Gabor Grothendieck (original console colours on windows) Mark Hessling (original console colours on windows) Mark Hessling (fix: scroll away problem on Windows NT/2000/XP) Ken Zinnato (alternative tree navigation) Scott D Friedemann (fix: curses interface writes uninitialised data to screen) Richard Boss (dump matches to stdout) Richard Boss (8-bit characters) Richard Boss (print match list at bottom of console) Roland Messier Shell script to compile wcd for QNX 4.25 systems. Elbert Pol Port to OS/2 Warp Billy Chen Optional colours in graphical mode (option -K) Billy Chen Less screen movement when navigating in graphical mode. anonymous Alternate stack file support. Laurence Errington Simpler installation instructions for Windows Command Prompt anonymous Support user names with spaces on Windows. Justin Lecher Makefile improvements. Eli Zaretskii Don't follow symbolic links on Windows. Thomas Dickey Use of ncurses on Windows. Misty De Meo Fix: Compilation on OS X/FreeBSD. David Binderman Fixed a dangerous string usage. Benno Schulenberg Cleanup user interface messages. Andreas Schwab Fix: etc/profile.d/wcd.sh: wcd function was overwriting shell's $go variable. Erik Rijshouwer Idea for option -ls, list the aliases. Martin Report bug that wcd DRIVE:DIR was broken in 6.0.0. 3.1 Translators Thanks to the following translators: Since verion 5.2.5 wcd is part of the Translation Project (TP). All translations of the messages go via the Translation Project. see http://translationproject.org/domain/wcd.html Brazilian Portuguese Rafael Fontenelle Version 6.0.1 Chinese (simplified) Mingcong Bai (Jeff) and Version 5.3.1 Mingye Wang (Arthur) Danish Joe Hansen Version 6.0.0 Dutch Erwin Waterlander Version 4.0.0 - 5.2.4 Dutch Benno Schulenberg Version 5.2.5 - 5.3.3 Esperanto Benno Schulenberg Version 5.2.5 - 5.3.3 Finnish Jari Aalto Version 5.1.0 - 5.2.4 Finnish Jorma Karvonen Version 5.2.5 - 5.3.3 French Grégoire Scano Version 6.0.3 Friulian Fabio Tomat Version 6.0.2 German Philipp Thomas Version 5.1.3 - 5.2.3, 5.3.3 - 5.3.4 German Lars Wendler Version 5.2.4 German Mario Blättermann Version 5.2.5 - 5.2.6 Serbian Мирослав Николић Version 5.3.4 Spanish Julio A. Freyre-Gonzalez Version 5.0.4 - 5.2.4 Spanish Francisco Javier Serrador Version 6.0.2 Ukrainian Yuri Chornoivan Version 5.2.5 - 6.0.0 Vietnamese Trần Ngọc Quân Version 5.2.5 - 6.0.0 Translations of the manual: See http://translationproject.org/domain/wcd-man.html Brazilian Portuguese Rafael Fontenelle Version 6.0.1 - 6.0.3 Dutch Erwin Waterlander Version 5.2.5 - 6.0.3 German Mario Blättermann Version 5.2.5 - 6.0.3 French Grégoire Scano Version 6.0.3 Ukrainian Yuri Chornoivan Version 5.2.5 - 6.0.3 3.2 Works of others used in the program Thanks to the following people for using their Free software: Ondrej Popp, C3PO Jason Mathews, dosdir Mark Adler, recmatch() DJ Delorie _fixpath() Borja Etxebarria & Olivier Sirol Ninux Czo Directory Felix Kasza WIN32 API sample WNetOpenEnum()/WNetEnumResource() MVPS.ORG http://www.mvps.org/win32/ Markus Kuhn wcwidth() and wcwidth_cjk() http://www.cl.cam.ac.uk/~mgk25/unicode.html Rugxulo query_con_codepage() http://sites.google.com/site/rugxulo/ 4.0 Contact and Download information I can be contacted via E-mail: waterlan@xs4all.nl -- Latest development source code is maintained in SourceForge Git repository: git clone git://git.code.sf.net/p/wcd/wcd The latest WCD packages, executables and sources, can be downloaded from this internet-page: http://waterlan.home.xs4all.nl/ -- SourceForge project page: http://sourceforge.net/projects/wcd/ -- For each release of wcd there are two source packages (the question marks indicate the version number): wcd-?.?.?.tar.gz : source package Source code in unix text. wcd???.zip : source package Source code in DOS text. -- Wcd is also distributed by: Debian Linux http://packages.debian.org/search?keywords=wcd Ubuntu Linux http://packages.ubuntu.com/ Fedora Linux openSuse Linux Gentoo Linux Simtel.Net: Search: wcd SYSTEM UTILITIES > File management and conversion utils > wcd Ibiblio (was Metalab (was SunSite)): http://www.ibiblio.org/pub/Linux/utils/shell/ -- Erwin Waterlander wcd-6.0.3/doc/todo.txt0000644000175500010010000000372213524756523014037 0ustar waterlanGeenTO DO ===== * Translate the program messages. Translation of the messages for wcd is going via the Translation Project (TP). See http://translationproject.org/domain/wcd.html * Translate the manual. Translation of the manual for wcd is going via the Translation Project (TP). See http://translationproject.org/domain/wcd-man.html * Improve interface for East Asian double width CJK fonts (Chinese, Japanese, Korean) in a Windows console. This depends on PDCurses/ncurses development. * Support scripts that write from right to left like Arabic, Persian or Hebrew. I always kept this in mind while developing wcd: * keep it simple. Usable without knowing all the options. * wcd is a directory changer. The main goal is to change directory with a minimal amount of keystrokes. Don't change wcd into a directory/file manager. * low requirements. A minimal wcd version can be build with just an ansi-C compiler. The graphical tree can be drawn with ascii characters and colours are not required. This way wcd runs also on very old systems. * portable So I can use wcd everywhere. * backwards compatible Don't bother users. In a multi-user environment, old and new versions can be used together. NOT TO DO ========= Things I deliberately not implemented. (This may change in the future.) * Extended regular expressions support. Full regular expressions are too powerful for file and directory name matching. All normal shell commands like `ls' and `cp' use glob style matching and that is what users are used to. Full regular expressions are not really needed. * Approximate (fuzzy) matching. I have made in the past a wcd version with full regular expressions and fuzzy matching support. My experience was that when the number of directories is very large the fuzzy matching often causes unexpected behaviour. That is why I removed it again. I used the TRE regexp matching library, made by Ville Laurikari. See http://www.laurikari.net/tre/ wcd-6.0.3/doc/UNIX.txt0000644000175500010010000001747713524756523013671 0ustar waterlanGeenPREREQUISITES Required * gcc : GNU C compiler * make : GNU make * sh : POSIX type shell * coreutils : GNU core utilities package (chmod, install, mkdir, mv, rm, uname) * sed : Stream editor Optional (depending on build targets): * perl : Practical Extraction and Report Language (perlpod) perl >= 5.10.1 is required for rebuilding the manual pages with pod2man. perl >= 5.18 is required for rebuilding the international manual pages correctly in HTML with pod2html. * gettext : Framework to help GNU packages produce multi-lingual messages. * po4a : PO for anything. * ncurses : CRT screen handling and optimization package. * libunistring : Library with functions for manipulating Unicode strings. * groff : GNU troff text formatting system. * ghostscript : An interpreter for the PostScript language and for PDF (ps2pdf) Check if you have GNU make(1) and GNU gcc(1) installed on your system. On some systems GNU make may be installed as 'gmake' command. make --version gcc --version BASIC INSTALLATION Change to directory src/ To compile using GNU make: make all Options that can be enabled during compiling UCS= Disable Unicode (UTF8) support The default value is 1. UNINORM=1 Enable Unicode normalization. The default value is empty. On Cygwin the default value is 1. Requires libunistring, see http://www.gnu.org/s/libunistring/ http://en.wikipedia.org/wiki/Unicode_normalization ENABLE_NLS=1 Enable native language support. That is, use locale files. The default value is 1. STATIC=1 Enable static linking. Make a standalone wcd binary. The default value is empty. DEBUG=1 A debug enabled build can be made by adding DEBUG=1 to the make command. DEBUGMSG=1 DEBUGMSG=1 makes wcd print verbose messages about accessing the file system. LFS= Large File Support (LFS) is by default enabled. This enables the use of 64 bit file system interface on 32 bit systems. This makes it possible to open files larger than 2GB on 32 bit systems, provided the OS has LFS support builtin. To disable LFS make the LFS variable empty. Example: Disable LFS: make clean install LFS= CURSES= Select curses library. The default value is 'ncurses'. Only an expert should change this. NCURSES_DEBUG=1 Link with ncurses debug enabled library by adding NCURSES_DEBUG=1 to the make command. ASCII_TREE=1 Draw graphical tree with ASCII characters. The default value is empty. EXT=.exe Set executable extension The default value is '.exe' to make a distinction between the binary and the function/alias. HMTLEXT=html Set HTML manual file extension. The default value is 'htm' to support all platforms. An example to disable unicode support. make clean all UCS= To disable Native Language Support, reset the ENABLE_NLS variable: make ENABLE_NLS= To disable curses and compile with plain stdin/stdout interface type, reset the CURSES variable: make CURSES= To install: make all strip install Now go to section SHELL INTEGRATION below. INSTALLATION NAMES By default the 'install' target will install the program in /usr/bin, the language files in /usr/share/locale and the man page in /usr/share/man. You can specify an installation prefix other than /usr by modifying the 'prefix' variable. An Example: make prefix=$HOME clean all make prefix=$HOME strip install SHELL INTEGRATION See manual page section "INSTALLATION" how to manually configure the shell to use the program. It is required to configure your shell, otherwise wcd cannot work. Alternatively you can use the shell scripts that are provided to install the wcd function (sh) or alias (csh) under /etc/profile.d/. To install these scripts type: make install-profile If you wish that Wcd stores its files under $HOME/.wcd instead of $HOME, add DOTWCD=1. This will add a definition of WCDHOME=$HOME/.wcd (see manual). make install-profile DOTWCD=1 Under Cygwin these shell scripts are always installed. INTERNATIONAL MAN PAGES All man pages are encoded in UTF-8, because even Western-European man pages may contain Unicode characters not supported by the Latin-1 (ISO-8859-1) character set. Originally the Unix man system supported only man pages in Latin1 format. Although the world is moving to Unicode format (UTF-8) there is still a lot of Latin1 legacy around. The English man page is a pure ASCII file and is readable on all platforms. Non-English man pages are encoded in UTF-8. These do not show properly on old systems. Man pages in UTF-8 format are shown properly on Linux. Not all roff implementations support UTF-8. In order to show UTF-8 man pages properly on Cygwin you need to do the following when you use classic man: In /etc/man.conf, change the NROFF definition to use 'preconv'. NROFF /usr/bin/preconv | /usr/bin/nroff -c -mandoc 2>/dev/null To view the man page set the correct locale. E.g. for Ukrainian: export LANG=uk_UA.UTF-8 man dos2unix When you use man-db all pages are shown correctly automatically. DOCUMENTATION Manual pages are generated from Perl POD files. To rebuild the man pages from POD type: make maintainer-clean make man Manuals in PDF format are by default not created. To create manuals in PDF format type: make pdf PDF generation requires GhostScript to be installed. BINARY DISTRIBUTION PACKAGE CREATION After installation, a package can be created that contains a ready-to-run wcd binary. Type `make dist' to create a .tar.gz file. Type `make dist-zip' to create a .zip file. PORTABILITY A compile error occurs when you use gcc < 3.0 and is included somewhere (e.g. in curses.h). Thanks to Kevin M. Rosenberg, apply the following patch: patch -p1 < patch/wcd_bool.diff -- Conflicting curses.h ncurses.h On some systems curses.h is conflicting with ncurses.h. To compile wcd you can solve this by creating a symbolic link curses.h in the wcd source directory pointing to the ncurses.h file and adding -I. to CFLAGS in old/Makefile.ncurses.gcc. This problem was seen on a BSDI BSD/OS 4.0 system. /usr/local/include/ncurses.h End of file wcd-6.0.3/doc/VISUALC.txt0000644000175500010010000001044313524756523014176 0ustar waterlanGeenThis file explains how to compile wcd for Windows with the Microsoft Visual C++ compiler. For Unix/Linux/Cygwin compile instructions see file UNIX.txt For DJGPP/MinGW/EMX compile instructions see file GCC_DOS.txt For Watcom C compile instructions see file WATCOMC.txt For how to install the program on DOS, Windows, OS/2 see file INST_DOS.txt. Prerequisites ============= * Visual C++ compiler. * pdcurses : CRT screen handling and optimization package * perl : Practical Extraction and Report Language (perlpod) Needed for building packages: * zip : compressor-archiver http://www.info-zip.org/ Visual C++ ========== You can get a free community version via this web page: https://www.visualstudio.com/vs/community/ PDCurses ======== To build wcd with PDCurses interface you need to have the PDCurses library installed. Get PDCurses at http://sourceforge.net/projects/pdcurses/ Compile it and copy the library file into the proper VC\lib directory and the curses.h file in the VC\include directory. Build PDCurses width wide character support (WIDE=Y), also when you build a wcd version without Unicode support. A non-Unicode Windows version of wcd will still use Unicode for the interface. Name the library "pdcursesw.lib". Support for resizing of ConEmu or Windows 10 console requires PDCurses version 3.7 or higher. Perl ==== Perl is required for the generation of the manual in text and html format. The wcd source package includes all documentation files. When you want to recreate the manuals, you need a 'perl' installation. There exist ready-to-run perl packages. Windows: Strawberry Perl: http://strawberryperl.com/ Active Perl : http://www.activestate.com/activeperl Problems on Windows VISTA and higher ==================================== To be able to run `nmake install' you may need adminstrator rights. You can get a Command Prompt with administrator rights if you right click on the Command Prompt icon and select `run as administrator'. Basic Installation ================== win32 : Windows 32 bit console version. win32psh : Windows 32 bit PowerShell version. win32zsh : Windows 32 bit for WinZsh or MSYS. win64 : Windows 64 bit console version. win64psh : Windows 64 bit PowerShell version. win64zsh : Windows 64 bit for WinZsh or MSYS. Change to the appropriate directory `win32', `win32psh', `win32zsh', `win64', `win64psh', or `win64zsh' directory. Then change to the `vc' subdirectory. Build wcd: Type `nmake' to compile the package. Install wcd: Type `nmake install' to install the package. `nmake install' will also compile the package if it wasn't done yet. To start clean: Type `nmake clean' Curses interface ================ The default interface is pdcurses. Wcd uses PDCurses with wide character support (CURSES=pdcursesw) To disable CURSES and compile with stdio interface, reset the CURSES variable: nmake CURSES= Graphical tree ============== By default the graphical tree is drawn with line drawing characters. If these are not available on your system you can set ASCII_TREE=1 so that ASCII characters are used instead. nmake ASCII_TREE=1 Unicode support =============== Unicode support is by default enabled. To disable add UCS= to the make command: nmake UCS= Installation Names ================== By default `nmake install' will install the program in /usr/bin, the language files in /usr/share/locale and the man file in /usr/share/man. You can specify an installation prefix other than `/usr' by giving `nmake' the option `prefix=PATH'. Example: nmake mostlyclean nmake nmake install prefix=c:\Users\waterlan The default prefixes are the same for as for GCC. win32 : The default PREFIX is c:\usr\local win32zsh : The default PREFIX is c:\usr\local win32psh : The default PREFIX is c:\usr\local win64 : The default PREFIX is c:\usr\local64 win64psh : The default PREFIX is c:\usr\local64 win64zsh : The default PREFIX is c:\usr\local64 manual pages in html and text format ==================================== To create the manuals in txt and html format type: nmake doc To install the manuals in txt and html format type: nmake install-doc distribution package ==================== After installation a ready-to-run binary distribution package can be created. Type `nmake dist' to create the package. wcd-6.0.3/doc/WATCOMC.txt0000644000175500010010000001151513524756523014166 0ustar waterlanGeenThis file explains how to compile wcd for DOS, Windows, and OS/2 with the Open Watcom C compiler. For Unix/Linux/Cygwin compile instructions see file UNIX.txt For DJGPP/MinGW/EMX compile instructions see file GCC_DOS.txt For MS Visual C++ compile instructions see file VISUALC.txt For how to install the program on DOS, Windows, OS/2 see file INST_DOS.txt. Prerequisites ============= * Watcom C compiler. * pdcurses : CRT screen handling and optimization package * perl : Practical Extraction and Report Language (perlpod) Needed for building packages: * zip : compressor-archiver Watcom C ======== There is a free version of the Watcom C compiler available at http://www.openwatcom.org/ It includes cross compilation. From a Windows machine you can also create DOS and OS/2 programs. Open Watcom V2 : http://open-watcom.github.io/open-watcom/ (git repo) http://sourceforge.net/projects/openwatcom/ (binaries download) Note there is an issue with the DOS 32 bit version built with Watcom C. See problems.txt. PDCurses ======== To build wcd with PDCurses interface you need to have the PDCurses library installed. Get PDCurses at http://sourceforge.net/projects/pdcurses/ Compile it and copy the library file into the proper \lib directory and the curses.h file in the \watcom\h directory. The Windows versions of wcd require PDCurses with wide character support, also if you build a non-Unicode version of wcd for Windows. Perl ==== Perl is required for the generation of the manual in text and html format. The wcd source package includes all documentation files. When you want to recreate the manuals, you need a 'perl' installation. There exist ready-to-run perl packages. DOS: DJGPP project: http://www.delorie.com/djgpp/ ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/perl588b.zip Windows: Strawberry Perl: http://strawberryperl.com/ Active Perl : http://www.activestate.com/activeperl Problems on Windows VISTA and higher ==================================== To be able to run `wmake install' you may need adminstrator rights. You can get a Command Prompt with administrator rights if you right click on the Command Prompt icon and select `run as administrator'. Basic Installation ================== dos16 : DOS 16 bit dos32 : DOS 32 bit dos32bsh : DOS 32 bit for BASH win32 : Windows 32 bit console version. win32zsh : Windows 32 bit for WinZsh or MSYS. win32psh : Windows 32 bit PowerShell version. os2 : OS/2 32 bit console version. Change to the appropriate directory `dos16', `dos32', `dos32bsh', `win32', `win32zsh', `win32psh', 'os2'. Then change to the `watcom' subdirectory when it is present. Build wcd: Type `wmake' to compile the package. Install wcd: Type `wmake install' to install the package. `wmake install' will also compile the package if it wasn't done yet. To start clean: Type `wmake clean' Curses interface ================ The default interface is pdcurses. win32* uses PDCurses with wide character support (CURSES=pdcursesw) To disable CURSES and compile with stdio interface, reset the CURSES variable: wmake CURSES= Graphical tree ============== By default the graphical tree is drawn with line drawing characters. If these are not available on your system you can set ASCII_TREE=1 so that ASCII characters are used instead. wmake ASCII_TREE=1 Unicode support =============== Unicode support is by default enabled on Windows and disabled on DOS and OS/2. To disable add UCS= to the make command: wmake UCS= Unicode support requires a (pd/n)curses installation with wide character support. Unicode is not supported for DOS and OS/2 versions of wcd. Unicode is only supported in Windows PowerShell, and Command Prompt on Windows 7 or higher. Installation Names ================== By default `wmake install' will install the program in /usr/bin, the language files in /usr/share/locale and the man file in /usr/share/man. You can specify an installation prefix other than `/usr' by giving `wmake' the option `prefix=PATH'. Example: wmake clean wmake wmake install prefix=c:\Users\waterlan The default prefixes are the same for Watcom C as for GCC. dos16 : The default PREFIX is c:\dos dos32 : The default PREFIX is c:\dos32 dos32bsh : The default PREFIX is c:\dos32 win32 : The default PREFIX is c:\usr\local win32zsh : The default PREFIX is c:\usr\local win32psh : The default PREFIX is c:\usr\local os2 : The default PREFIX is c:\usr manual pages in html and text format ==================================== To create the manuals in txt and html format type: wmake doc To install the manuals in txt and html format type: wmake install-doc distribution package ==================== After installation a ready-to-run binary distribution package can be created. Type `wmake dist' to create the package. wcd-6.0.3/doc/whatsnew.txt0000644000175500010010000010021413524756523014724 0ustar waterlanGeen6.0.3 2019-08-14 - New French translations of the messages and the manual. Thanks to Grégoire Scano. - Support resizing in ConEmu and Windows 10 command console. If it doesn't work in a Windows 10 console make sure the console is not in legacy mode (see properties). The screen may not refresh when the console Layout property "Wrap text output on resize" is disabled. The screen can be refreshed manually by pressing the F5 key. - Upgrade to PDCurses 3.8. Required for console resize support on Windows. - Code cleanup. 6.0.2 2018-05-10 - New Friulian translation of the messages. Thanks to Fabio Tomat. - Updated Spanish translation. Thanks to Francisco Javier Serrador. - Makefile: Fix: Add RPM_LD_FLAGS instead of RPM_OPT_FLAGS to LDFLAGS. - Code cleanup. 6.0.1 2017-08-28 - wcd.c: Fix. DOS, OS2, and Windows versions. When user gives drive plus directory name (e.g. wcd d:games), wcd did not find the directory. This was broken since wcd 5.3.3. Thanks to Martin for reporting this issue. https://sourceforge.net/p/wcd/feature-requests/14/ - GCC_DOS.txt: Document problems and solutions for building wcd with DJGPP on Windows Vista and higher. - src/Makefile: Build all text and html manual files when ENABLE_NLS=1. - Minor cleanup of the manual. - New Brazilian Portuguese translation of the messages. Thanks to Rafael Fontenelle. - New Brazilian Portuguese translation of the manual. Thanks to Rafael Fontenelle. 6.0.0 2017-02-21 - Faster disk scanning on Windows and Unix and on OS/2 with Watcom C built version. This was achieved by removing the DOSDIR directory interface layer and replacing it with system specific functions. Disk scanning speed depends on external factors, like disk caching and other processes accessing the disk at the same time. The speed increasement you experience may vary. - Fixed -rmtree for unicode file names on Windows. - Support EMX symbolic links on OS/2. - Support bash on OS/2. - New Danish translation of the messages. Thanks to Joe Hansen. 5.3.4 2017-01-03 - New Serbian translation. Thanks to Мирослав Николић. - src/Makefile: Fixed for compilation on OS/2. - Code cleanup. 5.3.3 2016-10-15 - Support Unicode aliases on Windows. Wcd for Windows with Unicode support stores the aliases now in UTF-8 format (like the paths). Old aliases with non-ASCII characters are not compatible anymore. You need to create new aliases. - New option -ls: List the aliases. Thanks to Erik Rijshouwer. - Code cleanup. - Fixed makefiles for DJGPP, targets install and dist. 5.3.2 2016-02-18 - Fixed printing of East-Asian text on Windows with an East-Asian regional setting. - src/Makefile: * Split DEBUG=1 into DEBUG=1 and DEBUGMSG=1. DEBUG=1 will add option -g to CFLAGS for debugging with gdb. DEBUGMSG=1 makes wcd print extra messages about accessing the file system. * Use GNU standard variables INSTALL_PROGRAM and INSTALL_DATA for installation. * Update for msys1/2 to avoid need for msys specifc makefiles. * Don't install international man pages when ENABLE_NLS is empty. - msys/Makefile: Deleted. - msys2/Makefile: Deleted. - win64*/Makefile: Use normal 'gcc' instead of cross-compiler (x86_64-w64-mingw32-gcc). - man/*/man1/dos2unix.po: Moved all manual .po file to directory po-man/. The .po files now have their original name. - Makefile, man/man1/Makefile: Build international manuals from the .po files in folder po-man/. 2015-12-21 - Moved wcd source repository from Subversion to Git. To clone type: git clone git://git.code.sf.net/p/wcd/wcd 5.3.1 2015-12-02 - src/po/zh_CN.po: New simplified Chinese translation of the messages. Thanks to Mingcong Bai (Jeff) and Mingye Wang (Arthur). - src/Makefile, */vc/Makefile, */watcom/Makefile: Unicode support is by default enabled for Windows and Unix. - src/Makefile, src/chk_logc.sh: Automatically detect if we are in MSYS 1 or 2, and disable Unicode for MSYS 1. 5.3.0 2015-09-23 - Faster loading of the graphical tree, in about one third less time. - Fix reading UTF-16 treedata files. - Fix: Check for file I/O errors while reading files. These can happen after a file was opened without problems. 5.2.7 2015-04-19 - c3po/structur.h: Fix compilation error: unknown type name wchar_t. Happens on some systems when wcd is compiled with Unicode support. - Makefile, man/man1/Makefile: add option --no-wrap to xgettext and msgmerge. Translation Project standard is not to wrap. 5.2.6 2015-01-18 - graphics.c,display.c: Use wclear again on Windows iso werase (werase was introduced in wcd 5.2.4), because wclear gives a cleaner screen in a Windows Command Prompt in an East Asian locale with double width font. E.g. Chinese locale CP936 with raster or Simsun font. wclear gives some screen flickering when used with ncurses on Windows. - New keys in match list and graphical tree mode: F5 or CRTL-l to redraw the screen. - win*/Makefile: * Add libiconv-2.dll when compiled with Unicode normalization. * Add libwinpthread-1.dll when compiled with ncurses. * Replaced libuninstring-0.dll with libunistring-2.dll. - msys2/Makefile: New makefile for building for native msys2. - wcd.c, Makefile: Updated for msys2. - Bugfix: etc/profile.d/wcd.sh: wcd function was overwriting shell's $go variable. Thanks to Andreas Schwab. - Bugfix: wcddir.c: Fix in replacing volume manager path with $HOME for other users. Introduced in version 5.1.0. 5.2.5 2014-06-10 - Translations of UI messages: * Updated Dutch translation. Thanks to Benno Schulenberg. * Updated Finnish translation. Thanks to Jorma Karvonen. * New Esperanto translation. Thanks to Benno Schulenberg. * New Ukrainian translation. Thanks to Yuri Chornoivan. * New Vietnamese translation. Thanks to Trần Ngọc Quân. - Translations of the manual: * New Dutch translation. * New German translation. Thanks to Mario Blättermann. * New Ukrainian translation. Thanks to Yuri Chornoivan. - Use po4a to create international man pages. See http://po4a.alioth.debian.org/ - Wcd is member of Translation Project for translation of messages and manual. See http://translationproject.org/domain/wcd.html http://translationproject.org/domain/wcd-man.html - Makefile: Include generated manuals in the source package. Adding man files to the source package, which have been generated with a high version of perl/pod2man, is a favour to users, because newer perl/pod2man versions produce better output (also for old systems). Tip from pod2man maintainer Russ Allbery. When you want to generate man pages yourself just run first 'make maintainer-clean'. - Switch to MinGW-w64 compiler for Windows 32 bit. - Makefile: Wcd compiles in MSYS2/MinGW-w64 environment. See http://sourceforge.net/projects/msys2/ - New makefiles for Microsoft Visual C++ (MS VC) 64 bit. - New makefiles for Zsh/MSYS 64 bit (win64zsh). - Watcom and VC makefiles support DEBUG=1. - dosdir.h, dosdir.c: Fixed disk scanning when built with MS VC 64 bit. - display.c, graphics.c: Don't use newterm() on Windows when ncurses is used. Newterm() in old ncurses versions (<5.9.20120922) is not working on Windows. - wcd.c: Fixed a dangerous string usage. Thanks to David Binderman. - wcd.c, display.c: Fixed compilation for stdio interface (no curses). - Split help text in small pieces to make it easier for translators, and cleanup messages. Thanks to Benno Schulenberg. - Switch back to DJGPP gcc 4.5.3. Binaries built with DJGPP gcc >= 4.6 crash in DOSEMU and DosBOX. 5.2.4 2013-08-28 - Support user names with a space in the name in cmd.exe. Thanks to anonymous. - Show an "A" when alternative navigation mode is on. - Improved printing of surrogate pairs on border. - New option -Td, --cjk-width. Support double width line drawing symbols and ambiguous characters when double-width CJK (Chinese, Japanese, and Korean) font is used. Analog to xterm -cjk_width. - Added a test treedata file. - Print system error when writing to disk fails. - Makefile: * CC can be overridden by environment. * CFLAGS optimization flags can be overridden by environment. * Separate LIBS from LDFLAGS. Thanks to Justin Lecher - Makefile: NCURSES_DEBUG=1 enables linking with the ncurses libraries with debug information. The ncurses *_g libraries. - In verbose mode environment variables HOME, WCDHOME, WCDSCAN, and go-script are printed. - Wcd prints debug information when compiled with DEBUG=1. - Windows versions don't follow symbolic links while scanning disks (like Unix versions). Thanks to Eli Zaretskii. - Fix: Option --just-go did not work. --no-ignore-diacritics did set just go mode. - Fix: Compilation on OS X/FreeBSD. Thanks to Misty De Meo . - New option -y, --assume-yes: Assume yes on all queries. Handy in combination with -rmtree. - Preparing to use Ncurses instead of PDcurses for wcd on Windows. PDcurses has no new version since Sep 2008. Many thanks to Ncurses maintainer Thomas Dickey. * Reduced flicker in graphical tree interface by using werase() i.s.o. wclear(). Flicker was mainly noticeable in Windows port of ncurses. * Unset environment variable TERM on Windows when ncurses is used. A wrong value makes ncurses exit right away. * Ncurses MinGW port fixes by Thomas Dickey: - Failing newterm() fixed (ncurses 5.9.20120922) - Correct display of double width characters (ncurses 5.9.20121215). - Freezes on input fixed (ncurses 5.9.20130302). * Pending issues: - Ncurses does not work in Console2. - Misalignment at highlighted directory in tree with true type CJK font, e.g. the Chinese Simsun font. (PDCurses has same problem.) 5.2.3 2012-10-29 - New compact tree mode. By default the 'graphical' tree is drawn the same way as the original NCD did it. On DOS a directory path could only be 66 characters in total. With the deep directory structures of today the tree can become very wide. To overcome this wcd can draw the tree in a compact way, similar to most GUI file managers, with only one folder per line. Use the new option -Tc or switch on-the-fly with the 'm' key. - Alternative navigation in compact tree mode works the same as in GUI file explorers such as Windows Explorer and KDE Konqueror. - Removed option -ga. Instead add the new option -Ta to your wcd alias, function or batch file if you prefer alternative navigation by default. Use shift-A in the tree to switch on-the-fly. - Removed option -gc. Instead add the new option -TC to your wcd alias, function or batch file if you prefer centered view by default. - Wcd compiles with Microsoft Visual C++. - Makefile uses $(sysconfdir) i.s.o. hardcoded /etc. - Added several GNU standard long command-line options. Thanks to Jari Aalto. - RPM spec file complies to Fedora packaging standards. Moved spec file to folder misc. - Fix: PowerShell version created files named "null". The problem was introduced in version 5.2.0. - Fix: Stdio mode on Windows prints Unicode characters correctly. - Fix: Match c with cedilla when ignoring diacritics (CP1252, CP28591, ISO-8859-1, and Unicode). 5.2.2 2012-09-01 - Turn off wildcard globbing for DJGPP (DOS32) and MinGW (Windows). This fixes some unexpected behaviour when a wcd argument matches a file in the current directory. In Unix shells you still need to quote the arguments to disable expansion. - Better error reporting when lines in treedata files are too long. - wcd.c: Support UTF-16 surrogate pairs when a Unix version reads UTF-16 tree files. - Cleanup for Watcom C: * Fixed compilation for Windows. * Single makefile for each system. * Common parts in central makefile. * Support compilation for Windows PowerShell. * Support compilation for Unicode version on Windows. * Support compilation for OS/2. Thanks to Elbert Pol. * Makefiles can do installation and create zip packages. - Cleanup macros: * Use only C99 compliant predefined macros. * Makefiles for Windows and OS/2 don't need to define MSDOS anymore. * Use __MSDOS__ macro only when it's real for MS-DOS. * UNIX does not get defined with OS/2 EMX anymore. - src/Makefile: * Target 'clean' renamed to 'mostlyclean', because it preserves the built manual files. New target 'clean' that removes all files that were not present in the original source package. Thanks to Jari Aalto. * New variable HTMLEXT to override the default 'htm' extension for the manual in HTML format. Thanks to Jari Aalto. * Support CFLAGS_USER, LDFLAGS_USER, and DEFS_USER for Debian Linux. Thanks to Jari Aalto. 5.2.1 2012-02-28 - Windows Command Prompt: wcd.bat defines WCDHOME when HOME and WCDHOME both are not defined, because users can't write files in the root of the system partition on Windows Vista and up. - Simplified installation instructions for Windows Command Prompt. Thanks to Laurence Errington. - Makefile: Print value of UNINORM. - Makefile: Support DEBUG=1 - Makefile: Better test for ncurses curses.h include file. - Man page: Update sections UNICODE and ENVIRONMENT VARIABLES. - win32/lcc: Removed. Drop support for Windows LCC compiler. - querycp.c/matchl.c : Fix Code Page number for ISO-8859-1 and ISO-8859-2. ISO-88592-1 = CP28591, ISO-8859-2 = CP28592 - querycp.c: Support WatcomC for DOS32. 5.2.0 2011-11-12 - URL home page changed to http://waterlan.home.xs4all.nl/ - New option -I: Ignore diacritics. Ignore diacritics for Latin-based scripts. Letters with diacritical marks match their base letter without diacritical mark. See also http://en.wikipedia.org/wiki/Diacritic The following Latin encodings are supported: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, and Unicode Latin-1, Latin Extended-A, and Latin Extended-B. - New option +I: Regard diacritics (default). - Matching with Unicode normalisation (compatible equivalence). Compile with UNINORM=1. See also http://en.wikipedia.org/wiki/Unicode_normalization Requires libunistring. http://www.gnu.org/s/libunistring/ - Unicode support in Windows Command Prompt (cmd.exe). Requires Windows 7. - All Windows versions of Wcd write their output in the console in Unicode format. This gives consistent output, independent of the active code page. - Wcd for Windows with Unicode writes tree-data file with BOM (Byte Order Mark). The file is now readable by notepad. See http://en.wikipedia.org/wiki/Byte_order_mark - Wcd can read UTF-8 and UTF-16 encoded tree-data files with BOM. - Makefile use RPM_OPT_FLAGS. - Enable Large File Support. - Code cleanup for -Wextra -Wconversion. - Drop support for Borland C compiler, because it's hard to get now and not developed any more since a long time. Default to OpenWatcom for DOS 16 bit. - Removed Imakefile, because imake is deprecated. - Removed old makefiles for native HP-UX and Solaris C compiler. I'm not able to test these compilers. 5.1.5 2011-06-06 - Default scan directory is $HOME, even when WCDHOME is defined. WCDHOME is only to change location of wcd's files. - Environment variable WCDSCAN can be used to overrule the default scan directory. - Option -u tries to read /home/USER/TREEFILE, and /home/USER/.wcd/TREEFILE. - Automatically create directory for tree-file and go-script. - New key in graphical mode: 'T' toggle between line drawing and ASCII characters. - Improved error reporting. - Installation of PDF and PostScript manual is optional. - Default installation prefix for Unix is '/usr' i.s.o. '/usr/local'. - Removed directory 'cygwin'. Install on Cygwin from directory 'src'. - Added shell functions for /etc/profile.d to define the wcd function or alias. Type 'make install-profile' to install. See also UNIX.txt. (thanks to Jari Aalto) - Smarter wcd function for Unix. - Enable Unicode by default on Cygwin. 5.1.4 2010-11-19 - Use line drawing characters for graphical tree. - New option -T. Draw tree with ASCII characters. - Option -gd in combination with a search pattern will dump the tree of matches. - Minor updates translations. - Minor updates man page. - Version number is only defined in version.mk. (also thanks to Jari Aalto) - LCC-WIN32 makefiles replaced by GNUmakefile, because lcc make doesn't support the 'include' directive. - Don't include generated documentation files in Unix source package. 5.1.3 2010-08-29 - Added German language file (thanks to Philipp Thomas) - Match window supports terminal resize (on systems that support it). - New command-line option -gc: Graphical mode with centered view (like it was in wcd 3.2.1 and before). - New key in graphical mode: 't' switch centered mode on/off. - Fix: List separators for WCDFILTER, WCDBAN, and WCDEXCLUDE back to semicolon ';' (like in wcd 5.0.4 and before) for DOS-bash and WinZsh. These shells use Windows style paths with colons like c:/windows. - Don't ship po/*.mo files in source package. - Port for native MSYS. See also http://www.mingw.org/ - Windows 64 bit port. 5.1.2 2010-05-23 - Cleanup Makefiles - Fix compiler warnings "format not a string literal and no format arguments". - Fixed compilation on Darwin OS. - Support compilation in DOSBox (8.3 filenames where needed). - Dos32 version by default without Native Language Support. - Renamed Dos32 BASH version to wcdbash.exe. - Win32 binary packages use patched MinGW's libintl, with builtin relocation support. See http://waterlan.home.xs4all.nl/libintl.html 5.1.1 2010-01-07 - Alternate stack file support with environment variable WCDSTACKFILE (thanks to anonymous). - Minor documentation updates. - Standard GNU make target 'dist' in all makefiles for distribution package creation. Replaces 'tgzpackage' and 'zippackage'. - Version date in ISO 8601 format (thanks to Jari Aalto). 5.1.0 Oct 22 2009 - UTF-16 Unicode support for Windows PowerShell. - Added Finnish language file (thanks to Jari Aalto). - Update manual, section Unicode. - Unix: Replace volume manager path of HOME dir by "$HOME" (thanks to Jari Aalto). - Fix compilation on Solaris (gcc) (thanks to Jari Aalto). - Fix compilation on HP-UX (cc and curses). - Fix compilation with Open Watcom C Compiler. - Updated makefiles. (thanks to Jari Aalto). - Updated installation documentation. (thanks to Jari Aalto). - Code cleanup (thanks to Jari Aalto). - Fix: Graphics mode, non-Unicode version: key q did "select" instead of "quit". - Man page generation from Perl POD file instead of ROFF. (thanks to Jari Aalto). - Man page in HTML format. - Reformat README file (thanks to Jari Aalto). - List separators for WCDFILTER, WCDBAN, and WCDEXCLUDE depend on shell type, not on DOS vs Unix. - Conditional text in manual. DOS or Unix specific text can be stripped out. (thanks to Jari Aalto). 5.0.4 Jul 21 2009 - Added Spanish language file (thanks to Julio Augusto Freyre-Gonzalez). - Improved display of match list for different languages. - Changed makefile variable WCD_UTF8 to UCS (Universal Character Set). - Option -V prints the actual used character encoding. - Update manual. New section WINDOWS CODE PAGES. - Use Keith Marshall's nl_langinfo() implementation in Wcd for DOS/Windows/OS2 with native language support. Taken from package mingw-catgets. 5.0.3 Jul 4 2009 - Fixed wcd_isdir() (UNIX/DOS/Cygwin/OS2 version). Possible false positive test on non-existing path. Win32 version is not affected. 5.0.2 Jun 8 2009 - Improved horizontal scrolling with Unicode combining and double width characters in match list and graphical tree. - Update manual, section LOCALIZATION. - Man page uses ASCII quotes (grave accent, apostrophe quote) for readability on old systems. - src/Makefile supports DESTDIR variable. - dos16/GNUmakefile: New gnu makefile for dos16 installation and zip package creation. Replaces misc/Makefile.dist. 5.0.1 May 2 2009 - Fix RPM spec file. - Update manual w.r.t. MSYS. - Check environment for UTF-8 character encoding. - problems.txt: Document problem during `gmake install' on Windows. 5.0.0 Mar 28 2009 - UTF-8 Unicode support for Unix/Linux. - Resolved a few signedness issues. - Update manual page. - Option -l takes alias directly: wcd -l (thanks to Jari Aalto) - Swapped command line options -v and -V. (thanks to Jari Aalto) Option -v is now verbose and -V is verion info. This is more common practice in GNU programs. - Added GNU standard long command line options --help, --version and --verbose. - Changed option for quiet operation from -Q to -q (GNU common practice). - In match list key 'z' does page down (like less) (thanks to Jari Aalto). - Improvements manual page (thanks to Jari Aalto) o) The URLs are too long for nroff. Those are now fixed with correct formatting code o) The /path/names are best not to be hyphenated. Those are now fixed with correct formatting code o) The order of sections is changed to follow de facto section order http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap01.html#tag_01_11 o) The quotes `` '' are escaped to make clean output. o) The top-level INSTALL sections are not made subsections for more clearer layout. 4.1.0 Nov 4 2008 - Wcd version for Windows PowerShell, with full UNC paths support. - win32: Use GnuWin32 port of gettext. This version detects language automatically and can find the locale directory if it is relocated. - Sorting with locale support. - Less screen movement when navigating in graphical mode. - Cleanup documentation. - New make target `uninstall' for deinstallation. - Renamed Win32 ZSH version to wcdwin32zsh.exe. - Renamed DOS source directories. 4.0.0 Sep 6 2008 - Enabled native language support, using GNU gettext. - Added Dutch language. - One source package for DOS, Windows and Unix. - Shell script to compile wcd for QNX 4.25 systems. (Thanks to Roland Messier) - Cleanup documentation. - Port to OS/2 Warp (Thanks to Elbert Pol) - Optional colours in graphical mode (option -K) (Thanks to Billy Chen) - Less screen movement when navigating in graphical mode. (Thanks to Billy Chen) 3.2.1 Apr 5 2006 - Fix : initialise first line in graphical interface to prevent occasional error message 'line too long'. - Suport Watcom C compiler. - Horizontal scrolling added to conio interface. - Some source code cleanup. 3.2.0 Dec 1 2005 - Support 8 bit characters (non-ASCII characters). (Thanks to Richard Boss) - Reorganised source zip package. - Bugfix Curses interface: uninitialised data was written to screen. This problem showed up with wcd with PDCurses interface on some Windows 2000/XP systems by printing a lot of garbage in the console (many small rectangles) when environment variable PDC_RESTORE_SCREEN was set. (Thanks to Scott D Friedemann) - Don't set variable PDC_RESTORE_SCREEN automatically. - Curses interface: Print match list at bottom of console. (Thanks to Richard Boss) - Use reverse colours to highlight. - Bugfix PDCurses 1144353 : When PDC_RESTORE_SCREEN was set and the console buffer was too big wcd scrolled away. (thanks to Mark Hessling ) - DOS and Windows version can use option -u. - Set base directory for users home directories with environment variable WCDUSERSHOME. 3.1.6 Sep 29 2005 - Support UNC paths in Cygwin version, including scanning of servers (wcd -S //servername). - Cygwin and Win32 ZSH version: Select correct directory in graphical tree mode if current working directory is a UNC path. - Try to create directory for go-script when it doesn't exist 3.1.5 Aug 27 2005 - win32 console with PDCurses: use original colours (thanks to Gabor Grothendieck and Mark Hessling ) - wcd with PDCurses: restore screen by default, no need to set enviroment variable PDC_RESTORE_SCREEN.(thanks to Gabor Grothendieck) - New option -ga : Alternative way of navigating in graphics mode. Don't jump to unrelated directories (thanks to Ken Zinnato). - New option -od : dump matches to stdout.(Thanks to Richard Boss) - Updated makefiles for windows compilers. Added makefile for Borland C with PDCurses. - Fix for disk scanning problem for Borland CPP 5.x. 3.1.4 Jun 29 2004 - Don't print "-> " when can't change to directory. - Update man page. 3.1.3 Oct 23 2003 - bugfix: fixed bufferoverflow, introduced in wcd 3.1.2 when environment variable WCDBAN or WCDEXCLUDE was used. 3.1.2 Oct 19 2003 - Specify filters with environment variable WCDFILTER. All directories that don't match the filter(s) are ignored. (thanks to Val Vakar). - Add bans with environment variable WCDBAN - Add excludes with environment variable WCDEXCLUDE - New option: -V Verbose operation. - Removed option -q - Removed duplicate wcd.c file for DJGPP. 3.1.1 May 20 2003 - patch for compile problems w.r.t. gcc and (thanks Kevin M. Rosenberg) See INSTALL. - fix compile problems on Mac OS X/Darwin (thanks Zoltan Varady). - default makefile for DOS 16 bit (compact memory model) works again (thanks to Eric Auer). - smaller 16 bit DOS binaries (stripped). 3.1.0 Nov 13 2002 - Windows console version supports Windows LAN UNC paths. - Option -gd will dump all treefiles that are read. 3.0.7 Oct 17 2002 - minor updates in documentation: manpage, wcd.txt and INSTALL - fixed a memory leak which could cause unix versions of wcd to generate incorrect treedata files during disk scan with paths excluded. 3.0.6 Sep 4 2002 - bugfix option -x when used multiple times. - minor updates manpage - support longer paths on unix (1024 chars) 3.0.5 Jul 8 2002 - bugfix: compile errors 3.0.4 Jul 6 2002 - Graphical tree mode: Terminal resize (on systems that support it). - Update manpage. - wildcards support in banfile - Exclude paths from scanning: options -x and -xf - Compiles now with LCC windows C compiler. - Improved sideways scrolling of matchlist (curses). - Arrow keys work in matchlist in win32 version (curses). - Option -k : Keep paths in treedata when wcd cannot change to them. 3.0.3 Nov 25 2001 - Zoom, fold and condense in graphical tree mode. 3.0.2 Oct 17 2001 - bugfix: path quoting in go-script: win32: paths with ampersand (&) or percent (%) unix, dos bash, win zsh: paths with grave accent (`) unix: path with backslash (\) - update manpage section DESCRIPTION 3.0.1 Jul 6 2001 - update to compile 16 bit dos version with PDCurses. - minor update manpage - makefile for SunOS curses - rpm .spec file update for Redhat 7.1 3.0.0 Apr 12 2001 -g Curses version only: Full screen interactive directory browser. `Graphical' match list. Vi(m) like tree navigation and search, with wildcard and subdir support -gd Curses verion only: dump tree to stdout -j justgo mode -G set path for go-script -GN Don't create go-script 2.3.3 Oct 15 2000 - fall back from curses to stdout - new option: -N use numbers instead of letters - new option: -o use stdout instead of curses or conio - scroll back stack for conio version 2.3.2 Jun 10 2000 - update for curses and PDCurses 2.3.1 May 28 2000 - bug fix in ncurses interface (array bounds read/write) - update manpage - minor changes 2.3.0 Apr 27 2000 - Optional ncurses based interface for unix versions. 2.2.9 Jan 16 2000 - new option -w: Wild matching only. - made wcd compile with MINGW32 compiler. - win32 version for Amol Deshpande's Win32 port of zsh (ftp://ftp.blarg.net/users/amol/zsh). - bug fix: read long paths from stack file (dos 32 bit) 2.2.8 Nov 19 1999 - option -i now also for dos versions - new option: +i regard case - minor update interface dos versions - win32 console port 2.2.7 Sep 30 1999 - environment variable WCDHOME overrides HOME. - improved choosing from list (DOS versions). - improved manpage - mode bits for new directory created with -m option are now only defined by umask. 2.2.6 May 12 1999 new options: -aa Add current and all parent paths to treedata -ee add current and all parent paths to Extra treedata 2.2.5 Apr 15 1999 - bug fix path fixing 2.2.4 Apr 14 1999 -DOS versions can use environment variable HOME -path fixing -options -S, +S, -A, -E, -m, -M, -r, and -rmtree can be repeated. 2.2.3 Mar 21 1999 -All versions can read DOS and UNIX text files. -INSTALLATION section in manpage 2.2.2 Feb 24 1999 bug fix on automounted directories (Unix). 2.2.1 Jan 29 1999 bug fix +S,-n,+n options on directory / 2.2.0 Jan 29 1999 - changed name to Wherever Change Directory - automaticly remove directories from treedata to which cannot be changed. - links support (unix only) - restore text screen after list (dos only) new options: -m make directory and add to treedata file -M make directory and add to extra treedata file -r remove directory and remove from treedata -rmtree remove directory recursive and remove from treedata -n +n use relative treefile +S make relative treefile -t don't skip mount string before /home (unix only) changed options: -u, +u, -f, +f - some minor changes. 2.1.7 Sep 2 1998 - bug fix: give warning if cannot change to directory that is in database. 2.1.6 Jul 22 1998 - removed "dangerous" gets() function. (In the way gets() was used in wcd it was not dangerous. gets() has been removed to avoid warnings some compilers or systems give (e.g. gcc or FreeBSD).) 2.1.5 Jul 15 1998 - Sort match lists 2.1.4 - quiet option default ON (Unix) 2.1.3 - Bug fix: command line parsing (DOS 32 bit) 2.1.2 - Bug fix: backspace in long match list (DOS) 2.1.1 Jun 29 1998 - Bug fix: alias, ban and stack could not deal with paths with spaces. 2.1.0 Jun 18 1998 - Directory stack - Data structures with dynamic memory allocation - ignore case option (unix) - go $HOME when no directory is given - man page 2.0.5 - Bug solved. Endless loop on 64 bit Unix system (SGI IRIX64) 2.0.4 Mar 12 1998 - More scanning options: -S , -A , -E - check for double matches - source Ansi C compliant - ending '/' allowed in database 2.0.0 Mar 9 1998 - Changed distribution conditions to GNU General Public License. V1.8.3 Feb 26 1998 - Bug fix. Dos version crashed on read-only drive if TEMP environment variable was not set. V1.8.0 Feb 9 1998 - Change drive and dir in one go (Dos). - Ban paths - Alias directories V1.7e Dec 9 1997 - Add directories without scanning. - Improved choosing from a list. - quiet option default ON in DOS versions. - changed MAX_LIST and MAX_WILD_LIST to 22 - no drive in treedata (DOS) - direct CD mode V1.6 Nov 11 1997 Added Unix bash support Added a DOS bash version V1.5a Nov 10 1997 Bug fix dos32 bit version long dir names support in Windows 95 dos-box V1.5 Oct 28 1997 More options: -Q -f -u Dos versions can work on read-only drives if TEMP environment variable is set. C shell support. V1.4b Sep 12 1997 Small bug fix perfect match list. Quiet option added. V1.4 Aug 18 1997 Added 32 bit DOS version. Changed source code for DJGPP compiler. This version is faster but needs a 80386 CPU or higher. V1.4 Jun 18 1997 Search with subdirectory definition (E.g. wcd adir1/adir2). V1.3a May 2 1997 The Unix version can now also deal with directory names with spaces, dollars, backslashes, single quotes and double quotes. V1.2c Feb 11 1997. Many bugs have been solved. V1.0 Nov 14 1996. Always let the user choose in case of multiple match. V1.0 beta Oct-1996 Original version. wcd-6.0.3/dos16/0000755000175500010010000000000013524756523012514 5ustar waterlanGeenwcd-6.0.3/dos16/makefile0000644000175500010010000000252513524756523014220 0ustar waterlanGeenSRCDIR = ..\src !include $(SRCDIR)\version.mk CC = wcc PROGRAM = wcd.exe DEFINES = CURSES = pdcurses !ifneq CURSES DEFINES += -dWCD_USECURSES !endif CFLAGS = $(DEFINES) -i=$(SRCDIR) -i=$(SRCDIR)\c3po -w4 -e25 -zq -od -d2 -bt=dos -ml CFLAGS_VERSION = -DVERSION="$(VERSION)" -DVERSION_DATE="$(VERSION_DATE)" OBJS = wcd.obj match.obj stack.obj nameset.obj error.obj text.obj WcdStack.obj display.obj wfixpath.obj intset.obj wcddir.obj command.obj matchl.obj querycp.obj finddirs.obj LOBJS = wcd.obj,match.obj,stack.obj,nameset.obj,error.obj,text.obj,WcdStack.obj,display.obj,wfixpath.obj,intset.obj,wcddir.obj,command.obj,matchl.obj,querycp.obj,finddirs.obj !ifneq CURSES OBJS += dirnode.obj colors.obj graphics.obj LOBJS +=,dirnode.obj,colors.obj,graphics.obj !endif docsubdir = wcd VERSIONSUFFIX = b ZIPFILE = $(PACKAGE)$(VERSION_SHORT)$(VERSIONSUFFIX).zip ZIPFILEDIR = ..\.. HTMLEXT = htm DOCFILES = $(SRCDIR)\man\man1\wcd.txt $(SRCDIR)\man\man1\wcd.$(HTMLEXT) prefix = c:\dos TARGET = dos all: $(PROGRAM) $(DOCFILES) .SYMBOLIC $(PROGRAM): $(OBJS) @%create wcd.lnk @%append wcd.lnk FIL $(LOBJS) !ifneq CURSES @%append wcd.lnk library $(CURSES).lib !endif wlink name wcd d all SYS $(TARGET) op m op st=32k op maxe=25 op q op symf @wcd.lnk del wcd.lnk !include $(SRCDIR)\watcom.mif wcd-6.0.3/dos32/0000755000175500010010000000000013524756523012512 5ustar waterlanGeenwcd-6.0.3/dos32/Makefile0000644000175500010010000000417713524756523014163 0ustar waterlanGeeninclude ../src/version.mk PREFIX = c:/dos32 prefix = $(PREFIX) MKDIR = mkdir CFLAGS = -O2 -Wall -Wextra -Wconversion CURSES = pdcurses ENABLE_NLS = DEFS = ifdef CONIO CURSES= DEFS += -DWCD_USECONIO endif ifdef CURSES LIB_CURSES = -l${CURSES} DEFS += -DWCD_USECURSES endif PROGRAM = wcd.exe VERSIONSUFFIX = pm ZIPFILE = wcd${VERSION_SHORT}${VERSIONSUFFIX}.zip ZIPOBJ_EXTRA = bin/cwsdpmi.exe docsubdir = wcd-${VERSION_SHORT} ifdef ENABLE_NLS LIBS_EXTRA = -lintl -liconv ZIPFILE = wcd${VERSION_SHORT}pm-nls.zip endif # The install and dist targets can be run in MSYS. The OS variable must be # forced to msdos, otherwise extra targets will get build in MSYS. # On DOS we need to set SHELL to sh.exe or bash.exe, otherwise targets may fail # (targets install and dist fail certainly). SHELL can't be overridden in this # make level. It sticks to command.com (at least with DJGPP 2.03 make 3.79.1). # SHELL has to be set in a parent process, so we pass it to the sub make instances. D2U_MAKESHELL=$(shell which sh) all : ${MAKE} -C ../src all PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES=${LIB_CURSES} DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" prefix=${prefix} ENABLE_NLS=${ENABLE_NLS} docsubdir=$(docsubdir) OS=msdos SHELL=$(D2U_MAKESHELL) install : ${MAKE} -C ../src install PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES=${LIB_CURSES} DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" prefix=${prefix} MKDIR=${MKDIR} INSTALL_OBJS_DOC_INSTALL="../doc/INST_DOS.txt ../doc/INSTALL.txt" ENABLE_NLS=${ENABLE_NLS} docsubdir=$(docsubdir) OS=msdos SHELL=$(D2U_MAKESHELL) uninstall : ${MAKE} -C ../src uninstall PROGRAM=${PROGRAM} prefix=${prefix} ENABLE_NLS=${ENABLE_NLS} docsubdir=$(docsubdir) OS=msdos SHELL=$(D2U_MAKESHELL) dist : ${MAKE} -C ../src dist-zip ZIPOBJ_EXTRA="${ZIPOBJ_EXTRA}" PROGRAM=${PROGRAM} prefix=${prefix} ZIPFILE=${ZIPFILE} ENABLE_NLS=${ENABLE_NLS} docsubdir=$(docsubdir) OS=msdos SHELL=$(D2U_MAKESHELL) strip: ${MAKE} -C ../src strip PROGRAM=${PROGRAM} SHELL=$(D2U_MAKESHELL) mostlyclean : ${MAKE} -C ../src mostlyclean SHELL=$(D2U_MAKESHELL) clean : ${MAKE} -C ../src clean SHELL=$(D2U_MAKESHELL) wcd-6.0.3/dos32/watcom/0000755000175500010010000000000013524756523014004 5ustar waterlanGeenwcd-6.0.3/dos32/watcom/makefile0000644000175500010010000000266413524756523015514 0ustar waterlanGeenSRCDIR = ..\..\src !include $(SRCDIR)\version.mk CC = wcc386 PROGRAM = wcd.exe DEFINES = CURSES = pdcurses !ifneq CURSES DEFINES += -dWCD_USECURSES !endif CFLAGS = $(DEFINES) -i=$(SRCDIR) -i=$(SRCDIR)\c3po -w4 -e25 -zq -od -d2 -5r -bt=dos -mf CFLAGS_VERSION = -DVERSION="$(VERSION)" -DVERSION_DATE="$(VERSION_DATE)" OBJS = wcd.obj match.obj stack.obj nameset.obj error.obj text.obj WcdStack.obj display.obj wfixpath.obj intset.obj wcddir.obj command.obj matchl.obj querycp.obj finddirs.obj LOBJS = wcd.obj,match.obj,stack.obj,nameset.obj,error.obj,text.obj,WcdStack.obj,display.obj,wfixpath.obj,intset.obj,wcddir.obj,command.obj,matchl.obj,querycp.obj,finddirs.obj !ifneq CURSES OBJS += dirnode.obj colors.obj graphics.obj LOBJS +=,dirnode.obj,colors.obj,graphics.obj !endif docsubdir = wcd-$(VERSION_SHORT) VERSIONSUFFIX = pm ZIPFILE = wcd$(VERSION_SHORT)$(VERSIONSUFFIX).zip HTMLEXT = htm DOCFILES = $(SRCDIR)\man\man1\wcd.txt $(SRCDIR)\man\man1\wcd.$(HTMLEXT) ZIPOBJ_EXTRA = bin\cwstub.exe #ZIPOBJ_EXTRA = bin\dos4gw.exe prefix = c:\dos32 TARGET = causeway #TARGET = dos4g all: $(PROGRAM) $(DOCFILES) .SYMBOLIC $(PROGRAM): $(OBJS) @%create wcd.lnk @%append wcd.lnk FIL $(LOBJS) !ifneq CURSES @%append wcd.lnk library $(CURSES).lib !endif wlink name wcd d all SYS $(TARGET) op inc op m op st=64k op maxe=25 op q op symf @wcd.lnk del wcd.lnk !include $(SRCDIR)\watcom.mif wcd-6.0.3/dos32bsh/0000755000175500010010000000000013524756523013207 5ustar waterlanGeenwcd-6.0.3/dos32bsh/Makefile0000644000175500010010000000416313524756523014653 0ustar waterlanGeeninclude ../src/version.mk PREFIX = c:/dos32 prefix = $(PREFIX) MKDIR = mkdir CFLAGS = -O2 -Wall -Wextra -Wconversion CURSES = pdcurses ENABLE_NLS = DEFS = -DWCD_DOSBASH ifdef CONIO CURSES= DEFS += -DWCD_USECONIO endif ifdef CURSES LIB_CURSES = -l${CURSES} DEFS += -DWCD_USECURSES endif PROGRAM = wcdbash.exe VERSIONSUFFIX = bh ZIPFILE = wcd${VERSION_SHORT}${VERSIONSUFFIX}.zip docsubdir = wcd-${VERSION_SHORT} ifdef ENABLE_NLS LIBS_EXTRA = -lintl -liconv ZIPFILE = wcd${VERSION_SHORT}bh-nls.zip endif # The install and dist targets can be run in MSYS. The OS variable must be # forced to msdos, otherwise extra targets will get build in MSYS. # On DOS we need to set SHELL to sh.exe or bash.exe, otherwise targets may fail # (targets install and dist fail certainly). SHELL can't be overridden in this # make level. It sticks to command.com (at least with DJGPP 2.03 make 3.79.1). # SHELL has to be set in a parent process, so we pass it to the sub make instances. D2U_MAKESHELL=$(shell which sh) all : ${MAKE} -C ../src all PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES=${LIB_CURSES} DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" prefix=${prefix} ENABLE_NLS=${ENABLE_NLS} docsubdir=$(docsubdir) OS=msdos SHELL=$(D2U_MAKESHELL) install : ${MAKE} -C ../src install PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES=${LIB_CURSES} DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" prefix=${prefix} MKDIR=${MKDIR} INSTALL_OBJS_DOC_INSTALL="../doc/INST_DOS.txt ../doc/INSTALL.txt" ENABLE_NLS=${ENABLE_NLS} docsubdir=$(docsubdir) OS=msdos SHELL=$(D2U_MAKESHELL) uninstall : ${MAKE} -C ../src uninstall PROGRAM=${PROGRAM} prefix=${prefix} ENABLE_NLS=${ENABLE_NLS} docsubdir=$(docsubdir) OS=msdos SHELL=$(D2U_MAKESHELL) dist : ${MAKE} -C ../src dist-zip ZIPOBJ_EXTRA="${ZIPOBJ_EXTRA}" PROGRAM=${PROGRAM} prefix=${prefix} ZIPFILE=${ZIPFILE} ENABLE_NLS=${ENABLE_NLS} docsubdir=$(docsubdir) OS=msdos SHELL=$(D2U_MAKESHELL) strip: ${MAKE} -C ../src strip PROGRAM=${PROGRAM} SHELL=$(D2U_MAKESHELL) mostlyclean : ${MAKE} -C ../src mostlyclean SHELL=$(D2U_MAKESHELL) clean : ${MAKE} -C ../src clean SHELL=$(D2U_MAKESHELL) wcd-6.0.3/dos32bsh/watcom/0000755000175500010010000000000013524756523014501 5ustar waterlanGeenwcd-6.0.3/dos32bsh/watcom/makefile0000644000175500010010000000271213524756523016203 0ustar waterlanGeenSRCDIR = ..\..\src !include $(SRCDIR)\version.mk CC = wcc386 PROGRAM = wcdbash.exe DEFINES = -dWCD_DOSBASH CURSES = pdcurses !ifneq CURSES DEFINES += -dWCD_USECURSES !endif CFLAGS = $(DEFINES) -i=$(SRCDIR) -i=$(SRCDIR)\c3po -w4 -e25 -zq -od -d2 -5r -bt=dos -mf CFLAGS_VERSION = -DVERSION="$(VERSION)" -DVERSION_DATE="$(VERSION_DATE)" OBJS = wcd.obj match.obj stack.obj nameset.obj error.obj text.obj WcdStack.obj display.obj wfixpath.obj intset.obj wcddir.obj command.obj matchl.obj querycp.obj finddirs.obj LOBJS = wcd.obj,match.obj,stack.obj,nameset.obj,error.obj,text.obj,WcdStack.obj,display.obj,wfixpath.obj,intset.obj,wcddir.obj,command.obj,matchl.obj,querycp.obj,finddirs.obj !ifneq CURSES OBJS += dirnode.obj colors.obj graphics.obj LOBJS +=,dirnode.obj,colors.obj,graphics.obj !endif docsubdir = wcd-$(VERSION_SHORT) VERSIONSUFFIX = bh ZIPFILE = wcd$(VERSION_SHORT)$(VERSIONSUFFIX).zip HTMLEXT = htm DOCFILES = $(SRCDIR)\man\man1\wcd.txt $(SRCDIR)\man\man1\wcd.$(HTMLEXT) ZIPOBJ_EXTRA = bin\cwstub.exe #ZIPOBJ_EXTRA = bin\dos4gw.exe prefix = c:\dos32 TARGET = causeway #TARGET = dos4g all: $(PROGRAM) $(DOCFILES) .SYMBOLIC $(PROGRAM): $(OBJS) @%create wcd.lnk @%append wcd.lnk FIL $(LOBJS) !ifneq CURSES @%append wcd.lnk library $(CURSES).lib !endif wlink name wcdbash d all SYS $(TARGET) op inc op m op st=64k op maxe=25 op q op symf @wcd.lnk del wcd.lnk !include $(SRCDIR)\watcom.mif wcd-6.0.3/file_id.diz0000644000175500010010000000317313524756523013667 0ustar waterlanGeenWCD - Directory changer for DOS and Unix. w/ C src. Wcd is a command-line program to change directory fast. It saves time typing at the keyboard. One needs to type only a part of a directory name and wcd will jump to it. Wcd has a fast selection method in case of multiple matches and allows aliasing and banning of directories. Wcd also includes a full screen interactive directory tree browser with speed search. * Full screen interactive directory tree browser with speed search and zoom in/out. * Present the user a list in case of multiple matches. * Wildcards *, ? and [SET] supported. * Directory stack, push pop. * Subdir definition possible. E.g. wcd subdira/subdirb * Long directory names support in Win95/98/NT DOS-box * Windows LAN UNC paths supported. * Change drive and directory at once. * Alias directories. * Ban directories. * Exclude directories. * Alternate stack per shell or terminal. * Multi user: Jump to folders of your colleagues. * Multi platform: * DOS 16 bit, DOS 32 bit, DOS bash * Windows Command Prompt, Windows PowerShell, Windows ZSH, MSYS, Cygwin * Unix/Linux: all Bourne and C type shells * OS/2 Warp * Native language support: Brazilian Portuguese, Chinese simplified, Danish, Dutch, English, Esperanto, Finnish, French, Friulian, German, Serbian, Spanish, Ukrainian, Vietnamese. * Unicode Level 3 support (all UCS characters including double width and combining characters). * Unix/Linux * Cygwin. * Windows PowerShell. * Windows Command Prompt (cmd.exe) on Windows 7 and up. * Unicode matching with normalization (compatible equivalence). * Option to ignore diacritics for Latin-based scripts. wcd-6.0.3/Makefile0000644000175500010010000000213313524756523013217 0ustar waterlanGeen# Copyright (C) 2009-2011 Erwin Waterlander # Copyright (C) 2009 Jari Aalto # # 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. # # Visit # This makefile is intended only for Unix/Linux. # See also documentation in directory `doc'. ifneq (,) This makefile requires GNU Make. endif OBJDIR = src all: $(MAKE) -C $(OBJDIR) clean: $(MAKE) -C $(OBJDIR) clean distclean: $(MAKE) -C $(OBJDIR) distclean maintainer-clean: $(MAKE) -C $(OBJDIR) maintainer-clean realclean: maintainer-clean install: $(MAKE) -C $(OBJDIR) install uninstall: $(MAKE) -C $(OBJDIR) uninstall .PHONY: clean distclean realclean install # End of file wcd-6.0.3/misc/0000755000175500010010000000000013524756523012513 5ustar waterlanGeenwcd-6.0.3/misc/bldwin32.sh0000755000175500010010000000067513524756523014506 0ustar waterlanGeen#!/bin/sh set -e set -x cd ../win32 make mostlyclean all strip install dist ENABLE_NLS= UCS= make mostlyclean all strip install dist ENABLE_NLS=1 UNINORM=1 cd ../win32psh make mostlyclean all strip install dist ENABLE_NLS= UCS= make mostlyclean all strip install dist ENABLE_NLS=1 UNINORM=1 cd ../win32zsh make mostlyclean all strip install dist ENABLE_NLS= UCS= make mostlyclean all strip install dist ENABLE_NLS=1 UNINORM=1 wcd-6.0.3/misc/bldwin64.sh0000755000175500010010000000067513524756523014513 0ustar waterlanGeen#!/bin/sh set -e set -x cd ../win64 make mostlyclean all strip install dist ENABLE_NLS= UCS= make mostlyclean all strip install dist ENABLE_NLS=1 UNINORM=1 cd ../win64psh make mostlyclean all strip install dist ENABLE_NLS= UCS= make mostlyclean all strip install dist ENABLE_NLS=1 UNINORM=1 cd ../win64zsh make mostlyclean all strip install dist ENABLE_NLS= UCS= make mostlyclean all strip install dist ENABLE_NLS=1 UNINORM=1 wcd-6.0.3/misc/unix2dos.mk0000755000175500010010000000204213524756523014620 0ustar waterlanGeeninclude ../src/version.mk UNIXVERSION=wcd-${VERSION} DOSVERSION=wcd${VERSION_SHORT} # Keep dates so that no make target is out of date. # # This Makefile requires 'dos2unix' with --keepdate option: # http://waterlan.home.xs4all.nl/dos2unix.html # http://sourceforge.net/projects/dos2unix/ unix2dos: cd ../.. ; cp -Rp ${UNIXVERSION} ${DOSVERSION} cd ../../${DOSVERSION}/src ; unix2dos --keepdate *.h *.c *.mk cd ../../${DOSVERSION} ; unix2dos --keepdate */Makefile cd ../../${DOSVERSION}/src/c3po ; unix2dos --keepdate * cd ../../${DOSVERSION}/src/patch ; unix2dos --keepdate *.* cd ../../${DOSVERSION} ; unix2dos --keepdate *.txt cd ../../${DOSVERSION}/doc ; unix2dos --keepdate *.txt cd ../../${DOSVERSION}/doc ; unix2dos --keepdate --add-bom README.txt whatsnew.txt cd ../../${DOSVERSION} ; unix2dos --keepdate file_id.diz cd ../../${DOSVERSION}/src/man ; unix2dos --keepdate man1/*.txt cd ../../${DOSVERSION}/src/man ; unix2dos --keepdate --add-bom */man1/*.txt cd ../../${DOSVERSION}/src/man ; unix2dos --keepdate man1/*.htm */man1/*.htm wcd-6.0.3/os2/0000755000175500010010000000000013524756523012263 5ustar waterlanGeenwcd-6.0.3/os2/Makefile0000644000175500010010000000307413524756523013727 0ustar waterlanGeen PREFIX = c:/usr prefix = $(PREFIX) exec_prefix = $(prefix) MKDIR = mkdir LDFLAGS_EXTRA = -Zhigh-mem -Zomf -Zargs-resp CFLAGS = -O2 -Wall # PDcurses #CURSES = pdcurses # Ncurses CURSES = ncurses ENABLE_NLS = DEFS = ifeq ($(CURSES),pdcurses) LIB_CURSES = pdcurses.a DEFS += -DWCD_USECURSES endif ifeq ($(CURSES),ncurses) LIB_CURSES = -lncurses -ltinfo DEFS += -DWCD_USECURSES endif LIBS_EXTRA = ifdef ENABLE_NLS LIBS_EXTRA += -lintl endif bindir = ${exec_prefix}/bin PROGRAM = wcdos2.exe VERSIONSUFFIX = -os2 ZIPOBJ_EXTRA=bin/wcd.cmd all : ${MAKE} -C ../src all PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES="${LIB_CURSES}" DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" LDFLAGS_EXTRA="${LDFLAGS_EXTRA}" prefix=${prefix} ENABLE_NLS=${ENABLE_NLS} OS=os/2 install : ${MAKE} -C ../src install PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES="${LIB_CURSES}" DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" LDFLAGS_EXTRA="${LDFLAGS_EXTRA}" prefix=${prefix} MKDIR=${MKDIR} INSTALL_OBJS_DOC_INSTALL="../doc/INST_DOS.txt ../doc/INSTALL.txt" ENABLE_NLS=${ENABLE_NLS} OS=os/2 install -m 755 wcd.cmd $(DESTDIR)${bindir}/wcd.cmd uninstall : ${MAKE} -C ../src uninstall PROGRAM=${PROGRAM} prefix=${prefix} ENABLE_NLS=${ENABLE_NLS} -rm -f $(DESTDIR)${bindir}/wcd.cmd dist : ${MAKE} -C ../src dist-zip ZIPOBJ_EXTRA="${ZIPOBJ_EXTRA}" PROGRAM=${PROGRAM} prefix=${prefix} VERSIONSUFFIX=${VERSIONSUFFIX} ENABLE_NLS=${ENABLE_NLS} strip: ${MAKE} -C ../src strip PROGRAM=${PROGRAM} mostlyclean : ${MAKE} -C ../src mostlyclean clean : ${MAKE} -C ../src clean wcd-6.0.3/os2/watcom/0000755000175500010010000000000013524756523013555 5ustar waterlanGeenwcd-6.0.3/os2/watcom/makefile0000644000175500010010000000247113524756523015261 0ustar waterlanGeenSRCDIR = ..\..\src !include $(SRCDIR)\version.mk CC = wcc386 PROGRAM = wcdos2.exe DEFINES = CURSES = pdcurses !ifneq CURSES DEFINES += -dWCD_USECURSES !endif CFLAGS = $(DEFINES) -i=$(SRCDIR) -i=$(SRCDIR)\c3po -i$(%WATCOM)\h\os2 -w4 -e25 -zq -od -d2 -6r -bt=os2 -mf CFLAGS_VERSION = -DVERSION="$(VERSION)" -DVERSION_DATE="$(VERSION_DATE)" OBJS = wcd.obj match.obj stack.obj nameset.obj error.obj text.obj WcdStack.obj display.obj wfixpath.obj intset.obj wcddir.obj command.obj matchl.obj querycp.obj finddirs.obj LOBJS = wcd.obj,match.obj,stack.obj,nameset.obj,error.obj,text.obj,WcdStack.obj,display.obj,wfixpath.obj,intset.obj,wcddir.obj,command.obj,matchl.obj,querycp.obj,finddirs.obj !ifneq CURSES OBJS += dirnode.obj colors.obj graphics.obj LOBJS +=,dirnode.obj,colors.obj,graphics.obj !endif VERSIONSUFFIX = -os2 HTMLEXT = htm DOCFILES = $(SRCDIR)\man\man1\wcd.txt $(SRCDIR)\man\man1\wcd.$(HTMLEXT) ZIPOBJ_EXTRA=bin\wcd.cmd prefix = c:\usr TARGET = os2 all: $(PROGRAM) $(DOCFILES) .SYMBOLIC $(PROGRAM): $(OBJS) @%create wcd.lnk @%append wcd.lnk FIL $(LOBJS) !ifneq CURSES @%append wcd.lnk library $(CURSES).lib !endif wlink name wcdos2 d all SYS os2v2 op inc op m op st=64k op maxe=25 op q op symf @wcd.lnk del wcd.lnk !include $(SRCDIR)\watcom.mif wcd-6.0.3/os2/wcd.cmd0000755000175500010010000000056113524756523013532 0ustar waterlanGeen@echo off set PDC_RESTORE_SCREEN=1 rem set LANG=nl_NL rem set LANGUAGE=nl rem set WCDLOCALEDIR=c:/Program Files/wcd/share/locale wcdos2.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 IF NOT "%WCDHOME%" == "" GOTO WCDHOME IF NOT "%HOME%" == "" GOTO HOME c:\wcdgo.cmd GOTO END :WCDHOME %WCDHOME%\wcdgo.cmd GOTO END :HOME %HOME%\wcdgo.cmd GOTO END :END wcd-6.0.3/os2bash/0000755000175500010010000000000013524756523013121 5ustar waterlanGeenwcd-6.0.3/os2bash/Makefile0000644000175500010010000000274113524756523014565 0ustar waterlanGeen PREFIX = c:/usr prefix = $(PREFIX) exec_prefix = $(prefix) MKDIR = mkdir LDFLAGS_EXTRA = -Zhigh-mem -Zomf -Zargs-resp CFLAGS = -O2 -Wall # PDcurses #CURSES = pdcurses # Ncurses CURSES = ncurses ENABLE_NLS = DEFS = -DWCD_OS2BASH ifeq ($(CURSES),pdcurses) LIB_CURSES = pdcurses.a DEFS += -DWCD_USECURSES endif ifeq ($(CURSES),ncurses) LIB_CURSES = -lncurses -ltinfo DEFS += -DWCD_USECURSES endif LIBS_EXTRA = ifdef ENABLE_NLS LIBS_EXTRA += -lintl endif bindir = ${exec_prefix}/bin PROGRAM = wcdos2bash.exe VERSIONSUFFIX = -os2bash all : ${MAKE} -C ../src all PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES="${LIB_CURSES}" DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" LDFLAGS_EXTRA="${LDFLAGS_EXTRA}" prefix=${prefix} ENABLE_NLS=${ENABLE_NLS} OS=os/2 install : ${MAKE} -C ../src install PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES="${LIB_CURSES}" DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" LDFLAGS_EXTRA="${LDFLAGS_EXTRA}" prefix=${prefix} MKDIR=${MKDIR} INSTALL_OBJS_DOC_INSTALL="../doc/INST_DOS.txt ../doc/INSTALL.txt" ENABLE_NLS=${ENABLE_NLS} OS=os/2 uninstall : ${MAKE} -C ../src uninstall PROGRAM=${PROGRAM} prefix=${prefix} ENABLE_NLS=${ENABLE_NLS} dist : ${MAKE} -C ../src dist-zip ZIPOBJ_EXTRA="${ZIPOBJ_EXTRA}" PROGRAM=${PROGRAM} prefix=${prefix} VERSIONSUFFIX=${VERSIONSUFFIX} ENABLE_NLS=${ENABLE_NLS} strip: ${MAKE} -C ../src strip PROGRAM=${PROGRAM} mostlyclean : ${MAKE} -C ../src mostlyclean clean : ${MAKE} -C ../src clean wcd-6.0.3/README.txt0000644000175500010010000000005113524756523013252 0ustar waterlanGeen For documentation see directory `doc'. wcd-6.0.3/src/0000755000175500010010000000000013524756540012346 5ustar waterlanGeenwcd-6.0.3/src/c3po/0000755000175500010010000000000013524756523013213 5ustar waterlanGeenwcd-6.0.3/src/c3po/Advance.h0000644000175500010010000001374513524756523014737 0ustar waterlanGeen#ifndef ADVANCE_INCLUDED #define ADVANCE_INCLUDED /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ template static void advanceHookWcdStack(WcdStack w, text Offset, ARGS); template static void advanceWcdStack(WcdStack w, text Offset, ARGS); template static void advanceHookDirnode(dirnode d, text Offset, ARGS); template static void advanceDirnode(dirnode d, text Offset, ARGS); template static void advanceHookNameset(nameset n, text Offset, ARGS); template static void advanceNameset(nameset n, text Offset, ARGS); template static void advanceHookIntset(intset i, text Offset, ARGS); template static void advanceIntset(intset i, text Offset, ARGS); template static void advanceHookWcdStack(WcdStack w, text Offset, ARGS) { int index; index = 0; while(index < w->getSizeOfWcdStackDir) { index = index + 1; } } template static void advanceWcdStack(WcdStack w, text Offset, ARGS) { text increment = " "; text new_Offset = (text) malloc(sizeof(char) * (strlen(Offset) + strlen(increment) + 1)); sprintf(new_Offset, "%s%s", Offset, increment); TRACE(fprintf(stdout, "%sAdvance : WcdStack\n", Offset);) TRACE(fprintf(stdout, "%s{\n", Offset);) if (w ne NULL) advanceHookWcdStack(w, new_Offset, ARGSREF); TRACE(fprintf(stdout, "%s} <- end Advance WcdStack\n", Offset);) free(new_Offset); } template static void advanceHookDirnode(dirnode d, text Offset, ARGS) { int index; index = 0; while(index < d->getSizeOfDirnode) { advanceDirnode(d->subdirs[index], Offset, ARGSREF); index = index + 1; } } template static void advanceDirnode(dirnode d, text Offset, ARGS) { text increment = " "; text new_Offset = (text) malloc(sizeof(char) * (strlen(Offset) + strlen(increment) + 1)); sprintf(new_Offset, "%s%s", Offset, increment); TRACE(fprintf(stdout, "%sAdvance : dirnode\n", Offset);) TRACE(fprintf(stdout, "%s{\n", Offset);) if (d ne NULL) advanceHookDirnode(d, new_Offset, ARGSREF); TRACE(fprintf(stdout, "%s} <- end Advance dirnode\n", Offset);) free(new_Offset); } template static void advanceHookNameset(nameset n, text Offset, ARGS) { int index; index = 0; while(index < n->getSizeOfNamesetArray) { index = index + 1; } } template static void advanceNameset(nameset n, text Offset, ARGS) { text increment = " "; text new_Offset = (text) malloc(sizeof(char) * (strlen(Offset) + strlen(increment) + 1)); sprintf(new_Offset, "%s%s", Offset, increment); TRACE(fprintf(stdout, "%sAdvance : nameset\n", Offset);) TRACE(fprintf(stdout, "%s{\n", Offset);) if (n ne NULL) advanceHookNameset(n, new_Offset, ARGSREF); TRACE(fprintf(stdout, "%s} <- end Advance nameset\n", Offset);) free(new_Offset); } template static void advanceHookIntset(intset i, text Offset, ARGS) { int index; index = 0; while(index < i->getSizeOfIntset) { index = index + 1; } } template static void advanceIntset(intset i, text Offset, ARGS) { text increment = " "; text new_Offset = (text) malloc(sizeof(char) * (strlen(Offset) + strlen(increment) + 1)); sprintf(new_Offset, "%s%s", Offset, increment); TRACE(fprintf(stdout, "%sAdvance : intset\n", Offset);) TRACE(fprintf(stdout, "%s{\n", Offset);) if (i ne NULL) advanceHookIntset(i, new_Offset, ARGSREF); TRACE(fprintf(stdout, "%s} <- end Advance intset\n", Offset);) free(new_Offset); } #endif wcd-6.0.3/src/c3po/Command.c0000644000175500010010000001121013524756523014730 0ustar waterlanGeen/* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "std_macr.h" #include "structur.h" #include "Error.h" #include "nameset.h" expfun text getBasename(text input_file) { static char base[200]; int i; strcpy(base, input_file); i = (int)strlen(base) - 1; while(i >= 0) { if (base[i] eq '/') return base + i + 1; i = i - 1; } return base; } expfun text getCore(text input_file) { static char core[200]; int i; strcpy(core, getBasename(input_file)); i = (int)strlen(core) - 1; while(i >= 0) { if (core[i] eq '.') core[i] = '\0'; i = i - 1; } return core; } expfun c3po_bool inArgList(text name, int argc, char** argv) { c3po_bool found = false; int index = 1; while(index < argc) { text arg; arg = *(argv + index); if (strcmp(name, arg) eq 0) { found = true; break; } index = index + 1; } return found; } expfun text getArg(text name, int argc, char** argv) { int index = 1; text arg = NULL; text current_arg; c3po_bool found = false; while(index < argc) { current_arg = *(argv + index); if (strcmp(name, current_arg) eq 0) { found = true; break; } index = index + 1; } if (found eq true) { index = index + 1; if (index < argc) { current_arg = *(argv + index); if ( *current_arg ne '-') arg = current_arg; } } return arg; } expfun nameset getArgs(text name, int argc, char** argv) { int index = 0; nameset args = NULL; c3po_bool found = false; while(index < argc) { text arg; arg = *(argv + index); if (strcmp(name, arg) eq 0) { index = index + 1; if (index < argc) { args = namesetNew(); found = true; } else return NULL; } if (found eq true) { arg = *(argv + index); if ( *arg eq '-') { if (args->size eq 0) { free((void *) args); args = NULL; } break; } else addToNamesetArray(arg, args); } index = index + 1; } return args; } expfun c3po_bool isInt(text string) { unsigned int index = 0; c3po_bool is_int = true; while(index < strlen(string)) { if (isdigit(string[index]) ne 0) index = index + 1; else if ((index eq 0) and (string[0] eq '-')) index = index + 1; else { is_int = false; break; } } return is_int; } expfun c3po_bool isFloat(text string) { unsigned int index = 0; c3po_bool digits = true; c3po_bool found_point = false; while(index < strlen(string)) { if (isdigit(string[index]) ne 0) index = index + 1; else if (string[index] eq '.') { index = index + 1; found_point = true; } else { digits = false; break; } } if (found_point eq true) { if (digits eq true) return true; else return false; } else return false; } expfun void dumpCommandline(text file, int argc, char** argv) { FILE *fp; fp = fopen(file, "a"); if (fp ne NULL) { int index = 0; fprintf(stderr, "\n- appending commandline to '%s'\n", file); while(index < argc) { fprintf(fp, "%s ", argv[index]); index = index + 1; } fprintf(fp, "\n"); fclose(fp); } else { c3po_beep(1); fprintf(stderr, "- couldn't append commandline to '%s'\n", file); } } wcd-6.0.3/src/c3po/Command.h0000644000175500010010000000266113524756523014747 0ustar waterlanGeen#ifndef COMMAND_INCLUDED #define COMMAND_INCLUDED /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ extern text getBasename(text input_file); extern text getCore(text input_file); extern c3po_bool inArgList(text name, int argc, char** argv); extern text getArg(text name, int argc, char** argv); extern nameset getArgs(text name, int argc, char** argv); extern c3po_bool isInt(text string); extern c3po_bool isFloat(text string); extern void dumpCommandline(text file, int argc, char** argv); #endif wcd-6.0.3/src/c3po/Config.h0000644000175500010010000000156513524756523014600 0ustar waterlanGeen/* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ OBJDIR = . #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' CDEBUGFLAGS = -g CCOPTIONS = -Wall -z CC = gcc wcd-6.0.3/src/c3po/Constants.h0000644000175500010010000000153513524756523015344 0ustar waterlanGeen#ifndef CONSTANTS_INCLUDED #define CONSTANTS_INCLUDED /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #define STRING_SIZE 1024 #endif wcd-6.0.3/src/c3po/dirnode.c0000644000175500010010000002737213524756523015016 0ustar waterlanGeen#include #include #include #include "std_macr.h" #include "structur.h" #include "Error.h" #include "Text.h" #include "dirnode.h" /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ expfun dirnode dirnodeNew(dirnode parent, dirnode up, dirnode down) { dirnode d = (dirnode) malloc (sizeof(dirnode_struct)); if (d != NULL) { d->parent = parent; d->up = up; d->down = down; d->name = NULL; d->x = 0; d->y = 0; d->fold = false; d->subdirs = NULL; d->size = 0; } else malloc_error("dirnodeNew()"); return d; } expfun dirnode copyDirnode(dirnode src, c3po_bool Deep) { if (src == NULL) return NULL; else { dirnode d; d = (dirnode) malloc (sizeof(dirnode_struct)); if (d != NULL) { if (Deep == true) { d->name = textNew(src->name); d->x = src->x; d->y = src->y; d->parent = src->parent; d->up = src->up; d->down = src->down; d->fold = src->fold; } else { d->name = src->name; d->x = src->x; d->y = src->y; d->parent = src->parent; d->up = src->up; d->down = src->down; d->fold = src->fold; } d->subdirs = NULL; d->size = 0; if (Deep == true) deepExtendDirnode(src, d); else extendDirnode(src, d); } else malloc_error("copyDirnode()"); return d; } } expfun text dirnodeGetName(dirnode d) { if (d != NULL) return d->name; else return NULL; } expfun int dirnodeGetX(dirnode d) { if (d != NULL) return d->x; else return 0; } expfun int dirnodeGetY(dirnode d) { if (d != NULL) return d->y; else return 0; } expfun dirnode dirnodeGetParent(dirnode d) { if (d != NULL) return d->parent; else return NULL; } expfun dirnode* dirnodeGetSubdirs(dirnode d) { if (d != NULL) return d->subdirs; else return NULL; } expfun dirnode dirnodeGetUp(dirnode d) { if (d != NULL) return d->up; else return NULL; } expfun dirnode dirnodeGetDown(dirnode d) { if (d != NULL) return d->down; else return NULL; } expfun c3po_bool dirnodeFold(dirnode d) { if (d != NULL) return d->fold; else return false; } expfun dirnode dirnodeSetName(text name, dirnode d) { if (d != NULL) d->name = name; return d; } expfun dirnode dirnodeSetX(int x, dirnode d) { if (d != NULL) d->x = x; return d; } expfun dirnode dirnodeSetY(int y, dirnode d) { if (d != NULL) d->y = y; return d; } expfun dirnode dirnodeSetParent(dirnode parent, dirnode d) { if (d != NULL) d->parent = parent; return d; } expfun dirnode dirnodeSetUp(dirnode up, dirnode d) { if (d != NULL) d->up = up; return d; } expfun dirnode dirnodeSetDown(dirnode down, dirnode d) { if (d != NULL) d->down = down; return d; } expfun dirnode dirnodeSetFold(c3po_bool fold, dirnode d) { if (d != NULL) d->fold = fold; return d; } expfun c3po_bool dirnodeHasName(dirnode d) { if (dirnodeGetName(d) != NULL) return true; else return false; } expfun c3po_bool dirnodeHasParent(dirnode d) { if (dirnodeGetParent(d) != NULL) return true; else return false; } expfun c3po_bool dirnodeHasSubdirs(dirnode d) { if (isEmptyDirnode(d) == false) return true; else return false; } expfun c3po_bool dirnodeHasUp(dirnode d) { if (dirnodeGetUp(d) != NULL) return true; else return false; } expfun c3po_bool dirnodeHasDown(dirnode d) { if (dirnodeGetDown(d) != NULL) return true; else return false; } expfun dirnode endOfRecursionOfDirnodeParent(dirnode d) { if (dirnodeHasParent(d) == true) return endOfRecursionOfDirnodeParent(dirnodeGetParent(d)); else return d; } expfun dirnode endOfRecursionOfDirnodeUp(dirnode d) { if (dirnodeHasUp(d) == true) return endOfRecursionOfDirnodeUp(dirnodeGetUp(d)); else return d; } expfun dirnode endOfRecursionOfDirnodeDown(dirnode d) { if (dirnodeHasDown(d) == true) return endOfRecursionOfDirnodeDown(dirnodeGetDown(d)); else return d; } expfun size_t getSizeOfDirnode(dirnode d) { if (d != NULL) return d->size; else return 0; } expfun void setSizeOfDirnode(dirnode d, size_t size) { if (d != NULL) { if (size == 0) { if (isEmptyDirnode(d) eq false) { free((void *) d->subdirs); d->subdirs = NULL; d->size = 0; } } else if (size ne d->size) { if (isEmptyDirnode(d) eq true) d->subdirs = (dirnode*) malloc(sizeof(dirnode) * size); else d->subdirs = (dirnode*) realloc((void *) d->subdirs, sizeof(dirnode) * size); if (d->subdirs ne NULL) { size_t index = d->size; while(index < size) { d->subdirs[index] = NULL; index = index + 1; } d->size = size; } else { d->size = 0; malloc_error("setSizeOfDirnode(d, size)"); } } } } expfun c3po_bool isEmptyDirnode(dirnode d) { if (getSizeOfDirnode(d) > 0) return false; else return true; } expfun void addToDirnode(dirnode d, dirnode set) { if (set != NULL) { setSizeOfDirnode(set, set->size + 1); if (set->subdirs != NULL) set->subdirs[set->size - 1] = d; else malloc_error("addToDirnode()"); } } expfun void putElementAtDirnode(dirnode d, size_t position, dirnode set) { if (set != NULL) { if (position >= set->size) setSizeOfDirnode(set, position + 1); if (set->subdirs != NULL) set->subdirs[position] = d; else malloc_error("putElementAtDirnode(d, position, set)"); } } expfun void insertElementAtDirnode(dirnode d, size_t position, dirnode set) { if (set != NULL) { size_t index = set->size; while(index > position) { putElementAtDirnode(set->subdirs[index-1], index, set); index = index - 1; } putElementAtDirnode(d, position, set); } } expfun void removeElementAtDirnode(size_t position, dirnode set, c3po_bool FreeAtPos, c3po_bool Deep) { if (set != NULL) { if (position < set->size) { size_t index = position + 1; if (FreeAtPos eq true) freeDirnode(set->subdirs[position], Deep); while(index < set->size) { putElementAtDirnode(set->subdirs[index], index - 1, set); index = index + 1; } setSizeOfDirnode(set, set->size - 1); } } } expfun dirnode elementAtDirnode(size_t position, dirnode set) { if (set != NULL) { if (position < set->size) return set->subdirs[position]; } return NULL; } expfun void extendDirnode(dirnode src, dirnode dest) { if (src != NULL) { size_t index = 0; while(index < src->size) { addToDirnode(elementAtDirnode(index, src), dest); index = index + 1; } } } expfun void deepExtendDirnode(dirnode src, dirnode dest) { if (src != NULL) { size_t index = 0; while(index < src->size) { addToDirnode(copyDirnode(elementAtDirnode(index, src), true), dest); index = index + 1; } } } expfun void printDirnode(text Offset, dirnode d, FILE* fp, c3po_bool showEmpty) { text increment = " "; text new_Offset = (text) malloc(sizeof(char) * (strlen(Offset) + strlen(increment) + 1)); if (new_Offset == NULL) { fprintf(fp, "NULL\n"); return; } sprintf(new_Offset, "%s%s", Offset, increment); if (d == NULL) { if (showEmpty == true) { fprintf(fp, "%s{\n", Offset); fprintf(fp, "%sNULL\n", new_Offset); fprintf(fp, "%s}\n", Offset); } } else { fprintf(fp, "%s{\n", Offset); if ((dirnodeHasName(d) == true) || (showEmpty == true)) { if (d->name ne NULL) fprintf(fp, "%stext name : %s\n", new_Offset, d->name); else if (showEmpty == true) fprintf(fp, "%stext name : NULL\n", new_Offset); } fprintf(fp, "%sint x : %d\n", new_Offset, d->x); fprintf(fp, "%sint y : %d\n", new_Offset, d->y); if ((dirnodeHasParent(d) == true) || (showEmpty == true)) fprintf(fp, "%sdirnode parent : %lu (reference)\n", new_Offset, (unsigned long) d->parent); if ((dirnodeHasUp(d) == true) || (showEmpty == true)) fprintf(fp, "%sdirnode up : %lu (reference)\n", new_Offset, (unsigned long) d->up); if ((dirnodeHasDown(d) == true) || (showEmpty == true)) fprintf(fp, "%sdirnode down : %lu (reference)\n", new_Offset, (unsigned long) d->down); fprintf(fp, "%sc3po_bool fold : %d\n", new_Offset, d->fold); if (d->subdirs == NULL) { if (showEmpty == true) fprintf(fp, "%sdirnode subdirs : NULL\n", new_Offset); } else { if ((isEmptyDirnode(d) == false) || (showEmpty == true)) { size_t index = 0; fprintf(fp, "%sint size : %lu\n", new_Offset, (unsigned long)d->size); while(index < d->size) { fprintf(fp, "%sdirnode subdirs[%lu],\n", new_Offset, (unsigned long)index); printDirnode(new_Offset, d->subdirs[index], fp, showEmpty); fprintf(fp, "%s\\end dirnode[%lu]\n", new_Offset, (unsigned long)index); index = index + 1; } } } fprintf(fp, "%s}\n", Offset); } free(new_Offset); } expfun void freeDirnode(dirnode d, c3po_bool Deep) { if (d ne NULL) { if (Deep eq true) { size_t index = 0; if (d->name ne NULL) { free((void *) d->name); d->name = NULL; } while(index < d->size) { freeDirnode(d->subdirs[index], Deep); index = index + 1; } } if (d->subdirs ne NULL) { free((void *) d->subdirs); d->subdirs = NULL; d->size = 0; } free((void *) d); } } wcd-6.0.3/src/c3po/dirnode.h0000644000175500010010000000724013524756523015013 0ustar waterlanGeen#ifndef DIRNODE_INCLUDED #define DIRNODE_INCLUDED /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ extern dirnode dirnodeNew(dirnode parent, dirnode up, dirnode down); extern dirnode copyDirnode(dirnode src, c3po_bool Deep); extern text dirnodeGetName(dirnode d); extern int dirnodeGetX(dirnode d); extern int dirnodeGetY(dirnode d); extern dirnode dirnodeGetParent(dirnode d); extern dirnode* dirnodeGetSubdirs(dirnode d); extern dirnode dirnodeGetUp(dirnode d); extern dirnode dirnodeGetDown(dirnode d); extern c3po_bool dirnodeFold(dirnode d); extern dirnode dirnodeSetName(text name, dirnode d); extern dirnode dirnodeSetX(int x, dirnode d); extern dirnode dirnodeSetY(int y, dirnode d); extern dirnode dirnodeSetParent(dirnode parent, dirnode d); extern dirnode dirnodeSetUp(dirnode up, dirnode d); extern dirnode dirnodeSetDown(dirnode down, dirnode d); extern dirnode dirnodeSetFold(c3po_bool fold, dirnode d); extern c3po_bool dirnodeHasName(dirnode d); extern c3po_bool dirnodeHasParent(dirnode d); extern c3po_bool dirnodeHasSubdirs(dirnode d); extern c3po_bool dirnodeHasUp(dirnode d); extern c3po_bool dirnodeHasDown(dirnode d); extern dirnode endOfRecursionOfDirnodeParent(dirnode d); extern dirnode endOfRecursionOfDirnodeUp(dirnode d); extern dirnode endOfRecursionOfDirnodeDown(dirnode d); extern size_t getSizeOfDirnode(dirnode d); extern void setSizeOfDirnode(dirnode d, size_t size); extern c3po_bool isEmptyDirnode(dirnode d); extern void addToDirnode(dirnode d, dirnode set); extern void putElementAtDirnode(dirnode d, size_t position, dirnode set); extern void insertElementAtDirnode(dirnode d, size_t position, dirnode set); extern void removeElementAtDirnode(size_t position, dirnode set, c3po_bool FreeAtPos, c3po_bool Deep); extern dirnode elementAtDirnode(size_t position, dirnode set); extern void extendDirnode(dirnode src, dirnode dest); extern void deepExtendDirnode(dirnode src, dirnode dest); extern void printDirnode(text Offset, dirnode d, FILE* fp, c3po_bool showEmpty); extern void freeDirnode(dirnode d, c3po_bool Deep); #endif wcd-6.0.3/src/c3po/Error.c0000644000175500010010000000234113524756523014450 0ustar waterlanGeen/* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "std_macr.h" #include "structur.h" #include "../config.h" #include "../wcd.h" expfun void c3po_beep(int number_times) { int counter = 0; while (counter < number_times) { fprintf(stderr, "\007"); counter = counter + 1; } } expfun void malloc_error(text function_name) { c3po_beep(1); print_error(_("in '%s', insufficient memory for allocation\n"), function_name); exit(1); } wcd-6.0.3/src/c3po/Error.h0000644000175500010010000000163113524756523014456 0ustar waterlanGeen#ifndef ERROR_INCLUDED #define ERROR_INCLUDED /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ extern void c3po_beep(int number_times); extern void malloc_error(text function_name); #endif wcd-6.0.3/src/c3po/File.c0000644000175500010010000000535713524756523014250 0ustar waterlanGeen/* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "std_macr.h" #include "structur.h" #include "Constants.h" expfun FILE * openR(text filename) { FILE *fi = fopen(filename, "r"); return fi; } expfun FILE * openRwarn(text filename, c3po_bool Warn) { FILE *fi = fopen(filename, "r"); if ((fi == NULL) && (Warn == true)) fprintf(stderr, "\n** WARNING : couldn't open '%s', (ignored) ...\n", filename); return fi; } expfun c3po_bool existsFile(text filename) { FILE *fp = openR(filename); if (fp != NULL) { fclose(fp); return true; } else return false; } expfun FILE * openW(text filename) { FILE *fo = fopen(filename, "w"); if (fo != NULL) fprintf(stderr, "\n- generating '%s'\n", filename); else { fprintf(stderr, "\n- couldn't open '%s', using stdout...\n", filename); fo = stdout; } return fo; } expfun FILE * openWBackup(text filename, c3po_bool Backup) { if ((existsFile(filename) == true) && (Backup == true)) { char moveName[STRING_SIZE]; sprintf(moveName, "%s.tmp", filename); int index = 1; while(existsFile(moveName) == true) { sprintf(moveName, "%s.tmp%d", filename, index); index = index + 1; } fprintf(stderr, "\n- existing file '%s' has been moved to '%s',", filename, moveName); rename(filename, moveName); } return openW(filename); } expfun FILE * Append(text filename) { FILE *fo = fopen(filename, "a"); if (fo == NULL) { fprintf(stderr, "\n- couldn't append to '%s', using stdout...\n", filename); fo = stdout; } return fo; } expfun void Close(FILE* fp) { if ((fp != NULL) && (fp != stdout) && (fp != stderr)) fclose(fp); } expfun unsigned long getFileSize(text filename) { struct stat s; if (stat(filename, &s) == 0) return (unsigned long) s.st_size; else return 0; } wcd-6.0.3/src/c3po/File.h0000644000175500010010000000234513524756523014247 0ustar waterlanGeen#ifndef FILE_INCLUDED #define FILE_INCLUDED /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ extern FILE * openR(text filename); extern FILE * openRwarn(text filename, c3po_bool Warn); extern c3po_bool existsFile(text filename); extern FILE * openW(text filename); extern FILE * openWBackup(text filename, c3po_bool Backup); extern FILE * Append(text filename); extern void Close(FILE* fp); extern unsigned long getFileSize(text filename); #endif wcd-6.0.3/src/c3po/Generate0000755000175500010010000000105713524756523014676 0ustar waterlanGeen#c3po-latest wcd.G c3po-0.19.5 wcd.G # Solve conflicts with other definitions of type 'bool'. E.g. in (n)curses. # Create 8.3 DOS filenames. export list=`ls *.[chly]` for i in $list do sed -e s/bool/c3po_bool/g -e s/beep/c3po_beep/g -e s/strings.h/string.h/ -e s/structures.h/structur.h/ -e s/std_macro.h/std_macr.h $i > $i.tmp /bin/mv $i.tmp $i done /bin/rm *.tmp /bin/mv structures.h structur.h /bin/mv std_macro.h std_macr.h sed -e s/structures.h/structur.h/ -e s/std_macro.h/std_macr.h Imakefile > Imakefile.tmp /bin/mv Imakefile.tmp Imakefile wcd-6.0.3/src/c3po/Imakefile0000644000175500010010000000310213524756523015020 0ustar waterlanGeen/* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #define CONFIG_TOP #include "Config.h" #undef CONFIG_TOP GEN_SRCS= \ Error.c \ Text.c \ Command.c \ File.c \ WcdStack.c \ dirnode.c \ nameset.c \ intset.c \ main.c PROTECTED_SRCS= \ Usage.c SRCS = $(GEN_SRCS) $(PROTECTED_SRCS) $(EXTRA_SRCS) OBJS = $(SRCS:.c=.o) GEN_HDRS = \ structur.h \ std_macr.h \ Error.h \ Text.h \ Command.h \ File.h \ WcdStack.h \ dirnode.h \ nameset.h \ intset.h \ Advance.h PROTECTED_HDRS = \ Constants.h \ Usage.h \ Config.h INCLUDE_FILES = $(GEN_HDRS) $(PROTECTED_HDRS) TGTPATH = $(OBJDIR) vpath %.o $(TGTPATH) ComplexProgramTarget(wcd) clean :: rm -f wcd.y rm -f wcd.l rm -f $(GEN_SRCS) $(GEN_HDRS) rm -f Imakefile rm -f wcd_y.c wcd.output y.tab.c y.output rm -f wcd_l.c wcd.h y.tab.h lex.yy.c rm -f *.tmp* makefile Makefile #define CONFIG_BOT #include "Config.h" #undef CONFIG_BOT wcd-6.0.3/src/c3po/intset.c0000644000175500010010000001403713524756523014672 0ustar waterlanGeen#include #include #include #include "std_macr.h" #include "structur.h" #include "Error.h" #include "intset.h" /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ expfun intset intsetNew(void) { intset i = (intset) malloc (sizeof(intset_struct)); if (i != NULL) { i->array = NULL; i->size = 0; } else malloc_error("intsetNew()"); return i; } expfun intset copyIntset(intset src) { if (src == NULL) return NULL; else { intset i; i = (intset) malloc (sizeof(intset_struct)); if (i != NULL) { i->array = NULL; i->size = 0; extendIntset(src, i); } else malloc_error("copyIntset()"); return i; } } expfun size_t* intsetGetArray(intset i) { if (i != NULL) return i->array; else return NULL; } expfun c3po_bool intsetHasArray(intset i) { if (isEmptyIntset(i) == false) return true; else return false; } expfun size_t getSizeOfIntset(intset i) { if (i != NULL) return i->size; else return 0; } expfun void setSizeOfIntset(intset i, size_t size) { if (i != NULL) { if (size == 0) { if (isEmptyIntset(i) eq false) { free((void *) i->array); i->array = NULL; i->size = 0; } } else if (size ne i->size) { if (isEmptyIntset(i) eq true) i->array = (size_t*) malloc(sizeof(size_t) * size); else i->array = (size_t*) realloc((void *) i->array, sizeof(size_t) * size); if (i->array ne NULL) { size_t index = i->size; while(index < size) { i->array[index] = 0; index = index + 1; } i->size = size; } else { i->size = 0; malloc_error("setSizeOfIntset(i, size)"); } } } } expfun c3po_bool isEmptyIntset(intset i) { if (getSizeOfIntset(i) > 0) return false; else return true; } expfun void addToIntset(size_t i, intset set) { if (set != NULL) { setSizeOfIntset(set, set->size + 1); if (set->array != NULL) set->array[set->size - 1] = i; else malloc_error("addToIntset()"); } } expfun void putElementAtIntset(size_t i, size_t position, intset set) { if (set != NULL) { if (position >= set->size) setSizeOfIntset(set, position + 1); if (set->array != NULL) set->array[position] = i; else malloc_error("putElementAtIntset(i, position, set)"); } } expfun void insertElementAtIntset(size_t i, size_t position, intset set) { if (set != NULL) { size_t index = set->size; while(index > position) { putElementAtIntset(set->array[index-1], index, set); index = index - 1; } putElementAtIntset(i, position, set); } } expfun void removeElementAtIntset(size_t position, intset set) { if (set != NULL) { if (position < set->size) { size_t index = position + 1; while(index < set->size) { putElementAtIntset(set->array[index], index - 1, set); index = index + 1; } setSizeOfIntset(set, set->size - 1); } } } expfun size_t elementAtIntset(size_t position, intset set) { if (set != NULL) { if (position < set->size) return set->array[position]; } return 0; } expfun void extendIntset(intset src, intset dest) { if (src != NULL) { size_t index = 0; while(index < src->size) { addToIntset(elementAtIntset(index, src), dest); index = index + 1; } } } expfun void printIntset(text Offset, intset i, FILE* fp, c3po_bool showEmpty) { text increment = " "; text new_Offset = (text) malloc(sizeof(char) * (strlen(Offset) + strlen(increment) + 1)); if (new_Offset == NULL) { fprintf(fp, "NULL\n"); return; } sprintf(new_Offset, "%s%s", Offset, increment); if (i == NULL) { if (showEmpty == true) { fprintf(fp, "%s{\n", Offset); fprintf(fp, "%sNULL\n", new_Offset); fprintf(fp, "%s}\n", Offset); } } else { fprintf(fp, "%s{\n", Offset); if (i->array == NULL) { if (showEmpty == true) fprintf(fp, "%sint array : NULL\n", new_Offset); } else { if ((isEmptyIntset(i) == false) || (showEmpty == true)) { size_t index = 0; fprintf(fp, "%sint size : %lu\n", new_Offset, (unsigned long)i->size); while(index < i->size) { fprintf(fp, "%sint array[%lu] : %lu\n", new_Offset, (unsigned long)index, (unsigned long)i->array[index]); index = index + 1; } } } fprintf(fp, "%s}\n", Offset); } free(new_Offset); } expfun void freeIntset(intset i) { if (i ne NULL) { free((void *) i); } } wcd-6.0.3/src/c3po/intset.h0000644000175500010010000000374313524756523014701 0ustar waterlanGeen#ifndef INTSET_INCLUDED #define INTSET_INCLUDED /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ extern intset intsetNew(void); extern intset copyIntset(intset src); extern size_t* intsetGetArray(intset i); extern c3po_bool intsetHasArray(intset i); extern size_t getSizeOfIntset(intset i); extern void setSizeOfIntset(intset i, size_t size); extern c3po_bool isEmptyIntset(intset i); extern void addToIntset(size_t i, intset set); extern void putElementAtIntset(size_t i, size_t position, intset set); extern void insertElementAtIntset(size_t i, size_t position, intset set); extern void removeElementAtIntset(size_t position, intset set); extern size_t elementAtIntset(size_t position, intset set); extern void extendIntset(intset src, intset dest); extern void printIntset(text Offset, intset i, FILE* fp, c3po_bool showEmpty); extern void freeIntset(intset i); #endif wcd-6.0.3/src/c3po/nameset.c0000644000175500010010000001701413524756523015016 0ustar waterlanGeen#include #include #include #include "std_macr.h" #include "structur.h" #include "Error.h" #include "Text.h" #include "nameset.h" /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ expfun nameset namesetNew(void) { nameset n = (nameset) malloc (sizeof(nameset_struct)); if (n != NULL) { n->array = NULL; n->size = 0; } else malloc_error("namesetNew()"); return n; } expfun nameset copyNameset(nameset src, c3po_bool Deep) { if (src == NULL) return NULL; else { nameset n; n = (nameset) malloc (sizeof(nameset_struct)); if (n != NULL) { n->array = NULL; n->size = 0; if (Deep == true) deepExtendNamesetArray(src, n); else extendNamesetArray(src, n); } else malloc_error("copyNameset()"); return n; } } expfun text* namesetGetArray(nameset n) { if (n != NULL) return n->array; else return NULL; } expfun c3po_bool namesetHasArray(nameset n) { if (isEmptyNamesetArray(n) == false) return true; else return false; } expfun size_t getSizeOfNamesetArray(nameset n) { if (n != NULL) return n->size; else return 0; } expfun void setSizeOfNamesetArray(nameset n, size_t size) { if (n != NULL) { if (size == 0) { if (isEmptyNamesetArray(n) eq false) { free((void *) n->array); n->array = NULL; n->size = 0; } } else if (size ne n->size) { if (isEmptyNamesetArray(n) eq true) n->array = (text*) malloc(sizeof(text) * size); else n->array = (text*) realloc((void *) n->array, sizeof(text) * size); if (n->array ne NULL) { size_t index = n->size; while(index < size) { n->array[index] = NULL; index = index + 1; } n->size = size; } else { n->size = 0; malloc_error("setSizeOfNamesetArray(n, size)"); } } } } expfun c3po_bool isEmptyNamesetArray(nameset n) { if (getSizeOfNamesetArray(n) > 0) return false; else return true; } expfun void addToNamesetArray(text t, nameset set) { if (set != NULL) { setSizeOfNamesetArray(set, set->size + 1); if (set->array != NULL) set->array[set->size - 1] = t; else malloc_error("addToNamesetArray()"); } } expfun void putElementAtNamesetArray(text t, size_t position, nameset set) { if (set != NULL) { if (position >= set->size) setSizeOfNamesetArray(set, position + 1); if (set->array != NULL) set->array[position] = t; else malloc_error("putElementAtNamesetArray(t, position, set)"); } } expfun void insertElementAtNamesetArray(text t, size_t position, nameset set) { if (set != NULL) { size_t index = set->size; while(index > position) { putElementAtNamesetArray(set->array[index-1], index, set); index = index - 1; } putElementAtNamesetArray(t, position, set); } } expfun void removeElementAtNamesetArray(size_t position, nameset set, c3po_bool FreeAtPos) { if (set != NULL) { if (position < set->size) { size_t index; if (FreeAtPos eq true) { if (set->array[position] ne NULL) free((void *) set->array[position]); } index = position + 1; while(index < set->size) { putElementAtNamesetArray(set->array[index], index - 1, set); index = index + 1; } setSizeOfNamesetArray(set, set->size - 1); } } } expfun text elementAtNamesetArray(size_t position, nameset set) { if (set != NULL) { if (position < set->size) return set->array[position]; } return NULL; } expfun void extendNamesetArray(nameset src, nameset dest) { if (src != NULL) { size_t index = 0; while(index < src->size) { addToNamesetArray(elementAtNamesetArray(index, src), dest); index = index + 1; } } } expfun void deepExtendNamesetArray(nameset src, nameset dest) { if (src != NULL) { size_t index = 0; while(index < src->size) { addToNamesetArray(textNew(elementAtNamesetArray(index, src)), dest); index = index + 1; } } } expfun void printNameset(text Offset, nameset n, FILE* fp, c3po_bool showEmpty) { text increment = " "; text new_Offset = (text) malloc(sizeof(char) * (strlen(Offset) + strlen(increment) + 1)); if (new_Offset == NULL) { fprintf(fp, "NULL\n"); return; } sprintf(new_Offset, "%s%s", Offset, increment); if (n == NULL) { if (showEmpty == true) { fprintf(fp, "%s{\n", Offset); fprintf(fp, "%sNULL\n", new_Offset); fprintf(fp, "%s}\n", Offset); } } else { fprintf(fp, "%s{\n", Offset); if (n->array == NULL) { if (showEmpty == true) fprintf(fp, "%stext array : NULL\n", new_Offset); } else { if ((isEmptyNamesetArray(n) == false) || (showEmpty == true)) { size_t index; fprintf(fp, "%sint size : %lu\n", new_Offset, (unsigned long)n->size); index = 0; while(index < n->size) { if (n->array[index] ne NULL) fprintf(fp, "%stext array[%lu] : %s\n", new_Offset, (unsigned long)index, n->array[index]); else if (showEmpty == true) fprintf(fp, "%stext array[%lu] : NULL\n", new_Offset, (unsigned long)index); index = index + 1; } } } fprintf(fp, "%s}\n", Offset); } free(new_Offset); } expfun void freeNameset(nameset n, c3po_bool Deep) { if (n ne NULL) { if (Deep eq true) { size_t index = 0; while(index < n->size) { if (n->array[index] ne NULL) free((void *) n->array[index]); index = index + 1; } } if (n->array ne NULL) { free((void *) n->array); n->array = NULL; n->size = 0; } free((void *) n); } } wcd-6.0.3/src/c3po/nameset.h0000644000175500010010000000454313524756523015026 0ustar waterlanGeen#ifndef NAMESET_INCLUDED #define NAMESET_INCLUDED /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ extern nameset namesetNew(void); extern nameset copyNameset(nameset src, c3po_bool Deep); extern text* namesetGetArray(nameset n); extern c3po_bool namesetHasArray(nameset n); extern size_t getSizeOfNamesetArray(nameset n); extern void setSizeOfNamesetArray(nameset n, size_t size); extern c3po_bool isEmptyNamesetArray(nameset n); extern void addToNamesetArray(text t, nameset set); extern void putElementAtNamesetArray(text t, size_t position, nameset set); extern void insertElementAtNamesetArray(text t, size_t position, nameset set); extern void removeElementAtNamesetArray(size_t position, nameset set, c3po_bool FreeAtPos); extern text elementAtNamesetArray(size_t position, nameset set); extern void extendNamesetArray(nameset src, nameset dest); extern void deepExtendNamesetArray(nameset src, nameset dest); extern void printNameset(text Offset, nameset n, FILE* fp, c3po_bool showEmpty); extern void freeNameset(nameset n, c3po_bool Deep); #endif wcd-6.0.3/src/c3po/namesetw.c0000644000175500010010000001672513524756523015215 0ustar waterlanGeen#include #include #include #include "std_macr.h" #include "structur.h" #include "Error.h" #include "Textw.h" #include "namesetw.h" /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ expfun namesetw namesetwNew(void) { namesetw n = (namesetw) malloc (sizeof(namesetw_struct)); if (n != NULL) { n->array = NULL; n->size = 0; } else malloc_error("namesetwNew()"); return n; } expfun namesetw copyNamesetw(namesetw src, c3po_bool Deep) { if (src == NULL) return NULL; else { namesetw n; n = (namesetw) malloc (sizeof(namesetw_struct)); if (n != NULL) { n->array = NULL; n->size = 0; if (Deep == true) deepExtendNamesetwArray(src, n); else extendNamesetwArray(src, n); } else malloc_error("copyNamesetw()"); return n; } } expfun textw* namesetwGetArray(namesetw n) { if (n != NULL) return n->array; else return NULL; } expfun c3po_bool namesetwHasArray(namesetw n) { if (isEmptyNamesetwArray(n) == false) return true; else return false; } expfun size_t getSizeOfNamesetwArray(namesetw n) { if (n != NULL) return n->size; else return 0; } expfun void setSizeOfNamesetwArray(namesetw n, size_t size) { if (n != NULL) { if (size == 0) { if (isEmptyNamesetwArray(n) eq false) { free((void *) n->array); n->array = NULL; n->size = 0; } } else if (size ne n->size) { if (isEmptyNamesetwArray(n) eq true) n->array = (textw*) malloc(sizeof(textw) * size); else n->array = (textw*) realloc((void *) n->array, sizeof(textw) * size); if (n->array ne NULL) { size_t index = n->size; while(index < size) { n->array[index] = NULL; index = index + 1; } n->size = size; } else { n->size = 0; malloc_error("setSizeOfNamesetwArray(n, size)"); } } } } expfun c3po_bool isEmptyNamesetwArray(namesetw n) { if (getSizeOfNamesetwArray(n) > 0) return false; else return true; } expfun void addToNamesetwArray(textw t, namesetw set) { if (set != NULL) { setSizeOfNamesetwArray(set, set->size + 1); if (set->array != NULL) set->array[set->size - 1] = t; else malloc_error("addToNamesetwArray()"); } } expfun void putElementAtNamesetwArray(textw t, size_t position, namesetw set) { if (set != NULL) { if (position >= set->size) setSizeOfNamesetwArray(set, position + 1); if (set->array != NULL) set->array[position] = t; else malloc_error("putElementAtNamesetwArray(t, position, set)"); } } expfun void insertElementAtNamesetwArray(textw t, size_t position, namesetw set) { if (set != NULL) { size_t index = set->size; while(index > position) { putElementAtNamesetwArray(set->array[index-1], index, set); index = index - 1; } putElementAtNamesetwArray(t, position, set); } } expfun void removeElementAtNamesetwArray(size_t position, namesetw set, c3po_bool FreeAtPos) { if (set != NULL) { if (position < set->size) { if (FreeAtPos eq true) { if (set->array[position] ne NULL) free((void *) set->array[position]); } size_t index = position + 1; while(index < set->size) { putElementAtNamesetwArray(set->array[index], index - 1, set); index = index + 1; } setSizeOfNamesetwArray(set, set->size - 1); } } } expfun textw elementAtNamesetwArray(size_t position, namesetw set) { if (set != NULL) { if (position < set->size) return set->array[position]; } return NULL; } expfun void extendNamesetwArray(namesetw src, namesetw dest) { if (src != NULL) { size_t index = 0; while(index < src->size) { addToNamesetwArray(elementAtNamesetwArray(index, src), dest); index = index + 1; } } } expfun void deepExtendNamesetwArray(namesetw src, namesetw dest) { if (src != NULL) { size_t index = 0; while(index < src->size) { addToNamesetwArray(textwNew(elementAtNamesetwArray(index, src)), dest); index = index + 1; } } } expfun void printNamesetw(textw Offset, namesetw n, FILE* fp, c3po_bool showEmpty) { textw increment = L" "; textw new_Offset = (textw) malloc(sizeof(char) * (wcslen(Offset) + wcslen(increment) + 1)); swprintf(new_Offset, L"%s%s", Offset, increment); if (n == NULL) { if (showEmpty == true) { fwprintf(fp, L"%s{\n", Offset); fwprintf(fp, L"%sNULL\n", new_Offset); fwprintf(fp, L"%s}\n", Offset); } } else { fwprintf(fp, L"%s{\n", Offset); if (n->array == NULL) { if (showEmpty == true) fwprintf(fp, L"%stextw array : NULL\n", new_Offset); } else { if ((isEmptyNamesetwArray(n) == false) || (showEmpty == true)) { fwprintf(fp, L"%sint size : %zu\n", new_Offset, n->size); size_t index = 0; while(index < n->size) { if (n->array[index] ne NULL) fwprintf(fp, L"%stextw array[%zu] : %s\n", new_Offset, index, n->array[index]); else if (showEmpty == true) fwprintf(fp, L"%stextw array[%zu] : NULL\n", new_Offset, index); index = index + 1; } } } fwprintf(fp, L"%s}\n", Offset); } free(new_Offset); } expfun void freeNamesetw(namesetw n, c3po_bool Deep) { if (n ne NULL) { if (Deep eq true) { size_t index = 0; while(index < n->size) { if (n->array[index] ne NULL) free((void *) n->array[index]); index = index + 1; } } if (n->array ne NULL) { free((void *) n->array); n->array = NULL; n->size = 0; } free((void *) n); } } wcd-6.0.3/src/c3po/namesetw.h0000644000175500010010000000461413524756523015214 0ustar waterlanGeen#ifndef NAMESET_INCLUDED #define NAMESET_INCLUDED /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ extern namesetw namesetwNew(void); extern namesetw copyNamesetw(namesetw src, c3po_bool Deep); extern textw* namesetwGetArray(namesetw n); extern c3po_bool namesetwHasArray(namesetw n); extern size_t getSizeOfNamesetwArray(namesetw n); extern void setSizeOfNamesetwArray(namesetw n, size_t size); extern c3po_bool isEmptyNamesetwArray(namesetw n); extern void addToNamesetwArray(textw t, namesetw set); extern void putElementAtNamesetwArray(textw t, size_t position, namesetw set); extern void insertElementAtNamesetwArray(textw t, size_t position, namesetw set); extern void removeElementAtNamesetwArray(size_t position, namesetw set, c3po_bool FreeAtPos); extern textw elementAtNamesetwArray(size_t position, namesetw set); extern void extendNamesetwArray(namesetw src, namesetw dest); extern void deepExtendNamesetwArray(namesetw src, namesetw dest); extern void printNamesetw(textw Offset, namesetw n, FILE* fp, c3po_bool showEmpty); extern void freeNamesetw(namesetw n, c3po_bool Deep); #endif wcd-6.0.3/src/c3po/README0000644000175500010010000000045213524756523014074 0ustar waterlanGeenAll source files in this directory have been generated with C3PO 0.19.5 from grammar input file 'wcd.G'. Only datastructures and APIs for it are generated. No parser generated. Shell script 'Generate' is used to run C3PO. More information about C3PO is at http://sourceforge.net/projects/c3po/ wcd-6.0.3/src/c3po/std_macr.h0000644000175500010010000000472513524756523015170 0ustar waterlanGeen#ifndef STD_MACRO_INCLUDED #define STD_MACRO_INCLUDED /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #define eq == /* Logical 'equals' */ #define ne != /* Logical inequality */ #define not ! /* Logical 'NOT' */ #define bnot ~ /* Bitwise 'NOT' (one's complement) */ #define cand && /* Conditional 'AND' */ #define and && /* Logical 'AND' */ #define band & /* Bitwise 'AND' */ #define cor || /* Conditional 'OR' */ #define or || /* Logical 'OR' */ #define bor | /* Bitwise 'OR' */ #define bxor ^ /* Bitwise exclusive 'OR' */ /* Definition of 'mod' gives problems with WinBase.h (MS Visual C++) */ /*#define mod % Remainder operator */ #ifndef NULL #define NULL 0 /* Null pointer */ #endif #ifndef EOF #define EOF -1 /* end of file */ #endif #define true 1 #define false 0 #define expvar /* export variable */ #define expfun /* export function */ #ifdef __cplusplus #define c3po_bool _c3po_bool #endif typedef int c3po_bool; /* pseudo c3po_boolean */ #ifdef SETTRACE #define TRACE(x) x #else #define TRACE(x) #endif #endif wcd-6.0.3/src/c3po/structur.h0000644000175500010010000000345113524756523015262 0ustar waterlanGeen#ifndef STRUCTURES_INCLUDED #define STRUCTURES_INCLUDED /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifdef WCD_UNICODE #include #endif #ifndef C3PO_BASIC_TYPES_INCLUDED #define C3PO_BASIC_TYPES_INCLUDED typedef char *text; typedef struct nameset_struct { text *array; size_t size; } nameset_struct, *nameset; typedef struct intset_struct { size_t *array; size_t size; } intset_struct, *intset; #endif typedef struct WcdStack_struct { int maxsize; int lastadded; int current; text *dir; size_t size; } WcdStack_struct, *WcdStack; typedef struct dirnode_struct { text name; int x; int y; struct dirnode_struct *parent; struct dirnode_struct **subdirs; size_t size; struct dirnode_struct *up; struct dirnode_struct *down; c3po_bool fold; } dirnode_struct, *dirnode; #ifdef WCD_UNICODE typedef wchar_t *textw; typedef struct namesetw_struct { textw *array; size_t size; } namesetw_struct, *namesetw; #endif #endif wcd-6.0.3/src/c3po/Text.c0000644000175500010010000001301113524756523014277 0ustar waterlanGeen/* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "std_macr.h" #include "structur.h" #include "Error.h" #include "nameset.h" #include "intset.h" expfun text textNewSize(size_t size) { text t = NULL; if (size > 0) { t = (text) malloc (sizeof(char) * size); if (t eq NULL) malloc_error("textNewSize(size)"); } return t; } expfun text textNew(text string) { text t = NULL; if (string ne NULL) { t = textNewSize(strlen(string) + 1); if (t ne NULL) strcpy(t, string); else malloc_error("textNew(text)"); } return t; } expfun c3po_bool eqText(text a, text b) { if ((a eq NULL) or (b eq NULL)) return false; else if (strcmp(a, b) eq 0) return true; else return false; } expfun size_t inNameset(text name, nameset set) { if (isEmptyNamesetArray(set) eq false) { size_t index = 0; while(index < getSizeOfNamesetArray(set)) { if (eqText(name, elementAtNamesetArray(index, set)) eq true) return index; index = index + 1; } } return (size_t)-1; } expfun intset matchNameset(text name, nameset set) { static intset i_set = NULL; if (i_set eq NULL) i_set = intsetNew(); else setSizeOfIntset(i_set, (size_t)0); if (isEmptyNamesetArray(set) eq false) { size_t index = 0; while(index < getSizeOfNamesetArray(set)) { if (eqText(name, elementAtNamesetArray(index, set)) eq true) addToIntset(index, i_set); index = index + 1; } } return i_set; } expfun size_t matchCountNameset(text name, nameset set) { size_t count = 0; if (isEmptyNamesetArray(set) eq false) { size_t index = 0; while(index < getSizeOfNamesetArray(set)) { if (eqText(name, elementAtNamesetArray(index, set)) eq true) count = count + 1; index = index + 1; } } return count; } expfun text concat(text a, text b) { text res = (text) malloc(sizeof(char) * (strlen(a) + strlen(b) + 1)); if (res ne NULL) { strcpy(res, a); strcpy(res + strlen(res), b); } else malloc_error("concat()"); return res; } expfun text concat3(text a, text b, text c) { text res = (text) malloc(sizeof(char) * (strlen(a) + strlen(b) + strlen(c) + 1)); if (res ne NULL) { strcpy(res, a); strcpy(res + strlen(res), b); strcpy(res + strlen(res), c); } else malloc_error("concat3()"); return res; } expfun text concat4(text a, text b, text c, text d) { text res = (text) malloc(sizeof(char) * (strlen(a) + strlen(b) + strlen(c) + strlen(d) + 1)); if (res ne NULL) { strcpy(res, a); strcpy(res + strlen(res), b); strcpy(res + strlen(res), c); strcpy(res + strlen(res), d); } else malloc_error("concat4()"); return res; } expfun text repeatOnBuffer(text pattern, size_t amount, size_t bufferNr) { size_t count = 0; static nameset buffers = NULL; text buffer; if (buffers eq NULL) buffers = namesetNew(); buffer = elementAtNamesetArray(bufferNr, buffers); if (buffer eq NULL) buffer = textNewSize(strlen(pattern) * amount + 1); else { text new_buffer = (text) realloc((void *) buffer, sizeof(char) * (strlen(pattern) * amount + 1)); if (new_buffer != NULL) buffer = new_buffer; else { malloc_error("repeatOnBuffer()"); buffer = NULL; } } if (buffer == NULL) return NULL; putElementAtNamesetArray(buffer, bufferNr, buffers); buffer[0] = '\0'; while(count < amount) { strcpy(buffer + strlen(buffer), pattern); count = count + 1; } return buffer; } expfun text repeat(text pattern, size_t amount) { return repeatOnBuffer(pattern, amount, (size_t)0); } expfun text spacesOnBuffer(size_t amount, size_t bufferNr) { return repeatOnBuffer(" ", amount, bufferNr); } expfun text spaces(size_t amount) { return spacesOnBuffer(amount, (size_t)0); } expfun text TabOnBuffer(size_t amount, size_t bufferNr) { size_t tabSize = 3; return spacesOnBuffer(tabSize*amount, bufferNr); } expfun text Tab(size_t amount) { return TabOnBuffer(amount, (size_t)0); } expfun text intToString(int i) { char buffer[100]; sprintf(buffer, "%d", i); return textNew(buffer); } expfun text doubleToString(double d) { char buffer[100]; sprintf(buffer, "%g", d); return textNew(buffer); } wcd-6.0.3/src/c3po/Text.h0000644000175500010010000000377313524756523014322 0ustar waterlanGeen#ifndef TEXT_INCLUDED #define TEXT_INCLUDED /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ extern text textNewSize(size_t size); extern text textNew(text string); extern c3po_bool eqText(text a, text b); extern size_t inNameset(text name, nameset set); extern intset matchNameset(text name, nameset set); extern size_t matchCountNameset(text name, nameset set); extern text concat(text a, text b); extern text concat3(text a, text b, text c); extern text concat4(text a, text b, text c, text d); extern text repeatOnBuffer(text pattern, size_t amount, size_t bufferNr); extern text repeat(text pattern, size_t amount); extern text spacesOnBuffer(size_t amount, size_t bufferNr); extern text spaces(size_t amount); extern text TabOnBuffer(size_t amount, size_t bufferNr); extern text Tab(size_t amount); extern text intToString(int i); extern text doubleToString(double d); #endif wcd-6.0.3/src/c3po/Textw.c0000644000175500010010000001320113524756523014467 0ustar waterlanGeen/* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "std_macr.h" #include "structur.h" #include "Error.h" #include "namesetw.h" #include "intset.h" expfun textw textwNewSize(size_t size) { textw t = NULL; if (size > 0) { t = (textw) malloc (sizeof(wchar_t) * size); if (t eq NULL) malloc_error("textwNewSize(size)"); } return t; } expfun textw textwNew(textw string) { textw t = NULL; if (string ne NULL) { t = textwNewSize(wcslen(string) + 1); if (t ne NULL) wcscpy(t, string); else malloc_error("textwNew(textw)"); } return t; } expfun c3po_bool eqTextw(textw a, textw b) { if ((a eq NULL) or (b eq NULL)) return false; else if (wcscmp(a, b) eq 0) return true; else return false; } expfun size_t inNamesetw(textw name, namesetw set) { if (isEmptyNamesetwArray(set) eq false) { size_t index = 0; while(index < getSizeOfNamesetwArray(set)) { if (eqTextw(name, elementAtNamesetwArray(index, set)) eq true) return index; index = index + 1; } } return (size_t)-1; } expfun intset matchNamesetw(textw name, namesetw set) { static intset i_set = NULL; if (i_set eq NULL) i_set = intsetNew(); else setSizeOfIntset(i_set, (size_t)0); if (isEmptyNamesetwArray(set) eq false) { size_t index = 0; while(index < getSizeOfNamesetwArray(set)) { if (eqTextw(name, elementAtNamesetwArray(index, set)) eq true) addToIntset(index, i_set); index = index + 1; } } return i_set; } expfun size_t matchCountNamesetw(textw name, namesetw set) { size_t count = 0; if (isEmptyNamesetwArray(set) eq false) { size_t index = 0; while(index < getSizeOfNamesetwArray(set)) { if (eqTextw(name, elementAtNamesetwArray(index, set)) eq true) count = count + 1; index = index + 1; } } return count; } expfun textw concatw(textw a, textw b) { textw res = (textw) malloc(sizeof(wchar_t) * (wcslen(a) + wcslen(b) + 1)); if (res ne NULL) { wcscpy(res, a); wcscpy(res + wcslen(res), b); } else malloc_error("concatw()"); return res; } expfun textw concatw3(textw a, textw b, textw c) { textw res = (textw) malloc(sizeof(wchar_t) * (wcslen(a) + wcslen(b) + wcslen(c) + 1)); if (res ne NULL) { wcscpy(res, a); wcscpy(res + wcslen(res), b); wcscpy(res + wcslen(res), c); } else malloc_error("concatw3()"); return res; } expfun textw concatw4(textw a, textw b, textw c, textw d) { textw res = (textw) malloc(sizeof(wchar_t) * (wcslen(a) + wcslen(b) + wcslen(c) + wcslen(d) + 1)); if (res ne NULL) { wcscpy(res, a); wcscpy(res + wcslen(res), b); wcscpy(res + wcslen(res), c); wcscpy(res + wcslen(res), d); } else malloc_error("concatw4()"); return res; } expfun textw repeatOnBufferw(textw pattern, size_t amount, size_t bufferNr) { size_t count = 0; static namesetw buffers = NULL; textw buffer; if (buffers eq NULL) buffers = namesetwNew(); buffer = elementAtNamesetwArray(bufferNr, buffers); if (buffer eq NULL) buffer = textwNewSize(wcslen(pattern) * amount + 1); else { textw new_buffer = (textw) realloc((void *) buffer, sizeof(wchar_t) * (wcslen(pattern) * amount + 1)); if (new_buffer != NULL) buffer = new_buffer; else { malloc_error("repeatOnBufferw()"); buffer = NULL; } } if (buffer == NULL) return NULL; putElementAtNamesetwArray(buffer, bufferNr, buffers); buffer[0] = '\0'; while(count < amount) { wcscpy(buffer + wcslen(buffer), pattern); count = count + 1; } return buffer; } expfun textw repeatw(textw pattern, size_t amount) { return repeatOnBufferw(pattern, amount, (size_t)0); } expfun textw spacesOnBufferw(size_t amount, size_t bufferNr) { return repeatOnBufferw(L" ", amount, bufferNr); } expfun textw spacesw(size_t amount) { return spacesOnBufferw(amount, (size_t)0); } expfun textw TabOnBufferw(size_t amount, size_t bufferNr) { size_t tabSize = 3; return spacesOnBufferw(tabSize*amount, bufferNr); } expfun textw Tabw(size_t amount) { return TabOnBufferw(amount, (size_t)0); } expfun textw intToStringw(int i) { wchar_t buffer[100]; swprintf(buffer, L"%d", i); return textwNew(buffer); } expfun textw doubleToStringw(double d) { wchar_t buffer[100]; swprintf(buffer, L"%g", d); return textwNew(buffer); } wcd-6.0.3/src/c3po/Textw.h0000644000175500010010000000405513524756523014503 0ustar waterlanGeen#ifndef TEXT_INCLUDED #define TEXT_INCLUDED /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ extern textw textwNewSize(size_t size); extern textw textwNew(textw string); extern c3po_bool eqTextw(textw a, textw b); extern size_t inNamesetw(textw name, namesetw set); extern intset matchNamesetw(textw name, namesetw set); extern size_t matchCountNamesetw(textw name, namesetw set); extern textw concatw(textw a, textw b); extern textw concatw3(textw a, textw b, textw c); extern textw concatw4(textw a, textw b, textw c, textw d); extern textw repeatOnBufferw(textw pattern, size_t amount, size_t bufferNr); extern textw repeatw(textw pattern, size_t amount); extern textw spacesOnBufferw(size_t amount, size_t bufferNr); extern textw spacesw(size_t amount); extern textw TabOnBufferw(size_t amount, size_t bufferNr); extern textw Tabw(size_t amount); extern textw intToStringw(int i); extern textw doubleToStringw(double d); #endif wcd-6.0.3/src/c3po/Usage.c0000644000175500010010000000231213524756523014421 0ustar waterlanGeen/* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "std_macr.h" #include "structur.h" #include "Text.h" expfun void Usage(int argc, char** argv) { fprintf(stderr, "Usage : %s options\n", argv[0]); fprintf(stderr, " %s [options]\n", argv[0]); fprintf(stderr, "Options,\n"); fprintf(stderr, "%s-d (debug)\n", Tab(1)); fprintf(stderr, "%s-showEmpty (show empty fields)\n", Tab(1)); } wcd-6.0.3/src/c3po/Usage.h0000644000175500010010000000157613524756523014441 0ustar waterlanGeen#ifndef USAGE_INCLUDED #define USAGE_INCLUDED /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ extern void Usage(int argc, char** argv); #endif wcd-6.0.3/src/c3po/wcd.G0000644000175500010010000000224213524756523014100 0ustar waterlanGeeninclude { prepend '/*\ Copyright (C) 1997-2000 Ondrej Popp\ This code is generated with Ondrej Popp\'s C3PO.\ \ 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\ \ */' } maxsize (int)->lastadded (int)->current ((text)->dir)+ >; /* recursive directory tree structure */ name (int)->x (int)->y dirnode->parent & (dirnode->subdirs)+ dirnode->up & dirnode->down & (bool)->fold >; wcd-6.0.3/src/c3po/WcdStack.c0000644000175500010010000002156013524756523015066 0ustar waterlanGeen#include #include #include #include "std_macr.h" #include "structur.h" #include "Error.h" #include "Text.h" #include "WcdStack.h" /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ expfun WcdStack WcdStackNew(int maxsize) { WcdStack w = (WcdStack) malloc (sizeof(WcdStack_struct)); if (w != NULL) { w->maxsize = maxsize; w->lastadded = 0; w->current = 0; w->dir = NULL; w->size = 0; } else malloc_error("WcdStackNew()"); return w; } expfun WcdStack copyWcdStack(WcdStack src, c3po_bool Deep) { if (src == NULL) return NULL; else { WcdStack w; w = (WcdStack) malloc (sizeof(WcdStack_struct)); if (w != NULL) { if (Deep == true) { w->maxsize = src->maxsize; w->lastadded = src->lastadded; w->current = src->current; } else { w->maxsize = src->maxsize; w->lastadded = src->lastadded; w->current = src->current; } w->dir = NULL; w->size = 0; if (Deep == true) deepExtendWcdStackDir(src, w); else extendWcdStackDir(src, w); } else malloc_error("copyWcdStack()"); return w; } } expfun int WcdStackGetMaxsize(WcdStack w) { if (w != NULL) return w->maxsize; else return 0; } expfun int WcdStackGetLastadded(WcdStack w) { if (w != NULL) return w->lastadded; else return 0; } expfun int WcdStackGetCurrent(WcdStack w) { if (w != NULL) return w->current; else return 0; } expfun text* WcdStackGetDir(WcdStack w) { if (w != NULL) return w->dir; else return NULL; } expfun WcdStack WcdStackSetMaxsize(int maxsize, WcdStack w) { if (w != NULL) w->maxsize = maxsize; return w; } expfun WcdStack WcdStackSetLastadded(int lastadded, WcdStack w) { if (w != NULL) w->lastadded = lastadded; return w; } expfun WcdStack WcdStackSetCurrent(int current, WcdStack w) { if (w != NULL) w->current = current; return w; } expfun c3po_bool WcdStackHasDir(WcdStack w) { if (isEmptyWcdStackDir(w) == false) return true; else return false; } expfun size_t getSizeOfWcdStackDir(WcdStack w) { if (w != NULL) return w->size; else return 0; } expfun void setSizeOfWcdStackDir(WcdStack w, size_t size) { if (w != NULL) { if (size == 0) { if (isEmptyWcdStackDir(w) eq false) { free((void *) w->dir); w->dir = NULL; w->size = 0; } } else if (size ne w->size) { if (isEmptyWcdStackDir(w) eq true) w->dir = (text*) malloc(sizeof(text) * size); else w->dir = (text*) realloc((void *) w->dir, sizeof(text) * size); if (w->dir ne NULL) { size_t index = w->size; while(index < size) { w->dir[index] = NULL; index = index + 1; } w->size = size; } else { w->size = 0; malloc_error("setSizeOfWcdStackDir(w, size)"); } } } } expfun c3po_bool isEmptyWcdStackDir(WcdStack w) { if (getSizeOfWcdStackDir(w) > 0) return false; else return true; } expfun void addToWcdStackDir(text t, WcdStack set) { if (set != NULL) { setSizeOfWcdStackDir(set, set->size + 1); if (set->dir != NULL) set->dir[set->size - 1] = t; else malloc_error("addToWcdStackDir()"); } } expfun void putElementAtWcdStackDir(text t, size_t position, WcdStack set) { if (set != NULL) { if (position >= set->size) setSizeOfWcdStackDir(set, position + 1); if (set->dir != NULL) set->dir[position] = t; else malloc_error("putElementAtWcdStackDir(t, position, set)"); } } expfun void insertElementAtWcdStackDir(text t, size_t position, WcdStack set) { if (set != NULL) { size_t index = set->size; while(index > position) { putElementAtWcdStackDir(set->dir[index-1], index, set); index = index - 1; } putElementAtWcdStackDir(t, position, set); } } expfun void removeElementAtWcdStackDir(size_t position, WcdStack set, c3po_bool FreeAtPos) { if (set != NULL) { if (position < set->size) { size_t index; if (FreeAtPos eq true) { if (set->dir[position] ne NULL) free((void *) set->dir[position]); } index = position + 1; while(index < set->size) { putElementAtWcdStackDir(set->dir[index], index - 1, set); index = index + 1; } setSizeOfWcdStackDir(set, set->size - 1); } } } expfun text elementAtWcdStackDir(size_t position, WcdStack set) { if (set != NULL) { if (position < set->size) return set->dir[position]; } return NULL; } expfun void extendWcdStackDir(WcdStack src, WcdStack dest) { if (src != NULL) { size_t index = 0; while(index < src->size) { addToWcdStackDir(elementAtWcdStackDir(index, src), dest); index = index + 1; } } } expfun void deepExtendWcdStackDir(WcdStack src, WcdStack dest) { if (src != NULL) { size_t index = 0; while(index < src->size) { addToWcdStackDir(textNew(elementAtWcdStackDir(index, src)), dest); index = index + 1; } } } expfun void printWcdStack(text Offset, WcdStack w, FILE* fp, c3po_bool showEmpty) { text increment = " "; text new_Offset = (text) malloc(sizeof(char) * (strlen(Offset) + strlen(increment) + 1)); if (new_Offset == NULL) { fprintf(fp, "NULL\n"); return; } sprintf(new_Offset, "%s%s", Offset, increment); if (w == NULL) { if (showEmpty == true) { fprintf(fp, "%s{\n", Offset); fprintf(fp, "%sNULL\n", new_Offset); fprintf(fp, "%s}\n", Offset); } } else { fprintf(fp, "%s{\n", Offset); fprintf(fp, "%sint maxsize : %d\n", new_Offset, w->maxsize); fprintf(fp, "%sint lastadded : %d\n", new_Offset, w->lastadded); fprintf(fp, "%sint current : %d\n", new_Offset, w->current); if (w->dir == NULL) { if (showEmpty == true) fprintf(fp, "%stext dir : NULL\n", new_Offset); } else { if ((isEmptyWcdStackDir(w) == false) || (showEmpty == true)) { size_t index; fprintf(fp, "%sint size : %lu\n", new_Offset, (unsigned long)w->size); index = 0; while(index < w->size) { if (w->dir[index] ne NULL) fprintf(fp, "%stext dir[%lu] : %s\n", new_Offset, (unsigned long)index, w->dir[index]); else if (showEmpty == true) fprintf(fp, "%stext dir[%lu] : NULL\n", new_Offset, (unsigned long)index); index = index + 1; } } } fprintf(fp, "%s}\n", Offset); } free(new_Offset); } expfun void freeWcdStack(WcdStack w, c3po_bool Deep) { if (w ne NULL) { if (Deep eq true) { size_t index = 0; while(index < w->size) { if (w->dir[index] ne NULL) free((void *) w->dir[index]); index = index + 1; } } if (w->dir ne NULL) { free((void *) w->dir); w->dir = NULL; w->size = 0; } free((void *) w); } } wcd-6.0.3/src/c3po/WcdStack.h0000644000175500010010000000546613524756523015102 0ustar waterlanGeen#ifndef WCDSTACK_INCLUDED #define WCDSTACK_INCLUDED /* Copyright (C) 1997-2000 Ondrej Popp This code is generated with Ondrej Popp's C3PO. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ extern WcdStack WcdStackNew(int maxsize); extern WcdStack copyWcdStack(WcdStack src, c3po_bool Deep); extern int WcdStackGetMaxsize(WcdStack w); extern int WcdStackGetLastadded(WcdStack w); extern int WcdStackGetCurrent(WcdStack w); extern text* WcdStackGetDir(WcdStack w); extern WcdStack WcdStackSetMaxsize(int maxsize, WcdStack w); extern WcdStack WcdStackSetLastadded(int lastadded, WcdStack w); extern WcdStack WcdStackSetCurrent(int current, WcdStack w); extern c3po_bool WcdStackHasDir(WcdStack w); extern size_t getSizeOfWcdStackDir(WcdStack w); extern void setSizeOfWcdStackDir(WcdStack w, size_t size); extern c3po_bool isEmptyWcdStackDir(WcdStack w); extern void addToWcdStackDir(text t, WcdStack set); extern void putElementAtWcdStackDir(text t, size_t position, WcdStack set); extern void insertElementAtWcdStackDir(text t, size_t position, WcdStack set); extern void removeElementAtWcdStackDir(size_t position, WcdStack set, c3po_bool FreeAtPos); extern text elementAtWcdStackDir(size_t position, WcdStack set); extern void extendWcdStackDir(WcdStack src, WcdStack dest); extern void deepExtendWcdStackDir(WcdStack src, WcdStack dest); extern void printWcdStack(text Offset, WcdStack w, FILE* fp, c3po_bool showEmpty); extern void freeWcdStack(WcdStack w, c3po_bool Deep); #endif wcd-6.0.3/src/chk_loc.sh0000755000175500010010000000043213524756523014307 0ustar waterlanGeen#!/bin/sh if [ ! "$1" ]; then echo "ERROR argument missing." >&2 echo "Usage: chk_loc.sh " >&2 exit 1 fi LOC=`echo $1 | sed 's/-//g'` locale -a | sed 's/-//g' | grep -i "^${LOC}$" 2>&1 > /dev/null if [ "$?" = "0" ] then echo "yes" else echo "no" fi wcd-6.0.3/src/colors.c0000644000175500010010000000464013524756523014020 0ustar waterlanGeen/*------------------------------------------------------------------*\ | This source code is copied from PDCurses 3.1 demos\tui.c and tui.h | | | | Author : P.J. Kunst | | Date : 25-02-93 | | colors.c is in the public domain | | | | | | Billy Chen 12:49 Monday, 4 June, 2007 | \*------------------------------------------------------------------*/ #ifdef WCD_USECURSES #include /* MOUSE_MOVED in PDCurses' curses.h conflicts with MOUSE_MOVED in wincon.h */ #ifdef MOUSE_MOVED # undef MOUSE_MOVED #endif #include "colors.h" #include "display.h" void initcolor(void) { #ifdef A_COLOR if (has_colors()) start_color(); /* foreground, background */ #if 1 init_pair((short)(MENU_COLOR & ~A_ATTR), (short)COLOR_WHITE, (short)COLOR_BLUE); init_pair((short)(BODY_COLOR & ~A_ATTR), (short)COLOR_WHITE, (short)COLOR_RED); #else init_pair((short)(MENU_COLOR & ~A_ATTR), (short)COLOR_WHITE, (short)COLOR_RED); init_pair((short)(BODY_COLOR & ~A_ATTR), (short)COLOR_CYAN, (short)COLOR_BLUE); #endif #endif } void setcolor(WINDOW *win, chtype color) { chtype attr = color & A_ATTR; /* extract Bold, Reverse, Blink bits */ #ifdef A_COLOR attr &= ~A_REVERSE; /* ignore reverse, use colors instead! */ wattrset(win, COLOR_PAIR(color & A_CHARTEXT) | attr); #else attr &= ~A_BOLD; /* ignore bold, gives messy display on HP-UX */ wattrset(win, attr); #endif } void colorbox(WINDOW *win, chtype color, int hasbox) { int maxy; #ifndef PDCURSES int maxx; #endif #ifdef A_COLOR chtype attr; #endif setcolor(win, color); #ifdef A_COLOR attr = color & A_ATTR; /* extract Bold, Reverse, Blink bits */ if (has_colors()) wbkgd(win, COLOR_PAIR(color & A_CHARTEXT) | (attr & ~A_REVERSE)); else #endif wbkgd(win, color); WCD_WCLEAR(win); #ifdef PDCURSES maxy = getmaxy(win); #else getmaxyx(win, maxy, maxx); #endif if (hasbox && (maxy > 2)) box(win, (chtype)0, (chtype)0); touchwin(win); wrefresh(win); } #endif /* WCD_USECURSES */ wcd-6.0.3/src/colors.h0000644000175500010010000000253413524756523014025 0ustar waterlanGeen/*------------------------------------------------------------------*\ | This source code is copied from PDCurses 3.1 demos\tui.c and tui.h | | | | Author : P.J. Kunst | | Date : 25-02-93 | | colors.h is in the public domain | | | | | | Billy Chen 12:49 Monday, 4 June, 2007 | \*------------------------------------------------------------------*/ #ifndef _WCD_COLORS_H #define _WCD_COLORS_H #ifdef A_COLOR # define MENU_COLOR (2 | A_BOLD) # define MENU_SELECT (4 | A_BOLD) # define BODY_COLOR 6 #else # define MENU_COLOR (A_BOLD) # define MENU_SELECT (A_BOLD) # define BODY_COLOR 0 #endif #ifdef A_COLOR #define A_ATTR (A_ATTRIBUTES ^ A_COLOR) /* A_BLINK, A_REVERSE, A_BOLD */ #else #define A_ATTR (A_ATTRIBUTES) /* standard UNIX attributes */ #endif #define MAXSTRLEN 256 #define KEY_ESC 0x1b /* Escape */ void initcolor (void); void setcolor (WINDOW *, chtype color); void colorbox (WINDOW *, chtype color, int hasbox); #endif wcd-6.0.3/src/config.h0000644000175500010010000000206213524756523013765 0ustar waterlanGeen/* Copyright (C) 1997-2012 Erwin Waterlander 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef _WCD_CONFIG_H #define _WCD_CONFIG_H #ifdef 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 #define textdomain(Domain) #define bindtextdomain(Package, Directory) #endif #endif wcd-6.0.3/src/display.c0000644000175500010010000013401413524756523014163 0ustar waterlanGeen/* Copyright (C) 1997-2019 Erwin Waterlander 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifndef KEY_RESIZE #include #endif #include #include "wcd.h" #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) #ifndef __USE_XOPEN #define __USE_XOPEN #endif #include #endif #include "display.h" #include "std_macr.h" #include "structur.h" #include "nameset.h" #include "config.h" #include "finddirs.h" #include "graphics.h" #include #if defined(WCD_WINDOWS) #include #endif #ifdef WCD_ANSI /* wide char to ANSI */ size_t wcstoansi(char *mbstr, const wchar_t *wcstr, int len) { return((size_t)(WideCharToMultiByte(CP_ACP, 0, wcstr, -1, mbstr, len, NULL, NULL) -1)); } size_t ansitowcs(wchar_t *wcstr, const char *mbstr, int len) { return((size_t)(MultiByteToWideChar(CP_ACP, 0, mbstr, -1, wcstr, len) -1)); } #endif #ifdef WCD_UTF16 /* wide char to UTF-8 */ size_t wcstoutf8(char *mbstr, const wchar_t *wcstr, int len) { return((size_t)(WideCharToMultiByte(CP_UTF8, 0, wcstr, -1, mbstr, len, NULL, NULL) -1)); } size_t utf8towcs(wchar_t *wcstr, const char *mbstr, int len) { return((size_t)(MultiByteToWideChar(CP_UTF8, 0, mbstr, -1, wcstr, len) -1)); } #endif /* * wcd_printf() : printf wrapper, print in Windows Console in Unicode mode, * to have consistent output. Regardless of active code page. * * Windows Unicode: Print Windows ANSI encoded format with UTF-8 encoded arguments. * Windows ANSI : Print Windows ANSI encoded format and arguments. * All others : Use standard printf. * * On Windows the file system uses always Unicode UTF-16 encoding, * regardless of the system default code page. This means * that files and directories can have names that * can't be encoded in the default system Windows ANSI code page. * * The Windows console supports printing of any UTF-16 wide character, * regardless of code page, via WriteConsoleW(). * * Wcd for Windows with Unicode support translates all UTF-16 directory * names to UTF-8, to be able to work with char type strings. * This is done to keep the code portable. * * Wcd's messages are encoded in the default Windows ANSI code page, * which can be translated with gettext. Gettext/libintl recodes * messages (format) to the system default ANSI code page. */ void wcd_printf( const char* format, ... ) { va_list args; #if defined(_WIN32) && !defined(__CYGWIN__) /* Windows, not Cygwin */ wchar_t wstr[WCD_MAXPATH]; char buf[WCD_MAXPATH]; # ifdef WCD_UTF16 char formatmbs[WCD_MAXPATH]; wchar_t formatwcs[WCD_MAXPATH]; # endif HANDLE stduit; va_start(args, format); stduit =GetStdHandle(STD_OUTPUT_HANDLE); # ifdef WCD_UTF16 /* Wcd for Windows with Unicode support */ /* The format string is encoded in the system default * Windows ANSI code page. May have been translated * by gettext. Convert it to wide characters. */ MultiByteToWideChar(CP_ACP,0, format, -1, formatwcs, WCD_MAXPATH); /* then convert the format string to UTF-8 */ WideCharToMultiByte(CP_UTF8, 0, formatwcs, -1, formatmbs, WCD_MAXPATH, NULL, NULL); /* Assume the arguments (directory names) are in UTF-8 encoding, because * in Windows Unicode mode all treedata files are written in UTF-8 format. * Print to buffer (UTF-8) */ vsnprintf( buf, sizeof(buf), formatmbs, args); buf[sizeof(buf)-1] = '\0'; /* Convert UTF-8 buffer to wide characters, and print to console. */ if (MultiByteToWideChar(CP_UTF8,0, buf, -1, wstr, WCD_MAXPATH) > 0 ) # else /* Everything is in ANSI code page */ vsnprintf( buf, sizeof(buf), format, args); buf[sizeof(buf)-1] = '\0'; if (MultiByteToWideChar(CP_ACP,0, buf, -1, wstr, WCD_MAXPATH) > 0 ) # endif WriteConsoleW(stduit, wstr, (DWORD)wcslen(wstr), NULL, NULL); else { /* An error occured. */ printf("A:"); vprintf( format, args ); } #else va_start(args, format); vprintf( format, args ); #endif va_end( args ); } /* * size_t str_columns (char *s) * * Return number of colums a string takes. In case * of erroneous multi-byte sequence, return number of * 8 bit characters. */ #if (defined(WCD_USECONIO) || defined(WCD_USECURSES)) size_t str_columns (char *s) { assert(s); #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) static wchar_t wstr[WCD_MAXPATH]; size_t i; /* convert to wide characters. i = nr. of characters */ i= MBSTOWCS(wstr,s,(size_t)WCD_MAXPATH); if ( i == (size_t)(-1)) return(strlen(s)); else { int j = wcd_wcswidth(wstr,(size_t)WCD_MAXPATH); /* j = nr. of columns */ if ( j < 0) return(strlen(s)); else return((size_t)j); } #else return(strlen(s)); #endif } #endif /************************************************************************ * * swap(), ssort() and sort_list() * * Sort a nameset list alphabeticly * ************************************************************************/ void swap(nameset list, int i, int j) { text temp; temp = list->array[i]; list->array[i] = list->array[j]; list->array[j] = temp; } void ssort (nameset list, int left, int right) { int i, last; #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) static wchar_t wstr_left[WCD_MAXPATH]; static wchar_t wstr_right[WCD_MAXPATH]; #endif if (left >= right) return; /* fewer than 2 elements */ swap(list, left, (left + right)/2); last = left; for (i = left+1; i <=right; i++) { #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) size_t len1 = MBSTOWCS(wstr_left, list->array[left],(size_t)WCD_MAXPATH); size_t len2 = MBSTOWCS(wstr_right,list->array[i],(size_t)WCD_MAXPATH); if ((len1 == (size_t)(-1)) || (len2 == (size_t)(-1))) { /* Erroneous multi-byte sequence */ /* Try 8 bit characters */ # ifdef ENABLE_NLS if (strcoll(list->array[i],list->array[left])<0) # else if (strcmp(list->array[i],list->array[left])<0) # endif swap(list, ++last, i); } else { if (wcscoll(wstr_right,wstr_left)<0) swap(list, ++last, i); } #else # ifdef ENABLE_NLS if (strcoll(list->array[i],list->array[left])<0) # else if (strcmp(list->array[i],list->array[left])<0) # endif swap(list, ++last, i); #endif } swap(list, left, last); ssort(list, left, last-1); ssort(list, last+1, right); } void sort_list(nameset list) { ssort(list,0,(int)(list->size)-1); } /************************************************************************ * * maxLength() * Get the longest string in a nameset list. * ************************************************************************/ #if (defined(WCD_USECONIO) || defined(WCD_USECURSES)) size_t maxLength(nameset list) { size_t i, maxlen = 0; if (list == NULL) { print_error("%s", _("internal error in maxLength(), list == NULL\n")); return 32 ; } for (i=0;isize;i++) { size_t len; if( (len=str_columns(list->array[i])) > maxlen) maxlen=len; } if (maxlen > 32) return(maxlen); else return 32 ; /* minimal width for help screen */ } size_t maxLengthStack(WcdStack s) { size_t i, maxlen = 0; if (s == NULL) { print_error("%s", _("internal error in maxLengthStack(), s == NULL\n")); return 32 ; } for (i=0;isize;i++) { size_t len; if( (len=str_columns(s->dir[i])) > maxlen) maxlen=len; } if (maxlen > 32) return(maxlen); else return 32 ; /* minimal width for help screen */ } #endif /************************************************************************ * * display_list(nameset list) * * Display a match list on screen. * * There are three versions of the function: * * 1) stdout version * This version will work on any platform. Default for Unix and Windows. * Has to make use of the scroll-back capability of the terminal. * * 2) CONIO version * Default used for DOS, optional for Windows NT. * Scroll back is programmed in. * * 3) CURSES version * Optional for Unix, DOS or Windows. * Scroll back is programmed in. * ************************************************************************/ #ifdef WCD_USECONIO void printLine(nameset n, int i, int y, int xoffset, int *use_numbers, int screenWidth) { wcd_uchar *s; s = n->array[i]; if (s != NULL) { int len = strlen(s); int nr_offset; if (*use_numbers == 0) nr_offset = 2; else nr_offset = 3; for(int j=xoffset;(jdir[i]; if (s != NULL) { int len = strlen(s); int nr_offset; if (*use_numbers == 0) nr_offset = 2; else nr_offset = 3; int j; for(j=xoffset;(jcurrent) && ((nr_offset+j-xoffset+2)<(screenWidth-1))) cprintf(" *"); } } void print_list_normal(int lines_per_page, int line, nameset list, int top, int bottom, int use_numbers, int xoffset, int screenWidth) { int i; for (i=top;i<=bottom;i++) { gotoxy(1,line); if (use_numbers == 0) cprintf("%c ",(char)(((i-top)%lines_per_page) + 'a')); else cprintf("%2d ",((i-top)%lines_per_page) + 1); printLine(list, i, line, xoffset, &use_numbers, screenWidth); line++; } } /**************************************************/ void print_list_stack(int lines_per_page, int line, WcdStack ws, int start, int top, int bottom, int use_numbers, int xoffset, int screenWidth) { int i,j; if (use_numbers == 0) { for (i=top;i<=bottom;i++) { j = (i + start)%(ws->size); gotoxy(1,line); cprintf("%c ",(char)(((i-top)%lines_per_page) + 'a')); printStackLine(ws, j, line, xoffset, &use_numbers, screenWidth); line++; } } else { for (i=top;i<=bottom;i++) { j = (i + start)%(ws->size); gotoxy(1,line); cprintf("%2d ",(i-top)%lines_per_page + 1); printStackLine(ws, j, line, xoffset, &use_numbers, screenWidth); line++; } } } void print_list(int lines_per_page,int line, nameset list, WcdStack ws, int start, int top, int bottom, int use_numbers, int xoffset, int screenWidth) { clrscr(); if (list != NULL) print_list_normal(lines_per_page,line,list,top,bottom,use_numbers,xoffset,screenWidth); else if (ws != NULL) print_list_stack(lines_per_page,line,ws,start,top,bottom,use_numbers,xoffset,screenWidth); } /****************************************************************************/ /* upper left corner is (1,1) */ int display_list_conio(nameset list,WcdStack ws, int perfect,int use_numbers) { int i, n=0, line, top, bottom, c=0, extended, gtxt=0; int start=0, size; int scrollWinHeight, page, len, shift=0 ; int lines_per_page ; /* number of lines to print per page */ char number_str[WCD_MAX_INPSTR]; char *buffer; struct text_info ti; int pageoffset; char buf[WCD_MAX_INPSTR]; gettextinfo(&ti); buffer = (char *) malloc(ti.screenwidth * ti.screenheight * 2); if (buffer!=NULL) /* get total screen */ gtxt = gettext(1,1,ti.screenwidth,ti.screenheight,buffer); if (list != NULL) /* normal list */ { sort_list(list); size = list->size; } else if (ws != NULL) /* stack */ { if( ((ws->size) <= 0) || ((ws->size) > ws->maxsize) ) return(WCD_ERR_LIST); /* in case stack file was corrupt */ else { size = ws->size; if (ws->size < ws->maxsize) start = 0; else start = ws->lastadded + 1; if (ws->lastadded >= ws->maxsize) start = 0; } } else return(WCD_ERR_LIST); /* no list or stack */ i= WCD_ERR_LIST; number_str[n] = '\0'; scrollWinHeight = ti.screenheight - INPUT_WIN_HEIGHT; lines_per_page = scrollWinHeight ; if (use_numbers == 0) { if (scrollWinHeight > SCROLL_WIN_HEIGHT) lines_per_page = SCROLL_WIN_HEIGHT; } else { if (scrollWinHeight > 99) lines_per_page = 99; /* stay below 3 digits */ } if (list != NULL) len = maxLength(list); else if (ws != NULL) len = maxLengthStack(ws); else return(WCD_ERR_LIST); bottom = size -1; top = size - lines_per_page; if (top < 0) top = 0; if (bottom < (lines_per_page -1) ) line = scrollWinHeight - bottom; /* screen line nr. where to start printing */ else line = scrollWinHeight - lines_per_page + 1; window(1,1,ti.screenwidth,scrollWinHeight); print_list(lines_per_page,line,list, ws, start, top, bottom, use_numbers,shift,ti.screenwidth); page = bottom / lines_per_page + 1 ; window (1,scrollWinHeight+1,ti.screenwidth,ti.screenheight); clrscr(); cprintf("\r\n"); if (list != NULL) { if(perfect) cprintf(_("Perfect match for %d directories."),size); else cprintf(_("Wild match for %d directories."),size); } cprintf("\r\n"); cprintf(_("Please choose one ( to abort): ")); fflush(stdout); sprintf(buf,_(" w=up x=down ?=help Page %d/%d "),page,(size -1)/lines_per_page +1); pageoffset = ti.screenwidth - (int)strlen(buf); if (pageoffset < 0) pageoffset = 0; gotoxy (pageoffset, 2); cprintf("%s",buf); gotoxy (OFFSET + n, 3); while ((c != 13 )&&(( c < 'a' ) || ( c > ('a'+scrollWinHeight-1) || ( c > 'v' ) ))) { c = getch(); switch(c) { case 'x': case 'w': case 'z': case ',': /* 1 left */ case '.': /* 1 right */ case 1 : /* Ctrl-A, Home */ case 5 : /* Ctrl-E, End */ case '?': /* Help */ case 0: /* extended key */ if(c==0) extended = getch(); else { switch (c) { case 'w': extended = 73; /* Page Up */ break; case 'x': extended = 81; /* Page Down */ break; case 'z': extended = 81; /* Page Down */ break; case ',': extended = 75; /* Key Left */ break; case '.': extended = 77; /* Key Right */ break; case 1 : extended = 71; /* Home */ break; case 5 : extended = 79; /* End */ break; case '?': extended = 59; /* F1, Help */ break; default : extended = 0; break; } } if ((extended == 73) || /* Page Up */ (extended == 72)) /* Arrow Up */ { window(1,1,ti.screenwidth,scrollWinHeight); if(bottom > (lines_per_page -1)) { bottom = bottom - lines_per_page ; top = top - lines_per_page ; } if (top<0) top = 0; if (bottom < (lines_per_page -1) ) line = scrollWinHeight - bottom; else line = scrollWinHeight - lines_per_page + 1; print_list(lines_per_page,line,list, ws, start, top, bottom, use_numbers,shift,ti.screenwidth); page = bottom / lines_per_page + 1 ; window (1,scrollWinHeight+1,ti.screenwidth,ti.screenheight); sprintf(buf,_(" w=up x=down ?=help Page %d/%d "),page,(size -1)/lines_per_page +1); pageoffset = ti.screenwidth - (int)strlen(buf); if (pageoffset < 0) pageoffset = 0; gotoxy (pageoffset, 2); cprintf("%s",buf); gotoxy (OFFSET + n, 3); } /* Page Up */ if ((extended == 81) || /* Page down */ (extended == 80)) /* Arrow down */ { window(1,1,ti.screenwidth,scrollWinHeight); if(bottom < (size - 1)) { bottom = bottom + lines_per_page ; top = bottom - lines_per_page + 1; } if (bottom < (lines_per_page -1) ) line = scrollWinHeight - bottom; else line = scrollWinHeight - lines_per_page + 1; print_list(lines_per_page,line,list, ws, start, top, bottom, use_numbers,shift,ti.screenwidth); page = bottom / lines_per_page + 1 ; window (1,scrollWinHeight+1,ti.screenwidth,ti.screenheight); sprintf(buf,_(" w=up x=down ?=help Page %d/%d "),page,(size -1)/lines_per_page +1); pageoffset = ti.screenwidth - (int)strlen(buf); if (pageoffset < 0) pageoffset = 0; gotoxy (pageoffset, 2); cprintf("%s",buf); gotoxy (OFFSET + n, 3); }/* Page down */ if (extended == 75) /* Key Left */ { if (shift > 0) shift--; window(1,1,ti.screenwidth,scrollWinHeight); print_list(lines_per_page,line,list, ws, start, top, bottom, use_numbers,shift,ti.screenwidth); } if (extended == 77) /* Key Right */ { if (shift < len) shift++; window(1,1,ti.screenwidth,scrollWinHeight); print_list(lines_per_page,line,list, ws, start, top, bottom, use_numbers,shift,ti.screenwidth); } if (extended == 71) /* Home */ { shift = 0; window(1,1,ti.screenwidth,scrollWinHeight); print_list(lines_per_page,line,list, ws, start, top, bottom, use_numbers,shift,ti.screenwidth); } if (extended == 79) /* End */ { shift = len - ti.screenwidth/2; if (shift < 0) shift=0; window(1,1,ti.screenwidth,scrollWinHeight); print_list(lines_per_page,line,list, ws, start, top, bottom, use_numbers,shift,ti.screenwidth); } if (extended == 59) /* Help */ { window(1,1,ti.screenwidth,scrollWinHeight); clrscr(); if (scrollWinHeight < 17) { gotoxy(1,1); cprintf(_("Screenheight must be > 20 for help.")); } else { gotoxy(1,1); cprintf(_("w or page up")); cprintf("\r\n"); cprintf(_("x or z or page down")); cprintf("\r\n"); cprintf(_(", or scroll 1 left")); cprintf("\r\n"); cprintf(_(". or scroll 1 right")); cprintf("\r\n"); cprintf(_("< or [ scroll 10 left")); cprintf("\r\n"); cprintf(_("> or ] scroll 10 right")); cprintf("\r\n"); cprintf(_("CTRL-a or scroll to beginning")); cprintf("\r\n"); cprintf(_("CTRL-e or scroll to end")); cprintf("\r\n"); cprintf(_("CTRL-c or abort")); cprintf("\r\n"); cprintf(_(" abort")); cprintf("\r\n"); cprintf(_("Type w or x to quit help.")); cprintf("\r\n"); } } window (1,scrollWinHeight+1,ti.screenwidth,ti.screenheight); gotoxy (OFFSET + n, 3); break; case '<': case '[': shift -=10; if (shift < 0) shift=0; window(1,1,ti.screenwidth,scrollWinHeight); print_list(lines_per_page,line,list, ws, start, top, bottom, use_numbers,shift,ti.screenwidth); window (1,scrollWinHeight+1,ti.screenwidth,ti.screenheight); gotoxy (OFFSET + n, 3); break; case ']': case '>': shift +=10; if (shift > len) shift=len; window(1,1,ti.screenwidth,scrollWinHeight); print_list(lines_per_page,line,list, ws, start, top, bottom, use_numbers,shift,ti.screenwidth); window (1,scrollWinHeight+1,ti.screenwidth,ti.screenheight); gotoxy (OFFSET + n, 3); break; case 8: /* backspace */ window (1,scrollWinHeight+1,ti.screenwidth,ti.screenheight); if(n>0) n--; number_str[n] = '\0'; gotoxy(OFFSET + n, 3); cprintf(" "); gotoxy(OFFSET + n, 3); break; case 3: /* Control-C */ case 27: /* Escape */ c = 13; i = WCD_ERR_LIST; number_str[0] = '\0'; break; case 13: /* Enter */ c = 13; i = WCD_ERR_LIST; break; default: if (( c >= '0') && ( c <= '9') && (n < WCD_MAX_INPSTR)) /* numbers */ { number_str[n] = (char)c; window (1,scrollWinHeight+1,ti.screenwidth,ti.screenheight); gotoxy (OFFSET + n++, 3); cprintf("%c",(char)c); number_str[n] = '\0'; /* Notice that one has to choose a number from 1 to max 22 */ if (((bottom - top) < 9) /* displayed list is 9 or less matches */ || (n == 2) /* second number typed */ || (c >= '3') /* 3-9 is typed */ || ((c == '2')&&((bottom - top) < 19)) /* displayed list is 19 or less matches */ ) c = 13; /* do an */ } else i=c+top-'a'+1; break; } } window (1,1,ti.screenwidth,ti.screenheight); gotoxy (ti.curx, ti.cury); printf("\n"); if (gtxt ==1) puttext(1,1,ti.screenwidth,ti.screenheight,buffer); if (buffer!=NULL) free(buffer); /* cprintf("window left %2d\r\n",ti.winleft); cprintf("window top %2d\r\n",ti.wintop); cprintf("window right %2d\r\n",ti.winright); cprintf("window bottom %2d\r\n",ti.winbottom); cprintf("attribute %2d\r\n",ti.attribute); cprintf("normal attribute %2d\r\n",ti.normattr); cprintf("current mode %2d\r\n",ti.currmode); cprintf("screen height %2d\r\n",ti.screenheight); cprintf("screen width %2d\r\n",ti.screenwidth); cprintf("current x %2d\r\n",ti.curx); cprintf("current y %2d\r\n",ti.cury); */ if (strcmp(number_str,"") != 0) /* a number was typed */ i=atoi(number_str) + top; if((ws != NULL)&&(list == NULL)) /* stack */ { if (( i <=0)||(i > ws->size)) /* fail */ { return(WCD_ERR_LIST); } else /* succes */ { i = ( i - 1 + start)%(ws->size); ws->current = i; } } return i; } #endif #ifdef WCD_USECURSES struct wcddisplay /* structure with window information */ { WINDOW *scrollWin; int scrollWinHeight; int scrollWinLen; int use_numbers ; int lines_per_page ; /* number of matches to print per page */ int size; /* total number of elements in the list */ int line; /* screen line nr. where to start printing */ int top; /* top match to print */ int bottom; /* bottom match to print */ int shift; /* number of colums horizontal panning */ int start; /* start line in stack, first to print */ int perfect; WINDOW *inputWin; int inputWinLen; char number_str[WCD_MAX_INPSTR]; nameset list; /* normal match list */ WcdStack ws; /* wcd stack list */ } ; struct wcddisplay wcd_display; /*global variable wcd curses windows */ void displayRefresh(int init); #if defined(SIGWINCH) # define CAN_RESIZE 1 #else # define CAN_RESIZE 0 #endif /* The most portable way of resizing seems to be * to just rebuild the windows from scratch */ void displayResize() { #ifdef __PDCURSES__ /* Correct resizing on Windows (ConEmu and Windows 10 console) requires a recent PDCurses version ( >= 3.7 ). */ resize_term(0,0); #else /* resize_term() is not working properly with old versions of curses. (e.g. seen with ncurses 5.6.20080804). There are still a lot of old curses library installations around. Stopping and restarting curses does the job too with old curses libraries. */ endwin(); /* end curses mode */ refresh(); /* start curses */ #endif wcd_display.scrollWinHeight = LINES - INPUT_WIN_HEIGHT; wcd_display.lines_per_page = wcd_display.scrollWinHeight; wcd_display.scrollWinLen = COLS; if (wcd_display.use_numbers == 0) { if (wcd_display.scrollWinHeight > SCROLL_WIN_HEIGHT) wcd_display.lines_per_page = SCROLL_WIN_HEIGHT; } else { if (wcd_display.scrollWinHeight > 99) wcd_display.lines_per_page = 99; /* stay below 3 digits */ } /* free resources */ delwin(wcd_display.scrollWin); delwin(wcd_display.inputWin); /* create new windows */ wcd_display.scrollWin = newwin(wcd_display.scrollWinHeight,COLS,0,0); wcd_display.inputWin = newwin(INPUT_WIN_HEIGHT,COLS,wcd_display.scrollWinHeight,0); scrollok(wcd_display.scrollWin, TRUE); refresh(); displayRefresh(1); } #ifndef KEY_RESIZE #if CAN_RESIZE void signalSigwinchDisplay (int sig) { displayResize (); signal(SIGWINCH,signalSigwinchDisplay); } #endif #endif void wcd_mvwaddstr(WINDOW *win, int x, int y, char *str) { #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) static wchar_t wstr[WCD_MAXPATH]; size_t i; /* convert to wide characters. i = nr. of characters */ i= mbstowcs(wstr,str,(size_t)WCD_MAXPATH); if ( i == (size_t)(-1)) { /* Erroneous multi-byte sequence */ /* Try 8 bit characters */ mvwaddstr(win, x, y, str); } else { mvwaddwstr(win, x, y, wstr); } #else mvwaddstr(win, x, y, str); #endif } void printLine(WINDOW *win, nameset n, int i, int y, int xoffset, int *use_numbers) { wcd_uchar *s; s = (wcd_uchar *)n->array[i]; if (s != NULL) { #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) static wchar_t wstr[WCD_MAXPATH]; size_t len = MBSTOWCS(wstr,(char *)s,(size_t)WCD_MAXPATH); /* number of wide characters */ #else size_t len = strlen((char *)s); int j; #endif int nr_offset; if (*use_numbers == 0) nr_offset = 2; else nr_offset = 3; wmove(win,y,(int)nr_offset); #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) if (len == (size_t)(-1)) { /* Erroneous multi-byte sequence */ /* Try 8 bit characters */ int j; len = strlen((char *)s); for(j=xoffset;(j<(int)len)&&((nr_offset+j-xoffset)<(COLS-1));j++) { waddch(win,(chtype)s[j]); } } else { int width, c, j = 0; c = 0; /* count characters with width > 0 from beginning of string. */ while ((j<(int)len)&&(c= 0xdc00) && (wstr[j] < 0xe000)) wstr[j] = ' '; #endif while ((j<(int)len)&&(wcd_wcwidth(wstr[j]) == 0 )) /* Skip combining characters */ j++; width = wcd_wcwidth(wstr[j]); while ((j<(int)len)&&((nr_offset+width)<(COLS-1))) { waddnwstr(win,wstr+j,1); j++; width = width + wcd_wcwidth(wstr[j]); } } #else for(j=xoffset;(j<(int)len)&&((nr_offset+j-xoffset)<(COLS-1));j++) { waddch(win,(chtype)s[j]); } #endif } } void printStackLine(WINDOW *win, WcdStack ws, int i, int y, int xoffset, int *use_numbers) { wcd_uchar *s; s = (wcd_uchar *)ws->dir[i]; if (s != NULL) { #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) static wchar_t wstr[WCD_MAXPATH]; size_t len = MBSTOWCS(wstr,(char *)s,(size_t)WCD_MAXPATH); /* number of wide characters */ #else size_t len = strlen((char *)s); int j; #endif int nr_offset; if (*use_numbers == 0) nr_offset = 2; else nr_offset = 3; wmove(win,y,nr_offset); #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) if (len == (size_t)(-1)) { /* Erroneous multi-byte sequence */ /* Try 8 bit characters */ int j; len = strlen((char *)s); for(j=xoffset;(j<(int)len)&&((nr_offset+j-xoffset)<(COLS-1));j++) { waddch(win,(chtype)s[j]); } if ((i == ws->current) && ((nr_offset+j-xoffset+2)<(COLS-1))) wprintw(win," *"); } else { int width, c, j = 0; c = 0; /* count characters with width > 0 from beginning of string. */ while ((j<(int)len)&&(c= 0xdc00) && (wstr[j] < 0xe000)) wstr[j] = ' '; #endif while ((j<(int)len)&&(wcd_wcwidth(wstr[j]) == 0 )) /* Skip combining characters */ j++; width = wcd_wcwidth(wstr[j]); while ((j<(int)len)&&((nr_offset+width)<(COLS-1))) { waddnwstr(win,wstr+j,1); j++; width = width + wcd_wcwidth(wstr[j]); } if ((i == ws->current) && ((nr_offset+width-wcd_wcwidth(wstr[j])+2)<(COLS-1))) wprintw(win," *"); } #else for(j=xoffset;(j<(int)len)&&((nr_offset+j-xoffset)<(COLS-1));j++) { waddch(win,(chtype)s[j]); } if ((i == ws->current) && ((nr_offset+j-xoffset+2)<(COLS-1))) wprintw(win," *"); #endif } } /**************************************************/ void print_list_normal(WINDOW *scrollWin, int lines_per_page,int line, nameset list, int top, int bottom, int use_numbers, int xoffset) { int i; for (i=top;i<=bottom;i++) { if (use_numbers == 0) mvwprintw(scrollWin,line,0,"%c ",(char)(((i-top)%lines_per_page) + 'a')); else mvwprintw(scrollWin,line,0,"%2d ",((i-top)%lines_per_page) + 1); printLine(scrollWin, list, i, line, xoffset, &use_numbers); line++; } } /**************************************************/ void print_list_stack(WINDOW *scrollWin, int lines_per_page,int line, WcdStack ws, int start, int top, int bottom, int use_numbers, int xoffset) { int i,j; if (use_numbers == 0) { for (i=top;i<=bottom;i++) { j = (i + start)%(int)(ws->size); mvwprintw(scrollWin,line,0,"%c ",(char)(((i-top)%lines_per_page) + 'a')); printStackLine(scrollWin, ws, j, line, xoffset, &use_numbers); line++; } } else { for (i=top;i<=bottom;i++) { j = (i + start)%(int)(ws->size); /* mvwprintw(scrollWin,line,0,"%d %s",i + 1,ws->dir[j]); */ mvwprintw(scrollWin,line,0,"%2d ",(i-top)%lines_per_page + 1); printStackLine(scrollWin, ws, j, line, xoffset, &use_numbers); line++; } } } void print_list(WINDOW *scrollWin, int lines_per_page,int line, nameset list, WcdStack ws, int start, int top, int bottom, int use_numbers, int xoffset) { WCD_WCLEAR(scrollWin); if (list != NULL) print_list_normal(scrollWin,lines_per_page,line,list,top,bottom,use_numbers,xoffset); else if (ws != NULL) print_list_stack(scrollWin,lines_per_page,line,ws,start,top,bottom,use_numbers,xoffset); } /* ****************************************************************** */ /* upper left corner is (0,0) */ /* ****************************************************************** */ void displayRefresh(int init) { int page, pageoffset, offset, n; char buf[WCD_MAX_INPSTR]; WCD_WCLEAR(wcd_display.scrollWin); WCD_WCLEAR(wcd_display.inputWin); if (init || (wcd_display.bottom >= wcd_display.size) || (wcd_display.size <= wcd_display.lines_per_page)) { /* initialise bottom only first time || bottom overshoots || complete list fits in page. */ if ( (wcd_display.bottom < 0) || (wcd_display.bottom >= wcd_display.size) || (wcd_display.size <= wcd_display.lines_per_page)) wcd_display.bottom = wcd_display.size -1; /* lowest match to print */ wcd_display.top = wcd_display.bottom - wcd_display.lines_per_page + 1; /* top match to print */ if (wcd_display.top < 0) wcd_display.top = 0; if (wcd_display.bottom < (wcd_display.lines_per_page -1) ) wcd_display.line = wcd_display.scrollWinHeight - wcd_display.bottom - 1; /* screen line nr. where to start printing */ else wcd_display.line = wcd_display.scrollWinHeight - wcd_display.lines_per_page; } print_list(wcd_display.scrollWin,wcd_display.lines_per_page,wcd_display.line,wcd_display.list,wcd_display.ws,wcd_display.start,wcd_display.top,wcd_display.bottom,wcd_display.use_numbers,wcd_display.shift); if (wcd_display.list != NULL) { wmove (wcd_display.inputWin, 1, 0); if(wcd_display.perfect) wprintw(wcd_display.inputWin,_("Perfect match for %d directories."),wcd_display.size); else wprintw(wcd_display.inputWin,_("Wild match for %d directories."),wcd_display.size); } page = wcd_display.bottom / wcd_display.lines_per_page + 1 ; sprintf(buf,_(" w=up x=down ?=help Page %d/%d "),page,(wcd_display.size -1)/wcd_display.lines_per_page +1); pageoffset = COLS - (int)str_columns(buf); if (pageoffset < 0) pageoffset = 0; wmove (wcd_display.inputWin, 0, pageoffset); wprintw(wcd_display.inputWin,"%s",buf); sprintf(buf,_("Please choose one ( to abort): ")); wcd_mvwaddstr(wcd_display.inputWin,2,0,buf); offset = (int)str_columns(buf) ; wmove (wcd_display.inputWin, 2, offset); waddstr(wcd_display.inputWin, wcd_display.number_str); n = (int)str_columns(wcd_display.number_str) ; wmove (wcd_display.inputWin, 2, offset + n); wrefresh(wcd_display.scrollWin); wrefresh(wcd_display.inputWin); } void displayHelp(WINDOW *win, int height) { WCD_WCLEAR(win); if (height < 17) wcd_mvwaddstr(win,0,0,_("Screenheight must be > 20 for help.")); else { wcd_mvwaddstr(win, 0,0,_("w or page up")); wcd_mvwaddstr(win, 1,0,_("x or z or page down")); wcd_mvwaddstr(win, 2,0,_(", or scroll 1 left")); wcd_mvwaddstr(win, 3,0,_(". or scroll 1 right")); wcd_mvwaddstr(win, 4,0,_("< or [ scroll 10 left")); wcd_mvwaddstr(win, 5,0,_("> or ] scroll 10 right")); wcd_mvwaddstr(win, 6,0,_("CTRL-a or scroll to beginning")); wcd_mvwaddstr(win, 7,0,_("CTRL-e or scroll to end")); wcd_mvwaddstr(win, 8,0,_("CTRL-l or F5 redraw screen")); wcd_mvwaddstr(win, 9,0,_("CTRL-c or abort")); wcd_mvwaddstr(win,10,0,_(" abort")); wcd_mvwaddstr(win,12,0,_("Press any key.")); } wrefresh(win); getch(); } #define Key_CTRL(x) ((x) & 31) int display_list_curses(nameset list, WcdStack ws, int perfect,int use_numbers) { int i, n=0, c=0; int displayed_list; size_t len ; SCREEN *sp; #ifndef KEY_RESIZE #if CAN_RESIZE signal (SIGWINCH, signalSigwinchDisplay); #endif #endif /* Notice that list->size > 1 when this function is called. */ wcd_display.shift = 0; wcd_display.start = 0; wcd_display.perfect = perfect; wcd_display.bottom = -1; if (list != NULL) /* normal list */ { sort_list(list); wcd_display.size = (int)list->size; } else if (ws != NULL) /* stack */ { if( ((int)(ws->size) == 0) || ((int)(ws->size) > ws->maxsize) ) return(WCD_ERR_LIST); /* in case stack file was corrupt */ else { wcd_display.size = (int)ws->size; if ((int)ws->size < ws->maxsize) wcd_display.start = 0; else wcd_display.start = ws->lastadded + 1; if (ws->lastadded >= ws->maxsize) wcd_display.start = 0; } } else return(WCD_ERR_LIST); /* no list or stack */ i= WCD_ERR_LIST; wcd_display.number_str[n] = '\0'; /* Older versions of PDCurses and ncurses < 5.9.20120922 do not * support newterm() on Windows */ sp = newterm(NULL,stdout,stdin); if (sp == NULL) { print_error("%s", _("Error opening terminal, falling back to stdout interface.\n")); return WCD_ERR_CURSES; } keypad(stdscr, TRUE); intrflush(stdscr, FALSE); cbreak(); noecho(); nonl(); scrollok(stdscr, TRUE); /* enable scrolling */ wcd_display.use_numbers = use_numbers; wcd_display.list = list; wcd_display.ws = ws; if (LINES < 4) { endwin(); delscreen(sp); #ifdef XCURSES XCursesExit(); #endif print_error("%s", _("screen height must be larger than 3 lines.\n")); return WCD_ERR_CURSES; } wcd_display.scrollWinHeight = LINES - INPUT_WIN_HEIGHT; wcd_display.lines_per_page = wcd_display.scrollWinHeight; if (wcd_display.use_numbers == 0) { if (wcd_display.scrollWinHeight > SCROLL_WIN_HEIGHT) wcd_display.lines_per_page = SCROLL_WIN_HEIGHT; } else { if (wcd_display.scrollWinHeight > 99) wcd_display.lines_per_page = 99; /* stay below 3 digits */ } if (list != NULL) len = maxLength(list); else if (ws != NULL) len = maxLengthStack(ws); else { endwin(); delscreen(sp); #ifdef XCURSES XCursesExit(); #endif return(WCD_ERR_LIST); } refresh(); wcd_display.scrollWin = newwin(wcd_display.scrollWinHeight,COLS,0,0); if (wcd_display.scrollWin == NULL) { endwin(); delscreen(sp); #ifdef XCURSES XCursesExit(); #endif print_error("%s", _("error creating scroll window.\n")); return WCD_ERR_CURSES; } scrollok(wcd_display.scrollWin, TRUE); wcd_display.inputWin = newwin(INPUT_WIN_HEIGHT,COLS,wcd_display.scrollWinHeight,0); if (wcd_display.inputWin == NULL) { delwin(wcd_display.scrollWin); endwin(); delscreen(sp); #ifdef XCURSES XCursesExit(); #endif print_error("%s", _("error creating input window.\n")); return WCD_ERR_CURSES; } scrollok(wcd_display.inputWin, TRUE); displayRefresh(1); while ((c != 13 )&&(( c < 'a' ) || ( c > ('a'+wcd_display.scrollWinHeight-1) || ( c > 'v' ) ))) { c = getch(); switch(c) { case 'w': case KEY_UP: /* Arrow Up */ case KEY_PPAGE: /* Page Up */ if(wcd_display.bottom > (wcd_display.lines_per_page -1)) { wcd_display.bottom = wcd_display.bottom - wcd_display.lines_per_page ; wcd_display.top = wcd_display.top - wcd_display.lines_per_page ; } if (wcd_display.top<0) wcd_display.top = 0; if (wcd_display.bottom < (wcd_display.lines_per_page -1) ) wcd_display.line = wcd_display.scrollWinHeight - wcd_display.bottom - 1; else wcd_display.line = wcd_display.scrollWinHeight - wcd_display.lines_per_page; break; case 'x': case 'z': case KEY_DOWN: /* Arrow down */ case KEY_NPAGE: /* Page down */ if(wcd_display.bottom < (wcd_display.size - 1)) { wcd_display.bottom = wcd_display.bottom + wcd_display.lines_per_page ; wcd_display.top = wcd_display.bottom - wcd_display.lines_per_page + 1; } if (wcd_display.bottom < (wcd_display.lines_per_page -1) ) wcd_display.line = wcd_display.scrollWinHeight - wcd_display.bottom - 1; else wcd_display.line = wcd_display.scrollWinHeight - wcd_display.lines_per_page; break; case ',': case KEY_LEFT: if (wcd_display.shift > 0) wcd_display.shift--; break; case '.': case KEY_RIGHT: if (wcd_display.shift < (int)len) wcd_display.shift++; break; case '<': case '[': wcd_display.shift -=10; if (wcd_display.shift < 0) wcd_display.shift=0; break; case ']': case '>': wcd_display.shift +=10; if (wcd_display.shift > (int)len) wcd_display.shift=(int)len; break; case Key_CTRL ('a'): case KEY_HOME: wcd_display.shift = 0; break; case Key_CTRL ('e'): #ifdef KEY_END case KEY_END: #endif wcd_display.shift = (int)len - COLS/2; if (wcd_display.shift < 0) wcd_display.shift=0; break; case KEY_F (1): case '?': displayHelp(wcd_display.scrollWin, wcd_display.scrollWinHeight); break; case KEY_F (5): case Key_CTRL ('l'): #ifdef KEY_RESIZE case KEY_RESIZE: #endif displayResize (); break; case 3: /* Control-C */ case 27: /* Escape */ c = 13; i = WCD_ERR_LIST; wcd_display.number_str[0] = '\0'; break; case 13: /* Enter */ case KEY_ENTER: c = 13; i = WCD_ERR_LIST; break; case 8: /* backspace */ case KEY_BACKSPACE: case 127: /* delete */ if(n>0) n--; wcd_display.number_str[n] = '\0'; break; default: if (( c >= '0') && ( c <= '9') && (n < (WCD_MAX_INPSTR -1))) /* numbers */ { wcd_display.number_str[n] = (char)c; n++; wcd_display.number_str[n] = '\0'; displayed_list = wcd_display.bottom - wcd_display.top; /* Notice that one has to choose a number from 1 to max 99 */ if ((displayed_list < 9) /* displayed list is 9 or less matches */ || (n == 2) /* second number typed */ || ((c == '2')&&( displayed_list < 19)) /* displayed list is 19 or less matches */ || ((c == '3')&&( displayed_list < 29)) /* displayed list is 29 or less matches */ || ((c == '4')&&( displayed_list < 39)) /* displayed list is 39 or less matches */ || ((c == '5')&&( displayed_list < 49)) /* displayed list is 49 or less matches */ || ((c == '6')&&( displayed_list < 59)) /* displayed list is 59 or less matches */ || ((c == '7')&&( displayed_list < 69)) /* displayed list is 69 or less matches */ || ((c == '8')&&( displayed_list < 79)) /* displayed list is 79 or less matches */ || ((c == '9')&&( displayed_list < 89)) /* displayed list is 89 or less matches */ ) c = 13; /* do an */ } else i=c+wcd_display.top-'a'+1; break; } displayRefresh(0); } delwin(wcd_display.scrollWin); delwin(wcd_display.inputWin); endwin(); delscreen(sp); #ifdef XCURSES XCursesExit(); #endif if (strcmp(wcd_display.number_str,"") != 0) /* a number was typed */ i=atoi(wcd_display.number_str) + wcd_display.top; printf("\n"); /* Extra newline for curses, pdcurses and when ncurses doesn't restore screen */ if ((ws != NULL)&&(list == NULL)) /* stack */ { if (( i <=0)||(i > (int)ws->size)) /* fail */ { return(WCD_ERR_LIST); } else /* succes */ { i = ( i - 1 + wcd_display.start)%(int)(ws->size); ws->current = i; } } return i; } #endif /* stdout version */ int display_list_stdout(nameset list,WcdStack ws, int perfect, int use_stdout) { int i; int k, start, j; if (list != NULL) /* normal list */ { sort_list(list); if ( use_stdout & WCD_STDOUT_DUMP ) { size_t ii; for (ii=0;iisize;ii++) wcd_printf("%s\n", list->array[ii]); } else { size_t ii; for (ii=0;iisize;ii++) wcd_printf("%lu %s\n",(unsigned long)(ii+1),list->array[ii]); } if ( use_stdout & WCD_STDOUT_DUMP ) return(WCD_ERR_LIST); else { printf("\n"); if(perfect) printf(_("Perfect match for %d directories."),(int)list->size); else printf(_("Wild match for %d directories."),(int)list->size); printf("\n"); printf(_("Please choose one ( to abort): ")); } return wcd_get_int(); } else if (ws != NULL) /* stack */ { /* printWcdStack("XXX ", ws, stdout); */ if(ws->maxsize <= 0) return (WCD_ERR_LIST); else if( ((ws->size) == 0) || ((ws->size) > (size_t)ws->maxsize) ) return (WCD_ERR_LIST); else { if (ws->size < (size_t)ws->maxsize) start = 0; else start = ws->lastadded + 1; if (ws->lastadded >= ws->maxsize) start = 0; k=1; for(i=0; i < (int)(ws->size) ; i++) { j = (i + start)%(int)(ws->size); if ( !(use_stdout & WCD_STDOUT_DUMP) ) printf("%2d ",k); k++; wcd_printf("%s",ws->dir[j]); if (j == ws->current) printf(" *"); printf("\n"); } if ( use_stdout & WCD_STDOUT_DUMP ) return(WCD_ERR_LIST); printf("\n"); printf(_("Please choose one ( to abort): ")); i = wcd_get_int(); if (( i <=0)||(i > (int)ws->size)) /* fail */ { return(WCD_ERR_LIST); } else /* succes */ { i = ( i - 1 + start)%(int)(ws->size); ws->current = i; return(i); } } } else return WCD_ERR_LIST; } int display_list(nameset list,int perfect, int use_numbers, int use_stdout) { #ifdef WCD_USECONIO if (use_stdout == WCD_STDOUT_NO) return display_list_conio(list,NULL,perfect,use_numbers); else return display_list_stdout(list,NULL,perfect, use_stdout); #else # ifdef WCD_USECURSES int i; if ((use_stdout == WCD_STDOUT_NO) && ((i = display_list_curses(list,NULL,perfect,use_numbers)) != WCD_ERR_CURSES)) return i; else return display_list_stdout(list,NULL,perfect, use_stdout); # else return display_list_stdout(list,NULL,perfect, use_stdout); # endif #endif } wcd-6.0.3/src/display.h0000644000175500010010000000557213524756523014176 0ustar waterlanGeen/* Copyright (C) 1997-2015 Erwin Waterlander 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef _WCD_DISPLAY_H #define _WCD_DISPLAY_H #ifdef WCD_USECONIO # include #endif #ifdef WCD_USECURSES # include /* MOUSE_MOVED in PDCurses' curses.h conflicts with MOUSE_MOVED in wincon.h */ # ifdef MOUSE_MOVED # undef MOUSE_MOVED # endif #endif #if (defined(WCD_ANSI) || defined(WCD_UTF16)) #include #endif #include "std_macr.h" #include "structur.h" #include "wcd.h" #ifdef WCD_ANSI size_t wcstoansi(char *mbstr, const wchar_t *wcstr, int len); size_t ansitowcs(wchar_t *wcstr, const char *mbstr, int len); #endif #ifdef WCD_UTF16 size_t wcstoutf8(char *mbstr, const wchar_t *wcstr, int len); size_t utf8towcs(wchar_t *wcstr, const char *mbstr, int len); #endif void wcd_printf( const char* format, ... ); #if (defined(WCD_USECONIO) || defined(WCD_USECURSES)) size_t str_columns (char *s); #endif void sort_list(nameset list); int display_list(nameset list,int perfect, int use_numbers, int use_stdout); #ifdef WCD_USECONIO int display_list_conio(nameset list,WcdStack ws, int perfect,int use_numbers); #endif #ifdef WCD_USECURSES int display_list_curses(nameset list, WcdStack ws, int perfect,int use_numbers); void wcd_mvwaddstr(WINDOW *win, int x, int y, char *str); #endif int display_list_stdout(nameset list,WcdStack ws, int perfect, int use_stdout); #define OFFSET 39 #define WCD_MAX_INPSTR 256 #define PAGEOFFSET 38 #define SCROLL_WIN_HEIGHT 22 #define INPUT_WIN_HEIGHT 3 #define WCD_ERR_LIST -1 /* No choice is made from list of matches */ #define WCD_ERR_CURSES -2 /* Curses can't open terminal */ #define WCD_STDOUT_NO 0 /* no stdout */ #define WCD_STDOUT_NORMAL 1 /* stdout mode */ #define WCD_STDOUT_DUMP 2 /* dump to stdout */ #if defined(_WIN32) && !defined(__CYGWIN__) /* Windows, not Cygwin */ /* On Windows we use wclear, because wclear gives a cleaner screen in a Windows * Command Prompt in an East Asian locale with double width font. E.g. Chinese * locale CP936 with raster or Simsun font. wclear gives some screen * flickering when used with ncurses on Windows. */ #define WCD_WCLEAR wclear #else /* We prefer werase, because it gives a steadier screen. Less flickering. */ #define WCD_WCLEAR werase #endif #endif wcd-6.0.3/src/etc/0000755000175500010010000000000013524756523013122 5ustar waterlanGeenwcd-6.0.3/src/etc/profile.d/0000755000175500010010000000000013524756523015004 5ustar waterlanGeenwcd-6.0.3/src/etc/profile.d/wcd.csh0000755000175500010010000000245313524756523016267 0ustar waterlanGeen# Copyright # # Copyright (C) 2011 Erwin Waterlander # # License # # 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, see . # # Description # # Define a shell alias for wcd(1), which itself change # directories, so it must be done in a shell alias. # # This file is in /etc/profile.d/ and it should be sourced from # a shell startup file: ~/.rc ##if ( ! ${?WCDHOME} ) then ## setenv WCDHOME "$HOME/.wcd" ##endif if ( ${?WCDHOME} ) then alias wcd "rm -f $WCDHOME/bin/wcd.go ; BINDIR/PROGRAM \!* ; source $WCDHOME/bin/wcd.go" else alias wcd "rm -f $HOME/bin/wcd.go ; BINDIR/PROGRAM \!* ; source $HOME/bin/wcd.go" endif # End of file wcd-6.0.3/src/etc/profile.d/wcd.sh0000755000175500010010000000242513524756523016123 0ustar waterlanGeen# Copyright # # Copyright (C) 2011-2014 Erwin Waterlander # Copyright (C) 2009-2011 Jari Aalto # # License # # 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, see . # # Description # # Define a shell alias for wcd(1), which itself change # directories, so it must be done in a shell alias. # # This file is in /etc/profile.d/ and it should be sourced from # a shell startup file: ~/.rc ##if [ -z "$WCDHOME" ] ##then ## export WCDHOME="$HOME/.wcd" ##fi wcd () { typeset go="${WCDHOME:-${HOME}}/bin/wcd.go" rm -f "$go" 2> /dev/null BINDIR/PROGRAM "$@" [ -f "$go" ] && . "$go" } # End of file wcd-6.0.3/src/finddirs.c0000644000175500010010000003303513524756523014321 0ustar waterlanGeen/* Copyright (C) 1996-2017 Erwin Waterlander 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "tailor.h" #if defined(_WIN32) && !defined(__CYGWIN__) # ifdef WCD_UNICODE # define UNICODE # define _UNICODE # define WCD_FINDFIRSTFILE FindFirstFileW # define WCD_FINDNEXTFILE FindNextFileW # include "display.h" /* for wcstoutf8() */ # else # define WCD_FINDFIRSTFILE FindFirstFileA # define WCD_FINDNEXTFILE FindNextFileA # endif # include # include # ifdef __WATCOMC__ # include /* Watcom C does not have _getdrives(). We use the dos functions. */ # endif #elif defined(__MSDOS__) || (defined(__OS2__) && !defined(__EMX__)) # ifdef __DJGPP__ # include # include # define WCD_FB_NAME fb.ff_name # define WCD_FB_MODE fb.ff_attrib # define WCD_FINDNEXT findnext # define WCD_ISDIREC(m) ((m) & FA_DIREC) # else /* Watcom C */ # include # define WCD_FB_NAME fb.name # define WCD_FB_MODE fb.attrib # define WCD_FINDNEXT _dos_findnext # define WCD_ISDIREC(m) ((m) & _A_SUBDIR) # endif #else # define _GNU_SOURCE /* Required for DT_DIR and DT_LNK */ # include # include # include # include #endif #ifdef __OS2__ # include #endif #include #include #include "wcddir.h" #include "wcd.h" #include "wfixpath.h" #include "nameset.h" #include "config.h" #include "finddirs.h" const wcd_char *default_mask = ALL_FILES_MASK; /* Various implementations of setdisk/getdisk */ #if defined(__MSDOS__) || (defined(__WATCOMC__) && defined(__NT__)) # ifndef __TURBOC__ /* * getdisk * * Returns: -1 if error, otherwise: 0=drive A, 1=drive B, and so on. */ int getdisk() { unsigned d; _dos_getdrive(&d); return ((int)d - 1); } /* * setdisk: 0=drive A, 1=drive B, and so on. * * Returns: total number of drive available * */ int setdisk( int drive ) { unsigned numdrives; _dos_setdrive((unsigned) (drive + 1), &numdrives); return numdrives; } # endif /* ?!__TURBOC__ */ #elif defined(__OS2__) /* OS/2 implementation of getdisk and setdisk for EMX */ /* * getdisk * * Returns: -1 if error, otherwise: 0=drive A, 1=drive B, and so on. */ int getdisk() { ULONG ulDrive; ULONG ulLogical; /* APIRET rc; */ int d; /* rc= */ DosQueryCurrentDisk(&ulDrive, &ulLogical); /* Get current drive */ d = (int)ulDrive; return(d-1); } /* * setdisk: 0=drive A, 1=drive B, and so on. * * Returns: total number of drive available * */ int setdisk( int drive ) { int d; ULONG ulDrive; ulDrive = (ULONG)(drive+1); if(DosSetDefaultDisk(ulDrive)) /* Set default drive, 1=A, 2=B, 3=C, 4=D */ { /* printf("Wcd: error: Can not change default drive to %d\n",drive); */ return(-1); } d = getdisk(); return(d); } #elif defined(_WIN32) int getdisk(void) { int d; d = _getdrive(); return(d-1); } int setdisk (int drive) { unsigned long numdrives; _chdrive(drive+1); numdrives = _getdrives(); return ((int)numdrives); } #else /* stub functions for get/set disk * fake MS-DOS functions that do not apply to unix or vms: */ int getdisk() { return 0; } int setdisk( int drive ) { return 0; } #endif /****************************************************************/ /* Function: SpecialDir * * Purpose: Test for special directories * * Returns: 1 if path = "." or ".." * 0 otherwise. */ int SpecialDir(const char *path) { if (*path != '.') return 0; if (*(++path) == '.') path++; return (*path=='/' || *path=='\0'); } /******************************************************************** * * rmTree(dir) * * Recursively delete directory: *dir * ********************************************************************/ void rmTree(char *dir) { #if defined(_WIN32) && !defined(__CYGWIN__) WIN32_FIND_DATA FindFileData; HANDLE hFind; #elif defined(__MSDOS__) || (defined(__OS2__) && !defined(__EMX__)) # ifdef __DJGPP__ struct ffblk fb; /* file block structure */ int rc; /* error code */ # else struct _find_t fb; /* file block structure */ unsigned rc; /* error code */ # endif #else /* Unix, Cygwin, MSYS, EMX */ DIR *dirp; struct dirent *dp; #endif if (dir) { if (wcd_chdir(dir,0)) return; /* Go to the dir, else return */ } else return ; /* dir == NULL */ #if defined(_WIN32) && !defined(__CYGWIN__) hFind = WCD_FINDFIRSTFILE(ALL_FILES_MASK, &FindFileData); while (hFind != INVALID_HANDLE_VALUE) { char directory[WCD_MAXPATH]; # ifdef WCD_UNICODE wcstoutf8(directory, FindFileData.cFileName, sizeof(directory)); # else wcd_strncpy(directory,FindFileData.cFileName,sizeof(directory)); # endif if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { if (!SpecialDir(directory)) { if(wcd_islink(directory,0)) { if (wcd_unlink(directory) != 0) print_error(_("Unable to remove file %s: %s\n"), directory, strerror(errno)); } else { rmTree(directory); wcd_rmdir(directory,0); } } } else { /* not a directory */ if (wcd_unlink(directory) != 0) print_error(_("Unable to remove file %s: %s\n"), directory, strerror(errno)); } if (!WCD_FINDNEXTFILE(hFind, &FindFileData)) { FindClose(hFind); hFind = INVALID_HANDLE_VALUE; } } #elif defined(__MSDOS__) || (defined(__OS2__) && !defined(__EMX__)) # ifdef __DJGPP__ rc = findfirst(default_mask, &fb, FA_DIREC|FA_RDONLY|FA_HIDDEN|FA_SYSTEM|FA_ARCH|FA_LABEL); # else rc = _dos_findfirst(default_mask, _A_SUBDIR|_A_RDONLY|_A_HIDDEN|_A_SYSTEM|_A_ARCH, &fb); # endif while (rc==0) { /* go through all the files in the current dir */ if (WCD_ISDIREC(WCD_FB_MODE)) { if (!SpecialDir(WCD_FB_NAME)) { rmTree(WCD_FB_NAME); wcd_rmdir(WCD_FB_NAME,0); } } else { /* not a directory */ if (wcd_unlink(WCD_FB_NAME) != 0) { print_error(_("Unable to remove file %s: %s\n"), WCD_FB_NAME, strerror(errno)); } } rc = WCD_FINDNEXT(&fb); } /* while !rc */ # if defined(__OS2__) _dos_findclose( &fb ); # endif #else /* Unix, Cygwin, MSYS, EMX */ dirp = opendir("."); if (dirp == NULL) { wcd_chdir(DIR_PARENT,1); /* go to parent directory */ return; } dp = readdir(dirp); while (dp) { #ifdef _DIRENT_HAVE_D_TYPE if (dp->d_type == DT_DIR) { if (!SpecialDir(dp->d_name)) { rmTree(dp->d_name); wcd_rmdir(dp->d_name,0); } } else { /* not a directory */ if (wcd_unlink(dp->d_name) != 0) { print_error(_("Unable to remove file %s: %s\n"), dp->d_name, strerror(errno)); } } #else /* Not all systems have d_type. */ static struct stat buf ; if (lstat(dp->d_name, &buf) == 0) { if (S_ISDIR(buf.st_mode)) { if (!SpecialDir(dp->d_name)) { rmTree(dp->d_name); wcd_rmdir(dp->d_name,0); } } else { /* not a directory */ if (wcd_unlink(dp->d_name) != 0) { print_error(_("Unable to remove file %s: %s\n"), dp->d_name, strerror(errno)); } } } #endif dp = readdir(dirp); } if (closedir(dirp)) print_error(_("Unable to close directory %s: %s\n"), dir, strerror(errno)); #endif wcd_chdir(DIR_PARENT,1); /* go to parent directory */ } /******************************************************************** * * finddirs(char *dir, size_t *offset, FILE *outfile, int *use_HOME, int quiet) * ********************************************************************/ void finddirs(char *dir, size_t *offset, FILE *outfile, int *use_HOME, nameset exclude, int quiet) { char curdir[WCD_MAXPATH]; char *tmp_ptr ; size_t len ; #if defined(_WIN32) && !defined(__CYGWIN__) WIN32_FIND_DATA FindFileData; HANDLE hFind; #elif defined(__MSDOS__) || (defined(__OS2__) && !defined(__EMX__)) # ifdef __DJGPP__ struct ffblk fb; /* file block structure */ int rc; /* error code */ # else struct _find_t fb; /* file block structure */ unsigned rc; /* handle and error code */ # endif #else /* Unix, Cygwin, MSYS, EMX */ DIR *dirp; struct dirent *dp; #endif if (dir) { if (wcd_chdir(dir,quiet)) return; /* Go to the dir, else return */ } else return ; /* dir == NULL */ if (wcd_getcwd(curdir, sizeof(curdir)) == NULL) { print_error(_("finddirs(): can't determine path in directory %s\n"),dir); print_error(_("path probably too long.\n")); wcd_chdir(DIR_PARENT,1); /* go to parent directory */ return; }; #ifdef _WCD_DOSFS wcd_fixpath(curdir,sizeof(curdir)); rmDriveLetter(curdir,use_HOME); #endif if (pathInNameset(curdir,exclude) != (size_t)-1) { wcd_chdir(DIR_PARENT,1); /* go to parent directory */ return; } len = strlen(curdir); if(*offset < len) tmp_ptr = curdir + *offset ; else tmp_ptr = curdir + len; /* tmp_ptr points to ending '\0' of curdir */ if (wcd_fprintf(outfile,"%s\n", tmp_ptr) < 0) { wcd_chdir(DIR_PARENT,1); /* go to parent directory */ return; /* Quit when we can't write path to disk */ } #if defined(_WIN32) && !defined(__CYGWIN__) hFind = WCD_FINDFIRSTFILE(ALL_FILES_MASK, &FindFileData); while (hFind != INVALID_HANDLE_VALUE) { if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { char directory[WCD_MAXPATH]; # ifdef WCD_UNICODE wcstoutf8(directory, FindFileData.cFileName, sizeof(directory)); # else wcd_strncpy(directory,FindFileData.cFileName,sizeof(directory)); # endif if (!SpecialDir(directory)) { if(wcd_islink(directory,quiet)) wcd_fprintf(outfile,"%s/%s\n", tmp_ptr, directory); else finddirs(directory,offset, outfile, use_HOME, exclude, 1); } } if (!WCD_FINDNEXTFILE(hFind, &FindFileData)) { FindClose(hFind); hFind = INVALID_HANDLE_VALUE; } } #elif defined(__MSDOS__) || (defined(__OS2__) && !defined(__EMX__)) /* Only DJGPP and Watcom C are supported. */ # ifdef __DJGPP__ rc = findfirst(default_mask, &fb, FA_DIREC|FA_RDONLY|FA_HIDDEN|FA_SYSTEM|FA_ARCH|FA_LABEL); # else rc = _dos_findfirst(default_mask, _A_SUBDIR|_A_RDONLY|_A_HIDDEN|_A_SYSTEM|_A_ARCH, &fb); # endif while (rc==0) { /* go through all the files in the current dir */ if (WCD_ISDIREC(WCD_FB_MODE)) { if (!SpecialDir(WCD_FB_NAME)) finddirs(WCD_FB_NAME,offset, outfile, use_HOME, exclude, 1); } rc = WCD_FINDNEXT(&fb); } /* while !rc */ # if defined(__OS2__) _dos_findclose( &fb ); # endif #else /* Unix, Cygwin, MSYS, EMX */ dirp = opendir(curdir); if (dirp == NULL) { wcd_chdir(DIR_PARENT,1); /* go to parent directory */ return; } dp = readdir(dirp); while (dp) { #ifdef _DIRENT_HAVE_D_TYPE if (dp->d_type == DT_DIR) { if (!SpecialDir(dp->d_name)) finddirs(dp->d_name,offset, outfile, use_HOME, exclude, 1); } else if (dp->d_type == DT_LNK) { /* Is it a symbolic link? */ static struct stat buf ; if ((stat(dp->d_name, &buf) == 0) && S_ISDIR(buf.st_mode)) /* does the link point to a dir */ wcd_fprintf(outfile,"%s/%s\n", tmp_ptr, dp->d_name); } else if (dp->d_type == DT_UNKNOWN) { /* File type is not supported by all file systems. On Cygwin DT_LNK only works for Windows native links. Cygwin links return DT_UNKNOWN. */ static struct stat buf ; if (lstat(dp->d_name, &buf) == 0) { if (S_ISDIR(buf.st_mode)) { if (!SpecialDir(dp->d_name)) finddirs(dp->d_name,offset, outfile, use_HOME, exclude, 1); } else if (S_ISLNK(buf.st_mode)) { /* Is it a symbolic link? */ if ((stat(dp->d_name, &buf) == 0) && S_ISDIR(buf.st_mode)) /* does the link point to a dir */ wcd_fprintf(outfile,"%s/%s\n", tmp_ptr, dp->d_name); } } } #else /* Not all systems have d_type. */ static struct stat buf ; if (lstat(dp->d_name, &buf) == 0) { if (S_ISDIR(buf.st_mode)) { if (!SpecialDir(dp->d_name)) finddirs(dp->d_name,offset, outfile, use_HOME, exclude, 1); } else if (S_ISLNK(buf.st_mode)) { /* Is it a symbolic link? */ if ((stat(dp->d_name, &buf) == 0) && S_ISDIR(buf.st_mode)) /* does the link point to a dir */ wcd_fprintf(outfile,"%s/%s\n", tmp_ptr, dp->d_name); } } #endif dp = readdir(dirp); } if (closedir(dirp)) print_error(_("Unable to close directory %s: %s\n"), curdir, strerror(errno)); #endif wcd_chdir(DIR_PARENT,1); /* go to parent directory */ } wcd-6.0.3/src/finddirs.h0000644000175500010010000000602213524756523014322 0ustar waterlanGeen/* Copyright (C) 1996-2017 Erwin Waterlander 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef _WCD_FINDDIRS_H #define _WCD_FINDDIRS_H #include "tailor.h" #include "wcd.h" /* MAXPATH MAXDIR MAXFILE MAXEXT Borland DOS16 80 66 9 5 Watcom DOS16 144 130 9 5 Watcom DOS32 144 130 9 5 DJGPP DOS32 260 256 256 256 * WIN32 260 256 256 256 */ #if defined(__GO32__) || defined(_WIN32) || defined(__OS2__) || defined(__386__) /* flat memory, _long_ directory names */ # define __FLAT__ 1 #endif #if defined(__MSDOS__) || defined(_WIN32) || (defined(__OS2__) && !defined(__EMX__)) # define WCD_MAXDRIVE 3 # ifndef __FLAT__ /* DOS 16 bit */ # define WCD_MAXPATH 80 # define WCD_MAXDIR 66 # define WCD_MAXFILE 16 # define WCD_MAXEXT 10 /* allow for wildcards .[ch]*, .etc */ # else /* DOS 32 bit or Windows */ /* Big values to be able to read treedata files of Unix network drives */ # define WCD_MAXPATH 1028 # define WCD_MAXDIR 1024 # define WCD_MAXFILE 256 # define WCD_MAXEXT 256 # endif /* ?__FLAT__ */ #else /* ?unix or EMX */ /* * WCD_MAXPATH defines the longest permissable path length, * including the terminating null. It should be set high * enough to allow all legitimate uses, but halt infinite loops * reasonably quickly. */ # define WCD_MAXPATH 1024 # define WCD_MAXDIR 1024 # define WCD_MAXFILE 255 # ifdef __OS2__ # define WCD_MAXDRIVE 3 # define WCD_MAXEXT 256 # else # define WCD_MAXDRIVE 1 # define WCD_MAXEXT 1 # endif #endif /* ?__MSDOS__ */ #ifdef __MSDOS__ # define ALL_FILES_MASK "*.*" # define DIR_END '\\' #elif defined(_WIN32) # ifdef WCD_UTF16 # define ALL_FILES_MASK L"*.*" # else # define ALL_FILES_MASK "*.*" # endif # define DIR_END '\\' #elif (defined(__OS2__) && !defined(__EMX__)) # define ALL_FILES_MASK "*" # define DIR_END '\\' #else /* ?UNIX or EMX */ # ifdef __OS2__ # define ALL_FILES_MASK "*" # define DIR_END '\\' # else # define ALL_FILES_MASK "*" # define DIR_END '/' # endif #endif /* ?__TURBOC__ */ #define DIR_PARENT ".." #ifndef __TURBOC__ int getdisk(void); int setdisk(int drive); #endif /* ?!__TURBOC__ */ void rmTree(char *dir); void finddirs(char *dir, size_t *offset, FILE *outfile, int *use_HOME, nameset exclude, int quiet); #endif wcd-6.0.3/src/graphics.c0000644000175500010010000022516113524756523014322 0ustar waterlanGeen/* Copyright (C) 2000-2019 Erwin Waterlander Ideas and source code of NCD (Ninux Czo Directory) have been used in the WCD graphical interface. Ninux Change Directory Copyright (C) 1995 Borja Etxebarria or http://www.ibiblio.org/pub/Linux/utils/shell/ncd-0.9.8.tgz Additions on NCD were made by Olivier Sirol (Czo) Ninux Czo Directory Copyright (C) 1995 Borja Etxebarria Copyright (C) 1996 Olivier Sirol Olivier Sirol http://www.ibiblio.org/pub/Linux/utils/file/managers/ncd1_205.tgz 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #if defined(WCD_UNICODE) || (defined(_WIN32) && !defined(__CYGWIN__)) #ifndef __USE_XOPEN #define __USE_XOPEN #endif #include #include "wcwidth.h" /* Marcus Kuhn's wcwidth implementation */ #endif #include "std_macr.h" #include "structur.h" #include "nameset.h" #include "Text.h" #include "Error.h" #include "dirnode.h" #include "graphics.h" #include "wcd.h" #include "finddirs.h" #include "display.h" #include "wfixpath.h" #include "match.h" #ifdef WCD_UNICODE # include "matchw.h" #else # include "matchl.h" #endif #include "config.h" #ifdef WCD_USECURSES #include "colors.h" /* add colors for the tree on MS platform */ #ifndef KEY_RESIZE #include #endif #endif /* * The following codes are below 20 and don't interfere with 8 bit normal * characters. They will also not interfere with UTF-8 encoded characters, * because All UCS characters >U+007F are encoded as a sequence of several * bytes, each of which has the most significant bit set. No ASCII byte * (0x00-0x7F) can appear as part of any other UTF-8 encode character. */ # define WCD_ACS_HL 1 /* line art codes */ # define WCD_ACS_VL 2 # define WCD_ACS_LT 3 # define WCD_ACS_LLC 4 # define WCD_ACS_TT 5 # define WCD_SEL_ON 6 /* selection on/off codes */ # define WCD_SEL_OFF 7 # define WCD_SPACE 8 /* double width space in CJK mode */ #ifdef ASCII_TREE static const char WCD_ONESUBDIR[] = "---" ; static const char WCD_SPLITDIR[] = "-+-" ; static const char WCD_SUBDIR[] = " |-" ; static const char WCD_MOREDIR[] = " | " ; static const char WCD_ENDDIR[] = " `-" ; static const char WCD_OVERDIR[] = " " ; static const char WCD_COMPACT_SUBDIR[] = " |--" ; static const char WCD_COMPACT_MOREDIR[] = " | " ; static const char WCD_COMPACT_ENDDIR[] = " `--" ; #else static const char WCD_ONESUBDIR[] = { WCD_ACS_HL, WCD_ACS_HL, WCD_ACS_HL, 0} ; static const char WCD_SPLITDIR[] = { WCD_ACS_HL, WCD_ACS_TT, WCD_ACS_HL, 0} ; static const char WCD_SUBDIR[] = { 32, WCD_SPACE, WCD_ACS_LT, WCD_ACS_HL, 0} ; static const char WCD_MOREDIR[] = { 32, WCD_SPACE, WCD_ACS_VL, WCD_SPACE, 32, 0} ; static const char WCD_ENDDIR[] = { 32, WCD_SPACE, WCD_ACS_LLC, WCD_ACS_HL, 0} ; static const char WCD_OVERDIR[] = { 32, WCD_SPACE, WCD_SPACE, WCD_SPACE, 32, 0} ; static const char WCD_COMPACT_SUBDIR[] = { 32, WCD_ACS_LT, WCD_ACS_HL, WCD_ACS_HL, 0} ; static const char WCD_COMPACT_MOREDIR[] = { 32, WCD_ACS_VL, WCD_SPACE, WCD_SPACE, 0} ; static const char WCD_COMPACT_ENDDIR[] = { 32, WCD_ACS_LLC, WCD_ACS_HL, WCD_ACS_HL, 0} ; #endif #define WCD_GRAPH_MAX_LINE_LENGTH WCD_MAXPATH * 2 #ifdef WCD_USECURSES struct wcdwin /* structure with window information */ { WINDOW *scrollWin; int scrollWinHeight; WINDOW *inputWin; dirnode curNode; char str[WCD_MAX_INPSTR]; #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) wchar_t wstr[WCD_MAX_INPSTR]; #endif int mode; int graphics_mode; dirnode zoomStack; } ; struct wcdwin wcd_cwin; /*global variable wcd curses windows */ void dataRefresh(int ydiff, int init); #if defined(SIGWINCH) # define CAN_RESIZE 1 #else # define CAN_RESIZE 0 #endif /* The most portable way of resizing seems to be * to just rebuild the windows from scratch */ void ioResize() { #ifdef __PDCURSES__ /* Correct resizing on Windows (ConEmu and Windows 10 console) requires a recent PDCurses version ( >= 3.7 ). */ resize_term(0,0); #else /* resize_term() is not working properly with old versions of curses. (e.g. seen with ncurses 5.6.20080804). There are still a lot of old curses library installations around. Stopping and restarting curses does the job too with old curses libraries. */ endwin(); /* end curses mode */ refresh(); /* start curses */ #endif wcd_cwin.scrollWinHeight = LINES - INPUT_WIN_HEIGHT; /* free resources */ delwin(wcd_cwin.scrollWin); delwin(wcd_cwin.inputWin); /* create new windows */ wcd_cwin.scrollWin = newwin(wcd_cwin.scrollWinHeight,COLS,0,0); wcd_cwin.inputWin = newwin(INPUT_WIN_HEIGHT,COLS,wcd_cwin.scrollWinHeight,0); if (wcd_cwin.graphics_mode & WCD_GRAPH_COLOR) { colorbox (wcd_cwin.scrollWin, MENU_COLOR, 0); /* BillyC add colors */ colorbox (wcd_cwin.inputWin, BODY_COLOR, 0); /* BillyC add colors */ } scrollok(wcd_cwin.scrollWin, TRUE); refresh(); dataRefresh(0, 1); } #ifndef KEY_RESIZE #if CAN_RESIZE void signalSigwinch (int sig) { ioResize (); signal(SIGWINCH,signalSigwinch); } #endif #endif #endif /* WCD_USECURSES */ /***************************************************************** * * dirHasSubdirs() * Wrapper for API dirnodeHasSubdirs() * When directory is folded it looks like there are no subdirectories. * *************************************************************** */ c3po_bool dirHasSubdirs(dirnode d) { if (dirnodeFold(d) eq true) return false; else return dirnodeHasSubdirs(d); } char* getCompactTreeLine(dirnode d, int y, int *y_orig, char *line, char *tline) { dirnode n; if (dirnodeHasParent(d) eq false) return(line); if (y == *y_orig) { if (dirnodeGetDown(d) == NULL) strcpy(tline,WCD_COMPACT_ENDDIR); else strcpy(tline,WCD_COMPACT_SUBDIR); if (d->fold eq true) tline[strlen(tline)-1] = '+'; } else { if (dirnodeGetDown(d) == NULL) strcpy(tline," "); else strcpy(tline,WCD_COMPACT_MOREDIR); } strcat(tline,line); strcpy(line,tline); n = dirnodeGetParent(d); return(getCompactTreeLine(n,dirnodeGetY(n),y_orig, line, tline)); } /* this function is called by other functions only on directories that are last * on a line */ char* getTreeLine(dirnode d, int y, int *y_orig, dirnode curNode, c3po_bool fold, const int *graphics_mode) { static text line = NULL; static text tline = NULL; dirnode n; size_t len,clen; if (d == NULL) return(NULL); len = strlen(dirnodeGetName(d)); /* nr. of bytes */ clen = str_columns(dirnodeGetName(d)); /* nr. of columns */ if (line == NULL) { line = textNewSize((size_t)WCD_GRAPH_MAX_LINE_LENGTH); line[0] = '\0'; } if (tline == NULL) { tline = textNewSize((size_t)WCD_GRAPH_MAX_LINE_LENGTH); tline[0] = '\0'; } if (*graphics_mode & WCD_GRAPH_COMPACT) /* compact tree */ { strcpy(tline," "); if (d == curNode) tline[strlen (tline) - 1] = WCD_SEL_ON; strcat(tline,dirnodeGetName(d)); strcat(tline," "); if (d == curNode) tline[strlen (tline) - 1] = WCD_SEL_OFF; strcpy(line,tline); getCompactTreeLine(d,dirnodeGetY(d),y_orig, line, tline); return line; } /* buffer overflow prevention: * * The max length of `line' and `tline' is the length of `line' increased * by the namelength of the dirnode and at most 8 characters */ if ((strlen(line) + len + 8) > WCD_GRAPH_MAX_LINE_LENGTH) { sprintf(line,_("Wcd: error: path too long")); return(line); } if (dirHasSubdirs(d) eq true) { if(getSizeOfDirnode(d) == 1) { if (dirnodeGetY(d) == *y_orig) { strcpy(tline," "); if (d == curNode) tline[strlen (tline) - 1] = WCD_SEL_ON; strcat(tline,dirnodeGetName(d)); strcat(tline," "); if (d == curNode) tline[strlen (tline) - 1] = WCD_SEL_OFF; strcat(tline,WCD_ONESUBDIR); n = elementAtDirnode((size_t)0,d); if (fold eq true) tline[strlen(tline)-1] = '+'; } else { size_t i; for (i=0;ifold, graphics_mode)); } if (*y_orig != 0) { strcpy(tline," "); strcat(tline,line); strcpy(line,tline); } return line; } void dumpTreeLine(dirnode d, const int *graphics_mode) { int y; char *l; y = dirnodeGetY(d); l = getTreeLine(d,y,&y,NULL,false, graphics_mode); if (l == NULL) return; while ( *l != '\0') { switch(*l) { case WCD_ACS_HL: putc('-', stdout); break; case WCD_ACS_VL: putc('|', stdout); break; case WCD_ACS_LT: putc('|', stdout); break; case WCD_ACS_LLC: putc('`', stdout); break; case WCD_ACS_TT: putc('+', stdout); break; case WCD_SEL_ON: putc('<', stdout); break; case WCD_SEL_OFF: putc('>', stdout); break; case WCD_SPACE: putc(' ', stdout); break; default: putc(*l, stdout); } l++; } printf("\n"); } void dumpTree(dirnode d, const int *graphics_mode) { size_t index, size; dirnode n; index = 0; if (*graphics_mode & WCD_GRAPH_COMPACT) { dumpTreeLine(d, graphics_mode); size = getSizeOfDirnode(d); while(index < size) { n = elementAtDirnode(index,d); dumpTree(n, graphics_mode); index++; } } else if (isEmptyDirnode(d) eq false) { size = getSizeOfDirnode(d); while(index < size) { n = elementAtDirnode(index,d); dumpTree(n, graphics_mode); index++; } } else { dumpTreeLine(d, graphics_mode); } } /* * Set the x,y values of the dirnodes * in the tree */ void setXYTree(dirnode d, const int *graphics_mode) { if(dirHasSubdirs(d) eq true) { int x; static int y; size_t index, len, size; dirnode n; if (*graphics_mode & WCD_GRAPH_COMPACT) /* compact tree */ { len = str_columns(dirnodeGetName(d)); y = dirnodeGetY(d); index = 0; size = getSizeOfDirnode(d); while(index < size) { y = y + 1; n = elementAtDirnode(index,d); #ifndef ASCII_TREE if ((*graphics_mode & WCD_GRAPH_CJK) && !(*graphics_mode & WCD_GRAPH_ASCII)) /* double width line drawing symbols. */ x = dirnodeGetX(d) + 7; else #endif x = dirnodeGetX(d) + 4; dirnodeSetX(x,n); dirnodeSetY(y,n); setXYTree(n, graphics_mode); index++; } } else { len = str_columns(dirnodeGetName(d)); y = dirnodeGetY(d); index = 0; size = getSizeOfDirnode(d); while(index < size) { n = elementAtDirnode(index,d); #ifndef ASCII_TREE if ((*graphics_mode & WCD_GRAPH_CJK) && !(*graphics_mode & WCD_GRAPH_ASCII)) /* double width line drawing symbols. */ x = dirnodeGetX(d) + (int)len + 8; else #endif x = dirnodeGetX(d) + (int)len + 5; dirnodeSetX(x,n); dirnodeSetY(y,n); setXYTree(n, graphics_mode); index++; y = y + 1; } /* y is 1 too large */ y = y - 1; } } } c3po_bool eqTextDirnode(text t, dirnode d) { return(eqText(t,dirnodeGetName(d))); } size_t inDirnode(text t, dirnode d) { size_t index; index = 0; while(index < d->size) { if (strcmp(t,(d->subdirs[index])->name) == 0) return index; ++index; } return (size_t) -1; } /* * A lot of time is spend in addPath(). addPath() has been made faster by * using pointers directly instead of the dirnode API functions in addPath() * and inDirnode(). This removes overhead due to pointer checks. */ void addPath(text path, dirnode d) { char *s; dirnode n,n_up; text t; #if (defined(_WIN32) || defined(__CYGWIN__)) static char buf[WCD_MAXPATH] = "//" ; if ( (path != NULL) && (*path == '/') && (*(path+1) == '/') ) { s = strtok(path,"/"); if (s != NULL) { buf[2] = '\0'; strcat(buf, s); s = buf; } } else #endif s = strtok(path,"/"); if (s != NULL) { size_t index = inDirnode(s,d); if (index == (size_t) -1) { n = dirnodeNew(d,NULL,NULL); t = textNew(s); dirnodeSetName(t,n); if (d->size > 0) { n_up = d->subdirs[d->size -1]; n_up->down = n; n->up = n_up; } addToDirnode(n,d); } else { n = d->subdirs[index]; } addPath(NULL,n); } } /************************************************************************ * * swap_dirnodes(), ssort_dirnode() and sort_dirnode() * * Sort the sub dirnodes of a dirnode alphabeticly * ************************************************************************/ void swap_dirnodes(dirnode* subdirs, int i, int j) { dirnode temp, parent; parent = (subdirs[i])->parent; temp = subdirs[i]; subdirs[i] = subdirs[j]; subdirs[j] = temp; if (i==0) (subdirs[i])->up = NULL; else { (subdirs[i])->up = subdirs[i-1]; (subdirs[i-1])->down = subdirs[i]; } if (i== (int)parent->size -1) (subdirs[i])->down = NULL; else { (subdirs[i])->down = subdirs[i+1]; (subdirs[i+1])->up = subdirs[i]; } if (j==0) (subdirs[j])->up = NULL; else { (subdirs[j])->up = subdirs[j-1]; (subdirs[j-1])->down = subdirs[j]; } if (j== (int)parent->size -1) (subdirs[j])->down = NULL; else { (subdirs[j])->down = subdirs[j+1]; (subdirs[j+1])->up = subdirs[j]; } } void ssort_dirnode (dirnode* subdirs, int left, int right) { int i, last; #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) static wchar_t wstr_left[WCD_MAXPATH]; static wchar_t wstr_right[WCD_MAXPATH]; #endif text t_left, t_right; if (left >= right) return; /* fewer than 2 elements */ swap_dirnodes(subdirs, left, (left + right)/2); last = left; for (i = left+1; i <=right; i++) { t_left = (subdirs[left])->name; t_right = (subdirs[i])->name; #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) size_t len1 = MBSTOWCS(wstr_left, t_left, (size_t)WCD_MAXPATH); size_t len2 = MBSTOWCS(wstr_right, t_right, (size_t)WCD_MAXPATH); if ((len1 == (size_t)(-1)) || (len2 == (size_t)(-1))) { /* Erroneous multi-byte sequence */ /* Try 8 bit characters */ # ifdef ENABLE_NLS if (strcoll(t_right,t_left)<0) # else if (strcmp(t_right,t_left)<0) # endif swap_dirnodes(subdirs, ++last, i); } else { if (wcscoll(wstr_right,wstr_left)<0) swap_dirnodes(subdirs, ++last, i); } #else # ifdef ENABLE_NLS if (strcoll(t_right,t_left)<0) # else if (strcmp(t_right,t_left)<0) # endif swap_dirnodes(subdirs, ++last, i); #endif } swap_dirnodes(subdirs, left, last); ssort_dirnode(subdirs, left, last-1); ssort_dirnode(subdirs, last+1, right); } void sort_subdirs(dirnode d) { ssort_dirnode(d->subdirs,0,(int)(d->size)-1); } /* * Sort the tree alphabeticly */ void sortTree(dirnode d) { size_t index; dirnode n; sort_subdirs(d); index = 0; while(index < d->size) { n = d->subdirs[index]; sortTree(n); ++index; } } /*****************************************************/ void buildTreeFromNameset(nameset set, dirnode d) { size_t i; if ((set == NULL)||(d == NULL)) return; sort_list(set); for (i=0;i < set->size;i++) { addPath(set->array[i],d); } } /********************************************************** * * NCD (Ninux Czo Directory) can read a tree and build * a data structure faster than WCD because: * - NCD has a more compact treefile, optimised for graphical tree. * - NCD just adds all dirs. No checking for duplicates. * * WCD is slower because: * - WCD has larger treefile, optimised for string matching. * - WCD has to split every path in directories. * - WCD searches every path in data structure. * * WCD takes slower speed for granted because: * - no extra file needed for graphical interface. * - string matching is more important feature. * - duplicates are skipped * - These functions can be used on all WCD treefiles * and match lists. This enables a graphical match list. * ***********************************************************/ /*****************************************************/ /* * When reading complete tree files, it is faster to build the * dirnode tree directly from file, instead of reading the tree files * in a nameset first. Building the nameset costs a lot of reallocs. * * Each time this function is called the file is appended to the dirnode. * * Also sorting a dirnode tree is faster, because we only need to compare * directory names instead of whole paths. * * Most time is spend in addPath(). addPath() has been made faster by * using pointers directly instead of the dirnode API functions. * */ void buildTreeFromFile(char* filename, dirnode d, int quiet) { FILE *infile; int bomtype, line_nr=1; if ((filename == NULL)||(d == NULL)) return; /* open treedata-file */ if ((infile = wcd_fopen_bom(filename,"rb", quiet, &bomtype)) != NULL) { while (!feof(infile) && !ferror(infile)) /* parse the file */ { int len; char line[WCD_MAXPATH]; len = read_treefile_line(line,infile,filename,&line_nr, bomtype); if (ferror(infile)) { wcd_read_error(filename); wcd_fclose(infile, filename, "r", "buildTreeFromFile: "); return; } ++line_nr; if (len > 0 ) { wcd_fixpath(line,sizeof(line)); addPath(line,d); } } wcd_fclose(infile, filename, "r", "buildTreeFromFile: "); } else { if (!quiet) { wcd_read_error(filename); } } } /*****************************************************/ dirnode createRootNode() { dirnode rootNode; rootNode = dirnodeNew(NULL,NULL,NULL); if (rootNode != NULL) { dirnodeSetName(textNew(ROOTDIR),rootNode); dirnodeSetX(0,rootNode); dirnodeSetY(0,rootNode); } return(rootNode); } /************************************************ * * Search for dirnode with with path `path'. * If dirnode is not found return closest parent * dirnode. * ************************************************/ dirnode searchNodeForDir(text path, dirnode d, dirnode rNode) { char *s; dirnode n; dirnode rootnode; #if (defined(_WIN32) || defined(__CYGWIN__)) static char buf[WCD_MAXPATH] = "//" ; #endif if (d == NULL) return(NULL); if (rNode == NULL) { rootnode = endOfRecursionOfDirnodeParent(d); return searchNodeForDir(path, rootnode, rootnode); /* start on top of tree */ } #if (defined(_WIN32) || defined(__CYGWIN__)) if ( (path != NULL) && (*path == '/') && (*(path+1) == '/') ) { s = strtok(path,"/"); if (s != NULL) { buf[2] = '\0'; strcat(buf, s); s = buf; } } else #endif s = strtok(path,"/"); if (s != NULL) { size_t index = inDirnode(s,d); if (index == (size_t) -1) { return(d); } else { n = elementAtDirnode(index,d); return(searchNodeForDir(NULL,n,rNode)); } } return(d); } /*****************************************************/ dirnode locatePathOrSo(text path, dirnode d) { return(searchNodeForDir(path,d,NULL)); } /*****************************************************/ char *getNodeFullPath(dirnode node) { static text line = NULL; static text tline = NULL; dirnode n; /* The reconstructed path will not be longer than * it was original in the treedata file. The max length * is WCD_MAXPATH. See also function `read_treefile()' * * The reconstructed path has only an extra slash "/" * in the beginning on DOS/Windows if environment * variable HOME or WCDHOME is set * */ if (line == NULL) { line = textNewSize((size_t)(WCD_MAXPATH+1)); } if (tline == NULL) { tline = textNewSize((size_t)(WCD_MAXPATH+1)); } line[0] = '\0'; n = node; if (dirnodeHasParent(n) eq false) strcpy(line,"/"); else { while (dirnodeHasParent(n) eq true) { strcpy(tline,"/"); strcat(tline,dirnodeGetName(n)); strcat(tline,line); strcpy(line,tline); n = dirnodeGetParent(n); } } return(line); } /***************************************************** * * dirnode Left() * * Return Left node, which is parent node *****************************************************/ dirnode Left(dirnode node) { return dirnodeGetParent(node); } /***************************************************** * * dirnode Down() * * Return node Down, which is next node in parent directory *****************************************************/ dirnode Down(dirnode node) { return node->down; } /***************************************************** * * dirnode Right() * * Return Right node, which is first sub node *****************************************************/ dirnode Right(dirnode node) { if(dirnodeFold(node) eq false) return elementAtDirnode((size_t)0,node); else return(NULL); } /***************************************************** * * dirnode Up() * * Return node Up, which is previous node in parent directory *****************************************************/ dirnode Up(dirnode node) { return node->up; } /****************************************************** * * return first node in a certain level * ******************************************************/ dirnode getAnyNodeInLevel(dirnode node, int level) { dirnode n, ndown; dirnode rootnode; if (node == NULL) return(NULL); rootnode = endOfRecursionOfDirnodeParent(node); n = rootnode; /* start on top of tree */ while(n != NULL) { ndown = Down(n); while ((ndown != NULL) && (dirnodeGetY(ndown)<=level)) { n = ndown; ndown=Down(ndown); } if (dirnodeGetY(n) == level) return(n); n = Right(n); } return(NULL); /* level is larger than tree or <0 */ } /****************************************************** * * return first node in a certain level * ******************************************************/ dirnode getFirstNodeInLevel(dirnode node, int level) { return getAnyNodeInLevel(node, level); } /******************************************************/ /* get last node (most right side) on a line */ dirnode getLastNodeInSameLevel(dirnode node) { if (node == NULL) return(NULL); /* In compact mode there is only one node per line */ if (wcd_cwin.graphics_mode & WCD_GRAPH_COMPACT) return(node); if (dirHasSubdirs(node) eq false) return(node); else return getLastNodeInSameLevel(elementAtDirnode((size_t)0,node)); } /******************************************************/ dirnode getLastNodeInLevel(dirnode node, int level) { return getLastNodeInSameLevel(getAnyNodeInLevel(node,level)); } /****************************************************** * * getNodeCursUp(dirnode curNode) * * Get node up in the tree. * If node is a valid pointer to a node this function * will return always a node. ******************************************************/ dirnode getNodeCursUp(dirnode curNode) { dirnode node; if ((node = Up(curNode)) == NULL) /* there is no Up node, try left node */ { if ((node = Left(curNode)) == NULL) return(curNode); /* there is no Up or Left node, return same node */ } return(node); } /****************************************************** * * getNodeCursDown(dirnode curNode) * * Get node down in the tree. * If node is a valid pointer to a node this function * will return always a node. ******************************************************/ dirnode getNodeCursDown(dirnode curNode) { dirnode node; if ((node = Down(curNode)) == NULL) { if ((node = Right(curNode)) == NULL) { node = getFirstNodeInLevel(curNode,dirnodeGetY(curNode)+1); if (node == NULL) return(curNode); } } return(node); } /****************************************************** * * getNodeCursLeft(dirnode curNode) * * Get node left in the tree. * If node is a valid pointer to a node this function * will return always a node. ******************************************************/ dirnode getNodeCursLeft(dirnode curNode, int *ymax) { dirnode node; if ((wcd_cwin.graphics_mode & WCD_GRAPH_COMPACT) && (wcd_cwin.graphics_mode & WCD_GRAPH_ALT)) { if((dirnodeHasSubdirs(curNode) eq true) && (curNode->fold eq false)) { setFold(wcd_cwin.curNode,true,ymax); /* fold */ return(curNode); } } if ((node = Left(curNode)) == NULL) return(curNode); /* there is no Left node, return same node */ return(node); } /****************************************************** * * getNodeCursRight(dirnode curNode) * * Get node right in the tree. * If node is a valid pointer to a node this function * will return always a node. ******************************************************/ dirnode getNodeCursRight(dirnode curNode, int graphics_mode) { dirnode node; if ((node = Right(curNode)) == NULL) { if (graphics_mode & WCD_GRAPH_ALT) /* stop at end of line */ return(curNode); if ((node = Down(curNode)) == NULL) /* try to go one down */ { /* try to go one up and one down */ node = Left(curNode); while (node != NULL) { if(Down(node) != NULL) return(Down(node)); else node = Left(node); } /* node == NULL */ return(curNode); } } return(node); } /******************************************************/ dirnode getNodeLnUp(dirnode curNode) { dirnode dn; dn = getLastNodeInLevel(curNode, dirnodeGetY(curNode)-1); if(dn == NULL) { return(curNode); } else { return(dn); } } /******************************************************/ dirnode getNodeLnDn(dirnode curNode) { dirnode dn; dn = getFirstNodeInLevel(curNode,dirnodeGetY(curNode)+1); if(dn == NULL) return(curNode); else return(dn); } /******************************************************/ dirnode getNodePrev(dirnode curNode) { dirnode node; if (curNode == NULL) return(NULL); node = Left(curNode); if ((node != NULL) && (dirnodeGetY(node)==dirnodeGetY(curNode))) { return(node); } return(getNodeLnUp(curNode)); } /******************************************************/ dirnode getLastDescendant(dirnode node) { dirnode n; dirnode rootnode; if (node == NULL) return(NULL); rootnode = endOfRecursionOfDirnodeParent(node); n = rootnode; /* start on top of tree */ while(n != NULL) { while (Down(n) != NULL) n=Down(n); if (Right(n) == NULL) return(n); n = Right(n); } return(NULL); } /******************************************************/ dirnode prevNodeCiclic(dirnode curNode) { dirnode rootnode; if (curNode == NULL) return NULL; rootnode = endOfRecursionOfDirnodeParent(curNode); if (curNode == rootnode) return(getLastDescendant(curNode)); return(getNodePrev(curNode)); } /******************************************************/ dirnode nextNodeCiclic(dirnode curNode) { dirnode node; dirnode rootnode; if (curNode == NULL) return NULL; rootnode = endOfRecursionOfDirnodeParent(curNode); node = getNodeCursRight(curNode, WCD_GRAPH_NORMAL); if (node == curNode) return(rootnode); else return(node); } /******************************************************/ int getNodeDepth(dirnode curNode) { dirnode node; int thisdepth = 0; node = curNode; while ((node = Left(node)) != NULL) thisdepth++; return(thisdepth); } /******************************************************/ dirnode getNodeCursDownNatural(dirnode curNode, int graphics_mode) { dirnode node,oldnode; int thisdepth; if(Down(curNode) != NULL) return(Down(curNode)); /* go down */ if (graphics_mode & WCD_GRAPH_ALT) return(curNode); /* stop */ thisdepth = getNodeDepth(curNode); oldnode = curNode; node = getNodeCursRight(curNode, graphics_mode); /* There was no direct down node, try to find down node on same level */ while ( (node != NULL) && (node !=oldnode) && (getNodeDepth(node) != thisdepth)) { oldnode = node; node = getNodeCursRight(node, WCD_GRAPH_NORMAL); } /* node==NULL or * node==oldnode or * dept node == dept oldnode */ if (node != NULL) { if (oldnode != node) return(node); else return getNodeCursRight(curNode, WCD_GRAPH_NORMAL); } else return(curNode); } /******************************************************/ dirnode getNodeCursUpNatural(dirnode curNode, int graphics_mode) { dirnode node,oldnode; int thisdepth; if(Up(curNode) != NULL) return(Up(curNode)); /* go up */ if (graphics_mode & WCD_GRAPH_ALT) return(curNode); /* stop */ thisdepth = getNodeDepth(curNode); oldnode = curNode; node = getNodePrev(curNode); while ( (node != NULL) && (node !=oldnode) && (getNodeDepth(node) != thisdepth)) { oldnode = node; node = getNodePrev(node); } /* node==NULL or * node==oldnode or * dept node == dept oldnode */ if (node != NULL) { if(oldnode != node) return(node); else return(getNodePrev(curNode)); } else return(curNode); } /******************************************************/ int validSearchDir(char *dir, dirnode curNode, int exact, int ignore_case, int ignore_diacritics) { char path[WCD_MAX_INPSTR+2]; char *name; if ((dir == NULL)||(curNode == NULL)) return(0); /* The string length of *dir is guaranteed <= WCD_MAX_INPSTR * *path is max two characters longer * */ strcpy(path,"*"); wcd_strncat(path,dir,sizeof(path)); if (exact == 0) strcat(path,"*"); if( (name = strrchr(path,DIR_SEPARATOR)) != NULL) name++; else name = path + 1; /* matching with wildcard support !!! */ if ( #ifdef WCD_UNICODE (dd_matchmbs(dirnodeGetName(curNode),name,ignore_case,ignore_diacritics)) && (dd_matchmbs(getNodeFullPath(curNode),path,ignore_case,ignore_diacritics)) #else (dd_matchl(dirnodeGetName(curNode),name,ignore_case,ignore_diacritics)) && (dd_matchl(getNodeFullPath(curNode),path,ignore_case,ignore_diacritics)) #endif ) return(1); else return(0); } /******************************************************/ dirnode findDirInCiclePrev(char *dir, dirnode curNode, int exact, int ignore_case, int ignore_diacritics) { dirnode node; int valid; if (curNode == NULL) return NULL; node = curNode; do{ node = prevNodeCiclic(node); valid = validSearchDir(dir,node,exact,ignore_case,ignore_diacritics); } while((!valid)&&(node!=curNode)); return(node); } /******************************************************/ dirnode findDirInCicle(char *dir, dirnode curNode, int exact, int ignore_case, int ignore_diacritics) { dirnode node; int valid; if (curNode == NULL) return NULL; node = curNode; do{ node = nextNodeCiclic(node); valid = validSearchDir(dir,node,exact,ignore_case,ignore_diacritics); } while((!valid)&&(node!=curNode)); return(node); } /************************************************************ * * updateLine() * i = nodelevel * y = screen level * * **********************************************************/ #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) int wcd_wcwidth(wchar_t c) { switch(c) { case WCD_ACS_HL: case WCD_ACS_VL: case WCD_ACS_LT: case WCD_ACS_LLC: case WCD_ACS_TT: case WCD_SPACE: #ifndef ASCII_TREE if ((wcd_cwin.graphics_mode & WCD_GRAPH_CJK) && !(wcd_cwin.graphics_mode & WCD_GRAPH_ASCII)) return(2); else #endif return(1); break; case WCD_SEL_ON: case WCD_SEL_OFF: return(1); break; default: if (wcd_cwin.graphics_mode & WCD_GRAPH_CJK) return(mk_wcwidth_cjk(c)); else return(wcwidth(c)); } } int wcd_wcswidth(const wchar_t *pwcs, size_t n) { if (wcd_cwin.graphics_mode & WCD_GRAPH_CJK) return(mk_wcswidth_cjk(pwcs, n)); else return(wcswidth(pwcs, n)); } #endif #ifdef WCD_USECURSES void updateLine(WINDOW *win, dirnode n, int i, int y, dirnode curNode, int xoffset) { wcd_uchar *s; s = (wcd_uchar *)getTreeLine(getLastNodeInLevel(n,i),i,&i,curNode,false, &wcd_cwin.graphics_mode); if (s != NULL) { int j; #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) static wchar_t wstr[WCD_MAXPATH]; size_t len = MBSTOWCS(wstr,(char *)s,(size_t)WCD_MAXPATH); /* number of wide characters */ #else size_t len = strlen((char *)s); #endif wmove(win,y,0); /* if (len == (size_t) -1 ) { fprintf(stderr,"len = %d\n",len); fprintf(stderr,"s = %s\n",s); } */ #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) /* xoffset is horizontal offset measured in nr. of columns. */ if (len == (size_t) -1) { /* Erroneous multi-byte sequence */ /* Try 8 bit characters */ len = strlen((char *)s); for(j=xoffset;(j<(int)len)&&((j-xoffset)<(COLS-1));j++) { switch(s[j]) { case WCD_ACS_HL: if (wcd_cwin.graphics_mode & WCD_GRAPH_ASCII) waddch(win, (chtype)'-'); else waddch(win,ACS_HLINE); break; case WCD_ACS_VL: if (wcd_cwin.graphics_mode & WCD_GRAPH_ASCII) waddch(win, (chtype)'|'); else waddch (win,ACS_VLINE); break; case WCD_ACS_LT: if (wcd_cwin.graphics_mode & WCD_GRAPH_ASCII) waddch(win, (chtype)'|'); else waddch (win,ACS_LTEE); break; case WCD_ACS_LLC: if (wcd_cwin.graphics_mode & WCD_GRAPH_ASCII) waddch(win, (chtype)'`'); else waddch (win,ACS_LLCORNER); break; case WCD_ACS_TT: if (wcd_cwin.graphics_mode & WCD_GRAPH_ASCII) waddch(win, (chtype)'+'); else waddch (win,ACS_TTEE); break; case WCD_SPACE: waddch(win, (chtype)' '); #ifndef ASCII_TREE if ((wcd_cwin.graphics_mode & WCD_GRAPH_CJK) && !(wcd_cwin.graphics_mode & WCD_GRAPH_ASCII)) waddch(win, (chtype)' '); #endif break; case WCD_SEL_ON: wattron(win,A_REVERSE); waddch(win,(chtype)'['); /* square brackets indicate there was an error. */ break; case WCD_SEL_OFF: waddch(win,(chtype)']'); wattroff(win,A_REVERSE); break; default: waddch(win,(chtype)s[j]); } } } else { int width, c; c = 0; /* count width from beginning of string. */ j = 0; while ((j<(int)len)&&(c xoffset ) && (j>0) && ( wcd_wcwidth(wstr[j-1]) == 2)) { /* Last character skipped was a double width character. * Insert a space. */ j--; wstr[j] = ' '; } #if defined(_WIN32) || defined(__CYGWIN__) /* xoffset is horizontal offset measured in nr. of columns. * This may be at the middle of a surrogate pair. */ if ((wstr[j] >= 0xdc00) && (wstr[j] < 0xe000)) { /* Last character skipped was a surrogate lead. * First character is a surrogate trail. * Insert a space. */ wstr[j] = ' '; } #endif while ((j<(int)len)&&(wcd_wcwidth(wstr[j]) == 0 )) /* Skip combining characters */ j++; width = 0; if (j<(int)len) width = wcd_wcwidth(wstr[j]); while ((j<(int)len)&&(width'); wattroff(win,A_REVERSE); break; default: waddnwstr(win,wstr+j,1); } j++; width = width + wcd_wcwidth(wstr[j]); } } #else for(j=xoffset;(j<(int)len)&&((j-xoffset)<(COLS-1));j++) { switch(s[j]) { case WCD_ACS_HL: if (wcd_cwin.graphics_mode & WCD_GRAPH_ASCII) waddch(win, (chtype)'-'); else waddch(win,ACS_HLINE); break; case WCD_ACS_VL: if (wcd_cwin.graphics_mode & WCD_GRAPH_ASCII) waddch(win, (chtype)'|'); else waddch (win,ACS_VLINE); break; case WCD_ACS_LT: if (wcd_cwin.graphics_mode & WCD_GRAPH_ASCII) waddch(win, (chtype)'|'); else waddch (win,ACS_LTEE); break; case WCD_ACS_LLC: if (wcd_cwin.graphics_mode & WCD_GRAPH_ASCII) waddch(win, (chtype)'`'); else waddch (win,ACS_LLCORNER); break; case WCD_ACS_TT: if (wcd_cwin.graphics_mode & WCD_GRAPH_ASCII) waddch(win, (chtype)'+'); else waddch (win,ACS_TTEE); break; case WCD_SPACE: waddch(win, (chtype)' '); #ifndef ASCII_TREE if ((wcd_cwin.graphics_mode & WCD_GRAPH_CJK) && !(wcd_cwin.graphics_mode & WCD_GRAPH_ASCII)) waddch(win, (chtype)' '); #endif break; case WCD_SEL_ON: wattron(win,A_REVERSE); waddch(win,(chtype)'<'); break; case WCD_SEL_OFF: waddch(win,(chtype)'>'); wattroff(win,A_REVERSE); break; default: waddch(win,(chtype)s[j]); } } #endif } } #define WCD_NAV 0 #define WCD_SEARCH 1 /************************************************************/ char *getZoomStackPath(dirnode stack) { static text line = NULL; size_t i, size; text name; if (line == NULL) { line = textNewSize((size_t)WCD_MAXPATH); } line[0] = '\0'; size = getSizeOfDirnode(stack); for (i = 0; i < size ; i++) { if(i != 0) strcat(line,"/"); name = dirnodeGetName(elementAtDirnode(i,stack)); if((strlen(line)+strlen(name)) < (size_t)WCD_MAXPATH) strcat(line,name); } return(line); } /************************************************************/ void dataRefresh(int ydiff, int init) { int i, yoffset, len; static int xoffset = 0; /* Horizontal offset in number of columns */ static int yposition = -1; /* -1 : not initialized */ wcd_uchar *s; /* yoffset is the y-offset in the whole tree of the current node. ydiff is the y-difference in the whole tree with the previous node. yposition is the y-offset in the window (0 .. scrollWinHeight-1) */ if ((yposition < 0)|| init) yposition = (wcd_cwin.scrollWinHeight /2); WCD_WCLEAR(wcd_cwin.scrollWin); WCD_WCLEAR(wcd_cwin.inputWin); if (ydiff < 0 ) { /* going down */ if( yposition-ydiff < (wcd_cwin.scrollWinHeight-1) ) yposition -= ydiff; else yposition = (wcd_cwin.scrollWinHeight -2); } else { /* going up */ if( (yposition-ydiff) > 0 ) yposition -= ydiff; else yposition = 1; } yoffset = dirnodeGetY(wcd_cwin.curNode) - yposition; if (yoffset < 0) yoffset = 0; len=dirnodeGetX(wcd_cwin.curNode)+(int)str_columns(dirnodeGetName(wcd_cwin.curNode))+3; /* len is total nr of colums of current node plus 3 */ if (len > COLS) { int xo = len - COLS; if ((xo > xoffset) || (xoffset > (dirnodeGetX(wcd_cwin.curNode)-1))) { xoffset = xo; } } else xoffset = 0; for (i = 0; i < wcd_cwin.scrollWinHeight; i++) updateLine(wcd_cwin.scrollWin, wcd_cwin.curNode, i+yoffset, i, wcd_cwin.curNode, xoffset); for (i = 0; i < COLS; i++) { wmove(wcd_cwin.inputWin, 0, i); waddch(wcd_cwin.inputWin, (chtype)'-'); } /* mvwprintw(inputWin, 1,0,"%s",getNodeFullPath(curNode)); */ s = (wcd_uchar *)getZoomStackPath(wcd_cwin.zoomStack); /* s has size WCD_MAXPATH */ strcat((char *)s, getNodeFullPath(wcd_cwin.curNode)); wcd_fixpath((char *)s, (size_t)WCD_MAXPATH); if (s != NULL) { #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) static wchar_t wstr[WCD_MAXPATH]; /* Declarations at beginning of scope for Watcom C */ int width; #endif wmove(wcd_cwin.inputWin, 1, 0); #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) len = (int)MBSTOWCS(wstr,(char *)s,(size_t)WCD_MAXPATH); /* number of wide characters */ if (len < 0) { /* Erroneous multi-byte sequence */ /* Try 8 bit characters */ len = (int)strlen((char *)s); for (i = 0; (i < len) && (i < (COLS - 1)); i++) waddch(wcd_cwin.inputWin, (chtype)s[i]); } else { i = 0; width = wcd_wcwidth(wstr[i]); while ((i 21) { wcd_mvwaddstr(win, 0,0,_("NAVIGATION MODE (1/2):")); wcd_mvwaddstr(win, 1,0,_("h or go left")); wcd_mvwaddstr(win, 2,0,_("j or go down")); wcd_mvwaddstr(win, 3,0,_("k or go up")); wcd_mvwaddstr(win, 4,0,_("l or go right")); wcd_mvwaddstr(win, 5,0,_("* or v or go forward to dir with same name")); wcd_mvwaddstr(win, 6,0,_("# or p or go backward to dir with same name")); wcd_mvwaddstr(win, 7,0,_("^ or a go to beginning of line")); wcd_mvwaddstr(win, 8,0,_("$ or e go to end of line")); wcd_mvwaddstr(win, 9,0,_("1 go to root dir")); wcd_mvwaddstr(win,10,0,_("g or G go to last dir")); wcd_mvwaddstr(win,11,0,_("f go page forward")); wcd_mvwaddstr(win,12,0,_("b go page backward")); wcd_mvwaddstr(win,13,0,_("u go half page up")); wcd_mvwaddstr(win,14,0,_("d go half page down")); wcd_mvwaddstr(win,16,0,_("Press any key.")); wrefresh(win); getch(); WCD_WCLEAR(win); wcd_mvwaddstr(win, 0,0,_("NAVIGATION MODE (2/2):")); wcd_mvwaddstr(win, 1,0,_("A switch alternative tree navigation on/off")); wcd_mvwaddstr(win, 2,0,_("t switch centered mode on/off")); wcd_mvwaddstr(win, 3,0,_("T toggle between line drawing and ASCII characters")); wcd_mvwaddstr(win, 4,0,_("m toggle between compact and wide tree")); wcd_mvwaddstr(win, 5,0,_(" or q abort")); wcd_mvwaddstr(win, 6,0,_("/ search forward")); wcd_mvwaddstr(win, 7,0,_("? search backward")); wcd_mvwaddstr(win, 8,0,_("n repeat last / or ? search")); wcd_mvwaddstr(win, 9,0,_("CTRL-l or F5 redraw screen")); wcd_mvwaddstr(win,10,0,_(" select directory")); wcd_mvwaddstr(win,12,0,_("Press any key.")); wrefresh(win); getch(); WCD_WCLEAR(win); wcd_mvwaddstr(win, 0,0,_("SEARCH MODE with wildcard and subdir support:")); wcd_mvwaddstr(win, 1,0,_(" go left")); wcd_mvwaddstr(win, 2,0,_(" go down")); wcd_mvwaddstr(win, 3,0,_(" go up")); wcd_mvwaddstr(win, 4,0,_(" go right")); wcd_mvwaddstr(win, 5,0,_("CTRL-v go forward to dir with same name")); wcd_mvwaddstr(win, 6,0,_("CTRL-p go backward to dir with same name")); wcd_mvwaddstr(win, 7,0,_("CTRL-a go to beginning of line")); wcd_mvwaddstr(win, 8,0,_("CTRL-e go to end of line")); wcd_mvwaddstr(win, 9,0,_("CTRL-g go to last dir")); wcd_mvwaddstr(win,10,0,_("CTRL-f go page forward")); wcd_mvwaddstr(win,11,0,_("CTRL-b go page backward")); wcd_mvwaddstr(win,12,0,_("CTRL-u go half page up")); wcd_mvwaddstr(win,13,0,_("CTRL-d go half page down")); wcd_mvwaddstr(win,14,0,_(" or CTRL-x abort SEARCH MODE")); wcd_mvwaddstr(win,15,0,_("CTRL-n repeat last / or ? search")); wcd_mvwaddstr(win,16,0,_(" select directory")); wcd_mvwaddstr(win,18,0,_("Press any key.")); wrefresh(win); getch(); WCD_WCLEAR(win); wcd_mvwaddstr(win, 0,0,_("ZOOMING:")); wcd_mvwaddstr(win, 1,0,_("z or i or CTRL-i zoom in")); wcd_mvwaddstr(win, 2,0,_("Z or o or CTRL-o zoom out")); wcd_mvwaddstr(win, 3,0,_("c condense: fold current level")); wcd_mvwaddstr(win, 4,0,_("C condense: fold subdir level")); wcd_mvwaddstr(win, 5,0,_("w condense: fold current and subdir levels")); wcd_mvwaddstr(win, 6,0,_("y or CTRL-y uncondense: unfold current and subdir levels")); wcd_mvwaddstr(win, 7,0,_("r or CTRL-r uncondense: unfold all directories")); wcd_mvwaddstr(win, 8,0,_("- fold directory")); wcd_mvwaddstr(win, 9,0,_("+ or = unfold directory")); wcd_mvwaddstr(win,10,0,_("l or unfold and go right")); wcd_mvwaddstr(win,11,0,_("Press any key.")); } else wcd_mvwaddstr(win, 0,0,_("Screenheight must be > 21 for help.")); wrefresh(win); getch(); } /************************************************************/ dirnode pushZoom(dirnode zoomStack, dirnode curNode, int *ymax) { dirnode znew; /* new element on zoom stack */ dirnode top; if ((zoomStack == NULL)||(curNode == NULL)) return(NULL); top = endOfRecursionOfDirnodeParent(curNode); if (curNode == top) /* we are at the top */ return(curNode); /* store Parent, Up and Down pointers in znew */ znew = dirnodeNew(dirnodeGetParent(curNode),dirnodeGetUp(curNode),dirnodeGetDown(curNode)); dirnodeSetName(textNew(getNodeFullPath(curNode)),znew); addToDirnode (znew,zoomStack); /* curNode will be the new top node */ dirnodeSetParent(NULL,curNode); dirnodeSetUp(NULL,curNode); dirnodeSetDown(NULL,curNode); dirnodeSetX(0,curNode); dirnodeSetY(0,curNode); setXYTree(curNode, &wcd_cwin.graphics_mode); *ymax = dirnodeGetY(getLastDescendant(curNode)); return(curNode); } /************************************************************/ dirnode popZoom(dirnode zoomStack, dirnode curNode, int *ymax) { dirnode zlast; /* element on zoom stack */ dirnode top; /* the current top node */ dirnode newtop; /* the new top node */ size_t size; if ((zoomStack == NULL)||(curNode == NULL)) return(NULL); size = getSizeOfDirnode(zoomStack); if( size == 0) return(NULL); /* stack is empty */ else zlast = elementAtDirnode(size - 1,zoomStack); /* get last element on stack */ top = endOfRecursionOfDirnodeParent(curNode); /* restore pointers on top node */ dirnodeSetParent(dirnodeGetParent(zlast),top); dirnodeSetUp(dirnodeGetUp(zlast),top); dirnodeSetDown(dirnodeGetDown(zlast),top); /* remove last element from stack */ removeElementAtDirnode(size - 1, zoomStack, true, true); newtop = endOfRecursionOfDirnodeParent(top); dirnodeSetX(0,newtop); dirnodeSetY(0,newtop); setXYTree(newtop, &wcd_cwin.graphics_mode); *ymax = dirnodeGetY(getLastDescendant(newtop)); return(newtop); } /**************************************************************** * setFold() * Unfold or fold a dirnode * ****************************************************************/ void setFold(dirnode n, c3po_bool f, int *ymax) { dirnode d; if (n == NULL) return; else { if (n->size > 0) /* only (un)fold directories that have subdirs */ { dirnodeSetFold(f,n); d = endOfRecursionOfDirnodeParent(n); setXYTree(d, &wcd_cwin.graphics_mode); *ymax = dirnodeGetY(getLastDescendant(d)); } } return; } /**************************************************************** * setfold_tree() * Fold or unfold all dirnodes in tree * ****************************************************************/ void setFold_tree(dirnode d, c3po_bool *f) { dirnode n; if(dirnodeHasSubdirs(d) eq true) /* only (un)fold directories that have subdirs */ { size_t index = 0; size_t size = getSizeOfDirnode(d); d->fold = *f; while(index < size) { n = elementAtDirnode(index,d); setFold_tree(n,f); index++; } } return; } /***************************************************************** * setfold_sub() * Fold or unfold all dirnode from a sub dirnode *****************************************************************/ void setFold_sub(dirnode d, c3po_bool f, int *ymax) { dirnode top; if (d == NULL) return; else { setFold_tree(d,&f); d->fold = false; top = endOfRecursionOfDirnodeParent(d); setXYTree(top, &wcd_cwin.graphics_mode); *ymax = dirnodeGetY(getLastDescendant(top)); return; } } /***************************************************************** * setfold_all() * Fold or unfold all dirnode from top dirnode *****************************************************************/ void setFold_all(dirnode n, c3po_bool f, int *ymax) { dirnode top; if (n == NULL) return; else { top = endOfRecursionOfDirnodeParent(n); setFold_sub(top,f,ymax); return; } } /**************************************************************** * * condenseSubdirs() * This function folds all subdirectories of a dirnode. * *****************************************************************/ void condenseSubdirs(dirnode n, int *ymax) { size_t i; dirnode d; if ((n == NULL)||(dirHasSubdirs(n) eq false)) return; for(i=0;isize;i++) { d = elementAtDirnode(i,n); if (d-> size > 0) d->fold = true; } d = endOfRecursionOfDirnodeParent(n); setXYTree(d, &wcd_cwin.graphics_mode); *ymax = dirnodeGetY(getLastDescendant(d)); return; } /***************************************************************/ void condense(dirnode n, int *ymax) { if((n == NULL) || (dirnodeHasParent(n) eq false)) return; condenseSubdirs(dirnodeGetParent(n),ymax); } /***************************************************************/ #define Key_CTRL(x) ((x) & 31) char *selectANode(dirnode tree, int *use_HOME, int ignore_case, int graphics_mode,int ignore_diacritics) { int c = 0, n =0, y, ymax; int ydiff; char curPath[WCD_MAXPATH]; char *ptr, *ptr2; SCREEN *sp; #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) wint_t ch; #endif wcd_cwin.mode = WCD_NAV; wcd_cwin.graphics_mode = graphics_mode; ydiff = 0; if (tree == NULL) return NULL; ptr=NULL; if (getCurPath(curPath, (size_t)WCD_MAXPATH, use_HOME) == NULL) return NULL; wcd_cwin.curNode = locatePathOrSo(curPath,tree); if (wcd_cwin.curNode == NULL) { print_error(_("Cannot find the current path %s in the directory tree.\n"), curPath); return NULL; } wcd_cwin.zoomStack = dirnodeNew(NULL,NULL,NULL); #ifndef KEY_RESIZE #if CAN_RESIZE signal (SIGWINCH, signalSigwinch); #endif #endif /* Older versions of PDCurses and ncurses < 5.9.20120922 do not * support newterm() on Windows */ sp = newterm(NULL,stdout,stdin); if (sp == NULL) { freeDirnode(wcd_cwin.zoomStack,true); print_error("%s", _("Error opening terminal, falling back to stdout interface.\n")); return NULL; } if (wcd_cwin.graphics_mode & WCD_GRAPH_COLOR) initcolor(); keypad(stdscr, TRUE); intrflush(stdscr, FALSE); cbreak(); noecho(); nonl(); scrollok(stdscr, TRUE); /* enable scrolling */ wcd_cwin.scrollWinHeight = LINES - INPUT_WIN_HEIGHT; wcd_cwin.scrollWin = newwin(wcd_cwin.scrollWinHeight,COLS,0,0); if (wcd_cwin.scrollWin == NULL) { endwin(); delscreen(sp); freeDirnode(wcd_cwin.zoomStack,true); #ifdef XCURSES XCursesExit(); #endif print_error("%s", _("error creating scroll window.\n")); return NULL; } scrollok(wcd_cwin.scrollWin, TRUE); wcd_cwin.inputWin = newwin(INPUT_WIN_HEIGHT,COLS,wcd_cwin.scrollWinHeight,0); if (wcd_cwin.inputWin == NULL) { delwin(wcd_cwin.scrollWin); endwin(); delscreen(sp); freeDirnode(wcd_cwin.zoomStack,true); #ifdef XCURSES XCursesExit(); #endif print_error("%s", _("error creating input window.\n")); return NULL; } if (wcd_cwin.graphics_mode & WCD_GRAPH_COLOR) { colorbox (wcd_cwin.scrollWin, MENU_COLOR, 0); /* BillyC add colors */ colorbox (wcd_cwin.inputWin, BODY_COLOR, 0); /* BillyC add colors */ } wcd_cwin.str[n] = '\0'; refresh(); dataRefresh(0, 1); ymax = dirnodeGetY(getLastDescendant(wcd_cwin.curNode)); while (c != 13 ) { #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) c = get_wch(&ch); #else c = getch(); #endif ydiff = wcd_cwin.curNode->y; if (wcd_cwin.mode == WCD_NAV) #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) switch(ch) #else switch(c) #endif { case 'y': if (dirnodeHasParent(wcd_cwin.curNode) eq false) setFold_sub(wcd_cwin.curNode,false,&ymax); /* unfold tree from current dirnode */ else setFold_sub(dirnodeGetParent(wcd_cwin.curNode),false,&ymax); /* unfold tree from parent dirnode */ break; case 'r': setFold_all(wcd_cwin.curNode,false,&ymax); /* unfold complete tree */ break; case '-': setFold(wcd_cwin.curNode,true,&ymax); /* fold */ break; case '+': case '=': setFold(wcd_cwin.curNode,false,&ymax); /* unfold */ break; case 'c': condense(wcd_cwin.curNode,&ymax); /* condense */ break; case 'C': condenseSubdirs(wcd_cwin.curNode,&ymax); /* condense */ break; case 'w': if (dirnodeHasParent(wcd_cwin.curNode) eq false) setFold_sub(wcd_cwin.curNode,true,&ymax); /* fold tree from current dirnode */ else setFold_sub(dirnodeGetParent(wcd_cwin.curNode),true,&ymax); /* fold tree from parent dirnode */ break; case 'b': y = dirnodeGetY(wcd_cwin.curNode) - wcd_cwin.scrollWinHeight; if (y < 0) y = 0; wcd_cwin.curNode = getFirstNodeInLevel(wcd_cwin.curNode,y); break; case 'f': y = dirnodeGetY(wcd_cwin.curNode) + wcd_cwin.scrollWinHeight; if (y > ymax) y = ymax; wcd_cwin.curNode = getFirstNodeInLevel(wcd_cwin.curNode,y); break; case 'u': y = dirnodeGetY(wcd_cwin.curNode) - (wcd_cwin.scrollWinHeight/2); if (y < 0) y = 0; wcd_cwin.curNode = getFirstNodeInLevel(wcd_cwin.curNode,y); break; case 'd': y = dirnodeGetY(wcd_cwin.curNode) + (wcd_cwin.scrollWinHeight/2); if (y > ymax) y = ymax; wcd_cwin.curNode = getFirstNodeInLevel(wcd_cwin.curNode,y); break; case '$': case 'e': wcd_cwin.curNode = getLastNodeInSameLevel(wcd_cwin.curNode); break; case '^': case 'a': wcd_cwin.curNode = getFirstNodeInLevel(wcd_cwin.curNode,dirnodeGetY(wcd_cwin.curNode)); break; case 'k': if ((wcd_cwin.graphics_mode & WCD_GRAPH_COMPACT) && (wcd_cwin.graphics_mode & WCD_GRAPH_ALT)) { y = dirnodeGetY(wcd_cwin.curNode) - 1; if (y < 0) y = 0; wcd_cwin.curNode = getFirstNodeInLevel(wcd_cwin.curNode,y); } else wcd_cwin.curNode = getNodeCursUpNatural(wcd_cwin.curNode, wcd_cwin.graphics_mode); break; case 'j': if ((wcd_cwin.graphics_mode & WCD_GRAPH_COMPACT) && (wcd_cwin.graphics_mode & WCD_GRAPH_ALT)) { y = dirnodeGetY(wcd_cwin.curNode) + 1; if (y > ymax) y = ymax; wcd_cwin.curNode = getFirstNodeInLevel(wcd_cwin.curNode,y); } else wcd_cwin.curNode = getNodeCursDownNatural(wcd_cwin.curNode, wcd_cwin.graphics_mode); break; case ',': case 'h': wcd_cwin.curNode = getNodeCursLeft(wcd_cwin.curNode, &ymax); break; case '.': case 'l': if(dirnodeFold(wcd_cwin.curNode) eq true) { setFold(wcd_cwin.curNode,false,&ymax); } wcd_cwin.curNode = getNodeCursRight(wcd_cwin.curNode, wcd_cwin.graphics_mode); break; case '1': /* goto rootnode */ wcd_cwin.curNode = endOfRecursionOfDirnodeParent(wcd_cwin.curNode); break; case 'G': /* goto last node */ case 'g': wcd_cwin.curNode = getLastDescendant(wcd_cwin.curNode); break; case 'p': case '#': wcd_cwin.curNode = findDirInCiclePrev(dirnodeGetName(wcd_cwin.curNode),wcd_cwin.curNode,1,ignore_case,ignore_diacritics); break; case ' ': case 'v': case '*': wcd_cwin.curNode = findDirInCicle(dirnodeGetName(wcd_cwin.curNode),wcd_cwin.curNode,1,ignore_case,ignore_diacritics); break; case '/': wcd_cwin.mode = WCD_SEARCH; wcd_cwin.str[0] = '\0'; n = 0; break; case '?': wcd_cwin.mode = WCD_SEARCH; wcd_cwin.str[0] = '\0'; n = 0; break; case 'n': ptr2 = wcd_cwin.str + 1; if (n>1) { if (wcd_cwin.str[0] == '/') wcd_cwin.curNode = findDirInCicle(ptr2,wcd_cwin.curNode,0,ignore_case,ignore_diacritics); else wcd_cwin.curNode = findDirInCiclePrev(ptr2,wcd_cwin.curNode,0,ignore_case,ignore_diacritics); } break; case ':': showHelp(wcd_cwin.scrollWin,wcd_cwin.scrollWinHeight); break; case 'q': #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) ch = 3; /* 3 = Control-C */ #else c = 3; /* 3 = Control-C */ #endif break; case 'i': case 'z': pushZoom(wcd_cwin.zoomStack,wcd_cwin.curNode,&ymax); break; case 'o': case 'Z': popZoom(wcd_cwin.zoomStack,wcd_cwin.curNode,&ymax); break; case 8: /* backspace */ case KEY_BACKSPACE: wcd_cwin.curNode = findDirInCiclePrev(dirnodeGetName(wcd_cwin.curNode),wcd_cwin.curNode,1,ignore_case,ignore_diacritics); break; case 't': wcd_cwin.graphics_mode ^= WCD_GRAPH_CENTER ; break; case 'T': wcd_cwin.graphics_mode ^= WCD_GRAPH_ASCII ; if (wcd_cwin.graphics_mode & WCD_GRAPH_CJK) setXYTree(endOfRecursionOfDirnodeParent(wcd_cwin.curNode),&wcd_cwin.graphics_mode); break; case 'A': wcd_cwin.graphics_mode ^= WCD_GRAPH_ALT ; break; case 'm': wcd_cwin.graphics_mode ^= WCD_GRAPH_COMPACT ; setXYTree(endOfRecursionOfDirnodeParent(wcd_cwin.curNode),&wcd_cwin.graphics_mode); ymax = dirnodeGetY(getLastDescendant(wcd_cwin.curNode)); break; default: break; } #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) switch(ch) #else switch(c) #endif { case Key_CTRL ('y'): if (dirnodeHasParent(wcd_cwin.curNode) eq false) setFold_sub(wcd_cwin.curNode,false,&ymax); /* unfold tree from current dirnode */ else setFold_sub(dirnodeGetParent(wcd_cwin.curNode),false,&ymax); /* unfold tree from parent dirnode */ break; case Key_CTRL('r'): setFold_all(wcd_cwin.curNode,false,&ymax); /* unfold complete tree */ break; #ifdef PADMINUS case PADMINUS: setFold(wcd_cwin.curNode,true,&ymax); /* fold */ break; #endif #ifdef PADPLUS case PADPLUS: setFold(wcd_cwin.curNode,false,&ymax); /* unfold */ break; #endif case Key_CTRL ('b'): case KEY_PPAGE: /* Page Up */ #ifdef KEY_A3 case KEY_A3: /* Num-pad Page Up */ #endif y = dirnodeGetY(wcd_cwin.curNode) - wcd_cwin.scrollWinHeight; if (y < 0) y = 0; wcd_cwin.curNode = getFirstNodeInLevel(wcd_cwin.curNode,y); break; case Key_CTRL ('f'): case KEY_NPAGE: /* Page down */ #ifdef KEY_C3 case KEY_C3: /* Num-pad page down */ #endif y = dirnodeGetY(wcd_cwin.curNode) + wcd_cwin.scrollWinHeight; if (y > ymax) y = ymax; wcd_cwin.curNode = getFirstNodeInLevel(wcd_cwin.curNode,y); break; case Key_CTRL ('u'): y = dirnodeGetY(wcd_cwin.curNode) - (wcd_cwin.scrollWinHeight/2); if (y < 0) y = 0; wcd_cwin.curNode = getFirstNodeInLevel(wcd_cwin.curNode,y); break; case Key_CTRL ('d'): y = dirnodeGetY(wcd_cwin.curNode) + (wcd_cwin.scrollWinHeight/2); if (y > ymax) y = ymax; wcd_cwin.curNode = getFirstNodeInLevel(wcd_cwin.curNode,y); break; case Key_CTRL ('e'): #ifdef KEY_END case KEY_END: #endif #ifdef KEY_C1 case KEY_C1: /* Num-pad END */ #endif wcd_cwin.curNode = getLastNodeInSameLevel(wcd_cwin.curNode); break; case Key_CTRL ('a'): case KEY_HOME: #ifdef KEY_A1 case KEY_A1: /* Num-pad HOME */ #endif wcd_cwin.curNode = getFirstNodeInLevel(wcd_cwin.curNode,dirnodeGetY(wcd_cwin.curNode)); break; case KEY_UP: /* Arrow Up */ #ifdef KEY_A2 case KEY_A2: /* Num-pad ARROW UP */ #endif if ((wcd_cwin.graphics_mode & WCD_GRAPH_COMPACT) && (wcd_cwin.graphics_mode & WCD_GRAPH_ALT)) { y = dirnodeGetY(wcd_cwin.curNode) - 1; if (y < 0) y = 0; wcd_cwin.curNode = getFirstNodeInLevel(wcd_cwin.curNode,y); } else wcd_cwin.curNode = getNodeCursUpNatural(wcd_cwin.curNode, wcd_cwin.graphics_mode); break; case KEY_DOWN: /* Arrow down */ #ifdef KEY_C2 case KEY_C2: /* Num-pad Arrow down */ #endif if ((wcd_cwin.graphics_mode & WCD_GRAPH_COMPACT) && (wcd_cwin.graphics_mode & WCD_GRAPH_ALT)) { y = dirnodeGetY(wcd_cwin.curNode) + 1; if (y > ymax) y = ymax; wcd_cwin.curNode = getFirstNodeInLevel(wcd_cwin.curNode,y); } else wcd_cwin.curNode = getNodeCursDownNatural(wcd_cwin.curNode, wcd_cwin.graphics_mode); break; case KEY_LEFT: #ifdef KEY_B1 case KEY_B1: /* Num-pad Arrow left */ #endif wcd_cwin.curNode = getNodeCursLeft(wcd_cwin.curNode, &ymax); break; case KEY_RIGHT: #ifdef KEY_B3 case KEY_B3: /* Num-pad key_right */ #endif if(dirnodeFold(wcd_cwin.curNode) eq true) { setFold(wcd_cwin.curNode,false,&ymax); } wcd_cwin.curNode = getNodeCursRight(wcd_cwin.curNode, wcd_cwin.graphics_mode); break; case Key_CTRL ('g'): wcd_cwin.curNode = getLastDescendant(wcd_cwin.curNode); break; case Key_CTRL ('p'): wcd_cwin.curNode = findDirInCiclePrev(dirnodeGetName(wcd_cwin.curNode),wcd_cwin.curNode,1,ignore_case,ignore_diacritics); break; case Key_CTRL ('v'): wcd_cwin.curNode = findDirInCicle(dirnodeGetName(wcd_cwin.curNode),wcd_cwin.curNode,1,ignore_case,ignore_diacritics); break; case Key_CTRL ('n'): ptr2 = wcd_cwin.str + 1; if (n>1) { if (wcd_cwin.str[0] == '/') wcd_cwin.curNode = findDirInCicle(ptr2,wcd_cwin.curNode,0,ignore_case,ignore_diacritics); else wcd_cwin.curNode = findDirInCiclePrev(ptr2,wcd_cwin.curNode,0,ignore_case,ignore_diacritics); } break; case KEY_F (1): showHelp(wcd_cwin.scrollWin,wcd_cwin.scrollWinHeight); break; case KEY_F (5): case Key_CTRL ('l'): #ifdef KEY_RESIZE case KEY_RESIZE: #endif ioResize(); break; case Key_CTRL ('i'): pushZoom(wcd_cwin.zoomStack,wcd_cwin.curNode,&ymax); break; case Key_CTRL ('o'): popZoom(wcd_cwin.zoomStack,wcd_cwin.curNode,&ymax); break; case 3: /* Control-C */ case 27: /* Escape */ case Key_CTRL (']'): case Key_CTRL ('x'): case Key_CTRL ('q'): if (wcd_cwin.mode == WCD_SEARCH) wcd_cwin.mode = WCD_NAV; else c = 13; break; case 13: /* Enter */ case KEY_ENTER: c = 13; ptr = getZoomStackPath(wcd_cwin.zoomStack); /* s has size WCD_MAXPATH */ strcat(ptr,getNodeFullPath(wcd_cwin.curNode)); wcd_fixpath(ptr, (size_t)WCD_MAXPATH); break; case 8: /* backspace */ case 127: /* delete */ case KEY_BACKSPACE: case KEY_DC: if(n==1) wcd_cwin.mode = WCD_NAV; if(n>1) n--; wcd_cwin.str[n] = '\0'; #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) wcd_cwin.wstr[n] = '\0'; #endif break; default: if ((wcd_cwin.mode == WCD_SEARCH) && (n < (WCD_MAX_INPSTR -1))) { #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) wcd_cwin.wstr[n] = (wchar_t)ch; n++; wcd_cwin.wstr[n] = '\0'; /* Convert wide-character input string to byte string. Needed for searching. */ if (WCSTOMBS(wcd_cwin.str, wcd_cwin.wstr, (size_t)WCD_MAX_INPSTR) == (size_t)(-1)) { n=1; wcd_cwin.str[n] = '\0'; } #else wcd_cwin.str[n] = (char)c; n++; wcd_cwin.str[n] = '\0'; #endif ptr2 = wcd_cwin.str + 1; if (n>1) { if (wcd_cwin.str[0] == '/') wcd_cwin.curNode = findDirInCicle(ptr2,wcd_cwin.curNode,0,ignore_case,ignore_diacritics); else wcd_cwin.curNode = findDirInCiclePrev(ptr2,wcd_cwin.curNode,0,ignore_case,ignore_diacritics); } } break; } if (wcd_cwin.curNode == NULL) { delwin(wcd_cwin.scrollWin); delwin(wcd_cwin.inputWin); endwin(); delscreen(sp); freeDirnode(wcd_cwin.zoomStack,true); #ifdef XCURSES XCursesExit(); #endif print_error(_("Cannot find the current path %s in the directory tree.\n"), curPath); return NULL; } ydiff -= (wcd_cwin.curNode->y); if (wcd_cwin.graphics_mode & WCD_GRAPH_CENTER) dataRefresh(0, 1); else dataRefresh(ydiff, 0); } delwin(wcd_cwin.scrollWin); delwin(wcd_cwin.inputWin); endwin(); delscreen(sp); freeDirnode(wcd_cwin.zoomStack,true); #ifdef XCURSES XCursesExit(); #endif printf("\n"); /* Extra newline for curses, pdcurses and when ncurses doesn't restore screen */ #ifdef _WCD_DOSFS /* remove '/' before drive letter */ if ((ptr != NULL)&&(*use_HOME)&& (*(ptr+1) != '/')) /* UNC path */ trimPath(ptr,1); #endif wcd_fixpath(ptr, (size_t)WCD_MAXPATH); return(ptr); } #endif /* WCD_USECURSES */ wcd-6.0.3/src/graphics.h0000644000175500010010000000350213524756523014320 0ustar waterlanGeen/* Copyright (C) 2000-2013 Erwin Waterlander 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef _WCD_GRAPHICS_H #define _WCD_GRAPHICS_H dirnode createRootNode(void); void buildTreeFromFile(char *filename, dirnode d, int quiet); void buildTreeFromNameset(nameset set, dirnode d); void sortTree(dirnode d); void setXYTree(dirnode d, const int *graphics_mode); void dumpTree(dirnode d, const int *graphics_mode); char *selectANode(dirnode tree, int *use_HOME, int ignore_case, int graphics_mode,int ignore_diacritics); void setFold(dirnode n, c3po_bool f, int *ymax); #define WCD_GRAPH_NO 0 /* no graphics */ #define WCD_GRAPH_NORMAL 1 /* graphics mode */ #define WCD_GRAPH_DUMP 2 /* dump graphics */ #define WCD_GRAPH_ALT 4 /* alternative navigating */ #define WCD_GRAPH_COLOR 8 /* colors */ #define WCD_GRAPH_CENTER 16 /* center current directory */ #define WCD_GRAPH_ASCII 32 /* draw tree with ASCII characters */ #define WCD_GRAPH_COMPACT 64 /* draw compact tree */ #define WCD_GRAPH_CJK 128 /* East-Asian CJK font with double width line drawing symbols */ #if defined(WCD_UNICODE) || defined(WCD_WINDOWS) int wcd_wcwidth(wchar_t c); int wcd_wcswidth(const wchar_t *pwcs, size_t n); #endif #endif wcd-6.0.3/src/Makefile0000644000175500010010000004733113524756523014017 0ustar waterlanGeen# Copyright information # # Copyright (C) 2009-2018 Erwin Waterlander # Copyright (C) 2009 Jari Aalto # # License # # 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 at # Visit . # # Description # # This is a GNU Makefile that uses GNU compilers, linkers and cpp. The # platform specific issues are determined by the various OS teets that # rely on the uname(1) command and directory locations. # # Developer notes # # In order to clean generated POD files and manuals: # # make maintainer-clean # # Set additional flags for the build with variables CFLAGS_USER, # DEFS_USER and LDFLAGS_USER. ifneq (,) This makefile requires GNU Make. endif include version.mk .PHONY: status uninstall install install-man install-doc install-pdf dist dist-zip dist-tgz .PHONY: doc man txt html ps pdf mofiles tags merge .PRECIOUS: %.1 %.pod CC ?= gcc STATIC = STRIP = strip ENABLE_NLS = 1 PACKAGE = wcd EXT = .exe PROGRAM = $(PACKAGE)$(EXT) BIN = $(PROGRAM) PREFIX = /usr prefix = $(PREFIX) exec_prefix = $(prefix) bindir = $(exec_prefix)/bin datarootdir = $(prefix)/share datadir = $(datarootdir) docsubdir = $(PACKAGE)-$(VERSION) docdir = $(datarootdir)/doc/$(docsubdir) localedir = $(datarootdir)/locale sysconfdir = /etc # 1 = regular, 5 = conf, 6 = games, 8 = daemons mandir = $(datarootdir)/man man1dir = $(mandir)/man1 # On some systems (e.g. FreeBSD 4.10) GNU install is installed as `ginstall'. INSTALL = install # On some systems (e.g. GNU Win32) GNU mkdir is installed as `gmkdir'. MKDIR = mkdir INSTALL_PROGRAM = $(INSTALL) -m 755 INSTALL_DATA = $(INSTALL) -m 644 INSTALL_SUID = $(INSTALL) -m 4755 INSTALL_OBJS_BIN = $(BIN) HTMLEXT = htm # English manual MANFILES_EN = man/man1/wcd.1 TXTFILES_EN = man/man1/wcd.txt HTMLFILES_EN = man/man1/wcd.$(HTMLEXT) PSFILES_EN = man/man1/wcd.ps PDFFILES_EN = man/man1/wcd.pdf # Documents for end users, not for developers: INSTALL_OBJS_DOC = \ ../doc/faq.txt \ ../doc/whatsnew.txt \ ../doc/README.txt \ ../doc/problems.txt \ ../doc/todo.txt \ ../doc/INSTALL.txt \ ../doc/UNIX.txt \ ../doc/copying.txt ifdef ENABLE_NLS POT = po/$(PACKAGE).pot POFILES = $(wildcard po/*.po) MOFILES = $(patsubst %.po,%.mo,$(POFILES)) NLSSUFFIX = -nls endif # International manuals ifdef ENABLE_NLS MANPOTFILE = po-man/wcd-man.pot MANPOFILES = $(wildcard po-man/*.po) MANPODFILES = $(patsubst po-man/%.po,man/%/man1/wcd.pod,$(MANPOFILES)) endif MANFILES = $(patsubst %.pod,%.1,$(MANPODFILES)) TXTFILES = $(patsubst %.pod,%.txt,$(MANPODFILES)) HTMLFILES = $(patsubst %.pod,%.$(HTMLEXT),$(MANPODFILES)) PSFILES = $(patsubst %.pod,%.ps,$(MANPODFILES)) PDFFILES = $(patsubst %.pod,%.pdf,$(MANPODFILES)) CPP = cpp CFLAGS_VERSION = -DVERSION=\"$(VERSION)\" -DVERSION_DATE=\"$(VERSION_DATE)\" DEF_UNIX = -DUNIX EXTRA_DEFS = VERSIONSUFFIX = -bin # Large File Support (LFS) LFS = 1 # DEBUG=1 adds the -g option to CFLAGS, for adding debug symbols. DEBUG = 0 # DEBUGMSG=1 adds -DDEBUG=1 to CFLAGS, for extra verbose messages. DEBUGMSG = 0 wcd_os := $(shell uname) # Enble Unicode UCS = 1 ifdef WCD_UTF8 # WCD_UTF8 was used in older versions. UCS=1 endif ifdef UNINORM UCS = 1 endif ZIPOBJ = bin/$(BIN) \ share/man/man1/$(PACKAGE).1 \ share/doc/$(docsubdir)/*.* \ $(ZIPOBJ_EXTRA) INSTALL_TARGETS = install-bin install-man install-doc ifdef ENABLE_NLS INSTALL_TARGETS += install-mo ZIPOBJ += share/locale/*/LC_MESSAGES/$(PACKAGE).mo ZIPOBJ += share/man/*/man1/$(PACKAGE).1 ZIPOBJ += share/doc/$(docsubdir)/*/* endif ifdef ENABLE_NLS NLSDEFS = -DENABLE_NLS -DLOCALEDIR=\"$(localedir)\" -DPACKAGE=\"$(PACKAGE)\" endif # ......................................................... OS flags ... OS = ifndef OS ifeq ($(findstring CYGWIN,$(wcd_os)),CYGWIN) OS = cygwin endif endif ifndef OS ifeq ($(findstring MSYS,$(wcd_os)),MSYS) OS = msys # MSYS 1 does not support locales and no Unicode. ifeq ($(shell ./chk_loc.sh en_US.utf8),no) MSYS_VERSION=1 else MSYS_VERSION=2 endif endif endif ifndef OS ifeq ($(findstring MINGW,$(wcd_os)),MINGW) OS = mingw endif endif ifndef OS ifneq ($(DJGPP),) OS = msdos endif endif ifndef OS ifneq (, $(wildcard /opt/csw)) OS = sun endif endif ifndef OS OS=$(shell echo $(wcd_os) | tr '[A-Z]' '[a-z]') endif ifeq (cygwin,$(OS)) ifdef ENABLE_NLS LIBS_EXTRA = -lintl -liconv -lmpr else LIBS_EXTRA = -lmpr endif UNINORM = 1 LDFLAGS_EXTRA = -Wl,--enable-auto-import INSTALL_TARGETS += install-profile docsubdir = $(PACKAGE) MACHINE := $(subst -pc-cygwin,,$(shell gcc -dumpmachine)) VERSIONSUFFIX = -cygwin-$(MACHINE) endif ifeq (os/2,$(OS)) prefix = c:/usr PROGRAM = wcdos2.exe DEF_UNIX = UCS = UNINORM = LDFLAGS_EXTRA = -Zhigh-mem -Zomf -Zargs-resp ZIPOBJ_EXTRA=bin/wcd.cmd VERSIONSUFFIX = -os2 LIBS_EXTRA = ifdef ENABLE_NLS LIBS_EXTRA += -lintl endif endif ifeq (mingw,$(OS)) CC = gcc DEF_UNIX = LIBS_EXTRA = -lkernel32 -luser32 -lmpr ifdef ENABLE_NLS LIBS_EXTRA += -lintl -liconv endif endif ifeq (msdos,$(OS)) CC = gcc DEF_UNIX = UCS = UNINORM = endif ifeq (msys,$(OS)) CC = gcc CFLAGS_OS = -DWCD_MSYS PROGRAM = wcdmsys.exe LIBS_EXTRA = -lkernel32 -luser32 -lmpr MACHINE := $(subst -pc-msys,,$(shell gcc -dumpmachine)) ifeq ($(MSYS_VERSION),1) UCS = UNINORM = VERSIONSUFFIX = -msys1-$(MACHINE)-$(CURSES) else UCS = 1 UNINORM = 1 VERSIONSUFFIX = -msys2-$(MACHINE) endif ifdef ENABLE_NLS LIBS_EXTRA += -lintl -liconv endif endif ifeq (freebsd,$(OS)) # Running under FreeBSD ifdef ENABLE_NLS CFLAGS_OS = -I/usr/local/include LDFLAGS_EXTRA = -L/usr/local/lib LIBS_EXTRA = -lintl endif endif ifeq (darwin, $(OS)) ifdef ENABLE_NLS CFLAGS_OS = -I/usr/local/include LDFLAGS_EXTRA = -L/usr/local/lib LIBS_EXTRA = -lintl endif endif ifeq (sun,$(OS)) # Running under SunOS/Solaris LIBS_EXTRA = -lintl endif ifeq (hp-ux,$(OS)) # Running under HP-UX EXTRA_DEFS += -Dhpux -D_HPUX_SOURCE -D_XOPEN_SOURCE_EXTENDED # These flags were for native HP compiler # CFLAGS_OS = -O -Aa endif # .......................................................... unicode ... ifdef UCS CFLAGS_UCS = -std=gnu99 WDEFS = -DWCD_UNICODE endif ifdef UNINORM CFLAGS_UCS = -std=gnu99 WDEFS = -DWCD_UNICODE -DWCD_UNINORM LIB_UNISTRING = -lunistring endif ifdef UCS UCSSUFFIX = -ucs EXTRA_OBJ += matchw.o endif # ........................................................... curses ... # possible values: ncurses, curses, pdcurses, pdcursesw or ifdef UCS CURSES = ncursesw else CURSES = ncurses endif # The default console for msys1 is the cmd.exe console. rxvt and mintty are # available for msys1, but I guess most people use cmd, console, or conemu for # msys1. Therefore we use pdcurses for msys1. msys2's default console is # mintty. For msys2 we use ncurses. ifeq (msys,$(OS)) ifeq ($(MSYS_VERSION),1) CURSES = pdcurses endif endif # The native Windows versions use PDCurses, because there are problems # with the ncurses mingw port. # All native Windows versions (with and without Unicode support) use wide # (Unicode) curses functions. ifeq (mingw,$(OS)) CURSES = pdcursesw endif ifdef CURSES ifdef UCS EXTRA_OBJ += wcwidth.o endif endif ifneq (,$(CURSES)) DEFS_CURSES = -DWCD_USECURSES LIB_CURSES = -l$(CURSES) ifeq (os/2,$(OS)) LIB_CURSES += -ltinfo endif endif INCPREFIX=/usr ifeq ($(findstring MINGW,$(wcd_os)),MINGW) ifeq ($(shell gcc -dumpmachine),i686-w64-mingw32) INCPREFIX=/mingw32 CFLAGS_COMPILER = -DWCD_MINGW32_W64=1 else ifeq ($(shell gcc -dumpmachine),x86_64-w64-mingw32) INCPREFIX=/mingw64 else INCPREFIX=/mingw endif endif endif # Each ncurses variant has its own include directory # ncurses (normal)/ncursesw (wide char)/ncursest (threads) ifeq ($(findstring ncurses,$(CURSES)),ncurses) ifneq ($(wildcard $(INCPREFIX)/include/$(CURSES)/curses.h),) INCFLAGS = -I$(INCPREFIX)/include/$(CURSES) -I$(INCPREFIX)/include endif ifeq ($(NCURSES_DEBUG), 1) LIB_CURSES = -l$(CURSES)_g endif else INCFLAGS = -I$(INCPREFIX)/include endif ifeq ($(CURSES),ncursesw) EXTRA_DEFS += -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED endif ifeq ($(CURSES),pdcursesw) EXTRA_DEFS += -DPDC_STATIC_BUILD -DPDC_WIDE endif # Local installation prefix of ncurses. #LOCAL_NCURSES = $(HOME) # #ifneq (, $(wildcard $(LOCAL_NCURSES)/include/ncurses.h)) # NCFLAG = -I$(LOCAL_NCURSES)/include # NLFLAG = -L$(LOCAL_NCURSES)/lib #endif # ............................................................ flags ... # Statically linking of a specific library can be done by linking # to a lib*.a library file instead a lib*.s* library file. # To link ncurses statically (if your system links by default # dynamically) comment the LDFLAGS line and add the 'libncurses.a' file # (often found as /usr/lib/libncurses.a) to the OBJS1 list. CFLAGS_USER = ifeq ($(DEBUG), 1) CFLAGS_OPT = -O0 else CFLAGS_OPT = -O2 endif CFLAGS ?= CFLAGS += $(CFLAGS_OPT) ifeq ($(DEBUG), 1) CFLAGS += -g endif CFLAGS += -Wall -Wextra -Wno-unused-parameter -Wconversion $(RPM_OPT_FLAGS) $(CPPFLAGS) $(CFLAGS_USER) EXTRA_CFLAGS = -Ic3po \ $(CFLAGS_VERSION) \ $(CFLAGS_OS) \ $(CFLAGS_UCS) \ $(CFLAGS_COMPILER) \ $(WDEFS) \ $(NLSDEFS) \ $(NCFLAG) \ $(INCFLAGS) \ -DDEBUG=$(DEBUGMSG) ifdef LFS EXTRA_CFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 endif ifdef ASCII_TREE EXTRA_CFLAGS += -DASCII_TREE endif ifdef STATIC LDFLAG_STATIC = -static endif LDFLAGS_USER = LDFLAGS ?= LDFLAGS += $(RPM_LD_FLAGS) \ $(LDFLAGS_EXTRA) \ $(NLFLAG) \ $(LDFLAG_STATIC) \ $(LDFLAGS_USER) LIBS = $(LIB_CURSES) \ $(LIB_UNISTRING) \ $(LIBS_EXTRA) DEFS_USER = DEFS = $(DEF_UNIX) $(DEFS_CURSES) $(EXTRA_DEFS) $(DEFS_USER) # .......................................................... targets ... OBJS1 = \ wcd.o \ match.o \ stack.o \ nameset.o \ intset.o \ Error.o \ Text.o \ WcdStack.o \ dirnode.o \ display.o \ wfixpath.o \ wcddir.o \ matchl.o \ querycp.o \ finddirs.o \ $(EXTRA_OBJ) ifneq (,$(CURSES)) OBJS1 += colors.o \ graphics.o endif all: $(BIN) doc mofiles man status: @echo "-- $(PACKAGE) Makefile settings begin --" @echo "OS = $(OS)" @echo "prefix = $(prefix)" @echo "EXT = $(EXT)" @echo "UNINORM = $(UNINORM)" @echo "STATIC = $(STATIC)" @echo "UCS = $(UCS)" @echo "ENABLE_NLS = $(ENABLE_NLS)" @echo "CURSES = $(CURSES)" @echo "DEFS = $(DEFS)" @echo "DEFS_CURSES = $(DEFS_CURSES)" @echo "EXTRA_DEFS = $(EXTRA_DEFS)" @echo "LDFLAGS = $(LDFLAGS)" @echo "LDFLAGS_EXTRA = $(LDFLAGS_EXTRA)" @echo "LIBS = $(LIBS)" @echo "CFLAGS = $(CFLAGS)" @echo "CFLAGS_OS = $(CFLAGS_OS)" @echo "EXTRA_CFLAGS = $(EXTRA_CFLAGS)" @echo "DEBUG = $(DEBUG)" @echo "DEBUGMSG = $(DEBUGMSG)" @echo "-- $(PACKAGE) Makefile settings end --" $(BIN): $(OBJS1) $(MAKE) status $(CC) $(OBJS1) $(LDFLAGS) $(LIBS) -o $@ %.o: %.c $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(DEFS) -c $< -o $@ wcd.o: wcd.c wcd.h version.mk $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(DEFS) -c $< -o $@ %.o: c3po/%.c $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(DEFS) -c $< -o $@ %.pdf: %.ps ps2pdf $< $@ $(MANPOTFILE) : man/man1/wcd.pod $(MAKE) -C man/man1 ../../po-man/$(notdir $@) # WARNING: Backward-incompatibility since GNU make 3.82. # The pattern-specific variables and pattern rules are now applied in the # shortest stem first order instead of the definition order (variables # and rules with the same stem length are still applied in the definition # order). # In order to stay compatible with GNU make < 3.82 we put the rule with # the shortest stem first. po/%.po : $(POT) msgmerge --no-wrap -U $@ $(POT) --backup=numbered # change timestamp in case .po file was not updated. touch $@ %.po : man/man1/wcd.pod $(MAKE) -C man/man1 $(subst po-man/,../../po-man/,$@) man/%/man1/wcd.pod : po-man/%.po $(MAKE) -C man/man1 $(subst man/,../,$@) # Empty recipe to break circular dependency. man/man1/wcd.pod : ; %.1 : %.pod $(MAKE) -C man/man1 PODCENTER=$(VERSION_DATE) $(subst man/,../,$@) %.txt : %.pod pod2text $< > $@ %.ps : %.1 groff -man $< -T ps > $@ %.$(HTMLEXT) : %.pod PERL_UNICODE=SDA pod2html --title="$(PACKAGE) $(VERSION) - Wherever Change Directory" $< > $@ man/uk/man1/$(PACKAGE).$(HTMLEXT) : man/uk/man1/$(PACKAGE).pod PERL_UNICODE=SDA pod2html --title="$(PACKAGE) $(VERSION) - довільна зміна каталогу (Wherever Change Directory)" $< > $@ man: $(MANFILES_EN) $(MANFILES) $(MANPOTFILE) html: $(HTMLFILES_EN) $(HTMLFILES) txt: $(TXTFILES_EN) $(TXTFILES) ps: $(PSFILES_EN) $(PSFILES) pdf: $(PDFFILES_EN) $(PDFFILES) mofiles: $(MOFILES) doc: txt html tags: $(POT) merge: $(POFILES) # Get new po files from the Translation Project. getpo: rsync -Lrtvz translationproject.org::tp/latest/wcd/ po/incoming/ getpoman: rsync -Lrtvz translationproject.org::tp/latest/wcd-man/ po-man/incoming/ %.mo : %.po msgfmt -c $< -o $@ $(POT) : wcd.c wcddir.c stack.c display.c graphics.c wfixpath.c finddirs.c c3po/Error.c xgettext --no-wrap -C --keyword=_ $+ -o $(POT) ZIPFILE = $(PACKAGE)-$(VERSION)$(VERSIONSUFFIX)$(NLSSUFFIX)$(UCSSUFFIX).zip TGZFILE = $(PACKAGE)-$(VERSION)$(VERSIONSUFFIX)$(NLSSUFFIX)$(UCSSUFFIX).tar.gz dist-zip: rm -f $(prefix)/$(ZIPFILE) cd $(prefix) ; zip -r $(ZIPFILE) $(ZIPOBJ) mv -f $(prefix)/$(ZIPFILE) ../.. dist-tgz: cd $(prefix) ; tar cvzf $(TGZFILE) $(ZIPOBJ) mv -f $(prefix)/$(TGZFILE) ../.. dist: dist-tgz strip: @echo "-- target: strip" $(STRIP) $(BIN) mostlyclean: @echo "-- target: mostlyclean" -rm -f \ $(BIN) \ *.exe \ *.o \ *.tmp \ */*.o \ po/*.mo \ ../*/*.bck \ ../*/*.bak \ ../*/*[#~] \ *.\#* \ */*.bak \ */*.bck \ */*~ \ */*/*.bak \ */*/*~ \ */*/*/*.bak \ */*/*/*~ \ *.stackdump clean: mostlyclean @echo "-- target: clean" rm -f man/man1/*.ps rm -f man/man1/*.pdf rm -f man/*/man1/*.ps rm -f man/*/man1/*.pdf distclean: clean @echo "-- target: distclean" maintainer-clean: distclean @echo "-- target: maintainer-clean:" rm -f man/man1/*.1 rm -f man/man1/*.txt rm -f man/man1/*.$(HTMLEXT) rm -f po-man/wcd-man.pot rm -f man/*/man1/*.1 rm -f man/*/man1/*.txt rm -f man/*/man1/*.pod rm -f man/*/man1/*.$(HTMLEXT) # 'maintainer-clean' was 'realclean' in old GNU standards. realclean: maintainer-clean # Install shell function (sh) and alias (csh). # If DOTWCD=1, the shell scripts define WCDHOME=$HOME/.wcd install-profile: @echo "-- target: install-profile" mkdir -p $(DESTDIR)$(sysconfdir)/profile.d ifdef DOTWCD sed -e "s#BINDIR#$(bindir)#" -e "s/PROGRAM/$(BIN)/" -e 's/##//' etc/profile.d/wcd.sh > $(DESTDIR)$(sysconfdir)/profile.d/wcd.sh sed -e "s#BINDIR#$(bindir)#" -e "s/PROGRAM/$(BIN)/" -e 's/##//' etc/profile.d/wcd.csh > $(DESTDIR)$(sysconfdir)/profile.d/wcd.csh else sed -e "s#BINDIR#$(bindir)#" -e "s/PROGRAM/$(BIN)/" etc/profile.d/wcd.sh > $(DESTDIR)$(sysconfdir)/profile.d/wcd.sh sed -e "s#BINDIR#$(bindir)#" -e "s/PROGRAM/$(BIN)/" etc/profile.d/wcd.csh > $(DESTDIR)$(sysconfdir)/profile.d/wcd.csh endif # Old versions of install(1) don't support option -D. Use # mkdir instead. Was seen on HP-UX 11 and DOS DJGPP. install-mo: mofiles @echo "-- target: install-mo" $(foreach mofile, $(MOFILES), $(MKDIR) -p -m 755 $(DESTDIR)$(localedir)/$(basename $(notdir $(mofile)))/LC_MESSAGES ;) $(foreach mofile, $(MOFILES), $(INSTALL_DATA) $(mofile) $(DESTDIR)$(localedir)/$(basename $(notdir $(mofile)))/LC_MESSAGES/$(PACKAGE).mo ;) install-doc: doc @echo "-- target: install-doc" $(MKDIR) -p -m 755 $(DESTDIR)$(docdir) $(INSTALL_DATA) $(INSTALL_OBJS_DOC) $(DESTDIR)$(docdir) $(INSTALL_DATA) $(TXTFILES_EN) $(DESTDIR)$(docdir) $(INSTALL_DATA) $(HTMLFILES_EN) $(DESTDIR)$(docdir) ifdef ENABLE_NLS $(foreach txtfile, $(TXTFILES), $(MKDIR) -p -m 755 $(DESTDIR)$(docdir)/$(word 2,$(subst /, ,$(txtfile),)) ;) $(foreach txtfile, $(TXTFILES), $(INSTALL_DATA) $(txtfile) $(DESTDIR)$(docdir)/$(word 2,$(subst /, ,$(txtfile),)) ;) $(foreach htmlfile, $(HTMLFILES), $(MKDIR) -p -m 755 $(DESTDIR)$(docdir)/$(word 2,$(subst /, ,$(htmlfile),)) ;) $(foreach htmlfile, $(HTMLFILES), $(INSTALL_DATA) $(htmlfile) $(DESTDIR)$(docdir)/$(word 2,$(subst /, ,$(htmlfile),)) ;) endif # No dependency. Install pdf/ps only when they have been manually generated. install-pdf: @echo "-- target: install-pdf" $(MKDIR) -p -m 755 $(DESTDIR)$(docdir) $(foreach pdffile, $(wildcard man/man1/*.pdf), $(INSTALL_DATA) $(pdffile) $(DESTDIR)$(docdir) ;) $(foreach psfile, $(wildcard man/man1/*.ps), $(INSTALL_DATA) $(psfile) $(DESTDIR)$(docdir) ;) ifdef ENABLE_NLS $(foreach pdffile, $(wildcard man/*/man1/*.pdf), $(MKDIR) -p -m 755 $(DESTDIR)$(docdir)/$(word 2,$(subst /, ,$(pdffile),)) ;) $(foreach pdffile, $(wildcard man/*/man1/*.pdf), $(INSTALL_DATA) $(pdffile) $(DESTDIR)$(docdir)/$(word 2,$(subst /, ,$(pdffile),)) ;) $(foreach psfile, $(wildcard man/*/man1/*.ps), $(MKDIR) -p -m 755 $(DESTDIR)$(docdir)/$(word 2,$(subst /, ,$(psfile),)) ;) $(foreach psfile, $(wildcard man/*/man1/*.ps), $(INSTALL_DATA) $(psfile) $(DESTDIR)$(docdir)/$(word 2,$(subst /, ,$(psfile),)) ;) endif install-man: man @echo "-- target: install-man" $(MKDIR) -p -m 755 $(DESTDIR)$(man1dir) $(INSTALL_DATA) $(MANFILES_EN) $(DESTDIR)$(man1dir) ifdef ENABLE_NLS $(foreach manfile, $(MANFILES), $(MKDIR) -p -m 755 $(DESTDIR)$(datarootdir)/$(dir $(manfile)) ;) $(foreach manfile, $(MANFILES), $(INSTALL_DATA) $(manfile) $(DESTDIR)$(datarootdir)/$(dir $(manfile)) ;) endif install-bin: $(BIN) @echo "-- target: install-bin" $(MKDIR) -p -m 755 $(DESTDIR)$(bindir) $(INSTALL_PROGRAM) $(INSTALL_OBJS_BIN) $(DESTDIR)$(bindir) ifeq (os/2,$(OS)) $(INSTALL_PROGRAM) ../os2/$(PACKAGE).cmd $(DESTDIR)$(bindir) endif install: $(INSTALL_TARGETS) # Run a new instance of 'make' otherwise the $$(wildcard ) function my not have been expanded, # because the files may not have been there when make was started. $(MAKE) install-pdf uninstall: @echo "-- target: uninstall" -rm -f $(DESTDIR)$(bindir)/$(BIN) -rm -f $(DESTDIR)$(mandir)/man1/$(PACKAGE).1 -rm -rf $(DESTDIR)$(docdir) ifdef ENABLE_NLS $(foreach mofile, $(MOFILES), rm -f $(DESTDIR)$(localedir)/$(basename $(notdir $(mofile)))/LC_MESSAGES/$(PACKAGE).mo ;) $(foreach manfile, $(MANFILES), rm -f $(DESTDIR)$(datarootdir)/$(manfile) ;) endif # End of file wcd-6.0.3/src/man/0000755000175500010010000000000013524756531013121 5ustar waterlanGeenwcd-6.0.3/src/man/de/0000755000175500010010000000000013524756526013515 5ustar waterlanGeenwcd-6.0.3/src/man/de/man1/0000755000175500010010000000000013524756540014345 5ustar waterlanGeenwcd-6.0.3/src/man/de/man1/wcd.10000644000175500010010000017307713524756527015230 0ustar waterlanGeen.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "wcd 1" .TH wcd 1 "2019-08-14" "wcd" "2019-08-14" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "BEZEICHNUNG" .IX Header "BEZEICHNUNG" wcd \- Wherever Change Directory .PP chdir für \s-1DOS\s0 und Unix .SH "ÜBERSICHT" .IX Header "ÜBERSICHT" .Vb 1 \& wcd [Optionen] [Verzeichnis] .Ve .SH "BESCHREIBUNG" .IX Header "BESCHREIBUNG" .SS "Übersicht" .IX Subsection "Übersicht" Wcd ist ein Befehlszeilenprogramm zum schnellen Verzeichniswechsel. Es spart Zeit bei Tastatureingaben. Sie brauchen nur den Teil eines Verzeichnisnamens einzugeben, und wcd wechselt dorthin. Im Falle mehrerer Treffer verfügt wcd über eine Methode zur Schnellauswahl und ermöglicht die Definition von Aliasen und das Verbannen von Verzeichnissen. Außerdem beinhaltet wcd einen interaktiven Verzeichnisbaumbrowser im Vollbildmodus mit schneller Suche. .PP Wcd wurde nach dem Vorbild des Norton Change Directory (\s-1NCD\s0) entworfen. \s-1NCD\s0 erschien zuerst 1987 in \fIThe Norton Utilities, Release 4\fR für \s-1DOS,\s0 veröffentlicht von Peter Norton. .PP Wcd wurde auf verschiedene Befehlszeileninterpreter portiert: \s-1DOS\s0 (command.com), Windows (cmd.exe und PowerShell), \s-1OS/2\s0 (cmd.exe) sowie Unix-Shells wie Bourne\- (sh), Bourne\-Again\- (bash), Korn\- (ksh), Z\- (zsh) und die C\- (csh) Shell und weitere auf verschiedenen Betriebssystemen ausführbare Shells. .PP Wcd unterstützt 8\-Bit\-Zeichensätze auf allen Systemen und verfügt über optionale Unterstützung für Unicode. Weitere Informationen hierzu finden Sie im Abschnitt \s-1LOKALISIERUNG.\s0 .PP Im Abschnitt \s-1INSTALLATION\s0 finden Sie Anweisungen, wie Sie wcd an Ihre persönlichen Wünsche anpassen können. .SS "Grundlegende Verwendung" .IX Subsection "Grundlegende Verwendung" Per Vorgabe (wenn keine Platzhalter verwendet werden) sucht wcd nach einem Verzeichnis, dessen Name mit dem eingegebenen Namen beginnt. .PP Beispielsweise wechselt dieser Befehl in das Verzeichnis \&\f(CW\*(C`/home/user/Desktop\*(C'\fR des aktuellen Benutzers: .PP .Vb 1 \& wcd Desk .Ve .PP Bei mehreren möglichen Übereinstimungen zeigt wcd eine Liste aller Möglichkeiten an. Der Benutzer kann dann mit einigen Tastenkürzeln seine Auswahl treffen (meist nur mit einem). .SS "Platzhalter" .IX Subsection "Platzhalter" Wcd unterstützt die folgenden Platzhalter: .PP .Vb 5 \& * findet jede Zeichensequenz (kein oder mehr Zeichen) \& ? findet jedes einzelne Zeichen \& [GRUPPE] findet jedes Zeichen in der angegebenen Gruppe, \& [!GRUPPE] oder [^GRUPPE] findet jedes Zeichen, das in der angegebenen \& GRUPPE nicht enthalten ist. .Ve .PP Eine Gruppe wird als Zeichen oder Bereich angegeben. Ein Bereich folgt der Form \fIZeichen minus Zeichen\fR, zum Beispiel \f(CW\*(C`0\-9\*(C'\fR oder \f(CW\*(C`A\-Z\*(C'\fR. Dabei ist \&\f(CW\*(C`[0\-9a\-zA\-Z_]\*(C'\fR die minimal mögliche Gruppe nach dem Muster \&\f(CW\*(C`[..]\*(C'\fR. Internationale Zeichen (zum Beispiel 8\-Bit\-Zeichen) sind erlaubt, falls das System diese unterstützt. Um die besondere syntaktische Bedeutung der Zeichen \f(CW\*(C`[]*?!^\-\e\*(C'\fR innerhalb oder außerhalb des Musters \f(CW\*(C`[..]\*(C'\fR zu berücksichtigen, so dass das exakte Zeichen gefunden wird, stellen Sie dem Zeichen einen Rückschrägstrich (\f(CW\*(C`\e\*(C'\fR) voran, um es zu maskieren. .PP Die Verwendung von Platzhaltern ermöglicht eine leistungsfähige Suche. Beispielsweise findet folgende Anfrage alle Verzeichnisse, deren Name auf »top« endet: .PP .Vb 1 \& wcd *top .Ve .PP Nach Verzeichnissen suchen, deren Name an einer beliebigen Stelle »top« enthält: .PP .Vb 1 \& wcd *top* .Ve .PP Nach Verzeichnissen suchen, deren Name mit »a«, »b«, oder »c« beginnt: .PP .Vb 1 \& wcd [a\-c]* .Ve .PP Es ist auch möglich, einen Teil eines Verzeichnispfades anzugeben. Hier sucht Wcd nach Verzeichnissen, die mit »Desk« beginnen und der Pfad auf \&\fI*me/Desk*\fR passt. .PP .Vb 1 \& wcd me/Desk .Ve .PP Es ist möglich, jede Art von Ausdruck mit Schrägstrichen und Platzhaltern einzugeben, zum Beispiel: .PP .Vb 1 \& wcd src*/*1?/a*2 .Ve .SS "Weitere Anwendungsfälle" .IX Subsection "Weitere Anwendungsfälle" Falls keine Platzhalter verwendet werden und wcd eine perfekte Übereinstimmung findet, werden alle »unscharfen« Übereinstimmungen per Vorgabe ignoriert. Dieses Verhalten kann mit der Option \fB\-w\fR geändert werden. .PP Der interaktive Verzeichnisbaumbrowser kann mit der Option \fB\-g\fR gestartet werden. .PP .Vb 1 \& wcd \-g .Ve .PP Wcd generiert eine Baumdatei, in der nach dem Verzeichnis gesucht wird. Auf Unix\- und Windows-Systemen fügt wcd beim Einlesen des Laufwerksinhalts symbolische Links zur Baumdatei hinzu, folgt diesen aber nicht. Dies wird deshalb unterdrückt, weil das Einlesen in einer Endlosschleife enden könnte oder größere Teile eines Netzwerks eingelesen werden müssten. .PP Wcd kann auch in Verzeichnisse wechseln, die nicht in der Baumdatei enthalten sind, zum Beispiel: .PP .Vb 1 \& wcd .. .Ve .PP Falls wcd einen Treffer findet, aber nicht in das Verzeichnis wechseln kann, versucht es, dieses Verzeichnis aus der Baumdatei zu entfernen, jedoch nicht aus der zusätzlichen Baumdatei. Siehe auch die Option \fB\-k\fR. .PP Wcd erstellt einen Verzeichnisstapel, der auf dem Laufwerk gespeichert wird. Der Stapel hat die vorgegebene Größe 10 und ist zyklisch. Siehe die Optionen \fB\-z\fR, \fB\-\fR, \fB+\fR und \fB=\fR. .PP In Umgebungen mit mehreren Benutzern kann mit der Option \fB\-u\fR in die Verzeichnisse anderer Benutzer gewechselt werden. .PP Auf \s-1DOS\-\s0 und Windows-Systemen ist es nicht von Bedeutung, ob Sie einen Schrägstrich »/« oder einen Rückschrägstrich »\e« als Verzeichnistrenner verwenden. .PP Auf \s-1DOS\-\s0 und Windows-Systemen ist es möglich, gleichzeitig das Laufwerk und das Verzeichnis zu wechseln, indem Sie dem Verzeichnisnamen den Laufwerksnamen voranstellen. .PP .Vb 1 \& wcd d:games .Ve .SS "UNC-Pfade unter Windows" .IX Subsection "UNC-Pfade unter Windows" Die Windows-Versionen (Befehlszeileninterpreter, PowerShell, \s-1MSYS,\s0 zsh, cygwin) unterstützen SMB-LAN-UNC-Pfade ohne Laufwerksbuchstaben wie \&\f(CW\*(C`\e\eServername\eFreigabename\*(C'\fR. Wcd für den Windows-Befehlszeileninterpreter benutzt den »pushd«\-Befehl, um einem UNC-Pfad automatisch einen Laufwerksbuchstaben zuzuordnen. In der Windows PowerShell, \s-1MSYS,\s0 zsh und Cygwin werden UNC-Pfade vollständig unterstützt. Das aktuelle Arbeitsverzeichnis kann ein UNC-Pfad sein. .SS "Größenänderung der Konsole unter Windows" .IX Subsection "Größenänderung der Konsole unter Windows" Wcd unterstützt seit Version 6.0.3 die Größenänderung der Konsole unter Windows 10 und ConEmu (siehe ). Die Windows\-10\-Konsole darf nicht im Legacy-Modus sein (prüfen sie das in den Einstellungen der Konsole). Der Bildschirm darf nicht aktualisiert werden, wenn »Wrap text output on resize« deaktiviert ist. Der Bildschirm kann manuell durch Drücken von F5 aktualisiert werden. .SS "Schnittstellen" .IX Subsection "Schnittstellen" Wcd verfügt über drei verschiedene Schnittstellen, um aus einer Übereinstimmungsliste zu wählen. Die Schnittstelle wird bei der Kompilierung ausgewählt. .PP Die erste Schnittstelle verwendet die Standardeingabe und \-ausgabe (stdin/stdout). Eine nummerierte Liste wird im Terminal ausgegeben. Sie können aus dieser Liste wählen, indem Sie eine Zahl eingeben und die drücken. Diese Liste kann nicht zurückgerollt werden, wenn sie für die Bildschirmausgabe zu lang ist. Dafür muss die Zurückrollfunktion des Terminals oder der Konsole verwendet werden. Diese Schnittstelle ist sehr klein und portabel. .PP Die zweite Schnittstelle setzt auf der Conio-Bibliothek auf. Hier ist eine Zurückrollfunktion bereits eingebaut. Wiederum wird eine Liste angezeigt, die aber hier Buchstaben als Aufzählungszeichen verwendet. Zur Auswahl eines Listeneintrags drücken Sie einfach die entsprechende Buchstabentaste. Wenn möglich, wird der Bildschirminhalt nach dem Beenden wiederhergestellt. Wenn Sie Zahlen anstatt Buchstaben bevorzugen, können Sie die Option \fB\-N\fR verwenden. .PP Die dritte Schnittstelle verwendet die Curses-Bibliothek und ist ähnlich der Conio-Schnittstelle. Die Curses-Schnittstelle von wcd hat zusätzlich auch eine »grafische« Oberfläche. Sie können ein Verzeichnis in einem interaktiven Verzeichnisbaumbrowser im Vollbildmodus auswählen. Die Navigation und Suchmethoden sind ähnlich wie in \fIvim\fR\|(1). Diese Schnittstelle kann mit der Option \fB\-g\fR aktiviert werden. .PP Mit der Option \fB\-o\fR ist es jederzeit möglich, auf die stdin/stdout\-Schnittstelle (Standardeingabe/Standardausgabe) auszuweichen. .SH "OPTIONEN" .IX Header "OPTIONEN" .IP "\fB\-a\fR" 4 .IX Item "-a" fügt den aktuellen Pfad zur vorgegebenen Baumdatei hinzu. .Sp Verwenden Sie diese Option, um schnell den aktuellen Pfad zur Baumdatei hinzuzufügen. Das erneute Einlesen des kompletten Laufwerks kann in manchen Fällen recht lange dauern. .IP "\fB\-aa\fR" 4 .IX Item "-aa" fügt den aktuellen und alle übergeordneten Pfade zur vorgegebenen Baumdatei hinzu. .IP "\fB\-A \s-1PFAD\s0\fR" 4 .IX Item "-A PFAD" liest den Verzeichnisbaum aus \fI\s-1PFAD\s0\fR und fügt ihn zur vorgegebenen Baumdatei hinzu. Beispiele: .Sp .Vb 3 \& wcd \-A . \& wcd \-A /home \-A /etc \& wcd \-A d: \-A e: \-A \e\eserver\eshare .Ve .Sp Unter Windows können Sie alle freigegebenen Verzeichnisse eines Windows-LAN-Servers einlesen, indem Sie etwa Folgendes eingeben: \f(CW\*(C`wcd \-A \&\e\eServername\*(C'\fR. .Sp Siehe auch die Optionen \fB\-S\fR, \fB\-s\fR und \fB\-E\fR. .IP "\fB\-b\fR" 4 .IX Item "-b" verbannt den aktuellen Pfad. .Sp Wcd speichert den aktuellen Pfad in der Bann-Datei. Das bedeutet, dass zukünftig alle Übereinstimmungen ignoriert werden, die sich auf dieses Verzeichnis und dessen Unterverzeichnisse beziehen. .Sp Die Bann-Datei kann mit einem Texteditor bearbeitet werden. Die Verwendung von Platzhaltern ist möglich, außerdem werden Namensübereinstimmungen auf den absoluten Pfad bezogen. .Sp Verbannte Pfade werden beim Einlesen des Laufwerks nicht ausgeschlossen. Um dies zu tun, verwenden Sie die Option \fB\-xf\fR. .IP "\fB\-c, \-\-direct\-cd\fR" 4 .IX Item "-c, --direct-cd" Direkter CD-Modus. Per Vorgabe arbeitet wcd wie folgt: .Sp .Vb 4 \& 1. Es wird versucht, einen Treffer in der oder den Baumdatei(en) \& zu finden. \& 2. Wird nichts gefunden, wird versucht, das eingegebene \& Verzeichnis zu öffnen. .Ve .Sp Im direkten CD-Modus arbeitet wcd in umgekehrter Reihenfolge. .Sp .Vb 3 \& 1. Es wird versucht, das eingegebene Verzeichnis zu öffnen. \& 2. Wird nichts gefunden, wird nach einem Treffer in der oder \& den Baumdatei(en) gesucht. .Ve .IP "\fB\-d \s-1LAUFWERK\s0\fR" 4 .IX Item "-d LAUFWERK" legt das Laufwerk für den Verzeichnisstapel und die Go-Datei fest (nur \s-1DOS\s0). .Sp Die Stapeldatei und das Go-Skript werden per Vorgabe im Laufwerk »C:« gespeichert, wenn die Umgebungsvariable \fI\s-1HOME\s0\fR nicht gesetzt ist. Verwenden Sie diese Option, wenn »C:« ein schreibgeschütztes Laufwerk ist. Diese Option muss vor den Stapeloptionen \fB\-\fR, \fB+\fR und \fB=\fR stehen. .IP "\fB\-e\fR" 4 .IX Item "-e" fügt den aktuellen Pfad zur zusätzlichen Baumdatei hinzu. .Sp Verwenden Sie diese Option, um schnell den aktuellen Pfad zur zusätzlichen Baumdatei hinzuzufügen. .IP "\fB\-ee\fR" 4 .IX Item "-ee" fügt den aktuellen Pfad und alle übergeordneten Pfade zur zusätzlichen Baumdatei hinzu. .IP "\fB\-E \s-1PFAD\s0\fR" 4 .IX Item "-E PFAD" liest den Verzeichnisbaum aus \fI\s-1PFAD\s0\fR und fügt ihn zur zusätzlichen Baumdatei hinzu. Siehe auch die Optionen \fB\-A\fR und \fB\-S\fR. .IP "\fB\-f \s-1DATEI\s0\fR" 4 .IX Item "-f DATEI" liest die Baumdatei \fI\s-1DATEI\s0\fR. Die vorgegebene Baumdatei wird nicht gelesen. .IP "\fB+f \s-1DATEI\s0\fR" 4 .IX Item "+f DATEI" liest die Baumdatei \fI\s-1DATEI\s0\fR zusätzlich zur vorgegebenen Baumdatei. .IP "\fB\-g\fR" 4 .IX Item "-g" verwendet die grafische Benutzeroberfläche (nur in Versionen mit curses-Schnittstelle). .Sp Wcd startet eine textbasierte, auf der Curses-Bibliothek aufsetzende »grafische« Schnittstelle. Sie können ein Verzeichnis in einem interaktiven Verzeichnisbaumbrowser im Vollbildmodus auswählen. Die Navigation und Suchmethoden sind ähnlich wie in \fIvim\fR\|(1). .Sp Wenn keine Suchzeichenkette angegeben ist, stellt wcd den gesamten Baum aus den Inhalten der vorgegebenen und der zusätzlichen Baumdatei dar. .Sp Wenn eine Suchzeichenkette angegeben ist, wird die Trefferliste als Verzeichnisbaum angezeigt. .Sp Die vorgegebene Ansicht des Baums ähnelt der Ansicht im originalen \s-1NCD\s0 unter \&\s-1DOS.\s0 Der Unterschied besteht darin, dass in \s-1NCD\s0 alle Verzeichnisse der gleichen Pfadtiefe im gesamten Baum vertikal angeordnet werden. Das war in \&\s-1NCD\s0 möglich, da ein Verzeichnisname in \s-1DOS\s0 nicht länger als 12 Zeichen (8.3) sein durfte. Auf modernen Betriebssystemen können Verzeichnisnamen sehr lang sein, außerdem sind große Unterschiede bei den Längen der Namen der verschiedenen Verzeichnisse möglich. Deswegen werden Verzeichnisse der gleichen Pfadtiefe in wcd nicht im gesamten Baum vertikal ausgerichtet, sondern nur in Verzweigungen. Daher kann es zu Seitenbewegungen kommen, wenn Sie eigentlich in der Hierarchie direkt nach oben oder von einer Verzweigung zu einer anderen navigieren wollen. .Sp Das Navigationsverhalten in Wcd ist exakt das gleiche wie im originalen \&\s-1NCD.\s0 Wenn Sie beispielsweise die Pfeil-ab-Taste drücken, gehen Sie damit zum nächsten Verzeichnis der gleichen Tiefe in der Verzeichnishierarchie, wobei Verzweigungen übersprungen werden. Dies ermöglicht die schnelle Navigation durch den Baum. .Sp Siehe die Optionen \fB\-Ta\fR, \fB\-TC\fR und \fB\-Tc\fR zum Ändern des Navigationsverhaltens. .IP "\fB\-gd\fR" 4 .IX Item "-gd" gibt die Baumdateien als Baum in die Standardausgabe aus. .IP "\fB\-G \s-1PFAD\s0\fR" 4 .IX Item "-G PFAD" schreibt das Go-Skript in das Verzeichnis \fI\s-1PFAD\s0\fR. Unter Unix beispielsweise schreibt \f(CW\*(C`wcd \-G PFAD\*(C'\fR ein Go-Skript in \fBPFAD/wcd.go\fR. .IP "\fB\-GN, \-\-no\-go\-script\fR" 4 .IX Item "-GN, --no-go-script" verhindert die Erstellung eines Go-Skripts. Diese Option kann zusammen mit \&\fB\-j\fR verwendet werden, wenn Sie wcd kein Go-Skript schreiben lassen wollen. .IP "\fB\-h, \-\-help\fR" 4 .IX Item "-h, --help" zeigt eine Hilfe an und beendet das Programm. .IP "\fB\-i, \-\-ignore\-case\fR" 4 .IX Item "-i, --ignore-case" ignoriert Groß\-/Kleinschreibung. In den \s-1DOS\-\s0 und Windows-Versionen ist dies der Standard. In den Unix\- und Cygwin-Versionen wird per Vorgabe die Groß\-/Kleinschreibung berücksichtigt. .IP "\fB+i, \-\-no\-ignore\-case\fR" 4 .IX Item "+i, --no-ignore-case" berücksichtigt Groß\-/Kleinschreibung. Siehe auch Option \fB\-i\fR. .IP "\fB\-I, \-\-ignore\-diacritics\fR" 4 .IX Item "-I, --ignore-diacritics" ignoriert diakritische Zeichen des lateinischen Alphabets. Buchstaben mit diakritischen Zeichen werden wie die deren Basisbuchstaben behandelt. Die folgenden Latin-Zeichenkodierungen werden unterstützt: \s-1CP437, CP850, CP852, CP1250, CP1252, ISO\-8859\-1, ISO\-8859\-2,\s0 sowie Unicode Latin\-1, Latin Extended-A, und Latin Extended-B. Siehe auch .IP "\fB+I, \-\-no\-ignore\-diacritics\fR" 4 .IX Item "+I, --no-ignore-diacritics" berücksichtigt diakritische Zeichen (Vorgabe). Siehe auch Option \fB\-I\fR. .IP "\fB\-j, \-\-just\-go\fR" 4 .IX Item "-j, --just-go" Geh-einfach-Modus. .Sp In diesem Modus zeigt wcd keine Liste an, wenn mehr als ein Verzeichnis auf das angegebene Verzeichnis passt. Wcd wechselt nur einfach zum ersten Treffer. Beim erneuten Aufruf von wcd mit den gleichen Argumenten wird zum Verzeichnis im nächsten Treffer gewechselt, und so weiter. .Sp Wcd gibt das Verzeichnis, in das gewechselt wird, in die Standardausgabe aus. So kann eine andere Installationsmethode verwendet werden. Sie könnten die folgende Funktion für eine POSIX-kompatible Shell erstellen: .Sp .Vb 4 \& wcd () \& { \& cd "$($HOME/bin/wcd.exe \-j $@)" \& } .Ve .Sp Wenn Sie mit einer älteren Shell arbeiten, die nicht über Unterstützung für die Befehlsersetzung mit »$()« verfügt, müssen Sie die auch die ältere Befehlsersetzung mit Gravis-Zeichen (Backtick, »`«) verwenden. .Sp .Vb 4 \& wcd () \& { \& cd "\`$HOME/bin/wcd.exe \-j $@\`" \& } .Ve .Sp Auf Windows-Systemen mit einer NT4\-Shell können Sie den folgenden Alias anlegen: .Sp .Vb 1 \& alias wcd \`cd %@execstr[wcdwin32.exe \-z 0 \-j %1]\` .Ve .Sp Diese Methode macht ein Go-Skript überflüssig, daher können Sie die Option \&\fB\-GN\fR zusammen mit \fB\-j\fR verwenden. .IP "\fB\-k, \-\-keep\-paths\fR" 4 .IX Item "-k, --keep-paths" erhält Pfade. .Sp Die Pfade werden in der Baumdatei weiter vorgehalten, wenn wcd nicht dorthin wechseln kann. Das Vorgabeverhalten in diesem Fall ist, dass wcd versucht, diese Pfade aus der Baumdatei zu entfernen. Mit dieser Option wird das Vorgabeverhalten deaktiviert. .IP "\fB\-K, \-\-color\fR" 4 .IX Item "-K, --color" verwendet Farben im grafischen Modus. .IP "\fB\-l \s-1ALIAS\s0\fR" 4 .IX Item "-l ALIAS" benennt den aktuellen Pfad mit \fI\s-1ALIAS\s0\fR. Wcd speichert den aktuellen Pfad mit dem \fI\s-1ALIAS\s0\fR in der Alias-Datei. Bei Aliasen wird Groß\-/Kleinschreibung berücksichtigt. .IP "\fB\-ls\fR" 4 .IX Item "-ls" zeigt den Namen der Alias-Datei an und listet alle Aliase auf. .IP "\fB\-m \s-1VERZEICHNIS\s0\fR" 4 .IX Item "-m VERZEICHNIS" erstellt ein Verzeichnis und fügt es zur Baumdatei hinzu. .IP "\fB\-L, \-\-license\fR" 4 .IX Item "-L, --license" zeigt die Lizenz des Programms an. .IP "\fB\-M \s-1VERZEICHNIS\s0\fR" 4 .IX Item "-M VERZEICHNIS" erstellt ein Verzeichnis und fügt es zur zusätzlichen Baumdatei hinzu. .IP "\fB\-n \s-1PFAD\s0\fR" 4 .IX Item "-n PFAD" liest die relative Baumdatei aus \fI\s-1PFAD\s0\fR. .Sp Die Datei für die vorgegebene Baumansicht wird nicht gelesen. Die Datei für die relative Baumansicht sollte schon von wcd mit der Option \fB+S\fR angelegt worden sein. \fI\s-1PFAD\s0\fR kann auch direkt auf eine Datei verweisen. .Sp Ein Beispiel. Nehmen wir an, ein anderes System wurde in \f(CW\*(C`/mnt/network\*(C'\fR eingehängt: .Sp .Vb 1 \& wcd \-n /mnt/network src .Ve .Sp Wcd öffnet die Datei der relativen Baumansicht in \f(CW\*(C`/mnt/network/\*(C'\fR. Die Datei enthält die Pfade relativ von diesem Punkt aus betrachtet. .IP "\fB+n \s-1PFAD\s0\fR" 4 .IX Item "+n PFAD" liest die Datei der relativen Baumansicht zusätzlich zur vorgegebenen Datei. Siehe Option \fB\-n\fR. .IP "\fB\-N, \-\-numbers\fR" 4 .IX Item "-N, --numbers" verwendet Zahlen anstelle von Buchstaben. .Sp Wcd mit einer Conio\- oder Curses-basierten Benutzeroberfläche (siehe Abschnitt »Schnittstellen«) stellt eine Trefferliste mit Buchstaben als Aufzählungszeichen dar. Wenn Sie die Option \fB\-N\fR angeben, wird die Trefferliste mit Zahlen nummeriert. Ungeachtet der Option \fB\-N\fR können Sie einen Buchstaben oder Zahlen eingeben, um aus der Trefferliste zu wählen. .IP "\fB\-o\fR" 4 .IX Item "-o" verwendet die stdin/stdout\-Schnittstelle (Standardeingabe/Standardausgabe). .Sp Falls aus verschiedenen Gründen die conio\- oder curses-Schnittstelle von wcd nicht funktioniert, können Sie mit der Option \fB\-o\fR auf die stdin/stdout\-Schnittstelle ausweichen. .IP "\fB\-od, \-\-to\-stdout\fR" 4 .IX Item "-od, --to-stdout" gibt alle Übereinstimmungen in die Standardausgabe aus. .IP "\fB\-q, \-\-quiet\fR" 4 .IX Item "-q, --quiet" Stiller Modus. Die Ausgabe des endgültigen Treffers wird unterdrückt. .IP "\fB\-r \s-1VERZEICHNIS\s0\fR" 4 .IX Item "-r VERZEICHNIS" entfernt ein Verzeichnis und entfernt es auch aus der Baumdatei. .Sp Wenn das Verzeichnis leer ist, wird wcd es entfernen, und versuchen, es aus der Baumdatei zu entfernen. .IP "\fB\-rmtree \s-1VERZEICHNIS\s0\fR" 4 .IX Item "-rmtree VERZEICHNIS" entfernt ein Verzeichnis rekursiv und entfernt es auch aus der Baumdatei. .Sp Wcd entfernt das Verzeichnis und dessen Untervezeichnisse und Dateien, außerdem werden die Verzeichnisse aus der Baumdatei entfernt. .IP "\fB\-s\fR" 4 .IX Item "-s" liest den Laufwerksinhalt (evtl. erneut) aus dem Verzeichnis \f(CW$HOME\fR ein. Falls \fI\s-1HOME\s0\fR nicht definiert ist, wird das Wurzelverzeichnis »/« des Laufwerks eingelesen. .Sp Die existierende vorgegebene Baumdatei wird dabei überschrieben. .Sp Das vorgegebene einzulesende Verzeichnis kann mit der Umgebungsvariable \&\f(CW\*(C`WCDSCAN\*(C'\fR außer Kraft gesetzt werden. Weitere Informationen finden Sie im Abschnitt \s-1UMGEBUNGSVARIABLEN.\s0 .IP "\fB\-S \s-1PFAD\s0\fR" 4 .IX Item "-S PFAD" liest den Verzeichnisbaum aus \fI\s-1PFAD\s0\fR und überschreibt die vorgegebene Baumdatei. Siehe auch die Optionen \fB\-A\fR, \fB\-s\fR und \fB\-E\fR. Zum Beispiel können Sie mit der Option \fB\-A\fR eine Vorgabe-Baumdatei Ihrer Wahl erzeugen. Beispiele: .Sp Unix: .Sp .Vb 2 \& wcd \-S / \& wcd \-S /home \-A /etc \-A /usr .Ve .Sp DOS/Windows: .Sp .Vb 2 \& wcd \-S c:/ \& wcd \-S c: \-A d: \-A \e\eserver\eshare .Ve .Sp Mit den Windows-Versionen können Sie alle freigegebenen Verzeichnisse eines Windows-LAN-Servers einlesen. Geben Sie etwa Folgendes ein: \f(CW\*(C`wcd \-S \&\e\eServername\*(C'\fR. .IP "\fB\-S \s-1PFAD\s0\fR" 4 .IX Item "-S PFAD" liest das Laufwerk aus \fI\s-1PFAD\s0\fR ein und platziert relative Pfade in der Datei der relativen Baumansicht. Diese Datei wird in wcd von den Optionen \fB\-n\fR und \fB+n\fR verwendet. Beispiel \f(CW\*(C`wcd \-n PFAD src\*(C'\fR. .IP "\fB\-t\fR" 4 .IX Item "-t" entfernt das temporäre Einhängeverzeichnis \f(CW\*(C`/tmp_mnt\*(C'\fR nicht (nur Unix). .Sp Wcd entfernt per Vorgabe \f(CW\*(C`/tmp_mnt/\*(C'\fR aus den Treffern. Dieses Verzeichnis wird vom Auto-Mounter verwendet. Sie können dieses Verhalten mit der Option \&\fB\-t\fR abschalten. .IP "\fB\-T, \-\-ascii\-tree\fR" 4 .IX Item "-T, --ascii-tree" zeichnet die Baumansicht mit ASCII-Zeichen. Verwenden Sie diese Option, wenn die Zeichen zum Darstellen von Linien in Ihrem Terminal nicht korrekt angezeigt werden. .IP "\fB\-Ta, \-\-alt\-tree\-nav\fR" 4 .IX Item "-Ta, --alt-tree-nav" verwendet einen alternativen Weg zur Navigation in der grafischen Baumansicht. .Sp In der vorgegebenen Baumansicht im NCD-Stil verhindert die Option \fB\-Ta\fR das Springen in beziehungslose Verzeichnisse. .Sp In der kompakten Baumansicht funktioniert die Navigation im alternativen Modus ähnlich wie in Dateimanagern mit grafischer Benutzeroberfläche, wie dem Windows Explorer oder dem \s-1KDE\s0 Konqueror. Durch Drücken der Pfeiltasten nach oben und nach unten verschieben Sie das ausgewählte Verzeichnis eine Zeile nach oben oder unten. Die linke Pfeiltaste klappt die Unterverzeichnisse ein, wiederholtes Drücken der linken Pfeiltaste springt dann tatsächlich nach links. .Sp Sie können direkt zwischen dem Vorgabe\- und dem Alternativmodus wechseln, indem Sie drücken. .Sp Wenn der alternative Navigationsmodus eingeschaltet ist, sehen Sie ein »A« in der unteren rechten Ecke. .IP "\fB\-TC, \-\-center\-tree\fR" 4 .IX Item "-TC, --center-tree" zentriert die Ansicht im grafischen Baum. Das ausgewählte Verzeichnis steht in der Mitte des Bildschirms. Der zentrierte Modus kann mit der Taste im grafischen Baum an\- und abgeschaltet werden. .Sp Die vorgegebene nicht-zentrierte Ansicht, welche die Baumbewegungen minimiert, entspricht derjenigen im originalen \s-1NCD.\s0 .IP "\fB\-Tc, \-\-compact\-tree\fR" 4 .IX Item "-Tc, --compact-tree" Per Vorgabe wird die »grafische« Baumansicht auf die gleiche Art gezeichnet wie im originalen \s-1NCD\s0 unter \s-1DOS.\s0 Dort darf ein Verzeichnispfad nicht länger als 66 Zeichen sein. Mit den heute üblichen tiefen Verzeichnisstrukturen kann der Baum sehr breit werden. Um dies zu vermeiden, kann wcd den Baum in einer Kompaktansicht darstellen, mit einem Verzeichnis pro Zeile, wie in den meisten grafischen Dateimanagern. Verwenden Sie die Option \fB\-Tc\fR oder schalten Sie direkt mit der Taste um. .IP "\fB\-Td, \-\-cjk\-width\fR" 4 .IX Item "-Td, --cjk-width" Veraltete ostasiatische CJK-Schriften (Chinesisch, Japanisch und Koreanisch) haben bestimmte Zeichen und Symbole zum Zeichnen von Linien mit einer Breite von zwei Spalten, während die Zeichenbreite in normalem Unicode eine Spalte beträgt. Beispielsweise sind das die chinesische CP936\-Rasterschrift unter Windows und die Simsun-Schrift. Verwenden Sie diese Option zur korrekten Ausrichtung der grafischen Baumansicht, wenn eine veraltete CJK-Schrift verwendet wird. .Sp Wenn der CJK-Modus eingeschaltet ist, wird ein »C« in der unteren rechten Ecke angezeigt. .IP "\fB\-u \s-1BENUTZER\s0\fR" 4 .IX Item "-u BENUTZER" liest die Daten eines anderen Benutzers für die Baumansicht basierend auf \&\fI\s-1BENUTZER\s0\fR ein. Ihre eigene Datei für die Baumansicht wird nicht eingelesen. Siehe auch \fI\s-1WCDUSERSHOME\s0\fR im Abschnitt \s-1UMGEBUNGSVARIABLEN.\s0 .Sp Unter Unix/Cygwin wird \f(CW\*(C`/home\*(C'\fR als Wurzel für die Benutzerverzeichnisse angenommen. Wcd schaut nach \f(CW\*(C`/home/BENUTZER/.treedata.wcd\*(C'\fR und \&\f(CW\*(C`/home/BENUTZER/.wcd/.treedata.wcd\*(C'\fR, in dieser Reihenfolge. Davon wird die erste existierende und lesbare Datei gelesen. Unter DOS/Windows wird \&\f(CW\*(C`\e\eusers\*(C'\fR als Wurzelverzeichnis der Benutzer angenommen, daher versucht wcd \&\f(CW\*(C`\e\eusers\eBENUTZER\etreedata.wcd\*(C'\fR und \f(CW\*(C`\e\eusers\eBENUTZER\e.wcd\etreedata.wcd\*(C'\fR zu lesen. .IP "\fB+u \s-1BENUTZER\s0\fR" 4 .IX Item "+u BENUTZER" liest die vorgegebene Baumansicht-Datei von \s-1BENUTZER\s0 zusätzlich zu Ihrer eigenen Baumansicht-Datei ein. .IP "\fB\-v, \-\-verbose\fR" 4 .IX Item "-v, --verbose" zeigt ausführliche Meldungen an. Mit dieser Option zeigt wcd alle Filter, Verbannungen und Ausschlüsse an. .IP "\fB\-V, \-\-version\fR" 4 .IX Item "-V, --version" zeigt Versionsinformationen an und beendet das Programm. .IP "\fB\-w, \-\-wild\-match\-only\fR" 4 .IX Item "-w, --wild-match-only" zeigt nur Übereinstimmungen von Platzhaltern an. Alle Treffer werden als Platzhalter-Treffer angenommen. .IP "\fB\-x \s-1PFAD\s0\fR" 4 .IX Item "-x PFAD" schließt \fI\s-1PFAD\s0\fR vom Einlesen aus. .Sp Mit dieser Option schließt wcd \fI\s-1PFAD\s0\fR und dessen Unterverzeichnisse aller Ebenen beim Einlesen eines Laufwerks aus. Platzhalter werden unterstützt und auf absolute Pfade angewendet. Die Option \fB\-x\fR kann mehrfach angegeben werden. .Sp .Vb 1 \& wcd \-x \-x \-s .Ve .Sp Die Option \fB\-x\fR muss vor jeder anderen Einleseoption angegeben werden (\fB\-s\fR, \fB\-S\fR, \fB+S\fR, \fB\-A\fR, \fB\-E\fR). .Sp Unter DOS/Windows müssen Sie den Laufwerksbuchstaben angeben, je nachdem, ob eine der Variablen \fI\s-1HOME\s0\fR oder \fI\s-1WCDHOME\s0\fR gesetzt ist. Falls \fI\s-1HOME\s0\fR oder \&\fI\s-1WCDHOME\s0\fR gesetzt ist, müssen Sie den Laufwerksbuchstaben angeben. Ein Beispiel: .Sp .Vb 1 \& wcd \-x c:/temp \-S c: .Ve .Sp Anderenfalls geben Sie keinen Laufwerksbuchstaben an. .Sp .Vb 1 \& wcd \-x /temp \-s .Ve .IP "\fB\-xf \s-1DATEI\s0\fR" 4 .IX Item "-xf DATEI" schließt alle in \fI\s-1DATEI\s0\fR aufgelisteten Pfade vom Einlesen aus. .Sp Wenn diese Option ausgewählt ist, schließt wcd alle in \fI\s-1DATEI\s0\fR aufgelisteten Pfade und sämtliche derer Unterverzeichnisse beim Einlesen eines Laufwerks aus. Platzhalter werden unterstützt und Namensübereinstimmungen werden auf den absoluten Pfad bezogen. Beachten Sie, dass wcd führende und angehängte Leerzeichen in einer Zeile nicht ignoriert, da sie als Zeichen in einem Verzeichnisnamen zulässig sind. Die Option \&\fB\-xf\fR kann mehrfach angegeben werden. Mit folgendem Befehl schließen Sie alle verbannten Pfade vom Einlesen aus (Beispiel für wcd unter Unix): .Sp .Vb 1 \& wcd \-xf ~/.ban.wcd \-s .Ve .Sp Platzhalter werden unterstützt. Um beispielsweise alle Ihre Subversion-Verzeichnisse mit administrativen Dateien auszuschließen, fügen Sie eine Zeile mit \f(CW\*(C`*/.svn\*(C'\fR hinzu. .Sp Die Option \fB\-xf\fR muss vor jeder anderen Einleseoption angegeben werden (\fB\-s\fR, \fB\-S\fR, \fB+S\fR, \fB\-A\fR, \fB\-E\fR). .IP "\fB\-y, \-\-assume\-yes\fR" 4 .IX Item "-y, --assume-yes" beantwortet alle Abfragen automatisch mit »ja«. .Sp Wcd gibt keine Ja\-/Nein\-Abfragen an den Benutzer aus, nimmt aber an, dass der Benutzer stets auf alle Fragen mit Ja antworten würde. Dies kann in Verbindung mit der Option \fB\-rmtree\fR verwendet werden. Diese Option muss vor allen Optionen angegeben werden, die zu Ja\-/Nein\-Abfragen führen könnten. .IP "\fB\-z \s-1ZAHL\s0\fR" 4 .IX Item "-z ZAHL" setzt die maximale Stapelgröße auf \s-1ZAHL.\s0 .Sp Die vorgegebene Größe des Stapels ist 10. Stapeloperationen können deaktiviert werden, indem die Größe auf 0 gesetzt wird. Diese Option muss stets vor anderen Stapeloperationen angegeben werden (\fB\-\fR,\fB+\fR,\fB=\fR). Anderenfalls wird die Stapelgröße wieder auf den Vorgabewert 10 zurückgesetzt. .Sp Ein korrekter Befehl ist: .Sp .Vb 1 \& wcd \-z 50 \- .Ve .Sp Die neue Stapelgröße ist 50 und wcd geht ein Verzeichnis zurück. Ein falscher Befehl wäre: .Sp .Vb 1 \& wcd \- \-z 50 .Ve .Sp Wcd geht ein Verzeichnis zurück und der Stapel erhält die Vorgabegröße 10. Das Argument \fB\-z 50\fR wird ignoriert. .Sp Fügen Sie dies als erste Option zu Ihrem wcd-Alias oder Ihrer wcd-Funktion hinzu. Für eine POSIX-kompatible Shell wäre das: .Sp .Vb 5 \& wcd () \& { \& wcd.exe \-z 50 "$@" \& . ${WCDHOME:\-${HOME}}/bin/wcd.go \& } .Ve .IP "\fB\-[\s-1ZAHL\s0]\fR" 4 .IX Item "-[ZAHL]" legt ein Verzeichnis auf den Stapel (\s-1ZAHL\s0 mal). Vorgabe ist 1. .Sp Geht ein Verzeichnis zurück. Der Befehl \f(CW\*(C`wcd \-\*(C'\fR geht ein Verzeichnis zurück. Um mehrere Verzeichnisse zurückzugehen, fügen Sie eine Zahl hinzu, zum Beispiel in Form des Befehls \f(CW\*(C`wcd \-3\*(C'\fR. Der Stapel ist zyklisch. .IP "\fB+[\s-1ZAHL\s0]\fR" 4 .IX Item "+[ZAHL]" nimmt ein Verzeichnis vom Stapel (\s-1ZAHL\s0 mal). Vorgabe ist 1. .Sp Geht ein Verzeichnis vor. Der Befehl \f(CW\*(C`wcd +\*(C'\fR geht ein Verzeichnis vor. Um mehrere Verzeichnisse vorzugehen, fügen Sie eine Zahl hinzu, zum Beispiel in Form des Befehls \f(CW\*(C`wcd +2\*(C'\fR. Der Stapel ist zyklisch. .IP "\fB=\fR" 4 .IX Item "=" zeigt den Stapel an. .Sp Verwenden Sie diese Option, wenn Sie nicht mehr wissen, wie oft Sie im Stapel die Ebene gewechselt haben. Der Stapel wird ausgegeben und Sie können eine Zahl wählen. Die aktuelle Position im Stapel ist mit einem Asterisk \&\f(CW\*(C`*\*(C'\fR markiert. .SH "INSTALLATION" .IX Header "INSTALLATION" Das aktuelle Arbeitsverzeichnis einer Unix-Shell kann nur über den eingebauten \fIcd\fR\|(1)\-Befehl gewechselt werden. Daher wird das Programm stets über eine Funktion oder einen Alias ausgeführt. Die Funktion oder der Alias verwenden ein Shell-Skript (das Go-Skript), welches von wcd erzeugt wird. Wcd funktioniert erst dann, wenn die Funktion oder der Alias definiert wurde. .PP Weiteren wichtigen Einfluss auf Ihre Installation nimmt die Definition der Umgebungsvariablen \fI\s-1HOME\s0\fR und \fI\s-1WCDHOME\s0\fR. Siehe den Abschnitt \&\s-1UMGEBUNGSVARIABLEN.\s0 .SS "Installation für POSIX-Shells" .IX Subsection "Installation für POSIX-Shells" Für eine POSIX-Shell (ksh, bash, zsh, etc.) unter Unix, Linux, Cygwin oder nativem \s-1MSYS\s0 fügen Sie die folgende Funktion zur Shell-Startdatei hinzu (die Bash verwendet zum Beispiel \f(CW\*(C`$HOME/.bashrc\*(C'\fR): .PP .Vb 5 \& wcd () \& { \& PATH/wcd.exe "$@" \& . ${WCDHOME:\-${HOME}}/bin/wcd.go \& } .Ve .PP \&\fI\s-1PFAD\s0\fR wird durch den Ort ersetzt, in dem das ausführbare wcd-Programm gespeichert ist. Laden Sie die Initialisierungsdateien der Shell neu oder starten Sie eine neue Shell. .PP Der Ort des Go-Skripts \f(CW\*(C`wcd.go\*(C'\fR ist abhängig von der Shell selbst. .PP Wcd für die auf \s-1DJGPP\s0 basierende DOS-Bash und die OS/2\-Bash erfordert eine andere Funktionalität. Das Go-Skript wird nicht in einem Verzeichnis \f(CW\*(C`bin\*(C'\fR gespeichert, und falls weder \fI\s-1WCDHOME\s0\fR noch \fI\s-1HOME\s0\fR definiert sind, wird das Go-Skript nach c:/ geschrieben. .PP DOS-Bash: .PP .Vb 5 \& wcd () \& { \& PATH/wcdbash.exe "$@" \& . ${WCDHOME:\-${HOME:\-"c:"}}/wcd.go \& } .Ve .PP OS/2\-Bash: .PP .Vb 5 \& wcd () \& { \& PATH/wcdos2bash.exe "$@" \& . ${WCDHOME:\-${HOME:\-"c:"}}/wcd.go \& } .Ve .PP Die WinZsh-Version von wcd erfordert eine etwas andere Funktion. Das Go-Skript wird niemals in c:/ gespeichert. .PP .Vb 5 \& wcd () \& { \& PATH/wcdwin32zsh.exe "$@" \& . ${WCDHOME:\-${HOME}}/wcd.go \& } .Ve .PP Weitere Informationen finden Sie im Abschnitt \s-1DATEIEN.\s0 .SS "Installation für C\-ähnliche Shells (csh, tcsh)" .IX Subsection "Installation für C-ähnliche Shells (csh, tcsh)" Fügen Sie den folgenden Alias zur Shell-Startdatei \f(CW\*(C`$HOME/.cshrc\*(C'\fR oder \&\f(CW\*(C`$HOME/.tcshrc\*(C'\fR hinzu: .PP .Vb 5 \& if ( ${?WCDHOME} ) then \& alias wcd "PATH/wcd.exe \e!* ; source $WCDHOME/bin/wcd.go" \& else \& alias wcd "PATH/wcd.exe \e!* ; source $HOME/bin/wcd.go" \& endif .Ve .PP \&\fI\s-1PFAD\s0\fR wird durch den Ort ersetzt, in dem das ausführbare wcd-Programm gespeichert ist. Laden Sie die Initialisierungsdateien der Shell neu oder starten Sie eine neue Shell. .SS "Version für den Windows-Befehlszeileninterpreter" .IX Subsection "Version für den Windows-Befehlszeileninterpreter" Entpacken Sie die Zip-Datei und fügen Sie den Ordner \f(CW\*(C`bin\*(C'\fR zu Ihrer Umgebungsvariable \fI\s-1PATH\s0\fR hinzu. .PP Im Windows-Befehlszeileninterpreter kann ein Windows-Programm das aktuelle Arbeitsverzeichnis nicht wechseln, das ist aber mit einer .bat\-Datei möglich. Das Batch-Skript \f(CW\*(C`wcd.bat\*(C'\fR ruft das wcd-Programm auf, welches seinerseits das neue Batch-Skript \f(CW\*(C`wcdgo.bat\*(C'\fR erzeugt. Dann führt \&\f(CW\*(C`wcd.bat\*(C'\fR wiederum \f(CW\*(C`wcdgo.bat\*(C'\fR aus, welches tatsächlich das Verzeichnis wechselt. .SS "Windows \s-1VISTA\s0 und neuer" .IX Subsection "Windows VISTA und neuer" Im Befehlszeileninterpreter in Windows \s-1VISTA\s0 oder neueren Versionen ist der Zugriff auf Verzeichnisse eingeschränkt. Um Zugriff auf weitere Verzeichnisse zu erhalten, benötigen Sie Administratorrechte. Einen Befehlszeileninterpreter mit Administratorrechten erhalten Sie, wenn Sie mit der rechten Maustaste auf das Programmsymbol des Befehlszeileninterpreters klicken und \fIAls Administrator ausführen\fR wählen. .SS "Version für die Windows PowerShell" .IX Subsection "Version für die Windows PowerShell" Fügen Sie die folgende Funktion zu Ihrem PowerShell-Benutzerprofil hinzu. Der Ort dieses Profils wird durch die Variable \f(CW$profile\fR bestimmt. Es ist erforderlich, dass eine der Umgebungsvariablen \fI\s-1HOME\s0\fR oder \fI\s-1WCDHOME\s0\fR definiert ist. .PP .Vb 5 \& function wcd \& { \& PATH\ewcdwin32psh.exe $args \& & $env:HOME\ewcdgo.ps1 \& } .Ve .PP \&\fI\s-1PFAD\s0\fR wird durch den Ort ersetzt, in dem das ausführbare wcd-Programm gespeichert ist. Starten Sie eine neue PowerShell. Wcd für die PowerShell unterstützt nur den Dateisystemtreiber und keine weiteren Treiber. .SS "Version für den Befehlszeileninterpreter von \s-1OS/2\s0" .IX Subsection "Version für den Befehlszeileninterpreter von OS/2" Im Befehlszeileninterpreter von \s-1OS/2\s0 (cmd.exe) kann ein OS/2\-Programm das aktuelle Arbeitsverzeichnis nicht wechseln. Daher erzeugt wcd ein Befehlsskript \f(CW\*(C`wcdgo.cmd\*(C'\fR, das in der aktuellen Shell ausgeführt werden muss. Das Skript \f(CW\*(C`wcd.cmd\*(C'\fR führt zuerst \f(CW\*(C`wcdos2.exe\*(C'\fR aus, welches seinerseits das Skript \f(CW\*(C`wcdgo.cmd\*(C'\fR erzeugt. Danach führt \f(CW\*(C`wcd.cmd\*(C'\fR das Skript \f(CW\*(C`wcdgo.cmd\*(C'\fR aus. .SH "LOKALISIERUNG" .IX Header "LOKALISIERUNG" .IP "\fB\s-1LANG\s0\fR" 4 .IX Item "LANG" Die primäre Sprache wird durch die Umgebungsvariable \fI\s-1LANG\s0\fR festgelegt. Diese Variable besteht aus mehreren Teilen: Den ersten Teil bilden zwei Kleinbuchstaben, die den Sprachcode angeben. Der zweite Teil ist optional und bezeichnet den Ländercode in Großbuchstaben, vom davor stehenden Sprachcode durch einen Unterstrich getrennt. Der dritte Teil ist ebenfalls optional und gibt die Zeichenkodierung an, vom Ländercode durch einen Punkt getrennt. Einige Beispiele für Standard-POSIX-Shells: .Sp .Vb 6 \& export LANG=de Deutsch \& export LANG=de_DE Deutsch, Deutschland \& export LANG=de_CH Deutsch, Schweiz \& export LANG=es_ES Spanisch, Spanien \& export LANG=es_MX Spanisch, Mexiko \& export LANG=en_US.iso88591 English, USA, Latin\-1\-Zeichenkodierung .Ve .Sp Eine vollständige Liste der Sprachen und Ländercodes finden Sie im Handbuch zu \fIgettext\fR\|(1): . Auf Unix-Systemen können Sie den Befehl \fIlocale\fR\|(1) verwenden, um spezifische Informationen zur Spracheinstellung zu erhalten. .IP "\fB\s-1LANGUAGE\s0\fR" 4 .IX Item "LANGUAGE" Mit der Umgebungsvariable \fI\s-1LANGUAGE\s0\fR können Sie eine Prioritätenliste für Sprachen übergeben, die Sie durch Doppelpunkte voneinander trennen. Dos2unix gibt \fI\s-1LANGUAGE\s0\fR vor \fI\s-1LANG\s0\fR den Vorzug, zum Beispiel bei Deutsch vor Niederländisch: \f(CW\*(C`LANGUAGE=de:nl\*(C'\fR. Sie müssen zunächst die Lokalisierung aktivieren, indem Sie die Variable \fI\s-1LANG\s0\fR oder \fI\s-1LC_ALL\s0\fR auf einen anderen Wert als \fIC\fR setzen, bevor Sie die Liste der Sprachprioritäten nutzen können. Weitere Informationen finden Sie im Gettext-Handbuch: .Sp Falls Sie eine Sprache auswählen, die nicht verfügbar ist, erhalten Sie die Standardmeldungen in englischer Sprache. .IP "\fB\s-1WCDLOCALEDIR\s0\fR" 4 .IX Item "WCDLOCALEDIR" Mit der Umgebungsvariable \fI\s-1WCDLOCALEDIR\s0\fR kann die während der Kompilierung und Installation verwendete Variable \fI\s-1LOCALEDIR\s0\fR außer Kraft gesetzt werden. \fI\s-1LOCALEDIR\s0\fR wird von wcd mit vorhandener nativer Sprachunterstützung verwendet, um die Sprachdateien zu finden. Der GNU-Vorgabewert ist \f(CW\*(C`/usr/local/share/locale\*(C'\fR. Nach Eingabe von \f(CW\*(C`wcd \-V\*(C'\fR wird das von wcd verwendete \fI\s-1LOCALEDIR\s0\fR angezeigt. .Sp Falls Sie wcd in einem anderen als dem Vorgabeverzeichnis installiert haben, müssen Sie die Umgebungsvariable \fI\s-1WCDLOCALEDIR\s0\fR setzen, die auf das Verzeichnis mit den Sprachdateien zeigt. .Sp Ein Beispiel für den Windows-Befehlszeileninterpreter: .Sp .Vb 1 \& set WCDLOCALEDIR=c:/my_prefix/share/locale .Ve .Sp Ein Beispiel für eine POSIX-Shell: .Sp .Vb 1 \& export WCDLOCALEDIR=$HOME/share/locale .Ve .IP "\fB\s-1LC_COLLATE\s0\fR" 4 .IX Item "LC_COLLATE" Wenn mehrere Treffer für Verzeichnisse gefunden werden, zeigt wcd eine sortierte Liste an. Die Art der Sortierung hängt von der Spracheinstellung ab. Falls die Umgebungsvariable \fI\s-1LANG\s0\fR gesetzt ist, werden die Treffer wie in Wörterbüchern oder Telefonbüchern in dieser Sprache sortiert. Beispielsweise werden Punkte und Bindestriche ignoriert. Buchstaben mit oder ohne Akzentzeichen werden nicht unterschiedlich behandelt, und Groß\-/Kleinschreibung wird nicht berücksichtigt. .Sp Die Sortierung bevorzugt die Umgebungsvariable \fI\s-1LC_COLLATE\s0\fR vor \&\fI\s-1LANG\s0\fR. Falls Sie \fI\s-1LC_COLLATE\s0\fR auf \f(CW\*(C`C\*(C'\fR oder \f(CW\*(C`POSIX\*(C'\fR setzen, wird die sprachbezogene Sortierung abgeschaltet. Wenn Sie beispielsweise Deutsch bevorzugen, dies aber nicht für die Sortierung gelten soll, verwenden Sie Folgendes: .Sp .Vb 2 \& export LANG=de_DE \& export LC_COLLATE=C .Ve .IP "\fB\s-1LC_CTYPE\s0\fR" 4 .IX Item "LC_CTYPE" Hinsichtlich Zeichenkodierung bevorzugt Wcd die Variable \fI\s-1LC_CTYPE\s0\fR vor \&\fI\s-1LANG\s0\fR. Um beispielsweise die Zeichenkodierung auf \s-1UTF\-8\s0 zu setzen, können Sie Folgendes ausführen: .Sp .Vb 1 \& export LC_CTYPE=en_US.UTF\-8 .Ve .IP "\fB\s-1LC_ALL\s0\fR" 4 .IX Item "LC_ALL" Alle lokalen Umgebungsvariablen, die mit \fI\s-1LC_\s0\fR beginnen, werden durch die Umgebungsvariable \fI\s-1LC_ALL\s0\fR außer Kraft gesetzt, sofern diese definiert ist. Wcd bevorzugt \fI\s-1LC_ALL\s0\fR vor \fI\s-1LC_COLLATE\s0\fR und \fI\s-1LC_CTYPE\s0\fR. .SS "\s-1WINDOWS CODE PAGES\s0" .IX Subsection "WINDOWS CODE PAGES" Es gibt zwei Gruppen von Codepages, die \s-1DOS\s0 Codepages (\s-1OEM\s0) und die Windows Codepages (\s-1ANSI\s0). Die vorgegebene Zeichenkodierung für Windows ist \s-1ANSI CP1252,\s0 wenn westeuropäische Regionaleinstellungen konfiguriert sind. Windows-Programme, wie beispielsweise Notepad, benutzen diese durch das System vorgegebene ANSI-Codepage. Die Windows-Konsole verwendet standardmäßig eine OEM-Codepage (\s-1CP437\s0 oder \s-1CP850\s0), um Abwärtskompatibilität zu DOS-Programmen zu gewährleisten. Wenn Sie eine DOS-Version von wcd in der Windows-Konsole verwenden, wird dies aufgrund der DOS-Codepage funktionieren, allerdings fehlt der DOS-Version von wcd unter Windows die Unterstützung für lange Verzeichnisnamen und Netzlaufwerke. .PP Die Windows-Version von wcd ist ein natives Windows-Programm, das die ANSI-Codepage des Windows-Systems verwendet. Auf einem Windows mit westeuropäischen Regionaleinstellungen wird so die Codepage \s-1CP1252\s0 für Verzeichnisnamen und Meldungen verwendet. Um konsistente, von der aktiven Codepage unabhängige Ausgaben zu erzielen, übersetzen alle Windows-Versionen von wcd die ANSI-Ausgaben im Befehlszeileninterpreter und der PowerShell in Unicode-Ausgaben. .PP Die Rasterschrift der Konsole unterstützt nur die originale OEM-Codepage, die mit Windows installiert wurde, daher müssen Sie die Schriftart der Konsole auf die TrueType-Schrift »Lucida Console« ändern, damit Unicode\- und ANSI-Zeichen korrekt angezeigt werden. .PP Die Nicht-Unicode-Versionen von Wcd \fIvor Version 5.2.0\fR verwenden die gewöhnliche ANSI-Ausgabe. Für diese älteren Versionen muss die Codepage der Konsole der System-Codepage angeglichen werden (auf 1252), damit wcd unter Windows spezielle Zeichen wie Akzentzeichen oder das Euro-Symbol korrekt anzeigen kann. .PP Die Windows-System-Codepage kann in den Regionaleinstellungen der Systemsteuerung geändert werden. Die Codepage der Windows-Konsole wird mit dem Befehl \f(CW\*(C`chcp\*(C'\fR geändert. .PP Wenn Sie \f(CW\*(C`wcd \-V\*(C'\fR eingeben, wird die gegenwärtige von wcd verwendete Zeichenkodierung angezeigt. Geben Sie den Befehl \f(CW\*(C`chcp\*(C'\fR ein, um die aktive Codepage für die Windows-Konsole anzuzeigen. .SS "\s-1UNICODE\s0" .IX Subsection "UNICODE" Wcd verfügt über optionale Unterstützung für Unicode. Um zu sehen, ob wcd mit Unicode\-Unterstützung erstellt wurde, geben Sie \f(CW\*(C`wcd \-V\*(C'\fR ein. Sofern Ihr Terminal oder Ihre Konsole sowie die Schriftart es unterstützt, sollten Sie das Euro-Symbol und chinesische Zeichen sehen (echte chinesische Zeichen, keinen chinesisch aussehenden Zeichensalat). .PP Wcd wurde \fIweich\fR auf Unicode migriert. In dessen Kern werden alle Daten als Byte-Datenstrom verarbeitet. Nur die auf dem Bildschirm ausgegebenen Zeilen werden unmittelbar in Unicode-Zeichen umgewandelt. Wcd verwendet vollständig libc-Funktionen und enthält keinen UTF\-8\-spezifischen Code. Siehe auch . .PP Wcd verfügt über optionale Unterstützung für Unicode-Suche mit Normalisierung. Um zu ermitteln, ob wcd mit Unterstützung für Normalisierung erstellt wurde, geben Sie \f(CW\*(C`wcd \-V\*(C'\fR ein. Wcd mit Unicode-Normalisierung findet Treffer mittels \fIkompatiblen\fR Entsprechungen. Ohne diese Unterstützung werden Verzeichnisse nur gefunden, wenn Sie kanonisch äquivalent sind. Siehe auch . .PP \fI\s-1UTF\-8\s0 unter Unix/Linux\fR .IX Subsection "UTF-8 unter Unix/Linux" .PP Um UTF\-8\-Zeichen in Ihrer Konsole oder Ihrem Terminal anzeigen zu lassen, muss dieses auch \s-1UTF\-8\s0 unterstützen. Die mit XFree86 4.0 oder neuer gelieferte Version von xterm bringt UTF\-8\-Unterstützung bereits mit. Um dies zu aktivieren, starten Sie \fIxterm\fR\|(1) mit einer UTF\-8\-Spracheinstellung und verwenden Sie eine Schriftart mit der Zeichenkodierung iso10646\-1, zum Beispiel mit .PP .Vb 1 \& LC_CTYPE=en_GB.UTF\-8 xterm \-u8 \-fn \*(Aq\-Misc\-Fixed\-Medium\-R\-SemiCondensed\-\-13\-120\-75\-75\-C\-60\-ISO10646\-1\*(Aq .Ve .PP Moderne GNU-Linux-Distributionen unterstützen \s-1UTF\-8\s0 per Vorgabe. Andere Multibyte-Zeichenkodierungen sollten auch funktionieren, allerdings wurde dies nicht getestet. .PP Wcd nimmt an, dass die Baumdateien in der lokalen Zeichenkodierung vorliegen. In die Baumdateien werden keine Bytereihenfolge-Markierungen geschrieben. .PP \fI\s-1UTF\-16\s0 unter Windows\fR .IX Subsection "UTF-16 unter Windows" .PP Unter Windows wird Unicode in allen Versionen der PowerShell sowie im Befehlszeileninterpreter von Windows 7 (oder neuer) unterstützt. Unicode funktioniert auch in Take Command oder \s-1TCC/LE\s0 von \s-1JP\s0 Software, welches in älteren Windows-Versionen verwendet werden kann (XP/Vista). .PP Unter Windows sind alle Verzeichnisnamen in Unicode \s-1UTF\-16\s0 kodiert. Für Nicht-Unicode-Windows-Programme werden die Unicode-Zeichen in die vorgegebene ANSI-Codepage übersetzt. Bei Zeichen, die nicht Teil der Regionaleinstellung sind, ist diese Übersetzung nicht möglich. Daher geben Nicht-Unicode-Programme stattdessen ein Fragezeichen oder ein falsches Zeichen aus. .PP Wcd mit Unicode\-Unterstützung liest die in \s-1UTF\-16\s0 kodierten Verzeichnisnamen und wandelt diese intern in \s-1UTF\-8\s0 um. Alle Baumdateien sind in \s-1UTF\-8\s0 kodiert und nicht zu den Nicht-Unicode-Versionen von wcd kompatibel. Wcd erstellt ein in \s-1UTF\-8\s0 kodiertes Go-Skript. .PP Alle Versionen der Windows Powershell können in \s-1UTF\-8\s0 kodierte Skripte ausführen, sofern sich im Skript eine \s-1BOM\s0 (Bytereihenfolge-Markierung) für \&\s-1UTF\-8\s0 befindet. .PP Seit Windows 7 ist es möglich, im Windows-Befehlszeileninterpreter mit einem Batch-Skript in ein Verzeichnis zu wechseln, dessen Name Unicode-Zeichen enthält. Der Verzeichnisname muss in \s-1UTF\-8\s0 kodiert sein, und das Batch-Skript \fIdarf keine \s-1BOM\s0 enthalten\fR (Markierung der Bytereihenfolge). Die aktive Codepage des Befehlszeileninterpreters muss vor dem cd-Befehl auf 65001 (\s-1UTF\-8\s0) gesetzt werden. Wcd für den Befehlszeileninterpreter erstellt ein solches Go-Skript \f(CW\*(C`wcdgo.bat\*(C'\fR. Es ändert zuerst die Codepage in 65001, wechselt dann das Verzeichnis und setzt zum Schluss die Codepage auf die ursprüngliche Einstellung zurück. .PP Sie müssen die Schrift auf die TrueType-Schriftart »Lucida Console« setzen (nicht auf die Rasterschrift), falls Zeichen nicht korrekt angezeigt werden. .PP Die Nicht-Unicode-Version von wcd für Windows liest Unicode-Baumdateien seit Version 5.2.0, sofern sich eine \s-1BOM\s0 (Markierung der Bytereihenfolge) in der Datei befindet (siehe ). Allerdings ist es nicht möglich, in Verzeichnisse zu wechseln, deren Namen Unicode-Zeichen enthalten, die nicht Teil der vorgegebenen ANSI-Codepage des Systems sind. Die Unicode-Version von wcd für Windows schreibt seit Version 5.2.0 eine \s-1BOM\s0 in die in \s-1UTF\-8\s0 kodierten Baumdateien, wodurch diese auch in Notepad lesbar sind. .PP \fI\s-1UTF\-8\s0 unter Cygwin\fR .IX Subsection "UTF-8 unter Cygwin" .PP Cygwin unterstützt Unicode seit Version 1.7. Die Cygwin-Zwischenschicht achtet darauf, dass die UTF\-16\-Namen unter Windows in \s-1UTF\-8\s0 umgewandelt werden. Daher brauchen Programme, wie beispielsweise wcd, darauf keine Rücksicht zu nehmen und können mit einer UTF\-8\-Zeichenkodierung wie unter Unix/Linux arbeiten. Setzen Sie die Zeichenkodierung mit der Umgebungsvariable \fI\s-1LANG\s0\fR oder \fI\s-1LC_CTYPE\s0\fR auf \s-1UTF\-8.\s0 Es wird nötig sein, dass Sie Ihre Laufwerke neu einlesen. Sie müssen die Schrift auf die TrueType-Schriftart »Lucida Console« setzen (nicht auf die Rasterschrift), falls Sie die Cygwin-Standardkonsole verwenden. .PP Die Cygwin-Version verhält sich exakt genauso wie die Unix-Version von wcd. Es wird keine Markierung der Bytereihenfolge (\s-1BOM\s0) in die Baumdateien geschrieben, und es wird angenommen, dass die Dateien in der Zeichenkodierung vorliegen, die von der Spracheinstellung in \fBCygwin\fR vorgegeben ist. .SH "DATEIEN" .IX Header "DATEIEN" Falls die Umgebungsvariable \fI\s-1WCDHOME\s0\fR gesetzt ist, verwendet wcd \fI\s-1WCDHOME\s0\fR anstelle von \fI\s-1HOME\s0\fR. Alle \f(CW\*(C`*.wcd\*(C'\fR\-Dateien sind Textdateien, die mit einem Texteditor bearbeitet werden können. Die Wcd-Version für den Windows-Befehlszeileninterpreter verhält sich wie die DOS-Version, und die Cygwin-Version verhält sich wie die Unix-Version. .IP "\fBwcd.exe\fR" 4 .IX Item "wcd.exe" Das Programm. In Unix-Shells wird das Programm stets durch eine Funktion oder einen Alias aufgerufen, da das aktuelle Arbeitsverzeichnis einer Unix-Shell nur mit dem eingebauten cd-Befehl gewechselt werden kann. Siehe auch Abschnitt \s-1INSTALLATION.\s0 .IP "\fBvorgegebene Baumdatei\fR" 4 .IX Item "vorgegebene Baumdatei" Dies ist die vorgegebene Baumdatei, in der wcd nach Treffern sucht. Falls diese nicht lesbar ist, erstellt wcd eine neue Datei. .Sp .Vb 2 \& DOS: \etreedata.wcd or %HOME%\etreedata.wcd \& Unix: $HOME/.treedata.wcd .Ve .IP "\fBzusätzliche Baumdatei\fR" 4 .IX Item "zusätzliche Baumdatei" Eine optionale zusätzliche Baumdatei. Falls diese existiert und lesbar ist, sucht wcd auch in dieser Datei nach Treffern. .Sp .Vb 2 \& DOS: \eextra.wcd or %HOME%\eextra.wcd \& Unix: $HOME/.extra.wcd .Ve .IP "\fBBann-Datei\fR" 4 .IX Item "Bann-Datei" In dieser optionalen Datei speichert wcd die verbannten Pfade. Siehe Option \&\fB\-b\fR. Platzhalter werden unterstützt. .Sp .Vb 2 \& DOS: \eban.wcd or %HOME%\eban.wcd \& Unix: $HOME/.ban.wcd .Ve .IP "\fBAlias-Datei\fR" 4 .IX Item "Alias-Datei" Optionale Datei mit Aliasen für wcd. Siehe Option \fB\-l\fR. .Sp .Vb 2 \& DOS: \ealias.wcd or %HOME%\ealias.wcd \& Unix: $HOME/.alias.wcd .Ve .IP "\fBStapeldatei\fR" 4 .IX Item "Stapeldatei" In dieser Datei speichert wcd den Stapel. Der Laufwerksbuchstabe kann mit der Option \fB\-d\fR geändert werden. .Sp .Vb 2 \& DOS: c:\estack.wcd or %HOME%\estack.wcd \& Unix: $HOME/.stack.wcd .Ve .Sp Der Name der Stapeldatei kann mit der Umgebungsvariable \fI\s-1WCDSTACKFILE\s0\fR geändert werden. Siehe Abschnitt \s-1UMGEBUNGSVARIABLEN.\s0 .IP "\fBGo-Skript\fR" 4 .IX Item "Go-Skript" Dies ist das Shell-Skript, welches wcd.exe jedes Mal erzeugt. Es wird über eine Funktion oder einen Alias eingelesen. Der Laufwerksbuchstabe kann mit der Option \fB\-d\fR geändert werden. Aus historischen Gründen ist es per Vorgabe auf Unix-Systemen in \f(CW\*(C`$HOME/bin\*(C'\fR gespeichert. Das Verzeichnis für diese Datei kann mit der Option \fB\-G\fR geändert werden. .Sp .Vb 8 \& DOS\-Bash: c:/wcd.go oder $HOME/wcd.go \& Windows Befehlszeileninterpreter: c:\ewcdgo.bat oder %HOME%\ewcdgo.bat \& Windows PowerShell: $env:HOME\ewcdgo.ps1 \& WinZsh: $HOME/wcd.go \& Cygwin/MSYS: $HOME/bin/wcd.go \& OS/2\-Befehlszeileninterpreter: c:\ewcdgo.cmd oder %HOME%\ewcdgo.cmd \& OS/2\-Bash: c:/wcd.go oder $HOME/wcd.go \& Unix: $HOME/bin/wcd.go .Ve .IP "\fBDatei für relative Baumansicht\fR" 4 .IX Item "Datei für relative Baumansicht" Textdatei mit relativen Pfaden von \fI\s-1VERZEICHNIS\s0\fR. Siehe die Optionen \fB+S\fR, \&\fB\-n\fR und \fB+n\fR. .Sp .Vb 2 \& DOS: PATH\ertdata.wcd \& Unix: PATH/.rtdata.wcd .Ve .SH "UMGEBUNGSVARIABLEN" .IX Header "UMGEBUNGSVARIABLEN" .IP "\fB\s-1HOME\s0\fR" 4 .IX Item "HOME" Wcd verwendet per Vorgabe die Umgebungsvariable \fI\s-1HOME\s0\fR, um zu ermitteln, wo Dateien gespeichert werden sollen. Siehe auch den Abschnitt \s-1DATEIEN.\s0 Dies kann mit der Umgebungsvariable \fI\s-1WCDHOME\s0\fR außer Kraft gesetzt werden. .Sp \&\fI\s-1HOME\s0\fR legt außerdem fest, wo mit dem Einlesen des Laufwerks begonnen wird, wenn die Option \fB\-s\fR verwendet wird. Dies kann mit der Umgebungsvariable \&\fI\s-1WCDSCAN\s0\fR außer Kraft gesetzt werden. .Sp In den Versionen für Unix, Cygwin, Windows PowerShell, WinZsh und \s-1MSYS\s0 ist es erforderlich, dass \fI\s-1HOME\s0\fR oder \fI\s-1WCDHOME\s0\fR gesetzt ist. Für die anderen Versionen von wcd ist die Benutzung dieser Variablen optional. .Sp Falls \fI\s-1HOME\s0\fR unter DOS/Windows gesetzt ist, platziert wcd alle seine Dateien (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) im Verzeichnis \&\fI\s-1HOME\s0\fR. Das Verhalten von wcd gleicht dann dem der Unix-Versionen. Wcd liest die Daten dann per Vorgabe aus \fI\s-1HOME\s0\fR ein. Laufwerke werden nicht automatisch eingelesen, wenn Sie dorthin wechseln. Sie müssen wcd explizit dazu anweisen, zum Beispiel: .Sp .Vb 1 \& wcd \-S c: \-A d: \-A e: .Ve .Sp Die Verzeichnissuche wird nun global in allen eingelesenen Laufwerken ausgeführt. .IP "\fB\s-1WCDHOME\s0\fR" 4 .IX Item "WCDHOME" Mit der Umgebungsvariable \fI\s-1WCDHOME\s0\fR können Sie den Ort der Dateien von wcd ändern. Falls sowohl \fI\s-1HOME\s0\fR als auch \fI\s-1WCDHOME\s0\fR gesetzt ist, wird \&\fI\s-1WCDHOME\s0\fR anstelle von \fI\s-1HOME\s0\fR verwendet. .Sp In Wcd-Versionen vor 5.1.5 wurde durch \fI\s-1WCDHOME\s0\fR auch das vorgegebene Einleseverzeichnis geändert. Seit Version ist dies nicht mehr der Fall, siehe Option \fB\-s\fR. Verwenden Sie ab Version 5.1.5 die Umgebungsvariable \&\fI\s-1WCDSCAN\s0\fR, um die Einstellung des vorgegebenen Einleseverzeichnisses außer Kraft zu setzen. .Sp Beispiel für die Befehlszeileninterpreter in \s-1DOS,\s0 Windows, \s-1OS/2:\s0 .Sp .Vb 1 \& set WCDHOME=C:\eUsers\eerwin\ewcd .Ve .Sp Ein Beispiel für POSIX-Shells: .Sp .Vb 1 \& export WCDHOME="$HOME/.wcd" .Ve .Sp Ein Beispiel für Csh-Shells: .Sp .Vb 1 \& setenv WCDHOME "$HOME/.wcd" .Ve .IP "\fB\s-1WCDSCAN\s0\fR" 4 .IX Item "WCDSCAN" Verwenden Sie die Umgebungsvariable \fI\s-1WCDSCAN\s0\fR, um die Einstellung des vorgegebenen Einleseverzeichnisses \fI\s-1HOME\s0\fR außer Kraft zu setzen. Geben Sie eine durch Doppelpunkte getrennte Liste an (für Unix), wenn Sie mehr als ein Verzeichnis angeben wollen. Unter DOS/Windows verwenden Sie Semikola als Trennzeichen. .Sp Beispiel für die Befehlszeileninterpreter von \s-1DOS,\s0 Windows und \s-1OS/2:\s0 .Sp .Vb 1 \& set WCDSCAN=C:\eUsers\eerwin;D:\edata \& \& set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\e\eprojectdrive\eprojectX .Ve .Sp Ein Beispiel für POSIX-Shells: .Sp .Vb 1 \& export WCDSCAN="$HOME:/projectdisk/projectX" .Ve .Sp Ein Beispiel für Csh-Shells: .Sp .Vb 1 \& setenv WCDSCAN "$HOME:/projectdisk/projectX" .Ve .IP "\fB\s-1WCDFILTER\s0\fR" 4 .IX Item "WCDFILTER" Geben Sie Filter mit der Umgebungsvariable \fI\s-1WCDFILTER\s0\fR an. Alle Verzeichnisse, die nicht auf diese(n) Filter passen, werden ignoriert. Sie können eine Liste angeben, in der Sie die einzelnen Filter aneinanderreihen und dazwischen das Pfad-Trennzeichen Ihrer Shell setzen. Dies funktioniert ähnlich wie die Angabe der Variable \fI\s-1PATH\s0\fR. Ob dabei Groß\-/Kleinschreibung berücksichtigt wird, hängt vom jeweiligen Betriebssystem ab. .Sp Beispiel für die Befehlszeileninterpreter in \s-1DOS,\s0 Windows, \s-1OS/2:\s0 .Sp .Vb 1 \& set WCDFILTER=projects;doc .Ve .Sp Ein Beispiel für POSIX-Shells: .Sp .Vb 1 \& export WCDFILTER="projects:doc" .Ve .Sp Ein Beispiel für Csh-Shells: .Sp .Vb 1 \& setenv WCDFILTER "projects:doc" .Ve .IP "\fB\s-1WCDBAN\s0\fR" 4 .IX Item "WCDBAN" Die in der Umgebungsvariable \fI\s-1WCDBAN\s0\fR angegebenen Pfade werden gebannt, siehe auch die Option \fB\-b\fR. Geben Sie eine Liste der Pfade an, durch das \&\fI\s-1PATH\s0\fR\-Trennzeichen der Shell getrennt. .IP "\fB\s-1WCDEXCLUDE\s0\fR" 4 .IX Item "WCDEXCLUDE" Die in der Umgebungsvariable \fI\s-1WCDEXCLUDE\s0\fR angegebenen Pfade werden von wcd ausgeschlossen, siehe auch die Optionen \fB\-x\fR und \fB\-xf\fR. Geben Sie eine Liste der Pfade an, durch das \fI\s-1PATH\s0\fR\-Trennzeichen der Shell getrennt. .Sp Beispiel für die Befehlszeileninterpreter in \s-1DOS,\s0 Windows, \s-1OS/2:\s0 .Sp .Vb 1 \& set WCDEXCLUDE=*/windows;*/temp;*CVS .Ve .Sp Ein Beispiel für POSIX-Shells: .Sp .Vb 1 \& export WCDEXCLUDE="/dev:/tmp:*CVS" .Ve .Sp Ein Beispiel für Csh-Shells: .Sp .Vb 1 \& setenv WCDEXCLUDE "/dev:/tmp:*CVS" .Ve .IP "\fB\s-1WCDUSERSHOME\s0\fR" 4 .IX Item "WCDUSERSHOME" Dies legt das übergeordnete Verzeichnis der Home-Verzeichnisse der Benutzer fest. Unter DOS/Windows ist der Standardwert \f(CW\*(C`\e\eusers\*(C'\fR. Unter Unix/Cygwin ist \f(CW\*(C`/home\*(C'\fR die Vorgabe. Die Variable wird verwendet, um die Baumdateien anderer Benutzer einzulesen. Siehe auch die Optionen \fB\-u\fR und \fB+u\fR. Im ausführlichen Modus gibt wcd alle Filter sowie gebannte und auszuschließende Verzeichnisse aus. Siehe Option \fB\-v\fR. .IP "\fB\s-1WCDSTACKFILE\s0\fR" 4 .IX Item "WCDSTACKFILE" Wcd bevorzugt \fI\s-1WCDSTACKFILE\s0\fR gegenüber dem vorgegebenen Namen der Stapeldatei (siehe Abschnitt \s-1DATEIEN\s0). Mit dieser Variable kann jede Shell oder jede Terminalemulation ihren eigenen Verzeichnisstapel haben. .Sp So verwenden Sie eine eindeutige zeitbasierte Datei (JJJJMMTT-HHMMSS) für jede geöffnete interaktive Shell: .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d\-%H%M%S) .Ve .Sp Für einen Stapel pro \fIxterm\fR\|(1) verwenden Sie die Umgebungsvariable \&\fI\s-1WINDOWID\s0\fR: .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID .Ve .Sp Einen Stapel pro Bildschirm erreichen Sie für \s-1GNU\s0 \fIscreen\fR\|(1) so: .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW .Ve .IP "\fB\s-1TERMINFO\s0\fR" 4 .IX Item "TERMINFO" Wenn die Umgebungsvariable \fI\s-1TERMINFO\s0\fR, sucht wcd mit ncurses-Schnittstelle nach einer lokalen Teminaldefinition, bevor am Standardort gesucht wird. Dies ist sinnvoll für Terminaldefinitionen, die sich nicht an einem vorgegebenen Ort befinden. Oft verwendete Standardorte sind \&\f(CW\*(C`/usr/lib/terminfo\*(C'\fR und \f(CW\*(C`/usr/share/terminfo\*(C'\fR. .IP "\fB\s-1PDC_RESTORE_SCREEN\s0\fR" 4 .IX Item "PDC_RESTORE_SCREEN" Wcd mit PDCurses-Schnittstelle berücksichtigt die Umgebungsvariable \&\fI\s-1PDC_RESTORE_SCREEN\s0\fR. Falls diese Umgebungsvariable gesetzt ist, erzeugt PDCurses eine Kopie des Bildschirminhalts zur Startzeit von wcd. Beim Abbruch von wcd wird der Bildschirm wiederhergestellt. Ein Beispiel für den Windows-Befehlszeileninterpreter: .Sp .Vb 1 \& set PDC_RESTORE_SCREEN=1 .Ve .Sp Windows kann nur einen kleinen Puffer speichern. Es ist daher nicht immer möglich, alles wiederherzustellen. Andererseits kann in der Konsole nach dem Beenden von wcd Datenmüll ausgegeben werden, falls Sie den Puffer größer gewählt haben. .IP "\fB\s-1SHELL\s0\fR" 4 .IX Item "SHELL" Die Angabe von \f(CW\*(C`#!$SHELL\*(C'\fR in der ersten Zeile des Go-Skripts (für \s-1POSIX\-\s0 oder C\-Shells) ist für 8\-Bit\-Zeichen nötig. Einige Shells könnten sonst annehmen, dass es sich bei dem Go-Skript um eine Binärdatei handelt und diese nicht einlesen. In der Cygwin-Bash muss die Variable \fI\s-1SHELL\s0\fR mit dem Befehl \f(CW\*(C`export\*(C'\fR gesetzt werden, sonst kann wcd diese Variable nicht lesen. .IP "\fB\s-1BASH\s0\fR" 4 .IX Item "BASH" Wcd für die DOS-Bash verwendet \f(CW$BASH\fR anstelle von \f(CW$SHELL\fR, weil \&\f(CW$SHELL\fR auf die DOS-Befehlsshell zeigt. \f(CW$BASH\fR muss mit einem \&\f(CW\*(C`export\*(C'\fR\-Befehl definiert werden, anderenfalls kann wcd die Variable nicht lesen. .SH "SIEHE AUCH" .IX Header "SIEHE AUCH" \&\fIsh\fR\|(1), \fIbash\fR\|(1), \fIcsh\fR\|(1), \fIksh\fR\|(1), \fIzsh\fR\|(1), \fIlocale\fR\|(1), \fIncurses\fR\|(1), .SH "AUTOREN" .IX Header "AUTOREN" Wcd wurde von Erwin Waterlander geschrieben. .PP Projektseite: .PP SourceForge: .PP Die Formatierung der Handbuchseite wurde von Jari Aalto bereitgestellt. .PP \&\s-1NCD\s0 wurde ursprünglich von Brad Kingsbury für Peter Nortons »Norton Utilities« etwa 1987 geschrieben. Siehe auch wcd-6.0.3/src/man/de/man1/wcd.htm0000644000175500010010000020171013524756535015641 0ustar waterlanGeen wcd 6.0.3 - Wherever Change Directory

BEZEICHNUNG

wcd - Wherever Change Directory

chdir für DOS und Unix

ÜBERSICHT

    wcd [Optionen] [Verzeichnis]

BESCHREIBUNG

Übersicht

Wcd ist ein Befehlszeilenprogramm zum schnellen Verzeichniswechsel. Es spart Zeit bei Tastatureingaben. Sie brauchen nur den Teil eines Verzeichnisnamens einzugeben, und wcd wechselt dorthin. Im Falle mehrerer Treffer verfügt wcd über eine Methode zur Schnellauswahl und ermöglicht die Definition von Aliasen und das Verbannen von Verzeichnissen. Außerdem beinhaltet wcd einen interaktiven Verzeichnisbaumbrowser im Vollbildmodus mit schneller Suche.

Wcd wurde nach dem Vorbild des Norton Change Directory (NCD) entworfen. NCD erschien zuerst 1987 in The Norton Utilities, Release 4 für DOS, veröffentlicht von Peter Norton.

Wcd wurde auf verschiedene Befehlszeileninterpreter portiert: DOS (command.com), Windows (cmd.exe und PowerShell), OS/2 (cmd.exe) sowie Unix-Shells wie Bourne- (sh), Bourne-Again- (bash), Korn- (ksh), Z- (zsh) und die C- (csh) Shell und weitere auf verschiedenen Betriebssystemen ausführbare Shells.

Wcd unterstützt 8-Bit-Zeichensätze auf allen Systemen und verfügt über optionale Unterstützung für Unicode. Weitere Informationen hierzu finden Sie im Abschnitt LOKALISIERUNG.

Im Abschnitt INSTALLATION finden Sie Anweisungen, wie Sie wcd an Ihre persönlichen Wünsche anpassen können.

Grundlegende Verwendung

Per Vorgabe (wenn keine Platzhalter verwendet werden) sucht wcd nach einem Verzeichnis, dessen Name mit dem eingegebenen Namen beginnt.

Beispielsweise wechselt dieser Befehl in das Verzeichnis /home/user/Desktop des aktuellen Benutzers:

    wcd Desk

Bei mehreren möglichen Übereinstimungen zeigt wcd eine Liste aller Möglichkeiten an. Der Benutzer kann dann mit einigen Tastenkürzeln seine Auswahl treffen (meist nur mit einem).

Platzhalter

Wcd unterstützt die folgenden Platzhalter:

    *         findet jede Zeichensequenz (kein oder mehr Zeichen)
    ?         findet jedes einzelne Zeichen
    [GRUPPE]  findet jedes Zeichen in der angegebenen Gruppe,
    [!GRUPPE] oder [^GRUPPE] findet jedes Zeichen, das in der angegebenen
              GRUPPE nicht enthalten ist.

Eine Gruppe wird als Zeichen oder Bereich angegeben. Ein Bereich folgt der Form Zeichen minus Zeichen, zum Beispiel 0-9 oder A-Z. Dabei ist [0-9a-zA-Z_] die minimal mögliche Gruppe nach dem Muster [..]. Internationale Zeichen (zum Beispiel 8-Bit-Zeichen) sind erlaubt, falls das System diese unterstützt. Um die besondere syntaktische Bedeutung der Zeichen []*?!^-\ innerhalb oder außerhalb des Musters [..] zu berücksichtigen, so dass das exakte Zeichen gefunden wird, stellen Sie dem Zeichen einen Rückschrägstrich (\) voran, um es zu maskieren.

Die Verwendung von Platzhaltern ermöglicht eine leistungsfähige Suche. Beispielsweise findet folgende Anfrage alle Verzeichnisse, deren Name auf »top« endet:

    wcd *top

Nach Verzeichnissen suchen, deren Name an einer beliebigen Stelle »top« enthält:

    wcd *top*

Nach Verzeichnissen suchen, deren Name mit »a«, »b«, oder »c« beginnt:

    wcd [a-c]*

Es ist auch möglich, einen Teil eines Verzeichnispfades anzugeben. Hier sucht Wcd nach Verzeichnissen, die mit »Desk« beginnen und der Pfad auf *me/Desk* passt.

    wcd me/Desk

Es ist möglich, jede Art von Ausdruck mit Schrägstrichen und Platzhaltern einzugeben, zum Beispiel:

    wcd src*/*1?/a*2

Weitere Anwendungsfälle

Falls keine Platzhalter verwendet werden und wcd eine perfekte Übereinstimmung findet, werden alle »unscharfen« Übereinstimmungen per Vorgabe ignoriert. Dieses Verhalten kann mit der Option -w geändert werden.

Der interaktive Verzeichnisbaumbrowser kann mit der Option -g gestartet werden.

    wcd -g

Wcd generiert eine Baumdatei, in der nach dem Verzeichnis gesucht wird. Auf Unix- und Windows-Systemen fügt wcd beim Einlesen des Laufwerksinhalts symbolische Links zur Baumdatei hinzu, folgt diesen aber nicht. Dies wird deshalb unterdrückt, weil das Einlesen in einer Endlosschleife enden könnte oder größere Teile eines Netzwerks eingelesen werden müssten.

Wcd kann auch in Verzeichnisse wechseln, die nicht in der Baumdatei enthalten sind, zum Beispiel:

    wcd ..

Falls wcd einen Treffer findet, aber nicht in das Verzeichnis wechseln kann, versucht es, dieses Verzeichnis aus der Baumdatei zu entfernen, jedoch nicht aus der zusätzlichen Baumdatei. Siehe auch die Option -k.

Wcd erstellt einen Verzeichnisstapel, der auf dem Laufwerk gespeichert wird. Der Stapel hat die vorgegebene Größe 10 und ist zyklisch. Siehe die Optionen -z, -, + und =.

In Umgebungen mit mehreren Benutzern kann mit der Option -u in die Verzeichnisse anderer Benutzer gewechselt werden.

Auf DOS- und Windows-Systemen ist es nicht von Bedeutung, ob Sie einen Schrägstrich »/« oder einen Rückschrägstrich »\« als Verzeichnistrenner verwenden.

Auf DOS- und Windows-Systemen ist es möglich, gleichzeitig das Laufwerk und das Verzeichnis zu wechseln, indem Sie dem Verzeichnisnamen den Laufwerksnamen voranstellen.

    wcd d:games

UNC-Pfade unter Windows

Die Windows-Versionen (Befehlszeileninterpreter, PowerShell, MSYS, zsh, cygwin) unterstützen SMB-LAN-UNC-Pfade ohne Laufwerksbuchstaben wie \\Servername\Freigabename. Wcd für den Windows-Befehlszeileninterpreter benutzt den »pushd«-Befehl, um einem UNC-Pfad automatisch einen Laufwerksbuchstaben zuzuordnen. In der Windows PowerShell, MSYS, zsh und Cygwin werden UNC-Pfade vollständig unterstützt. Das aktuelle Arbeitsverzeichnis kann ein UNC-Pfad sein.

Größenänderung der Konsole unter Windows

Wcd unterstützt seit Version 6.0.3 die Größenänderung der Konsole unter Windows 10 und ConEmu (siehe https://conemu.github.io/). Die Windows-10-Konsole darf nicht im Legacy-Modus sein (prüfen sie das in den Einstellungen der Konsole). Der Bildschirm darf nicht aktualisiert werden, wenn »Wrap text output on resize« deaktiviert ist. Der Bildschirm kann manuell durch Drücken von F5 aktualisiert werden.

Schnittstellen

Wcd verfügt über drei verschiedene Schnittstellen, um aus einer Übereinstimmungsliste zu wählen. Die Schnittstelle wird bei der Kompilierung ausgewählt.

Die erste Schnittstelle verwendet die Standardeingabe und -ausgabe (stdin/stdout). Eine nummerierte Liste wird im Terminal ausgegeben. Sie können aus dieser Liste wählen, indem Sie eine Zahl eingeben und die <Eingabetaste> drücken. Diese Liste kann nicht zurückgerollt werden, wenn sie für die Bildschirmausgabe zu lang ist. Dafür muss die Zurückrollfunktion des Terminals oder der Konsole verwendet werden. Diese Schnittstelle ist sehr klein und portabel.

Die zweite Schnittstelle setzt auf der Conio-Bibliothek auf. Hier ist eine Zurückrollfunktion bereits eingebaut. Wiederum wird eine Liste angezeigt, die aber hier Buchstaben als Aufzählungszeichen verwendet. Zur Auswahl eines Listeneintrags drücken Sie einfach die entsprechende Buchstabentaste. Wenn möglich, wird der Bildschirminhalt nach dem Beenden wiederhergestellt. Wenn Sie Zahlen anstatt Buchstaben bevorzugen, können Sie die Option -N verwenden.

Die dritte Schnittstelle verwendet die Curses-Bibliothek und ist ähnlich der Conio-Schnittstelle. Die Curses-Schnittstelle von wcd hat zusätzlich auch eine »grafische« Oberfläche. Sie können ein Verzeichnis in einem interaktiven Verzeichnisbaumbrowser im Vollbildmodus auswählen. Die Navigation und Suchmethoden sind ähnlich wie in vim(1). Diese Schnittstelle kann mit der Option -g aktiviert werden.

Mit der Option -o ist es jederzeit möglich, auf die stdin/stdout-Schnittstelle (Standardeingabe/Standardausgabe) auszuweichen.

OPTIONEN

-a

fügt den aktuellen Pfad zur vorgegebenen Baumdatei hinzu.

Verwenden Sie diese Option, um schnell den aktuellen Pfad zur Baumdatei hinzuzufügen. Das erneute Einlesen des kompletten Laufwerks kann in manchen Fällen recht lange dauern.

-aa

fügt den aktuellen und alle übergeordneten Pfade zur vorgegebenen Baumdatei hinzu.

-A PFAD

liest den Verzeichnisbaum aus PFAD und fügt ihn zur vorgegebenen Baumdatei hinzu. Beispiele:

    wcd -A .
    wcd -A /home -A /etc
    wcd -A d: -A e: -A \\server\share

Unter Windows können Sie alle freigegebenen Verzeichnisse eines Windows-LAN-Servers einlesen, indem Sie etwa Folgendes eingeben: wcd -A \\Servername.

Siehe auch die Optionen -S, -s und -E.

-b

verbannt den aktuellen Pfad.

Wcd speichert den aktuellen Pfad in der Bann-Datei. Das bedeutet, dass zukünftig alle Übereinstimmungen ignoriert werden, die sich auf dieses Verzeichnis und dessen Unterverzeichnisse beziehen.

Die Bann-Datei kann mit einem Texteditor bearbeitet werden. Die Verwendung von Platzhaltern ist möglich, außerdem werden Namensübereinstimmungen auf den absoluten Pfad bezogen.

Verbannte Pfade werden beim Einlesen des Laufwerks nicht ausgeschlossen. Um dies zu tun, verwenden Sie die Option -xf.

-c, --direct-cd

Direkter CD-Modus. Per Vorgabe arbeitet wcd wie folgt:

    1. Es wird versucht, einen Treffer in der oder den Baumdatei(en)
       zu finden.
    2. Wird nichts gefunden, wird versucht, das eingegebene
       Verzeichnis zu öffnen.

Im direkten CD-Modus arbeitet wcd in umgekehrter Reihenfolge.

    1. Es wird versucht, das eingegebene Verzeichnis zu öffnen.
    2. Wird nichts gefunden, wird nach einem Treffer in der oder
       den Baumdatei(en) gesucht.
-d LAUFWERK

legt das Laufwerk für den Verzeichnisstapel und die Go-Datei fest (nur DOS).

Die Stapeldatei und das Go-Skript werden per Vorgabe im Laufwerk »C:« gespeichert, wenn die Umgebungsvariable HOME nicht gesetzt ist. Verwenden Sie diese Option, wenn »C:« ein schreibgeschütztes Laufwerk ist. Diese Option muss vor den Stapeloptionen -, + und = stehen.

-e

fügt den aktuellen Pfad zur zusätzlichen Baumdatei hinzu.

Verwenden Sie diese Option, um schnell den aktuellen Pfad zur zusätzlichen Baumdatei hinzuzufügen.

-ee

fügt den aktuellen Pfad und alle übergeordneten Pfade zur zusätzlichen Baumdatei hinzu.

-E PFAD

liest den Verzeichnisbaum aus PFAD und fügt ihn zur zusätzlichen Baumdatei hinzu. Siehe auch die Optionen -A und -S.

-f DATEI

liest die Baumdatei DATEI. Die vorgegebene Baumdatei wird nicht gelesen.

+f DATEI

liest die Baumdatei DATEI zusätzlich zur vorgegebenen Baumdatei.

-g

verwendet die grafische Benutzeroberfläche (nur in Versionen mit curses-Schnittstelle).

Wcd startet eine textbasierte, auf der Curses-Bibliothek aufsetzende »grafische« Schnittstelle. Sie können ein Verzeichnis in einem interaktiven Verzeichnisbaumbrowser im Vollbildmodus auswählen. Die Navigation und Suchmethoden sind ähnlich wie in vim(1).

Wenn keine Suchzeichenkette angegeben ist, stellt wcd den gesamten Baum aus den Inhalten der vorgegebenen und der zusätzlichen Baumdatei dar.

Wenn eine Suchzeichenkette angegeben ist, wird die Trefferliste als Verzeichnisbaum angezeigt.

Die vorgegebene Ansicht des Baums ähnelt der Ansicht im originalen NCD unter DOS. Der Unterschied besteht darin, dass in NCD alle Verzeichnisse der gleichen Pfadtiefe im gesamten Baum vertikal angeordnet werden. Das war in NCD möglich, da ein Verzeichnisname in DOS nicht länger als 12 Zeichen (8.3) sein durfte. Auf modernen Betriebssystemen können Verzeichnisnamen sehr lang sein, außerdem sind große Unterschiede bei den Längen der Namen der verschiedenen Verzeichnisse möglich. Deswegen werden Verzeichnisse der gleichen Pfadtiefe in wcd nicht im gesamten Baum vertikal ausgerichtet, sondern nur in Verzweigungen. Daher kann es zu Seitenbewegungen kommen, wenn Sie eigentlich in der Hierarchie direkt nach oben oder von einer Verzweigung zu einer anderen navigieren wollen.

Das Navigationsverhalten in Wcd ist exakt das gleiche wie im originalen NCD. Wenn Sie beispielsweise die Pfeil-ab-Taste drücken, gehen Sie damit zum nächsten Verzeichnis der gleichen Tiefe in der Verzeichnishierarchie, wobei Verzweigungen übersprungen werden. Dies ermöglicht die schnelle Navigation durch den Baum.

Siehe die Optionen -Ta, -TC und -Tc zum Ändern des Navigationsverhaltens.

-gd

gibt die Baumdateien als Baum in die Standardausgabe aus.

-G PFAD

schreibt das Go-Skript in das Verzeichnis PFAD. Unter Unix beispielsweise schreibt wcd -G PFAD ein Go-Skript in PFAD/wcd.go.

-GN, --no-go-script

verhindert die Erstellung eines Go-Skripts. Diese Option kann zusammen mit -j verwendet werden, wenn Sie wcd kein Go-Skript schreiben lassen wollen.

-h, --help

zeigt eine Hilfe an und beendet das Programm.

-i, --ignore-case

ignoriert Groß-/Kleinschreibung. In den DOS- und Windows-Versionen ist dies der Standard. In den Unix- und Cygwin-Versionen wird per Vorgabe die Groß-/Kleinschreibung berücksichtigt.

+i, --no-ignore-case

berücksichtigt Groß-/Kleinschreibung. Siehe auch Option -i.

-I, --ignore-diacritics

ignoriert diakritische Zeichen des lateinischen Alphabets. Buchstaben mit diakritischen Zeichen werden wie die deren Basisbuchstaben behandelt. Die folgenden Latin-Zeichenkodierungen werden unterstützt: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, sowie Unicode Latin-1, Latin Extended-A, und Latin Extended-B. Siehe auch http://de.wikipedia.org/wiki/Diakritisches_Zeichen

+I, --no-ignore-diacritics

berücksichtigt diakritische Zeichen (Vorgabe). Siehe auch Option -I.

-j, --just-go

Geh-einfach-Modus.

In diesem Modus zeigt wcd keine Liste an, wenn mehr als ein Verzeichnis auf das angegebene Verzeichnis passt. Wcd wechselt nur einfach zum ersten Treffer. Beim erneuten Aufruf von wcd mit den gleichen Argumenten wird zum Verzeichnis im nächsten Treffer gewechselt, und so weiter.

Wcd gibt das Verzeichnis, in das gewechselt wird, in die Standardausgabe aus. So kann eine andere Installationsmethode verwendet werden. Sie könnten die folgende Funktion für eine POSIX-kompatible Shell erstellen:

    wcd ()
    {
        cd "$($HOME/bin/wcd.exe -j $@)"
    }

Wenn Sie mit einer älteren Shell arbeiten, die nicht über Unterstützung für die Befehlsersetzung mit »$()« verfügt, müssen Sie die auch die ältere Befehlsersetzung mit Gravis-Zeichen (Backtick, »`«) verwenden.

    wcd ()
    {
        cd "`$HOME/bin/wcd.exe -j $@`"
    }

Auf Windows-Systemen mit einer NT4-Shell können Sie den folgenden Alias anlegen:

    alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`

Diese Methode macht ein Go-Skript überflüssig, daher können Sie die Option -GN zusammen mit -j verwenden.

-k, --keep-paths

erhält Pfade.

Die Pfade werden in der Baumdatei weiter vorgehalten, wenn wcd nicht dorthin wechseln kann. Das Vorgabeverhalten in diesem Fall ist, dass wcd versucht, diese Pfade aus der Baumdatei zu entfernen. Mit dieser Option wird das Vorgabeverhalten deaktiviert.

-K, --color

verwendet Farben im grafischen Modus.

-l ALIAS

benennt den aktuellen Pfad mit ALIAS. Wcd speichert den aktuellen Pfad mit dem ALIAS in der Alias-Datei. Bei Aliasen wird Groß-/Kleinschreibung berücksichtigt.

-ls

zeigt den Namen der Alias-Datei an und listet alle Aliase auf.

-m VERZEICHNIS

erstellt ein Verzeichnis und fügt es zur Baumdatei hinzu.

-L, --license

zeigt die Lizenz des Programms an.

-M VERZEICHNIS

erstellt ein Verzeichnis und fügt es zur zusätzlichen Baumdatei hinzu.

-n PFAD

liest die relative Baumdatei aus PFAD.

Die Datei für die vorgegebene Baumansicht wird nicht gelesen. Die Datei für die relative Baumansicht sollte schon von wcd mit der Option +S angelegt worden sein. PFAD kann auch direkt auf eine Datei verweisen.

Ein Beispiel. Nehmen wir an, ein anderes System wurde in /mnt/network eingehängt:

    wcd -n /mnt/network src

Wcd öffnet die Datei der relativen Baumansicht in /mnt/network/. Die Datei enthält die Pfade relativ von diesem Punkt aus betrachtet.

+n PFAD

liest die Datei der relativen Baumansicht zusätzlich zur vorgegebenen Datei. Siehe Option -n.

-N, --numbers

verwendet Zahlen anstelle von Buchstaben.

Wcd mit einer Conio- oder Curses-basierten Benutzeroberfläche (siehe Abschnitt »Schnittstellen«) stellt eine Trefferliste mit Buchstaben als Aufzählungszeichen dar. Wenn Sie die Option -N angeben, wird die Trefferliste mit Zahlen nummeriert. Ungeachtet der Option -N können Sie einen Buchstaben oder Zahlen eingeben, um aus der Trefferliste zu wählen.

-o

verwendet die stdin/stdout-Schnittstelle (Standardeingabe/Standardausgabe).

Falls aus verschiedenen Gründen die conio- oder curses-Schnittstelle von wcd nicht funktioniert, können Sie mit der Option -o auf die stdin/stdout-Schnittstelle ausweichen.

-od, --to-stdout

gibt alle Übereinstimmungen in die Standardausgabe aus.

-q, --quiet

Stiller Modus. Die Ausgabe des endgültigen Treffers wird unterdrückt.

-r VERZEICHNIS

entfernt ein Verzeichnis und entfernt es auch aus der Baumdatei.

Wenn das Verzeichnis leer ist, wird wcd es entfernen, und versuchen, es aus der Baumdatei zu entfernen.

-rmtree VERZEICHNIS

entfernt ein Verzeichnis rekursiv und entfernt es auch aus der Baumdatei.

Wcd entfernt das Verzeichnis und dessen Untervezeichnisse und Dateien, außerdem werden die Verzeichnisse aus der Baumdatei entfernt.

-s

liest den Laufwerksinhalt (evtl. erneut) aus dem Verzeichnis $HOME ein. Falls HOME nicht definiert ist, wird das Wurzelverzeichnis »/« des Laufwerks eingelesen.

Die existierende vorgegebene Baumdatei wird dabei überschrieben.

Das vorgegebene einzulesende Verzeichnis kann mit der Umgebungsvariable WCDSCAN außer Kraft gesetzt werden. Weitere Informationen finden Sie im Abschnitt UMGEBUNGSVARIABLEN.

-S PFAD

liest den Verzeichnisbaum aus PFAD und überschreibt die vorgegebene Baumdatei. Siehe auch die Optionen -A, -s und -E. Zum Beispiel können Sie mit der Option -A eine Vorgabe-Baumdatei Ihrer Wahl erzeugen. Beispiele:

Unix:

    wcd -S /
    wcd -S /home -A /etc -A /usr

DOS/Windows:

    wcd -S c:/
    wcd -S c: -A d: -A \\server\share

Mit den Windows-Versionen können Sie alle freigegebenen Verzeichnisse eines Windows-LAN-Servers einlesen. Geben Sie etwa Folgendes ein: wcd -S \\Servername.

-S PFAD

liest das Laufwerk aus PFAD ein und platziert relative Pfade in der Datei der relativen Baumansicht. Diese Datei wird in wcd von den Optionen -n und +n verwendet. Beispiel wcd -n PFAD src.

-t

entfernt das temporäre Einhängeverzeichnis /tmp_mnt nicht (nur Unix).

Wcd entfernt per Vorgabe /tmp_mnt/ aus den Treffern. Dieses Verzeichnis wird vom Auto-Mounter verwendet. Sie können dieses Verhalten mit der Option -t abschalten.

-T, --ascii-tree

zeichnet die Baumansicht mit ASCII-Zeichen. Verwenden Sie diese Option, wenn die Zeichen zum Darstellen von Linien in Ihrem Terminal nicht korrekt angezeigt werden.

-Ta, --alt-tree-nav

verwendet einen alternativen Weg zur Navigation in der grafischen Baumansicht.

In der vorgegebenen Baumansicht im NCD-Stil verhindert die Option -Ta das Springen in beziehungslose Verzeichnisse.

In der kompakten Baumansicht funktioniert die Navigation im alternativen Modus ähnlich wie in Dateimanagern mit grafischer Benutzeroberfläche, wie dem Windows Explorer oder dem KDE Konqueror. Durch Drücken der Pfeiltasten nach oben und nach unten verschieben Sie das ausgewählte Verzeichnis eine Zeile nach oben oder unten. Die linke Pfeiltaste klappt die Unterverzeichnisse ein, wiederholtes Drücken der linken Pfeiltaste springt dann tatsächlich nach links.

Sie können direkt zwischen dem Vorgabe- und dem Alternativmodus wechseln, indem Sie <Umschalt-A> drücken.

Wenn der alternative Navigationsmodus eingeschaltet ist, sehen Sie ein »A« in der unteren rechten Ecke.

-TC, --center-tree

zentriert die Ansicht im grafischen Baum. Das ausgewählte Verzeichnis steht in der Mitte des Bildschirms. Der zentrierte Modus kann mit der Taste <t> im grafischen Baum an- und abgeschaltet werden.

Die vorgegebene nicht-zentrierte Ansicht, welche die Baumbewegungen minimiert, entspricht derjenigen im originalen NCD.

-Tc, --compact-tree

Per Vorgabe wird die »grafische« Baumansicht auf die gleiche Art gezeichnet wie im originalen NCD unter DOS. Dort darf ein Verzeichnispfad nicht länger als 66 Zeichen sein. Mit den heute üblichen tiefen Verzeichnisstrukturen kann der Baum sehr breit werden. Um dies zu vermeiden, kann wcd den Baum in einer Kompaktansicht darstellen, mit einem Verzeichnis pro Zeile, wie in den meisten grafischen Dateimanagern. Verwenden Sie die Option -Tc oder schalten Sie direkt mit der Taste <m> um.

-Td, --cjk-width

Veraltete ostasiatische CJK-Schriften (Chinesisch, Japanisch und Koreanisch) haben bestimmte Zeichen und Symbole zum Zeichnen von Linien mit einer Breite von zwei Spalten, während die Zeichenbreite in normalem Unicode eine Spalte beträgt. Beispielsweise sind das die chinesische CP936-Rasterschrift unter Windows und die Simsun-Schrift. Verwenden Sie diese Option zur korrekten Ausrichtung der grafischen Baumansicht, wenn eine veraltete CJK-Schrift verwendet wird.

Wenn der CJK-Modus eingeschaltet ist, wird ein »C« in der unteren rechten Ecke angezeigt.

-u BENUTZER

liest die Daten eines anderen Benutzers für die Baumansicht basierend auf BENUTZER ein. Ihre eigene Datei für die Baumansicht wird nicht eingelesen. Siehe auch WCDUSERSHOME im Abschnitt UMGEBUNGSVARIABLEN.

Unter Unix/Cygwin wird /home als Wurzel für die Benutzerverzeichnisse angenommen. Wcd schaut nach /home/BENUTZER/.treedata.wcd und /home/BENUTZER/.wcd/.treedata.wcd, in dieser Reihenfolge. Davon wird die erste existierende und lesbare Datei gelesen. Unter DOS/Windows wird \\users als Wurzelverzeichnis der Benutzer angenommen, daher versucht wcd \\users\BENUTZER\treedata.wcd und \\users\BENUTZER\.wcd\treedata.wcd zu lesen.

+u BENUTZER

liest die vorgegebene Baumansicht-Datei von BENUTZER zusätzlich zu Ihrer eigenen Baumansicht-Datei ein.

-v, --verbose

zeigt ausführliche Meldungen an. Mit dieser Option zeigt wcd alle Filter, Verbannungen und Ausschlüsse an.

-V, --version

zeigt Versionsinformationen an und beendet das Programm.

-w, --wild-match-only

zeigt nur Übereinstimmungen von Platzhaltern an. Alle Treffer werden als Platzhalter-Treffer angenommen.

-x PFAD

schließt PFAD vom Einlesen aus.

Mit dieser Option schließt wcd PFAD und dessen Unterverzeichnisse aller Ebenen beim Einlesen eines Laufwerks aus. Platzhalter werden unterstützt und auf absolute Pfade angewendet. Die Option -x kann mehrfach angegeben werden.

    wcd -x <Pfad1> -x <Pfad2> -s

Die Option -x muss vor jeder anderen Einleseoption angegeben werden (-s, -S, +S, -A, -E).

Unter DOS/Windows müssen Sie den Laufwerksbuchstaben angeben, je nachdem, ob eine der Variablen HOME oder WCDHOME gesetzt ist. Falls HOME oder WCDHOME gesetzt ist, müssen Sie den Laufwerksbuchstaben angeben. Ein Beispiel:

    wcd -x c:/temp -S c:

Anderenfalls geben Sie keinen Laufwerksbuchstaben an.

    wcd -x /temp -s
-xf DATEI

schließt alle in DATEI aufgelisteten Pfade vom Einlesen aus.

Wenn diese Option ausgewählt ist, schließt wcd alle in DATEI aufgelisteten Pfade und sämtliche derer Unterverzeichnisse beim Einlesen eines Laufwerks aus. Platzhalter werden unterstützt und Namensübereinstimmungen werden auf den absoluten Pfad bezogen. Beachten Sie, dass wcd führende und angehängte Leerzeichen in einer Zeile nicht ignoriert, da sie als Zeichen in einem Verzeichnisnamen zulässig sind. Die Option -xf kann mehrfach angegeben werden. Mit folgendem Befehl schließen Sie alle verbannten Pfade vom Einlesen aus (Beispiel für wcd unter Unix):

    wcd -xf ~/.ban.wcd -s

Platzhalter werden unterstützt. Um beispielsweise alle Ihre Subversion-Verzeichnisse mit administrativen Dateien auszuschließen, fügen Sie eine Zeile mit */.svn hinzu.

Die Option -xf muss vor jeder anderen Einleseoption angegeben werden (-s, -S, +S, -A, -E).

-y, --assume-yes

beantwortet alle Abfragen automatisch mit »ja«.

Wcd gibt keine Ja-/Nein-Abfragen an den Benutzer aus, nimmt aber an, dass der Benutzer stets auf alle Fragen mit Ja antworten würde. Dies kann in Verbindung mit der Option -rmtree verwendet werden. Diese Option muss vor allen Optionen angegeben werden, die zu Ja-/Nein-Abfragen führen könnten.

-z ZAHL

setzt die maximale Stapelgröße auf ZAHL.

Die vorgegebene Größe des Stapels ist 10. Stapeloperationen können deaktiviert werden, indem die Größe auf 0 gesetzt wird. Diese Option muss stets vor anderen Stapeloperationen angegeben werden (-,+,=). Anderenfalls wird die Stapelgröße wieder auf den Vorgabewert 10 zurückgesetzt.

Ein korrekter Befehl ist:

    wcd -z 50 -

Die neue Stapelgröße ist 50 und wcd geht ein Verzeichnis zurück. Ein falscher Befehl wäre:

    wcd - -z 50

Wcd geht ein Verzeichnis zurück und der Stapel erhält die Vorgabegröße 10. Das Argument -z 50 wird ignoriert.

Fügen Sie dies als erste Option zu Ihrem wcd-Alias oder Ihrer wcd-Funktion hinzu. Für eine POSIX-kompatible Shell wäre das:

    wcd ()
    {
        wcd.exe -z 50 "$@"
        . ${WCDHOME:-${HOME}}/bin/wcd.go
    }
-[ZAHL]

legt ein Verzeichnis auf den Stapel (ZAHL mal). Vorgabe ist 1.

Geht ein Verzeichnis zurück. Der Befehl wcd - geht ein Verzeichnis zurück. Um mehrere Verzeichnisse zurückzugehen, fügen Sie eine Zahl hinzu, zum Beispiel in Form des Befehls wcd -3. Der Stapel ist zyklisch.

+[ZAHL]

nimmt ein Verzeichnis vom Stapel (ZAHL mal). Vorgabe ist 1.

Geht ein Verzeichnis vor. Der Befehl wcd + geht ein Verzeichnis vor. Um mehrere Verzeichnisse vorzugehen, fügen Sie eine Zahl hinzu, zum Beispiel in Form des Befehls wcd +2. Der Stapel ist zyklisch.

=

zeigt den Stapel an.

Verwenden Sie diese Option, wenn Sie nicht mehr wissen, wie oft Sie im Stapel die Ebene gewechselt haben. Der Stapel wird ausgegeben und Sie können eine Zahl wählen. Die aktuelle Position im Stapel ist mit einem Asterisk * markiert.

INSTALLATION

Das aktuelle Arbeitsverzeichnis einer Unix-Shell kann nur über den eingebauten cd(1)-Befehl gewechselt werden. Daher wird das Programm stets über eine Funktion oder einen Alias ausgeführt. Die Funktion oder der Alias verwenden ein Shell-Skript (das Go-Skript), welches von wcd erzeugt wird. Wcd funktioniert erst dann, wenn die Funktion oder der Alias definiert wurde.

Weiteren wichtigen Einfluss auf Ihre Installation nimmt die Definition der Umgebungsvariablen HOME und WCDHOME. Siehe den Abschnitt UMGEBUNGSVARIABLEN.

Installation für POSIX-Shells

Für eine POSIX-Shell (ksh, bash, zsh, etc.) unter Unix, Linux, Cygwin oder nativem MSYS fügen Sie die folgende Funktion zur Shell-Startdatei hinzu (die Bash verwendet zum Beispiel $HOME/.bashrc):

    wcd ()
    {
        PATH/wcd.exe "$@"
        . ${WCDHOME:-${HOME}}/bin/wcd.go
    }

PFAD wird durch den Ort ersetzt, in dem das ausführbare wcd-Programm gespeichert ist. Laden Sie die Initialisierungsdateien der Shell neu oder starten Sie eine neue Shell.

Der Ort des Go-Skripts wcd.go ist abhängig von der Shell selbst.

Wcd für die auf DJGPP basierende DOS-Bash und die OS/2-Bash erfordert eine andere Funktionalität. Das Go-Skript wird nicht in einem Verzeichnis bin gespeichert, und falls weder WCDHOME noch HOME definiert sind, wird das Go-Skript nach c:/ geschrieben.

DOS-Bash:

    wcd ()
    {
        PATH/wcdbash.exe "$@"
        . ${WCDHOME:-${HOME:-"c:"}}/wcd.go
    }

OS/2-Bash:

    wcd ()
    {
        PATH/wcdos2bash.exe "$@"
        . ${WCDHOME:-${HOME:-"c:"}}/wcd.go
    }

Die WinZsh-Version von wcd erfordert eine etwas andere Funktion. Das Go-Skript wird niemals in c:/ gespeichert.

    wcd ()
    {
        PATH/wcdwin32zsh.exe "$@"
        . ${WCDHOME:-${HOME}}/wcd.go
    }

Weitere Informationen finden Sie im Abschnitt DATEIEN.

Installation für C-ähnliche Shells (csh, tcsh)

Fügen Sie den folgenden Alias zur Shell-Startdatei $HOME/.cshrc oder $HOME/.tcshrc hinzu:

    if ( ${?WCDHOME} ) then
        alias wcd "PATH/wcd.exe \!* ; source $WCDHOME/bin/wcd.go"
    else
        alias wcd "PATH/wcd.exe \!* ; source $HOME/bin/wcd.go"
    endif

PFAD wird durch den Ort ersetzt, in dem das ausführbare wcd-Programm gespeichert ist. Laden Sie die Initialisierungsdateien der Shell neu oder starten Sie eine neue Shell.

Version für den Windows-Befehlszeileninterpreter

Entpacken Sie die Zip-Datei und fügen Sie den Ordner bin zu Ihrer Umgebungsvariable PATH hinzu.

Im Windows-Befehlszeileninterpreter kann ein Windows-Programm das aktuelle Arbeitsverzeichnis nicht wechseln, das ist aber mit einer .bat-Datei möglich. Das Batch-Skript wcd.bat ruft das wcd-Programm auf, welches seinerseits das neue Batch-Skript wcdgo.bat erzeugt. Dann führt wcd.bat wiederum wcdgo.bat aus, welches tatsächlich das Verzeichnis wechselt.

Windows VISTA und neuer

Im Befehlszeileninterpreter in Windows VISTA oder neueren Versionen ist der Zugriff auf Verzeichnisse eingeschränkt. Um Zugriff auf weitere Verzeichnisse zu erhalten, benötigen Sie Administratorrechte. Einen Befehlszeileninterpreter mit Administratorrechten erhalten Sie, wenn Sie mit der rechten Maustaste auf das Programmsymbol des Befehlszeileninterpreters klicken und Als Administrator ausführen wählen.

Version für die Windows PowerShell

Fügen Sie die folgende Funktion zu Ihrem PowerShell-Benutzerprofil hinzu. Der Ort dieses Profils wird durch die Variable $profile bestimmt. Es ist erforderlich, dass eine der Umgebungsvariablen HOME oder WCDHOME definiert ist.

    function wcd
    {
        PATH\wcdwin32psh.exe $args
        & $env:HOME\wcdgo.ps1
    }

PFAD wird durch den Ort ersetzt, in dem das ausführbare wcd-Programm gespeichert ist. Starten Sie eine neue PowerShell. Wcd für die PowerShell unterstützt nur den Dateisystemtreiber und keine weiteren Treiber.

Version für den Befehlszeileninterpreter von OS/2

Im Befehlszeileninterpreter von OS/2 (cmd.exe) kann ein OS/2-Programm das aktuelle Arbeitsverzeichnis nicht wechseln. Daher erzeugt wcd ein Befehlsskript wcdgo.cmd, das in der aktuellen Shell ausgeführt werden muss. Das Skript wcd.cmd führt zuerst wcdos2.exe aus, welches seinerseits das Skript wcdgo.cmd erzeugt. Danach führt wcd.cmd das Skript wcdgo.cmd aus.

LOKALISIERUNG

LANG

Die primäre Sprache wird durch die Umgebungsvariable LANG festgelegt. Diese Variable besteht aus mehreren Teilen: Den ersten Teil bilden zwei Kleinbuchstaben, die den Sprachcode angeben. Der zweite Teil ist optional und bezeichnet den Ländercode in Großbuchstaben, vom davor stehenden Sprachcode durch einen Unterstrich getrennt. Der dritte Teil ist ebenfalls optional und gibt die Zeichenkodierung an, vom Ländercode durch einen Punkt getrennt. Einige Beispiele für Standard-POSIX-Shells:

    export LANG=de               Deutsch
    export LANG=de_DE            Deutsch, Deutschland
    export LANG=de_CH            Deutsch, Schweiz
    export LANG=es_ES            Spanisch, Spanien
    export LANG=es_MX            Spanisch, Mexiko
    export LANG=en_US.iso88591   English, USA, Latin-1-Zeichenkodierung

Eine vollständige Liste der Sprachen und Ländercodes finden Sie im Handbuch zu gettext(1): http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes. Auf Unix-Systemen können Sie den Befehl locale(1) verwenden, um spezifische Informationen zur Spracheinstellung zu erhalten.

LANGUAGE

Mit der Umgebungsvariable LANGUAGE können Sie eine Prioritätenliste für Sprachen übergeben, die Sie durch Doppelpunkte voneinander trennen. Dos2unix gibt LANGUAGE vor LANG den Vorzug, zum Beispiel bei Deutsch vor Niederländisch: LANGUAGE=de:nl. Sie müssen zunächst die Lokalisierung aktivieren, indem Sie die Variable LANG oder LC_ALL auf einen anderen Wert als C setzen, bevor Sie die Liste der Sprachprioritäten nutzen können. Weitere Informationen finden Sie im Gettext-Handbuch: http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable

Falls Sie eine Sprache auswählen, die nicht verfügbar ist, erhalten Sie die Standardmeldungen in englischer Sprache.

WCDLOCALEDIR

Mit der Umgebungsvariable WCDLOCALEDIR kann die während der Kompilierung und Installation verwendete Variable LOCALEDIR außer Kraft gesetzt werden. LOCALEDIR wird von wcd mit vorhandener nativer Sprachunterstützung verwendet, um die Sprachdateien zu finden. Der GNU-Vorgabewert ist /usr/local/share/locale. Nach Eingabe von wcd -V wird das von wcd verwendete LOCALEDIR angezeigt.

Falls Sie wcd in einem anderen als dem Vorgabeverzeichnis installiert haben, müssen Sie die Umgebungsvariable WCDLOCALEDIR setzen, die auf das Verzeichnis mit den Sprachdateien zeigt.

Ein Beispiel für den Windows-Befehlszeileninterpreter:

    set WCDLOCALEDIR=c:/my_prefix/share/locale

Ein Beispiel für eine POSIX-Shell:

    export WCDLOCALEDIR=$HOME/share/locale
LC_COLLATE

Wenn mehrere Treffer für Verzeichnisse gefunden werden, zeigt wcd eine sortierte Liste an. Die Art der Sortierung hängt von der Spracheinstellung ab. Falls die Umgebungsvariable LANG gesetzt ist, werden die Treffer wie in Wörterbüchern oder Telefonbüchern in dieser Sprache sortiert. Beispielsweise werden Punkte und Bindestriche ignoriert. Buchstaben mit oder ohne Akzentzeichen werden nicht unterschiedlich behandelt, und Groß-/Kleinschreibung wird nicht berücksichtigt.

Die Sortierung bevorzugt die Umgebungsvariable LC_COLLATE vor LANG. Falls Sie LC_COLLATE auf C oder POSIX setzen, wird die sprachbezogene Sortierung abgeschaltet. Wenn Sie beispielsweise Deutsch bevorzugen, dies aber nicht für die Sortierung gelten soll, verwenden Sie Folgendes:

    export LANG=de_DE
    export LC_COLLATE=C
LC_CTYPE

Hinsichtlich Zeichenkodierung bevorzugt Wcd die Variable LC_CTYPE vor LANG. Um beispielsweise die Zeichenkodierung auf UTF-8 zu setzen, können Sie Folgendes ausführen:

    export LC_CTYPE=en_US.UTF-8
LC_ALL

Alle lokalen Umgebungsvariablen, die mit LC_ beginnen, werden durch die Umgebungsvariable LC_ALL außer Kraft gesetzt, sofern diese definiert ist. Wcd bevorzugt LC_ALL vor LC_COLLATE und LC_CTYPE.

WINDOWS CODE PAGES

Es gibt zwei Gruppen von Codepages, die DOS Codepages (OEM) und die Windows Codepages (ANSI). Die vorgegebene Zeichenkodierung für Windows ist ANSI CP1252, wenn westeuropäische Regionaleinstellungen konfiguriert sind. Windows-Programme, wie beispielsweise Notepad, benutzen diese durch das System vorgegebene ANSI-Codepage. Die Windows-Konsole verwendet standardmäßig eine OEM-Codepage (CP437 oder CP850), um Abwärtskompatibilität zu DOS-Programmen zu gewährleisten. Wenn Sie eine DOS-Version von wcd in der Windows-Konsole verwenden, wird dies aufgrund der DOS-Codepage funktionieren, allerdings fehlt der DOS-Version von wcd unter Windows die Unterstützung für lange Verzeichnisnamen und Netzlaufwerke.

Die Windows-Version von wcd ist ein natives Windows-Programm, das die ANSI-Codepage des Windows-Systems verwendet. Auf einem Windows mit westeuropäischen Regionaleinstellungen wird so die Codepage CP1252 für Verzeichnisnamen und Meldungen verwendet. Um konsistente, von der aktiven Codepage unabhängige Ausgaben zu erzielen, übersetzen alle Windows-Versionen von wcd die ANSI-Ausgaben im Befehlszeileninterpreter und der PowerShell in Unicode-Ausgaben.

Die Rasterschrift der Konsole unterstützt nur die originale OEM-Codepage, die mit Windows installiert wurde, daher müssen Sie die Schriftart der Konsole auf die TrueType-Schrift »Lucida Console« ändern, damit Unicode- und ANSI-Zeichen korrekt angezeigt werden.

Die Nicht-Unicode-Versionen von Wcd vor Version 5.2.0 verwenden die gewöhnliche ANSI-Ausgabe. Für diese älteren Versionen muss die Codepage der Konsole der System-Codepage angeglichen werden (auf 1252), damit wcd unter Windows spezielle Zeichen wie Akzentzeichen oder das Euro-Symbol korrekt anzeigen kann.

Die Windows-System-Codepage kann in den Regionaleinstellungen der Systemsteuerung geändert werden. Die Codepage der Windows-Konsole wird mit dem Befehl chcp geändert.

Wenn Sie wcd -V eingeben, wird die gegenwärtige von wcd verwendete Zeichenkodierung angezeigt. Geben Sie den Befehl chcp ein, um die aktive Codepage für die Windows-Konsole anzuzeigen.

UNICODE

Wcd verfügt über optionale Unterstützung für Unicode. Um zu sehen, ob wcd mit Unicode-Unterstützung erstellt wurde, geben Sie wcd -V ein. Sofern Ihr Terminal oder Ihre Konsole sowie die Schriftart es unterstützt, sollten Sie das Euro-Symbol und chinesische Zeichen sehen (echte chinesische Zeichen, keinen chinesisch aussehenden Zeichensalat).

Wcd wurde weich auf Unicode migriert. In dessen Kern werden alle Daten als Byte-Datenstrom verarbeitet. Nur die auf dem Bildschirm ausgegebenen Zeilen werden unmittelbar in Unicode-Zeichen umgewandelt. Wcd verwendet vollständig libc-Funktionen und enthält keinen UTF-8-spezifischen Code. Siehe auch http://www.cl.cam.ac.uk/~mgk25/unicode.html.

Wcd verfügt über optionale Unterstützung für Unicode-Suche mit Normalisierung. Um zu ermitteln, ob wcd mit Unterstützung für Normalisierung erstellt wurde, geben Sie wcd -V ein. Wcd mit Unicode-Normalisierung findet Treffer mittels kompatiblen Entsprechungen. Ohne diese Unterstützung werden Verzeichnisse nur gefunden, wenn Sie kanonisch äquivalent sind. Siehe auch http://de.wikipedia.org/wiki/Normalisierung_%28Unicode%29.

UTF-8 unter Unix/Linux

Um UTF-8-Zeichen in Ihrer Konsole oder Ihrem Terminal anzeigen zu lassen, muss dieses auch UTF-8 unterstützen. Die mit XFree86 4.0 oder neuer gelieferte Version von xterm bringt UTF-8-Unterstützung bereits mit. Um dies zu aktivieren, starten Sie xterm(1) mit einer UTF-8-Spracheinstellung und verwenden Sie eine Schriftart mit der Zeichenkodierung iso10646-1, zum Beispiel mit

    LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'

Moderne GNU-Linux-Distributionen unterstützen UTF-8 per Vorgabe. Andere Multibyte-Zeichenkodierungen sollten auch funktionieren, allerdings wurde dies nicht getestet.

Wcd nimmt an, dass die Baumdateien in der lokalen Zeichenkodierung vorliegen. In die Baumdateien werden keine Bytereihenfolge-Markierungen geschrieben.

UTF-16 unter Windows

Unter Windows wird Unicode in allen Versionen der PowerShell sowie im Befehlszeileninterpreter von Windows 7 (oder neuer) unterstützt. Unicode funktioniert auch in Take Command oder TCC/LE von JP Software, welches in älteren Windows-Versionen verwendet werden kann (XP/Vista).

Unter Windows sind alle Verzeichnisnamen in Unicode UTF-16 kodiert. Für Nicht-Unicode-Windows-Programme werden die Unicode-Zeichen in die vorgegebene ANSI-Codepage übersetzt. Bei Zeichen, die nicht Teil der Regionaleinstellung sind, ist diese Übersetzung nicht möglich. Daher geben Nicht-Unicode-Programme stattdessen ein Fragezeichen oder ein falsches Zeichen aus.

Wcd mit Unicode-Unterstützung liest die in UTF-16 kodierten Verzeichnisnamen und wandelt diese intern in UTF-8 um. Alle Baumdateien sind in UTF-8 kodiert und nicht zu den Nicht-Unicode-Versionen von wcd kompatibel. Wcd erstellt ein in UTF-8 kodiertes Go-Skript.

Alle Versionen der Windows Powershell können in UTF-8 kodierte Skripte ausführen, sofern sich im Skript eine BOM (Bytereihenfolge-Markierung) für UTF-8 befindet.

Seit Windows 7 ist es möglich, im Windows-Befehlszeileninterpreter mit einem Batch-Skript in ein Verzeichnis zu wechseln, dessen Name Unicode-Zeichen enthält. Der Verzeichnisname muss in UTF-8 kodiert sein, und das Batch-Skript darf keine BOM enthalten (Markierung der Bytereihenfolge). Die aktive Codepage des Befehlszeileninterpreters muss vor dem cd-Befehl auf 65001 (UTF-8) gesetzt werden. Wcd für den Befehlszeileninterpreter erstellt ein solches Go-Skript wcdgo.bat. Es ändert zuerst die Codepage in 65001, wechselt dann das Verzeichnis und setzt zum Schluss die Codepage auf die ursprüngliche Einstellung zurück.

Sie müssen die Schrift auf die TrueType-Schriftart »Lucida Console« setzen (nicht auf die Rasterschrift), falls Zeichen nicht korrekt angezeigt werden.

Die Nicht-Unicode-Version von wcd für Windows liest Unicode-Baumdateien seit Version 5.2.0, sofern sich eine BOM (Markierung der Bytereihenfolge) in der Datei befindet (siehe http://de.wikipedia.org/wiki/Byte_Order_Mark). Allerdings ist es nicht möglich, in Verzeichnisse zu wechseln, deren Namen Unicode-Zeichen enthalten, die nicht Teil der vorgegebenen ANSI-Codepage des Systems sind. Die Unicode-Version von wcd für Windows schreibt seit Version 5.2.0 eine BOM in die in UTF-8 kodierten Baumdateien, wodurch diese auch in Notepad lesbar sind.

UTF-8 unter Cygwin

Cygwin unterstützt Unicode seit Version 1.7. Die Cygwin-Zwischenschicht achtet darauf, dass die UTF-16-Namen unter Windows in UTF-8 umgewandelt werden. Daher brauchen Programme, wie beispielsweise wcd, darauf keine Rücksicht zu nehmen und können mit einer UTF-8-Zeichenkodierung wie unter Unix/Linux arbeiten. Setzen Sie die Zeichenkodierung mit der Umgebungsvariable LANG oder LC_CTYPE auf UTF-8. Es wird nötig sein, dass Sie Ihre Laufwerke neu einlesen. Sie müssen die Schrift auf die TrueType-Schriftart »Lucida Console« setzen (nicht auf die Rasterschrift), falls Sie die Cygwin-Standardkonsole verwenden.

Die Cygwin-Version verhält sich exakt genauso wie die Unix-Version von wcd. Es wird keine Markierung der Bytereihenfolge (BOM) in die Baumdateien geschrieben, und es wird angenommen, dass die Dateien in der Zeichenkodierung vorliegen, die von der Spracheinstellung in Cygwin vorgegeben ist.

DATEIEN

Falls die Umgebungsvariable WCDHOME gesetzt ist, verwendet wcd WCDHOME anstelle von HOME. Alle *.wcd-Dateien sind Textdateien, die mit einem Texteditor bearbeitet werden können. Die Wcd-Version für den Windows-Befehlszeileninterpreter verhält sich wie die DOS-Version, und die Cygwin-Version verhält sich wie die Unix-Version.

wcd.exe

Das Programm. In Unix-Shells wird das Programm stets durch eine Funktion oder einen Alias aufgerufen, da das aktuelle Arbeitsverzeichnis einer Unix-Shell nur mit dem eingebauten cd-Befehl gewechselt werden kann. Siehe auch Abschnitt INSTALLATION.

vorgegebene Baumdatei

Dies ist die vorgegebene Baumdatei, in der wcd nach Treffern sucht. Falls diese nicht lesbar ist, erstellt wcd eine neue Datei.

    DOS: \treedata.wcd or %HOME%\treedata.wcd
    Unix: $HOME/.treedata.wcd
zusätzliche Baumdatei

Eine optionale zusätzliche Baumdatei. Falls diese existiert und lesbar ist, sucht wcd auch in dieser Datei nach Treffern.

    DOS: \extra.wcd or %HOME%\extra.wcd
    Unix: $HOME/.extra.wcd
Bann-Datei

In dieser optionalen Datei speichert wcd die verbannten Pfade. Siehe Option -b. Platzhalter werden unterstützt.

    DOS: \ban.wcd or %HOME%\ban.wcd
    Unix: $HOME/.ban.wcd
Alias-Datei

Optionale Datei mit Aliasen für wcd. Siehe Option -l.

    DOS: \alias.wcd or %HOME%\alias.wcd
    Unix: $HOME/.alias.wcd
Stapeldatei

In dieser Datei speichert wcd den Stapel. Der Laufwerksbuchstabe kann mit der Option -d geändert werden.

    DOS: c:\stack.wcd or %HOME%\stack.wcd
    Unix: $HOME/.stack.wcd

Der Name der Stapeldatei kann mit der Umgebungsvariable WCDSTACKFILE geändert werden. Siehe Abschnitt UMGEBUNGSVARIABLEN.

Go-Skript

Dies ist das Shell-Skript, welches wcd.exe jedes Mal erzeugt. Es wird über eine Funktion oder einen Alias eingelesen. Der Laufwerksbuchstabe kann mit der Option -d geändert werden. Aus historischen Gründen ist es per Vorgabe auf Unix-Systemen in $HOME/bin gespeichert. Das Verzeichnis für diese Datei kann mit der Option -G geändert werden.

    DOS-Bash: c:/wcd.go oder $HOME/wcd.go
    Windows Befehlszeileninterpreter: c:\wcdgo.bat oder %HOME%\wcdgo.bat
    Windows PowerShell: $env:HOME\wcdgo.ps1
    WinZsh: $HOME/wcd.go
    Cygwin/MSYS: $HOME/bin/wcd.go
    OS/2-Befehlszeileninterpreter: c:\wcdgo.cmd oder %HOME%\wcdgo.cmd
    OS/2-Bash: c:/wcd.go oder $HOME/wcd.go
    Unix: $HOME/bin/wcd.go
Datei für relative Baumansicht

Textdatei mit relativen Pfaden von VERZEICHNIS. Siehe die Optionen +S, -n und +n.

    DOS: PATH\rtdata.wcd
    Unix: PATH/.rtdata.wcd

UMGEBUNGSVARIABLEN

HOME

Wcd verwendet per Vorgabe die Umgebungsvariable HOME, um zu ermitteln, wo Dateien gespeichert werden sollen. Siehe auch den Abschnitt DATEIEN. Dies kann mit der Umgebungsvariable WCDHOME außer Kraft gesetzt werden.

HOME legt außerdem fest, wo mit dem Einlesen des Laufwerks begonnen wird, wenn die Option -s verwendet wird. Dies kann mit der Umgebungsvariable WCDSCAN außer Kraft gesetzt werden.

In den Versionen für Unix, Cygwin, Windows PowerShell, WinZsh und MSYS ist es erforderlich, dass HOME oder WCDHOME gesetzt ist. Für die anderen Versionen von wcd ist die Benutzung dieser Variablen optional.

Falls HOME unter DOS/Windows gesetzt ist, platziert wcd alle seine Dateien (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) im Verzeichnis HOME. Das Verhalten von wcd gleicht dann dem der Unix-Versionen. Wcd liest die Daten dann per Vorgabe aus HOME ein. Laufwerke werden nicht automatisch eingelesen, wenn Sie dorthin wechseln. Sie müssen wcd explizit dazu anweisen, zum Beispiel:

    wcd -S c: -A d: -A e:

Die Verzeichnissuche wird nun global in allen eingelesenen Laufwerken ausgeführt.

WCDHOME

Mit der Umgebungsvariable WCDHOME können Sie den Ort der Dateien von wcd ändern. Falls sowohl HOME als auch WCDHOME gesetzt ist, wird WCDHOME anstelle von HOME verwendet.

In Wcd-Versionen vor 5.1.5 wurde durch WCDHOME auch das vorgegebene Einleseverzeichnis geändert. Seit Version ist dies nicht mehr der Fall, siehe Option -s. Verwenden Sie ab Version 5.1.5 die Umgebungsvariable WCDSCAN, um die Einstellung des vorgegebenen Einleseverzeichnisses außer Kraft zu setzen.

Beispiel für die Befehlszeileninterpreter in DOS, Windows, OS/2:

    set WCDHOME=C:\Users\erwin\wcd

Ein Beispiel für POSIX-Shells:

    export WCDHOME="$HOME/.wcd"

Ein Beispiel für Csh-Shells:

    setenv WCDHOME "$HOME/.wcd"
WCDSCAN

Verwenden Sie die Umgebungsvariable WCDSCAN, um die Einstellung des vorgegebenen Einleseverzeichnisses HOME außer Kraft zu setzen. Geben Sie eine durch Doppelpunkte getrennte Liste an (für Unix), wenn Sie mehr als ein Verzeichnis angeben wollen. Unter DOS/Windows verwenden Sie Semikola als Trennzeichen.

Beispiel für die Befehlszeileninterpreter von DOS, Windows und OS/2:

    set WCDSCAN=C:\Users\erwin;D:\data

    set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\projectdrive\projectX

Ein Beispiel für POSIX-Shells:

    export WCDSCAN="$HOME:/projectdisk/projectX"

Ein Beispiel für Csh-Shells:

    setenv WCDSCAN "$HOME:/projectdisk/projectX"
WCDFILTER

Geben Sie Filter mit der Umgebungsvariable WCDFILTER an. Alle Verzeichnisse, die nicht auf diese(n) Filter passen, werden ignoriert. Sie können eine Liste angeben, in der Sie die einzelnen Filter aneinanderreihen und dazwischen das Pfad-Trennzeichen Ihrer Shell setzen. Dies funktioniert ähnlich wie die Angabe der Variable PATH. Ob dabei Groß-/Kleinschreibung berücksichtigt wird, hängt vom jeweiligen Betriebssystem ab.

Beispiel für die Befehlszeileninterpreter in DOS, Windows, OS/2:

    set WCDFILTER=projects;doc

Ein Beispiel für POSIX-Shells:

    export WCDFILTER="projects:doc"

Ein Beispiel für Csh-Shells:

    setenv WCDFILTER "projects:doc"
WCDBAN

Die in der Umgebungsvariable WCDBAN angegebenen Pfade werden gebannt, siehe auch die Option -b. Geben Sie eine Liste der Pfade an, durch das PATH-Trennzeichen der Shell getrennt.

WCDEXCLUDE

Die in der Umgebungsvariable WCDEXCLUDE angegebenen Pfade werden von wcd ausgeschlossen, siehe auch die Optionen -x und -xf. Geben Sie eine Liste der Pfade an, durch das PATH-Trennzeichen der Shell getrennt.

Beispiel für die Befehlszeileninterpreter in DOS, Windows, OS/2:

    set WCDEXCLUDE=*/windows;*/temp;*CVS

Ein Beispiel für POSIX-Shells:

    export WCDEXCLUDE="/dev:/tmp:*CVS"

Ein Beispiel für Csh-Shells:

    setenv WCDEXCLUDE "/dev:/tmp:*CVS"
WCDUSERSHOME

Dies legt das übergeordnete Verzeichnis der Home-Verzeichnisse der Benutzer fest. Unter DOS/Windows ist der Standardwert \\users. Unter Unix/Cygwin ist /home die Vorgabe. Die Variable wird verwendet, um die Baumdateien anderer Benutzer einzulesen. Siehe auch die Optionen -u und +u. Im ausführlichen Modus gibt wcd alle Filter sowie gebannte und auszuschließende Verzeichnisse aus. Siehe Option -v.

WCDSTACKFILE

Wcd bevorzugt WCDSTACKFILE gegenüber dem vorgegebenen Namen der Stapeldatei (siehe Abschnitt DATEIEN). Mit dieser Variable kann jede Shell oder jede Terminalemulation ihren eigenen Verzeichnisstapel haben.

So verwenden Sie eine eindeutige zeitbasierte Datei (JJJJMMTT-HHMMSS) für jede geöffnete interaktive Shell:

    export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)

Für einen Stapel pro xterm(1) verwenden Sie die Umgebungsvariable WINDOWID:

    export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID

Einen Stapel pro Bildschirm erreichen Sie für GNU screen(1) so:

    export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW
TERMINFO

Wenn die Umgebungsvariable TERMINFO, sucht wcd mit ncurses-Schnittstelle nach einer lokalen Teminaldefinition, bevor am Standardort gesucht wird. Dies ist sinnvoll für Terminaldefinitionen, die sich nicht an einem vorgegebenen Ort befinden. Oft verwendete Standardorte sind /usr/lib/terminfo und /usr/share/terminfo.

PDC_RESTORE_SCREEN

Wcd mit PDCurses-Schnittstelle berücksichtigt die Umgebungsvariable PDC_RESTORE_SCREEN. Falls diese Umgebungsvariable gesetzt ist, erzeugt PDCurses eine Kopie des Bildschirminhalts zur Startzeit von wcd. Beim Abbruch von wcd wird der Bildschirm wiederhergestellt. Ein Beispiel für den Windows-Befehlszeileninterpreter:

    set PDC_RESTORE_SCREEN=1

Windows kann nur einen kleinen Puffer speichern. Es ist daher nicht immer möglich, alles wiederherzustellen. Andererseits kann in der Konsole nach dem Beenden von wcd Datenmüll ausgegeben werden, falls Sie den Puffer größer gewählt haben.

SHELL

Die Angabe von #!$SHELL in der ersten Zeile des Go-Skripts (für POSIX- oder C-Shells) ist für 8-Bit-Zeichen nötig. Einige Shells könnten sonst annehmen, dass es sich bei dem Go-Skript um eine Binärdatei handelt und diese nicht einlesen. In der Cygwin-Bash muss die Variable SHELL mit dem Befehl export gesetzt werden, sonst kann wcd diese Variable nicht lesen.

BASH

Wcd für die DOS-Bash verwendet $BASH anstelle von $SHELL, weil $SHELL auf die DOS-Befehlsshell zeigt. $BASH muss mit einem export-Befehl definiert werden, anderenfalls kann wcd die Variable nicht lesen.

SIEHE AUCH

sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1),

AUTOREN

Wcd wurde von Erwin Waterlander <waterlan@xs4all.nl> geschrieben.

Projektseite: http://waterlan.home.xs4all.nl/

SourceForge: http://sourceforge.net/projects/wcd/

Die Formatierung der Handbuchseite wurde von Jari Aalto <jari.aalto@cante.net> bereitgestellt.

NCD wurde ursprünglich von Brad Kingsbury für Peter Nortons »Norton Utilities« etwa 1987 geschrieben. Siehe auch http://www.softpanorama.org/OFM/norton_change_directory_clones.shtml

wcd-6.0.3/src/man/de/man1/wcd.txt0000644000175500010010000015777313524756533015711 0ustar waterlanGeenBEZEICHNUNG wcd - Wherever Change Directory chdir für DOS und Unix ÜBERSICHT wcd [Optionen] [Verzeichnis] BESCHREIBUNG Übersicht Wcd ist ein Befehlszeilenprogramm zum schnellen Verzeichniswechsel. Es spart Zeit bei Tastatureingaben. Sie brauchen nur den Teil eines Verzeichnisnamens einzugeben, und wcd wechselt dorthin. Im Falle mehrerer Treffer verfügt wcd über eine Methode zur Schnellauswahl und ermöglicht die Definition von Aliasen und das Verbannen von Verzeichnissen. Außerdem beinhaltet wcd einen interaktiven Verzeichnisbaumbrowser im Vollbildmodus mit schneller Suche. Wcd wurde nach dem Vorbild des Norton Change Directory (NCD) entworfen. NCD erschien zuerst 1987 in *The Norton Utilities, Release 4* für DOS, veröffentlicht von Peter Norton. Wcd wurde auf verschiedene Befehlszeileninterpreter portiert: DOS (command.com), Windows (cmd.exe und PowerShell), OS/2 (cmd.exe) sowie Unix-Shells wie Bourne- (sh), Bourne-Again- (bash), Korn- (ksh), Z- (zsh) und die C- (csh) Shell und weitere auf verschiedenen Betriebssystemen ausführbare Shells. Wcd unterstützt 8-Bit-Zeichensätze auf allen Systemen und verfügt über optionale Unterstützung für Unicode. Weitere Informationen hierzu finden Sie im Abschnitt LOKALISIERUNG. Im Abschnitt INSTALLATION finden Sie Anweisungen, wie Sie wcd an Ihre persönlichen Wünsche anpassen können. Grundlegende Verwendung Per Vorgabe (wenn keine Platzhalter verwendet werden) sucht wcd nach einem Verzeichnis, dessen Name mit dem eingegebenen Namen beginnt. Beispielsweise wechselt dieser Befehl in das Verzeichnis "/home/user/Desktop" des aktuellen Benutzers: wcd Desk Bei mehreren möglichen Übereinstimungen zeigt wcd eine Liste aller Möglichkeiten an. Der Benutzer kann dann mit einigen Tastenkürzeln seine Auswahl treffen (meist nur mit einem). Platzhalter Wcd unterstützt die folgenden Platzhalter: * findet jede Zeichensequenz (kein oder mehr Zeichen) ? findet jedes einzelne Zeichen [GRUPPE] findet jedes Zeichen in der angegebenen Gruppe, [!GRUPPE] oder [^GRUPPE] findet jedes Zeichen, das in der angegebenen GRUPPE nicht enthalten ist. Eine Gruppe wird als Zeichen oder Bereich angegeben. Ein Bereich folgt der Form *Zeichen minus Zeichen*, zum Beispiel "0-9" oder "A-Z". Dabei ist "[0-9a-zA-Z_]" die minimal mögliche Gruppe nach dem Muster "[..]". Internationale Zeichen (zum Beispiel 8-Bit-Zeichen) sind erlaubt, falls das System diese unterstützt. Um die besondere syntaktische Bedeutung der Zeichen "[]*?!^-\" innerhalb oder außerhalb des Musters "[..]" zu berücksichtigen, so dass das exakte Zeichen gefunden wird, stellen Sie dem Zeichen einen Rückschrägstrich ("\") voran, um es zu maskieren. Die Verwendung von Platzhaltern ermöglicht eine leistungsfähige Suche. Beispielsweise findet folgende Anfrage alle Verzeichnisse, deren Name auf »top« endet: wcd *top Nach Verzeichnissen suchen, deren Name an einer beliebigen Stelle »top« enthält: wcd *top* Nach Verzeichnissen suchen, deren Name mit »a«, »b«, oder »c« beginnt: wcd [a-c]* Es ist auch möglich, einen Teil eines Verzeichnispfades anzugeben. Hier sucht Wcd nach Verzeichnissen, die mit »Desk« beginnen und der Pfad auf **me/Desk** passt. wcd me/Desk Es ist möglich, jede Art von Ausdruck mit Schrägstrichen und Platzhaltern einzugeben, zum Beispiel: wcd src*/*1?/a*2 Weitere Anwendungsfälle Falls keine Platzhalter verwendet werden und wcd eine perfekte Übereinstimmung findet, werden alle »unscharfen« Übereinstimmungen per Vorgabe ignoriert. Dieses Verhalten kann mit der Option -w geändert werden. Der interaktive Verzeichnisbaumbrowser kann mit der Option -g gestartet werden. wcd -g Wcd generiert eine Baumdatei, in der nach dem Verzeichnis gesucht wird. Auf Unix- und Windows-Systemen fügt wcd beim Einlesen des Laufwerksinhalts symbolische Links zur Baumdatei hinzu, folgt diesen aber nicht. Dies wird deshalb unterdrückt, weil das Einlesen in einer Endlosschleife enden könnte oder größere Teile eines Netzwerks eingelesen werden müssten. Wcd kann auch in Verzeichnisse wechseln, die nicht in der Baumdatei enthalten sind, zum Beispiel: wcd .. Falls wcd einen Treffer findet, aber nicht in das Verzeichnis wechseln kann, versucht es, dieses Verzeichnis aus der Baumdatei zu entfernen, jedoch nicht aus der zusätzlichen Baumdatei. Siehe auch die Option -k. Wcd erstellt einen Verzeichnisstapel, der auf dem Laufwerk gespeichert wird. Der Stapel hat die vorgegebene Größe 10 und ist zyklisch. Siehe die Optionen -z, -, + und =. In Umgebungen mit mehreren Benutzern kann mit der Option -u in die Verzeichnisse anderer Benutzer gewechselt werden. Auf DOS- und Windows-Systemen ist es nicht von Bedeutung, ob Sie einen Schrägstrich »/« oder einen Rückschrägstrich »\« als Verzeichnistrenner verwenden. Auf DOS- und Windows-Systemen ist es möglich, gleichzeitig das Laufwerk und das Verzeichnis zu wechseln, indem Sie dem Verzeichnisnamen den Laufwerksnamen voranstellen. wcd d:games UNC-Pfade unter Windows Die Windows-Versionen (Befehlszeileninterpreter, PowerShell, MSYS, zsh, cygwin) unterstützen SMB-LAN-UNC-Pfade ohne Laufwerksbuchstaben wie "\\Servername\Freigabename". Wcd für den Windows-Befehlszeileninterpreter benutzt den »pushd«-Befehl, um einem UNC-Pfad automatisch einen Laufwerksbuchstaben zuzuordnen. In der Windows PowerShell, MSYS, zsh und Cygwin werden UNC-Pfade vollständig unterstützt. Das aktuelle Arbeitsverzeichnis kann ein UNC-Pfad sein. Größenänderung der Konsole unter Windows Wcd unterstützt seit Version 6.0.3 die Größenänderung der Konsole unter Windows 10 und ConEmu (siehe ). Die Windows-10-Konsole darf nicht im Legacy-Modus sein (prüfen sie das in den Einstellungen der Konsole). Der Bildschirm darf nicht aktualisiert werden, wenn »Wrap text output on resize« deaktiviert ist. Der Bildschirm kann manuell durch Drücken von F5 aktualisiert werden. Schnittstellen Wcd verfügt über drei verschiedene Schnittstellen, um aus einer Übereinstimmungsliste zu wählen. Die Schnittstelle wird bei der Kompilierung ausgewählt. Die erste Schnittstelle verwendet die Standardeingabe und -ausgabe (stdin/stdout). Eine nummerierte Liste wird im Terminal ausgegeben. Sie können aus dieser Liste wählen, indem Sie eine Zahl eingeben und die drücken. Diese Liste kann nicht zurückgerollt werden, wenn sie für die Bildschirmausgabe zu lang ist. Dafür muss die Zurückrollfunktion des Terminals oder der Konsole verwendet werden. Diese Schnittstelle ist sehr klein und portabel. Die zweite Schnittstelle setzt auf der Conio-Bibliothek auf. Hier ist eine Zurückrollfunktion bereits eingebaut. Wiederum wird eine Liste angezeigt, die aber hier Buchstaben als Aufzählungszeichen verwendet. Zur Auswahl eines Listeneintrags drücken Sie einfach die entsprechende Buchstabentaste. Wenn möglich, wird der Bildschirminhalt nach dem Beenden wiederhergestellt. Wenn Sie Zahlen anstatt Buchstaben bevorzugen, können Sie die Option -N verwenden. Die dritte Schnittstelle verwendet die Curses-Bibliothek und ist ähnlich der Conio-Schnittstelle. Die Curses-Schnittstelle von wcd hat zusätzlich auch eine »grafische« Oberfläche. Sie können ein Verzeichnis in einem interaktiven Verzeichnisbaumbrowser im Vollbildmodus auswählen. Die Navigation und Suchmethoden sind ähnlich wie in vim(1). Diese Schnittstelle kann mit der Option -g aktiviert werden. Mit der Option -o ist es jederzeit möglich, auf die stdin/stdout-Schnittstelle (Standardeingabe/Standardausgabe) auszuweichen. OPTIONEN -a fügt den aktuellen Pfad zur vorgegebenen Baumdatei hinzu. Verwenden Sie diese Option, um schnell den aktuellen Pfad zur Baumdatei hinzuzufügen. Das erneute Einlesen des kompletten Laufwerks kann in manchen Fällen recht lange dauern. -aa fügt den aktuellen und alle übergeordneten Pfade zur vorgegebenen Baumdatei hinzu. -A PFAD liest den Verzeichnisbaum aus *PFAD* und fügt ihn zur vorgegebenen Baumdatei hinzu. Beispiele: wcd -A . wcd -A /home -A /etc wcd -A d: -A e: -A \\server\share Unter Windows können Sie alle freigegebenen Verzeichnisse eines Windows-LAN-Servers einlesen, indem Sie etwa Folgendes eingeben: "wcd -A \\Servername". Siehe auch die Optionen -S, -s und -E. -b verbannt den aktuellen Pfad. Wcd speichert den aktuellen Pfad in der Bann-Datei. Das bedeutet, dass zukünftig alle Übereinstimmungen ignoriert werden, die sich auf dieses Verzeichnis und dessen Unterverzeichnisse beziehen. Die Bann-Datei kann mit einem Texteditor bearbeitet werden. Die Verwendung von Platzhaltern ist möglich, außerdem werden Namensübereinstimmungen auf den absoluten Pfad bezogen. Verbannte Pfade werden beim Einlesen des Laufwerks nicht ausgeschlossen. Um dies zu tun, verwenden Sie die Option -xf. -c, --direct-cd Direkter CD-Modus. Per Vorgabe arbeitet wcd wie folgt: 1. Es wird versucht, einen Treffer in der oder den Baumdatei(en) zu finden. 2. Wird nichts gefunden, wird versucht, das eingegebene Verzeichnis zu öffnen. Im direkten CD-Modus arbeitet wcd in umgekehrter Reihenfolge. 1. Es wird versucht, das eingegebene Verzeichnis zu öffnen. 2. Wird nichts gefunden, wird nach einem Treffer in der oder den Baumdatei(en) gesucht. -d LAUFWERK legt das Laufwerk für den Verzeichnisstapel und die Go-Datei fest (nur DOS). Die Stapeldatei und das Go-Skript werden per Vorgabe im Laufwerk »C:« gespeichert, wenn die Umgebungsvariable *HOME* nicht gesetzt ist. Verwenden Sie diese Option, wenn »C:« ein schreibgeschütztes Laufwerk ist. Diese Option muss vor den Stapeloptionen -, + und = stehen. -e fügt den aktuellen Pfad zur zusätzlichen Baumdatei hinzu. Verwenden Sie diese Option, um schnell den aktuellen Pfad zur zusätzlichen Baumdatei hinzuzufügen. -ee fügt den aktuellen Pfad und alle übergeordneten Pfade zur zusätzlichen Baumdatei hinzu. -E PFAD liest den Verzeichnisbaum aus *PFAD* und fügt ihn zur zusätzlichen Baumdatei hinzu. Siehe auch die Optionen -A und -S. -f DATEI liest die Baumdatei *DATEI*. Die vorgegebene Baumdatei wird nicht gelesen. +f DATEI liest die Baumdatei *DATEI* zusätzlich zur vorgegebenen Baumdatei. -g verwendet die grafische Benutzeroberfläche (nur in Versionen mit curses-Schnittstelle). Wcd startet eine textbasierte, auf der Curses-Bibliothek aufsetzende »grafische« Schnittstelle. Sie können ein Verzeichnis in einem interaktiven Verzeichnisbaumbrowser im Vollbildmodus auswählen. Die Navigation und Suchmethoden sind ähnlich wie in vim(1). Wenn keine Suchzeichenkette angegeben ist, stellt wcd den gesamten Baum aus den Inhalten der vorgegebenen und der zusätzlichen Baumdatei dar. Wenn eine Suchzeichenkette angegeben ist, wird die Trefferliste als Verzeichnisbaum angezeigt. Die vorgegebene Ansicht des Baums ähnelt der Ansicht im originalen NCD unter DOS. Der Unterschied besteht darin, dass in NCD alle Verzeichnisse der gleichen Pfadtiefe im gesamten Baum vertikal angeordnet werden. Das war in NCD möglich, da ein Verzeichnisname in DOS nicht länger als 12 Zeichen (8.3) sein durfte. Auf modernen Betriebssystemen können Verzeichnisnamen sehr lang sein, außerdem sind große Unterschiede bei den Längen der Namen der verschiedenen Verzeichnisse möglich. Deswegen werden Verzeichnisse der gleichen Pfadtiefe in wcd nicht im gesamten Baum vertikal ausgerichtet, sondern nur in Verzweigungen. Daher kann es zu Seitenbewegungen kommen, wenn Sie eigentlich in der Hierarchie direkt nach oben oder von einer Verzweigung zu einer anderen navigieren wollen. Das Navigationsverhalten in Wcd ist exakt das gleiche wie im originalen NCD. Wenn Sie beispielsweise die Pfeil-ab-Taste drücken, gehen Sie damit zum nächsten Verzeichnis der gleichen Tiefe in der Verzeichnishierarchie, wobei Verzweigungen übersprungen werden. Dies ermöglicht die schnelle Navigation durch den Baum. Siehe die Optionen -Ta, -TC und -Tc zum Ändern des Navigationsverhaltens. -gd gibt die Baumdateien als Baum in die Standardausgabe aus. -G PFAD schreibt das Go-Skript in das Verzeichnis *PFAD*. Unter Unix beispielsweise schreibt "wcd -G PFAD" ein Go-Skript in PFAD/wcd.go. -GN, --no-go-script verhindert die Erstellung eines Go-Skripts. Diese Option kann zusammen mit -j verwendet werden, wenn Sie wcd kein Go-Skript schreiben lassen wollen. -h, --help zeigt eine Hilfe an und beendet das Programm. -i, --ignore-case ignoriert Groß-/Kleinschreibung. In den DOS- und Windows-Versionen ist dies der Standard. In den Unix- und Cygwin-Versionen wird per Vorgabe die Groß-/Kleinschreibung berücksichtigt. +i, --no-ignore-case berücksichtigt Groß-/Kleinschreibung. Siehe auch Option -i. -I, --ignore-diacritics ignoriert diakritische Zeichen des lateinischen Alphabets. Buchstaben mit diakritischen Zeichen werden wie die deren Basisbuchstaben behandelt. Die folgenden Latin-Zeichenkodierungen werden unterstützt: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, sowie Unicode Latin-1, Latin Extended-A, und Latin Extended-B. Siehe auch +I, --no-ignore-diacritics berücksichtigt diakritische Zeichen (Vorgabe). Siehe auch Option -I. -j, --just-go Geh-einfach-Modus. In diesem Modus zeigt wcd keine Liste an, wenn mehr als ein Verzeichnis auf das angegebene Verzeichnis passt. Wcd wechselt nur einfach zum ersten Treffer. Beim erneuten Aufruf von wcd mit den gleichen Argumenten wird zum Verzeichnis im nächsten Treffer gewechselt, und so weiter. Wcd gibt das Verzeichnis, in das gewechselt wird, in die Standardausgabe aus. So kann eine andere Installationsmethode verwendet werden. Sie könnten die folgende Funktion für eine POSIX-kompatible Shell erstellen: wcd () { cd "$($HOME/bin/wcd.exe -j $@)" } Wenn Sie mit einer älteren Shell arbeiten, die nicht über Unterstützung für die Befehlsersetzung mit »$()« verfügt, müssen Sie die auch die ältere Befehlsersetzung mit Gravis-Zeichen (Backtick, »`«) verwenden. wcd () { cd "`$HOME/bin/wcd.exe -j $@`" } Auf Windows-Systemen mit einer NT4-Shell können Sie den folgenden Alias anlegen: alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]` Diese Methode macht ein Go-Skript überflüssig, daher können Sie die Option -GN zusammen mit -j verwenden. -k, --keep-paths erhält Pfade. Die Pfade werden in der Baumdatei weiter vorgehalten, wenn wcd nicht dorthin wechseln kann. Das Vorgabeverhalten in diesem Fall ist, dass wcd versucht, diese Pfade aus der Baumdatei zu entfernen. Mit dieser Option wird das Vorgabeverhalten deaktiviert. -K, --color verwendet Farben im grafischen Modus. -l ALIAS benennt den aktuellen Pfad mit *ALIAS*. Wcd speichert den aktuellen Pfad mit dem *ALIAS* in der Alias-Datei. Bei Aliasen wird Groß-/Kleinschreibung berücksichtigt. -ls zeigt den Namen der Alias-Datei an und listet alle Aliase auf. -m VERZEICHNIS erstellt ein Verzeichnis und fügt es zur Baumdatei hinzu. -L, --license zeigt die Lizenz des Programms an. -M VERZEICHNIS erstellt ein Verzeichnis und fügt es zur zusätzlichen Baumdatei hinzu. -n PFAD liest die relative Baumdatei aus *PFAD*. Die Datei für die vorgegebene Baumansicht wird nicht gelesen. Die Datei für die relative Baumansicht sollte schon von wcd mit der Option +S angelegt worden sein. *PFAD* kann auch direkt auf eine Datei verweisen. Ein Beispiel. Nehmen wir an, ein anderes System wurde in "/mnt/network" eingehängt: wcd -n /mnt/network src Wcd öffnet die Datei der relativen Baumansicht in "/mnt/network/". Die Datei enthält die Pfade relativ von diesem Punkt aus betrachtet. +n PFAD liest die Datei der relativen Baumansicht zusätzlich zur vorgegebenen Datei. Siehe Option -n. -N, --numbers verwendet Zahlen anstelle von Buchstaben. Wcd mit einer Conio- oder Curses-basierten Benutzeroberfläche (siehe Abschnitt »Schnittstellen«) stellt eine Trefferliste mit Buchstaben als Aufzählungszeichen dar. Wenn Sie die Option -N angeben, wird die Trefferliste mit Zahlen nummeriert. Ungeachtet der Option -N können Sie einen Buchstaben oder Zahlen eingeben, um aus der Trefferliste zu wählen. -o verwendet die stdin/stdout-Schnittstelle (Standardeingabe/Standardausgabe). Falls aus verschiedenen Gründen die conio- oder curses-Schnittstelle von wcd nicht funktioniert, können Sie mit der Option -o auf die stdin/stdout-Schnittstelle ausweichen. -od, --to-stdout gibt alle Übereinstimmungen in die Standardausgabe aus. -q, --quiet Stiller Modus. Die Ausgabe des endgültigen Treffers wird unterdrückt. -r VERZEICHNIS entfernt ein Verzeichnis und entfernt es auch aus der Baumdatei. Wenn das Verzeichnis leer ist, wird wcd es entfernen, und versuchen, es aus der Baumdatei zu entfernen. -rmtree VERZEICHNIS entfernt ein Verzeichnis rekursiv und entfernt es auch aus der Baumdatei. Wcd entfernt das Verzeichnis und dessen Untervezeichnisse und Dateien, außerdem werden die Verzeichnisse aus der Baumdatei entfernt. -s liest den Laufwerksinhalt (evtl. erneut) aus dem Verzeichnis $HOME ein. Falls *HOME* nicht definiert ist, wird das Wurzelverzeichnis »/« des Laufwerks eingelesen. Die existierende vorgegebene Baumdatei wird dabei überschrieben. Das vorgegebene einzulesende Verzeichnis kann mit der Umgebungsvariable "WCDSCAN" außer Kraft gesetzt werden. Weitere Informationen finden Sie im Abschnitt UMGEBUNGSVARIABLEN. -S PFAD liest den Verzeichnisbaum aus *PFAD* und überschreibt die vorgegebene Baumdatei. Siehe auch die Optionen -A, -s und -E. Zum Beispiel können Sie mit der Option -A eine Vorgabe-Baumdatei Ihrer Wahl erzeugen. Beispiele: Unix: wcd -S / wcd -S /home -A /etc -A /usr DOS/Windows: wcd -S c:/ wcd -S c: -A d: -A \\server\share Mit den Windows-Versionen können Sie alle freigegebenen Verzeichnisse eines Windows-LAN-Servers einlesen. Geben Sie etwa Folgendes ein: "wcd -S \\Servername". -S PFAD liest das Laufwerk aus *PFAD* ein und platziert relative Pfade in der Datei der relativen Baumansicht. Diese Datei wird in wcd von den Optionen -n und +n verwendet. Beispiel "wcd -n PFAD src". -t entfernt das temporäre Einhängeverzeichnis "/tmp_mnt" nicht (nur Unix). Wcd entfernt per Vorgabe "/tmp_mnt/" aus den Treffern. Dieses Verzeichnis wird vom Auto-Mounter verwendet. Sie können dieses Verhalten mit der Option -t abschalten. -T, --ascii-tree zeichnet die Baumansicht mit ASCII-Zeichen. Verwenden Sie diese Option, wenn die Zeichen zum Darstellen von Linien in Ihrem Terminal nicht korrekt angezeigt werden. -Ta, --alt-tree-nav verwendet einen alternativen Weg zur Navigation in der grafischen Baumansicht. In der vorgegebenen Baumansicht im NCD-Stil verhindert die Option -Ta das Springen in beziehungslose Verzeichnisse. In der kompakten Baumansicht funktioniert die Navigation im alternativen Modus ähnlich wie in Dateimanagern mit grafischer Benutzeroberfläche, wie dem Windows Explorer oder dem KDE Konqueror. Durch Drücken der Pfeiltasten nach oben und nach unten verschieben Sie das ausgewählte Verzeichnis eine Zeile nach oben oder unten. Die linke Pfeiltaste klappt die Unterverzeichnisse ein, wiederholtes Drücken der linken Pfeiltaste springt dann tatsächlich nach links. Sie können direkt zwischen dem Vorgabe- und dem Alternativmodus wechseln, indem Sie drücken. Wenn der alternative Navigationsmodus eingeschaltet ist, sehen Sie ein »A« in der unteren rechten Ecke. -TC, --center-tree zentriert die Ansicht im grafischen Baum. Das ausgewählte Verzeichnis steht in der Mitte des Bildschirms. Der zentrierte Modus kann mit der Taste im grafischen Baum an- und abgeschaltet werden. Die vorgegebene nicht-zentrierte Ansicht, welche die Baumbewegungen minimiert, entspricht derjenigen im originalen NCD. -Tc, --compact-tree Per Vorgabe wird die »grafische« Baumansicht auf die gleiche Art gezeichnet wie im originalen NCD unter DOS. Dort darf ein Verzeichnispfad nicht länger als 66 Zeichen sein. Mit den heute üblichen tiefen Verzeichnisstrukturen kann der Baum sehr breit werden. Um dies zu vermeiden, kann wcd den Baum in einer Kompaktansicht darstellen, mit einem Verzeichnis pro Zeile, wie in den meisten grafischen Dateimanagern. Verwenden Sie die Option -Tc oder schalten Sie direkt mit der Taste um. -Td, --cjk-width Veraltete ostasiatische CJK-Schriften (Chinesisch, Japanisch und Koreanisch) haben bestimmte Zeichen und Symbole zum Zeichnen von Linien mit einer Breite von zwei Spalten, während die Zeichenbreite in normalem Unicode eine Spalte beträgt. Beispielsweise sind das die chinesische CP936-Rasterschrift unter Windows und die Simsun-Schrift. Verwenden Sie diese Option zur korrekten Ausrichtung der grafischen Baumansicht, wenn eine veraltete CJK-Schrift verwendet wird. Wenn der CJK-Modus eingeschaltet ist, wird ein »C« in der unteren rechten Ecke angezeigt. -u BENUTZER liest die Daten eines anderen Benutzers für die Baumansicht basierend auf *BENUTZER* ein. Ihre eigene Datei für die Baumansicht wird nicht eingelesen. Siehe auch *WCDUSERSHOME* im Abschnitt UMGEBUNGSVARIABLEN. Unter Unix/Cygwin wird "/home" als Wurzel für die Benutzerverzeichnisse angenommen. Wcd schaut nach "/home/BENUTZER/.treedata.wcd" und "/home/BENUTZER/.wcd/.treedata.wcd", in dieser Reihenfolge. Davon wird die erste existierende und lesbare Datei gelesen. Unter DOS/Windows wird "\\users" als Wurzelverzeichnis der Benutzer angenommen, daher versucht wcd "\\users\BENUTZER\treedata.wcd" und "\\users\BENUTZER\.wcd\treedata.wcd" zu lesen. +u BENUTZER liest die vorgegebene Baumansicht-Datei von BENUTZER zusätzlich zu Ihrer eigenen Baumansicht-Datei ein. -v, --verbose zeigt ausführliche Meldungen an. Mit dieser Option zeigt wcd alle Filter, Verbannungen und Ausschlüsse an. -V, --version zeigt Versionsinformationen an und beendet das Programm. -w, --wild-match-only zeigt nur Übereinstimmungen von Platzhaltern an. Alle Treffer werden als Platzhalter-Treffer angenommen. -x PFAD schließt *PFAD* vom Einlesen aus. Mit dieser Option schließt wcd *PFAD* und dessen Unterverzeichnisse aller Ebenen beim Einlesen eines Laufwerks aus. Platzhalter werden unterstützt und auf absolute Pfade angewendet. Die Option -x kann mehrfach angegeben werden. wcd -x -x -s Die Option -x muss vor jeder anderen Einleseoption angegeben werden (-s, -S, +S, -A, -E). Unter DOS/Windows müssen Sie den Laufwerksbuchstaben angeben, je nachdem, ob eine der Variablen *HOME* oder *WCDHOME* gesetzt ist. Falls *HOME* oder *WCDHOME* gesetzt ist, müssen Sie den Laufwerksbuchstaben angeben. Ein Beispiel: wcd -x c:/temp -S c: Anderenfalls geben Sie keinen Laufwerksbuchstaben an. wcd -x /temp -s -xf DATEI schließt alle in *DATEI* aufgelisteten Pfade vom Einlesen aus. Wenn diese Option ausgewählt ist, schließt wcd alle in *DATEI* aufgelisteten Pfade und sämtliche derer Unterverzeichnisse beim Einlesen eines Laufwerks aus. Platzhalter werden unterstützt und Namensübereinstimmungen werden auf den absoluten Pfad bezogen. Beachten Sie, dass wcd führende und angehängte Leerzeichen in einer Zeile nicht ignoriert, da sie als Zeichen in einem Verzeichnisnamen zulässig sind. Die Option -xf kann mehrfach angegeben werden. Mit folgendem Befehl schließen Sie alle verbannten Pfade vom Einlesen aus (Beispiel für wcd unter Unix): wcd -xf ~/.ban.wcd -s Platzhalter werden unterstützt. Um beispielsweise alle Ihre Subversion-Verzeichnisse mit administrativen Dateien auszuschließen, fügen Sie eine Zeile mit "*/.svn" hinzu. Die Option -xf muss vor jeder anderen Einleseoption angegeben werden (-s, -S, +S, -A, -E). -y, --assume-yes beantwortet alle Abfragen automatisch mit »ja«. Wcd gibt keine Ja-/Nein-Abfragen an den Benutzer aus, nimmt aber an, dass der Benutzer stets auf alle Fragen mit Ja antworten würde. Dies kann in Verbindung mit der Option -rmtree verwendet werden. Diese Option muss vor allen Optionen angegeben werden, die zu Ja-/Nein-Abfragen führen könnten. -z ZAHL setzt die maximale Stapelgröße auf ZAHL. Die vorgegebene Größe des Stapels ist 10. Stapeloperationen können deaktiviert werden, indem die Größe auf 0 gesetzt wird. Diese Option muss stets vor anderen Stapeloperationen angegeben werden (-,+,=). Anderenfalls wird die Stapelgröße wieder auf den Vorgabewert 10 zurückgesetzt. Ein korrekter Befehl ist: wcd -z 50 - Die neue Stapelgröße ist 50 und wcd geht ein Verzeichnis zurück. Ein falscher Befehl wäre: wcd - -z 50 Wcd geht ein Verzeichnis zurück und der Stapel erhält die Vorgabegröße 10. Das Argument -z 50 wird ignoriert. Fügen Sie dies als erste Option zu Ihrem wcd-Alias oder Ihrer wcd-Funktion hinzu. Für eine POSIX-kompatible Shell wäre das: wcd () { wcd.exe -z 50 "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go } -[ZAHL] legt ein Verzeichnis auf den Stapel (ZAHL mal). Vorgabe ist 1. Geht ein Verzeichnis zurück. Der Befehl "wcd -" geht ein Verzeichnis zurück. Um mehrere Verzeichnisse zurückzugehen, fügen Sie eine Zahl hinzu, zum Beispiel in Form des Befehls "wcd -3". Der Stapel ist zyklisch. +[ZAHL] nimmt ein Verzeichnis vom Stapel (ZAHL mal). Vorgabe ist 1. Geht ein Verzeichnis vor. Der Befehl "wcd +" geht ein Verzeichnis vor. Um mehrere Verzeichnisse vorzugehen, fügen Sie eine Zahl hinzu, zum Beispiel in Form des Befehls "wcd +2". Der Stapel ist zyklisch. = zeigt den Stapel an. Verwenden Sie diese Option, wenn Sie nicht mehr wissen, wie oft Sie im Stapel die Ebene gewechselt haben. Der Stapel wird ausgegeben und Sie können eine Zahl wählen. Die aktuelle Position im Stapel ist mit einem Asterisk "*" markiert. INSTALLATION Das aktuelle Arbeitsverzeichnis einer Unix-Shell kann nur über den eingebauten cd(1)-Befehl gewechselt werden. Daher wird das Programm stets über eine Funktion oder einen Alias ausgeführt. Die Funktion oder der Alias verwenden ein Shell-Skript (das Go-Skript), welches von wcd erzeugt wird. Wcd funktioniert erst dann, wenn die Funktion oder der Alias definiert wurde. Weiteren wichtigen Einfluss auf Ihre Installation nimmt die Definition der Umgebungsvariablen *HOME* und *WCDHOME*. Siehe den Abschnitt UMGEBUNGSVARIABLEN. Installation für POSIX-Shells Für eine POSIX-Shell (ksh, bash, zsh, etc.) unter Unix, Linux, Cygwin oder nativem MSYS fügen Sie die folgende Funktion zur Shell-Startdatei hinzu (die Bash verwendet zum Beispiel "$HOME/.bashrc"): wcd () { PATH/wcd.exe "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go } *PFAD* wird durch den Ort ersetzt, in dem das ausführbare wcd-Programm gespeichert ist. Laden Sie die Initialisierungsdateien der Shell neu oder starten Sie eine neue Shell. Der Ort des Go-Skripts "wcd.go" ist abhängig von der Shell selbst. Wcd für die auf DJGPP basierende DOS-Bash und die OS/2-Bash erfordert eine andere Funktionalität. Das Go-Skript wird nicht in einem Verzeichnis "bin" gespeichert, und falls weder *WCDHOME* noch *HOME* definiert sind, wird das Go-Skript nach c:/ geschrieben. DOS-Bash: wcd () { PATH/wcdbash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } OS/2-Bash: wcd () { PATH/wcdos2bash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } Die WinZsh-Version von wcd erfordert eine etwas andere Funktion. Das Go-Skript wird niemals in c:/ gespeichert. wcd () { PATH/wcdwin32zsh.exe "$@" . ${WCDHOME:-${HOME}}/wcd.go } Weitere Informationen finden Sie im Abschnitt DATEIEN. Installation für C-ähnliche Shells (csh, tcsh) Fügen Sie den folgenden Alias zur Shell-Startdatei "$HOME/.cshrc" oder "$HOME/.tcshrc" hinzu: if ( ${?WCDHOME} ) then alias wcd "PATH/wcd.exe \!* ; source $WCDHOME/bin/wcd.go" else alias wcd "PATH/wcd.exe \!* ; source $HOME/bin/wcd.go" endif *PFAD* wird durch den Ort ersetzt, in dem das ausführbare wcd-Programm gespeichert ist. Laden Sie die Initialisierungsdateien der Shell neu oder starten Sie eine neue Shell. Version für den Windows-Befehlszeileninterpreter Entpacken Sie die Zip-Datei und fügen Sie den Ordner "bin" zu Ihrer Umgebungsvariable *PATH* hinzu. Im Windows-Befehlszeileninterpreter kann ein Windows-Programm das aktuelle Arbeitsverzeichnis nicht wechseln, das ist aber mit einer .bat-Datei möglich. Das Batch-Skript "wcd.bat" ruft das wcd-Programm auf, welches seinerseits das neue Batch-Skript "wcdgo.bat" erzeugt. Dann führt "wcd.bat" wiederum "wcdgo.bat" aus, welches tatsächlich das Verzeichnis wechselt. Windows VISTA und neuer Im Befehlszeileninterpreter in Windows VISTA oder neueren Versionen ist der Zugriff auf Verzeichnisse eingeschränkt. Um Zugriff auf weitere Verzeichnisse zu erhalten, benötigen Sie Administratorrechte. Einen Befehlszeileninterpreter mit Administratorrechten erhalten Sie, wenn Sie mit der rechten Maustaste auf das Programmsymbol des Befehlszeileninterpreters klicken und *Als Administrator ausführen* wählen. Version für die Windows PowerShell Fügen Sie die folgende Funktion zu Ihrem PowerShell-Benutzerprofil hinzu. Der Ort dieses Profils wird durch die Variable $profile bestimmt. Es ist erforderlich, dass eine der Umgebungsvariablen *HOME* oder *WCDHOME* definiert ist. function wcd { PATH\wcdwin32psh.exe $args & $env:HOME\wcdgo.ps1 } *PFAD* wird durch den Ort ersetzt, in dem das ausführbare wcd-Programm gespeichert ist. Starten Sie eine neue PowerShell. Wcd für die PowerShell unterstützt nur den Dateisystemtreiber und keine weiteren Treiber. Version für den Befehlszeileninterpreter von OS/2 Im Befehlszeileninterpreter von OS/2 (cmd.exe) kann ein OS/2-Programm das aktuelle Arbeitsverzeichnis nicht wechseln. Daher erzeugt wcd ein Befehlsskript "wcdgo.cmd", das in der aktuellen Shell ausgeführt werden muss. Das Skript "wcd.cmd" führt zuerst "wcdos2.exe" aus, welches seinerseits das Skript "wcdgo.cmd" erzeugt. Danach führt "wcd.cmd" das Skript "wcdgo.cmd" aus. LOKALISIERUNG LANG Die primäre Sprache wird durch die Umgebungsvariable *LANG* festgelegt. Diese Variable besteht aus mehreren Teilen: Den ersten Teil bilden zwei Kleinbuchstaben, die den Sprachcode angeben. Der zweite Teil ist optional und bezeichnet den Ländercode in Großbuchstaben, vom davor stehenden Sprachcode durch einen Unterstrich getrennt. Der dritte Teil ist ebenfalls optional und gibt die Zeichenkodierung an, vom Ländercode durch einen Punkt getrennt. Einige Beispiele für Standard-POSIX-Shells: export LANG=de Deutsch export LANG=de_DE Deutsch, Deutschland export LANG=de_CH Deutsch, Schweiz export LANG=es_ES Spanisch, Spanien export LANG=es_MX Spanisch, Mexiko export LANG=en_US.iso88591 English, USA, Latin-1-Zeichenkodierung Eine vollständige Liste der Sprachen und Ländercodes finden Sie im Handbuch zu gettext(1): . Auf Unix-Systemen können Sie den Befehl locale(1) verwenden, um spezifische Informationen zur Spracheinstellung zu erhalten. LANGUAGE Mit der Umgebungsvariable *LANGUAGE* können Sie eine Prioritätenliste für Sprachen übergeben, die Sie durch Doppelpunkte voneinander trennen. Dos2unix gibt *LANGUAGE* vor *LANG* den Vorzug, zum Beispiel bei Deutsch vor Niederländisch: "LANGUAGE=de:nl". Sie müssen zunächst die Lokalisierung aktivieren, indem Sie die Variable *LANG* oder *LC_ALL* auf einen anderen Wert als *C* setzen, bevor Sie die Liste der Sprachprioritäten nutzen können. Weitere Informationen finden Sie im Gettext-Handbuch: Falls Sie eine Sprache auswählen, die nicht verfügbar ist, erhalten Sie die Standardmeldungen in englischer Sprache. WCDLOCALEDIR Mit der Umgebungsvariable *WCDLOCALEDIR* kann die während der Kompilierung und Installation verwendete Variable *LOCALEDIR* außer Kraft gesetzt werden. *LOCALEDIR* wird von wcd mit vorhandener nativer Sprachunterstützung verwendet, um die Sprachdateien zu finden. Der GNU-Vorgabewert ist "/usr/local/share/locale". Nach Eingabe von "wcd -V" wird das von wcd verwendete *LOCALEDIR* angezeigt. Falls Sie wcd in einem anderen als dem Vorgabeverzeichnis installiert haben, müssen Sie die Umgebungsvariable *WCDLOCALEDIR* setzen, die auf das Verzeichnis mit den Sprachdateien zeigt. Ein Beispiel für den Windows-Befehlszeileninterpreter: set WCDLOCALEDIR=c:/my_prefix/share/locale Ein Beispiel für eine POSIX-Shell: export WCDLOCALEDIR=$HOME/share/locale LC_COLLATE Wenn mehrere Treffer für Verzeichnisse gefunden werden, zeigt wcd eine sortierte Liste an. Die Art der Sortierung hängt von der Spracheinstellung ab. Falls die Umgebungsvariable *LANG* gesetzt ist, werden die Treffer wie in Wörterbüchern oder Telefonbüchern in dieser Sprache sortiert. Beispielsweise werden Punkte und Bindestriche ignoriert. Buchstaben mit oder ohne Akzentzeichen werden nicht unterschiedlich behandelt, und Groß-/Kleinschreibung wird nicht berücksichtigt. Die Sortierung bevorzugt die Umgebungsvariable *LC_COLLATE* vor *LANG*. Falls Sie *LC_COLLATE* auf "C" oder "POSIX" setzen, wird die sprachbezogene Sortierung abgeschaltet. Wenn Sie beispielsweise Deutsch bevorzugen, dies aber nicht für die Sortierung gelten soll, verwenden Sie Folgendes: export LANG=de_DE export LC_COLLATE=C LC_CTYPE Hinsichtlich Zeichenkodierung bevorzugt Wcd die Variable *LC_CTYPE* vor *LANG*. Um beispielsweise die Zeichenkodierung auf UTF-8 zu setzen, können Sie Folgendes ausführen: export LC_CTYPE=en_US.UTF-8 LC_ALL Alle lokalen Umgebungsvariablen, die mit *LC_* beginnen, werden durch die Umgebungsvariable *LC_ALL* außer Kraft gesetzt, sofern diese definiert ist. Wcd bevorzugt *LC_ALL* vor *LC_COLLATE* und *LC_CTYPE*. WINDOWS CODE PAGES Es gibt zwei Gruppen von Codepages, die DOS Codepages (OEM) und die Windows Codepages (ANSI). Die vorgegebene Zeichenkodierung für Windows ist ANSI CP1252, wenn westeuropäische Regionaleinstellungen konfiguriert sind. Windows-Programme, wie beispielsweise Notepad, benutzen diese durch das System vorgegebene ANSI-Codepage. Die Windows-Konsole verwendet standardmäßig eine OEM-Codepage (CP437 oder CP850), um Abwärtskompatibilität zu DOS-Programmen zu gewährleisten. Wenn Sie eine DOS-Version von wcd in der Windows-Konsole verwenden, wird dies aufgrund der DOS-Codepage funktionieren, allerdings fehlt der DOS-Version von wcd unter Windows die Unterstützung für lange Verzeichnisnamen und Netzlaufwerke. Die Windows-Version von wcd ist ein natives Windows-Programm, das die ANSI-Codepage des Windows-Systems verwendet. Auf einem Windows mit westeuropäischen Regionaleinstellungen wird so die Codepage CP1252 für Verzeichnisnamen und Meldungen verwendet. Um konsistente, von der aktiven Codepage unabhängige Ausgaben zu erzielen, übersetzen alle Windows-Versionen von wcd die ANSI-Ausgaben im Befehlszeileninterpreter und der PowerShell in Unicode-Ausgaben. Die Rasterschrift der Konsole unterstützt nur die originale OEM-Codepage, die mit Windows installiert wurde, daher müssen Sie die Schriftart der Konsole auf die TrueType-Schrift »Lucida Console« ändern, damit Unicode- und ANSI-Zeichen korrekt angezeigt werden. Die Nicht-Unicode-Versionen von Wcd *vor Version 5.2.0* verwenden die gewöhnliche ANSI-Ausgabe. Für diese älteren Versionen muss die Codepage der Konsole der System-Codepage angeglichen werden (auf 1252), damit wcd unter Windows spezielle Zeichen wie Akzentzeichen oder das Euro-Symbol korrekt anzeigen kann. Die Windows-System-Codepage kann in den Regionaleinstellungen der Systemsteuerung geändert werden. Die Codepage der Windows-Konsole wird mit dem Befehl "chcp" geändert. Wenn Sie "wcd -V" eingeben, wird die gegenwärtige von wcd verwendete Zeichenkodierung angezeigt. Geben Sie den Befehl "chcp" ein, um die aktive Codepage für die Windows-Konsole anzuzeigen. UNICODE Wcd verfügt über optionale Unterstützung für Unicode. Um zu sehen, ob wcd mit Unicode-Unterstützung erstellt wurde, geben Sie "wcd -V" ein. Sofern Ihr Terminal oder Ihre Konsole sowie die Schriftart es unterstützt, sollten Sie das Euro-Symbol und chinesische Zeichen sehen (echte chinesische Zeichen, keinen chinesisch aussehenden Zeichensalat). Wcd wurde *weich* auf Unicode migriert. In dessen Kern werden alle Daten als Byte-Datenstrom verarbeitet. Nur die auf dem Bildschirm ausgegebenen Zeilen werden unmittelbar in Unicode-Zeichen umgewandelt. Wcd verwendet vollständig libc-Funktionen und enthält keinen UTF-8-spezifischen Code. Siehe auch . Wcd verfügt über optionale Unterstützung für Unicode-Suche mit Normalisierung. Um zu ermitteln, ob wcd mit Unterstützung für Normalisierung erstellt wurde, geben Sie "wcd -V" ein. Wcd mit Unicode-Normalisierung findet Treffer mittels *kompatiblen* Entsprechungen. Ohne diese Unterstützung werden Verzeichnisse nur gefunden, wenn Sie kanonisch äquivalent sind. Siehe auch . UTF-8 unter Unix/Linux Um UTF-8-Zeichen in Ihrer Konsole oder Ihrem Terminal anzeigen zu lassen, muss dieses auch UTF-8 unterstützen. Die mit XFree86 4.0 oder neuer gelieferte Version von xterm bringt UTF-8-Unterstützung bereits mit. Um dies zu aktivieren, starten Sie xterm(1) mit einer UTF-8-Spracheinstellung und verwenden Sie eine Schriftart mit der Zeichenkodierung iso10646-1, zum Beispiel mit LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1' Moderne GNU-Linux-Distributionen unterstützen UTF-8 per Vorgabe. Andere Multibyte-Zeichenkodierungen sollten auch funktionieren, allerdings wurde dies nicht getestet. Wcd nimmt an, dass die Baumdateien in der lokalen Zeichenkodierung vorliegen. In die Baumdateien werden keine Bytereihenfolge-Markierungen geschrieben. UTF-16 unter Windows Unter Windows wird Unicode in allen Versionen der PowerShell sowie im Befehlszeileninterpreter von Windows 7 (oder neuer) unterstützt. Unicode funktioniert auch in Take Command oder TCC/LE von JP Software, welches in älteren Windows-Versionen verwendet werden kann (XP/Vista). Unter Windows sind alle Verzeichnisnamen in Unicode UTF-16 kodiert. Für Nicht-Unicode-Windows-Programme werden die Unicode-Zeichen in die vorgegebene ANSI-Codepage übersetzt. Bei Zeichen, die nicht Teil der Regionaleinstellung sind, ist diese Übersetzung nicht möglich. Daher geben Nicht-Unicode-Programme stattdessen ein Fragezeichen oder ein falsches Zeichen aus. Wcd mit Unicode-Unterstützung liest die in UTF-16 kodierten Verzeichnisnamen und wandelt diese intern in UTF-8 um. Alle Baumdateien sind in UTF-8 kodiert und nicht zu den Nicht-Unicode-Versionen von wcd kompatibel. Wcd erstellt ein in UTF-8 kodiertes Go-Skript. Alle Versionen der Windows Powershell können in UTF-8 kodierte Skripte ausführen, sofern sich im Skript eine BOM (Bytereihenfolge-Markierung) für UTF-8 befindet. Seit Windows 7 ist es möglich, im Windows-Befehlszeileninterpreter mit einem Batch-Skript in ein Verzeichnis zu wechseln, dessen Name Unicode-Zeichen enthält. Der Verzeichnisname muss in UTF-8 kodiert sein, und das Batch-Skript *darf keine BOM enthalten* (Markierung der Bytereihenfolge). Die aktive Codepage des Befehlszeileninterpreters muss vor dem cd-Befehl auf 65001 (UTF-8) gesetzt werden. Wcd für den Befehlszeileninterpreter erstellt ein solches Go-Skript "wcdgo.bat". Es ändert zuerst die Codepage in 65001, wechselt dann das Verzeichnis und setzt zum Schluss die Codepage auf die ursprüngliche Einstellung zurück. Sie müssen die Schrift auf die TrueType-Schriftart »Lucida Console« setzen (nicht auf die Rasterschrift), falls Zeichen nicht korrekt angezeigt werden. Die Nicht-Unicode-Version von wcd für Windows liest Unicode-Baumdateien seit Version 5.2.0, sofern sich eine BOM (Markierung der Bytereihenfolge) in der Datei befindet (siehe ). Allerdings ist es nicht möglich, in Verzeichnisse zu wechseln, deren Namen Unicode-Zeichen enthalten, die nicht Teil der vorgegebenen ANSI-Codepage des Systems sind. Die Unicode-Version von wcd für Windows schreibt seit Version 5.2.0 eine BOM in die in UTF-8 kodierten Baumdateien, wodurch diese auch in Notepad lesbar sind. UTF-8 unter Cygwin Cygwin unterstützt Unicode seit Version 1.7. Die Cygwin-Zwischenschicht achtet darauf, dass die UTF-16-Namen unter Windows in UTF-8 umgewandelt werden. Daher brauchen Programme, wie beispielsweise wcd, darauf keine Rücksicht zu nehmen und können mit einer UTF-8-Zeichenkodierung wie unter Unix/Linux arbeiten. Setzen Sie die Zeichenkodierung mit der Umgebungsvariable *LANG* oder *LC_CTYPE* auf UTF-8. Es wird nötig sein, dass Sie Ihre Laufwerke neu einlesen. Sie müssen die Schrift auf die TrueType-Schriftart »Lucida Console« setzen (nicht auf die Rasterschrift), falls Sie die Cygwin-Standardkonsole verwenden. Die Cygwin-Version verhält sich exakt genauso wie die Unix-Version von wcd. Es wird keine Markierung der Bytereihenfolge (BOM) in die Baumdateien geschrieben, und es wird angenommen, dass die Dateien in der Zeichenkodierung vorliegen, die von der Spracheinstellung in Cygwin vorgegeben ist. DATEIEN Falls die Umgebungsvariable *WCDHOME* gesetzt ist, verwendet wcd *WCDHOME* anstelle von *HOME*. Alle "*.wcd"-Dateien sind Textdateien, die mit einem Texteditor bearbeitet werden können. Die Wcd-Version für den Windows-Befehlszeileninterpreter verhält sich wie die DOS-Version, und die Cygwin-Version verhält sich wie die Unix-Version. wcd.exe Das Programm. In Unix-Shells wird das Programm stets durch eine Funktion oder einen Alias aufgerufen, da das aktuelle Arbeitsverzeichnis einer Unix-Shell nur mit dem eingebauten cd-Befehl gewechselt werden kann. Siehe auch Abschnitt INSTALLATION. vorgegebene Baumdatei Dies ist die vorgegebene Baumdatei, in der wcd nach Treffern sucht. Falls diese nicht lesbar ist, erstellt wcd eine neue Datei. DOS: \treedata.wcd or %HOME%\treedata.wcd Unix: $HOME/.treedata.wcd zusätzliche Baumdatei Eine optionale zusätzliche Baumdatei. Falls diese existiert und lesbar ist, sucht wcd auch in dieser Datei nach Treffern. DOS: \extra.wcd or %HOME%\extra.wcd Unix: $HOME/.extra.wcd Bann-Datei In dieser optionalen Datei speichert wcd die verbannten Pfade. Siehe Option -b. Platzhalter werden unterstützt. DOS: \ban.wcd or %HOME%\ban.wcd Unix: $HOME/.ban.wcd Alias-Datei Optionale Datei mit Aliasen für wcd. Siehe Option -l. DOS: \alias.wcd or %HOME%\alias.wcd Unix: $HOME/.alias.wcd Stapeldatei In dieser Datei speichert wcd den Stapel. Der Laufwerksbuchstabe kann mit der Option -d geändert werden. DOS: c:\stack.wcd or %HOME%\stack.wcd Unix: $HOME/.stack.wcd Der Name der Stapeldatei kann mit der Umgebungsvariable *WCDSTACKFILE* geändert werden. Siehe Abschnitt UMGEBUNGSVARIABLEN. Go-Skript Dies ist das Shell-Skript, welches wcd.exe jedes Mal erzeugt. Es wird über eine Funktion oder einen Alias eingelesen. Der Laufwerksbuchstabe kann mit der Option -d geändert werden. Aus historischen Gründen ist es per Vorgabe auf Unix-Systemen in "$HOME/bin" gespeichert. Das Verzeichnis für diese Datei kann mit der Option -G geändert werden. DOS-Bash: c:/wcd.go oder $HOME/wcd.go Windows Befehlszeileninterpreter: c:\wcdgo.bat oder %HOME%\wcdgo.bat Windows PowerShell: $env:HOME\wcdgo.ps1 WinZsh: $HOME/wcd.go Cygwin/MSYS: $HOME/bin/wcd.go OS/2-Befehlszeileninterpreter: c:\wcdgo.cmd oder %HOME%\wcdgo.cmd OS/2-Bash: c:/wcd.go oder $HOME/wcd.go Unix: $HOME/bin/wcd.go Datei für relative Baumansicht Textdatei mit relativen Pfaden von *VERZEICHNIS*. Siehe die Optionen +S, -n und +n. DOS: PATH\rtdata.wcd Unix: PATH/.rtdata.wcd UMGEBUNGSVARIABLEN HOME Wcd verwendet per Vorgabe die Umgebungsvariable *HOME*, um zu ermitteln, wo Dateien gespeichert werden sollen. Siehe auch den Abschnitt DATEIEN. Dies kann mit der Umgebungsvariable *WCDHOME* außer Kraft gesetzt werden. *HOME* legt außerdem fest, wo mit dem Einlesen des Laufwerks begonnen wird, wenn die Option -s verwendet wird. Dies kann mit der Umgebungsvariable *WCDSCAN* außer Kraft gesetzt werden. In den Versionen für Unix, Cygwin, Windows PowerShell, WinZsh und MSYS ist es erforderlich, dass *HOME* oder *WCDHOME* gesetzt ist. Für die anderen Versionen von wcd ist die Benutzung dieser Variablen optional. Falls *HOME* unter DOS/Windows gesetzt ist, platziert wcd alle seine Dateien (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) im Verzeichnis *HOME*. Das Verhalten von wcd gleicht dann dem der Unix-Versionen. Wcd liest die Daten dann per Vorgabe aus *HOME* ein. Laufwerke werden nicht automatisch eingelesen, wenn Sie dorthin wechseln. Sie müssen wcd explizit dazu anweisen, zum Beispiel: wcd -S c: -A d: -A e: Die Verzeichnissuche wird nun global in allen eingelesenen Laufwerken ausgeführt. WCDHOME Mit der Umgebungsvariable *WCDHOME* können Sie den Ort der Dateien von wcd ändern. Falls sowohl *HOME* als auch *WCDHOME* gesetzt ist, wird *WCDHOME* anstelle von *HOME* verwendet. In Wcd-Versionen vor 5.1.5 wurde durch *WCDHOME* auch das vorgegebene Einleseverzeichnis geändert. Seit Version ist dies nicht mehr der Fall, siehe Option -s. Verwenden Sie ab Version 5.1.5 die Umgebungsvariable *WCDSCAN*, um die Einstellung des vorgegebenen Einleseverzeichnisses außer Kraft zu setzen. Beispiel für die Befehlszeileninterpreter in DOS, Windows, OS/2: set WCDHOME=C:\Users\erwin\wcd Ein Beispiel für POSIX-Shells: export WCDHOME="$HOME/.wcd" Ein Beispiel für Csh-Shells: setenv WCDHOME "$HOME/.wcd" WCDSCAN Verwenden Sie die Umgebungsvariable *WCDSCAN*, um die Einstellung des vorgegebenen Einleseverzeichnisses *HOME* außer Kraft zu setzen. Geben Sie eine durch Doppelpunkte getrennte Liste an (für Unix), wenn Sie mehr als ein Verzeichnis angeben wollen. Unter DOS/Windows verwenden Sie Semikola als Trennzeichen. Beispiel für die Befehlszeileninterpreter von DOS, Windows und OS/2: set WCDSCAN=C:\Users\erwin;D:\data set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\projectdrive\projectX Ein Beispiel für POSIX-Shells: export WCDSCAN="$HOME:/projectdisk/projectX" Ein Beispiel für Csh-Shells: setenv WCDSCAN "$HOME:/projectdisk/projectX" WCDFILTER Geben Sie Filter mit der Umgebungsvariable *WCDFILTER* an. Alle Verzeichnisse, die nicht auf diese(n) Filter passen, werden ignoriert. Sie können eine Liste angeben, in der Sie die einzelnen Filter aneinanderreihen und dazwischen das Pfad-Trennzeichen Ihrer Shell setzen. Dies funktioniert ähnlich wie die Angabe der Variable *PATH*. Ob dabei Groß-/Kleinschreibung berücksichtigt wird, hängt vom jeweiligen Betriebssystem ab. Beispiel für die Befehlszeileninterpreter in DOS, Windows, OS/2: set WCDFILTER=projects;doc Ein Beispiel für POSIX-Shells: export WCDFILTER="projects:doc" Ein Beispiel für Csh-Shells: setenv WCDFILTER "projects:doc" WCDBAN Die in der Umgebungsvariable *WCDBAN* angegebenen Pfade werden gebannt, siehe auch die Option -b. Geben Sie eine Liste der Pfade an, durch das *PATH*-Trennzeichen der Shell getrennt. WCDEXCLUDE Die in der Umgebungsvariable *WCDEXCLUDE* angegebenen Pfade werden von wcd ausgeschlossen, siehe auch die Optionen -x und -xf. Geben Sie eine Liste der Pfade an, durch das *PATH*-Trennzeichen der Shell getrennt. Beispiel für die Befehlszeileninterpreter in DOS, Windows, OS/2: set WCDEXCLUDE=*/windows;*/temp;*CVS Ein Beispiel für POSIX-Shells: export WCDEXCLUDE="/dev:/tmp:*CVS" Ein Beispiel für Csh-Shells: setenv WCDEXCLUDE "/dev:/tmp:*CVS" WCDUSERSHOME Dies legt das übergeordnete Verzeichnis der Home-Verzeichnisse der Benutzer fest. Unter DOS/Windows ist der Standardwert "\\users". Unter Unix/Cygwin ist "/home" die Vorgabe. Die Variable wird verwendet, um die Baumdateien anderer Benutzer einzulesen. Siehe auch die Optionen -u und +u. Im ausführlichen Modus gibt wcd alle Filter sowie gebannte und auszuschließende Verzeichnisse aus. Siehe Option -v. WCDSTACKFILE Wcd bevorzugt *WCDSTACKFILE* gegenüber dem vorgegebenen Namen der Stapeldatei (siehe Abschnitt DATEIEN). Mit dieser Variable kann jede Shell oder jede Terminalemulation ihren eigenen Verzeichnisstapel haben. So verwenden Sie eine eindeutige zeitbasierte Datei (JJJJMMTT-HHMMSS) für jede geöffnete interaktive Shell: export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S) Für einen Stapel pro xterm(1) verwenden Sie die Umgebungsvariable *WINDOWID*: export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID Einen Stapel pro Bildschirm erreichen Sie für GNU screen(1) so: export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW TERMINFO Wenn die Umgebungsvariable *TERMINFO*, sucht wcd mit ncurses-Schnittstelle nach einer lokalen Teminaldefinition, bevor am Standardort gesucht wird. Dies ist sinnvoll für Terminaldefinitionen, die sich nicht an einem vorgegebenen Ort befinden. Oft verwendete Standardorte sind "/usr/lib/terminfo" und "/usr/share/terminfo". PDC_RESTORE_SCREEN Wcd mit PDCurses-Schnittstelle berücksichtigt die Umgebungsvariable *PDC_RESTORE_SCREEN*. Falls diese Umgebungsvariable gesetzt ist, erzeugt PDCurses eine Kopie des Bildschirminhalts zur Startzeit von wcd. Beim Abbruch von wcd wird der Bildschirm wiederhergestellt. Ein Beispiel für den Windows-Befehlszeileninterpreter: set PDC_RESTORE_SCREEN=1 Windows kann nur einen kleinen Puffer speichern. Es ist daher nicht immer möglich, alles wiederherzustellen. Andererseits kann in der Konsole nach dem Beenden von wcd Datenmüll ausgegeben werden, falls Sie den Puffer größer gewählt haben. SHELL Die Angabe von "#!$SHELL" in der ersten Zeile des Go-Skripts (für POSIX- oder C-Shells) ist für 8-Bit-Zeichen nötig. Einige Shells könnten sonst annehmen, dass es sich bei dem Go-Skript um eine Binärdatei handelt und diese nicht einlesen. In der Cygwin-Bash muss die Variable *SHELL* mit dem Befehl "export" gesetzt werden, sonst kann wcd diese Variable nicht lesen. BASH Wcd für die DOS-Bash verwendet $BASH anstelle von $SHELL, weil $SHELL auf die DOS-Befehlsshell zeigt. $BASH muss mit einem "export"-Befehl definiert werden, anderenfalls kann wcd die Variable nicht lesen. SIEHE AUCH sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1), AUTOREN Wcd wurde von Erwin Waterlander geschrieben. Projektseite: SourceForge: Die Formatierung der Handbuchseite wurde von Jari Aalto bereitgestellt. NCD wurde ursprünglich von Brad Kingsbury für Peter Nortons »Norton Utilities« etwa 1987 geschrieben. Siehe auch wcd-6.0.3/src/man/fr/0000755000175500010010000000000013524756531013530 5ustar waterlanGeenwcd-6.0.3/src/man/fr/man1/0000755000175500010010000000000013524756540014364 5ustar waterlanGeenwcd-6.0.3/src/man/fr/man1/wcd.10000644000175500010010000017553713524756532015246 0ustar waterlanGeen.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "wcd 1" .TH wcd 1 "2019-08-14" "wcd" "2019-08-14" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOM" .IX Header "NOM" wcd \- Wherever Change Directory .PP chdir pour \s-1DOS\s0 et Unix. .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& wcd [options] [répertoire] .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" .SS "Présentation" .IX Subsection "Présentation" Wcd est un logiciel en ligne de commande permettant de changer de répertoire rapidement. Il permet de gagner du temps d'écriture au clavier. Un utilisateur n'a besoin de taper qu'une partie du nom d'un répertoire et wcd s'y déplacera. Wcd a une méthode de sélection rapide lors de multiples correspondances et permet l'alias et le bannissement de répertoires. Wcd inclus également un navigateur d'arborescence de fichiers intéractif en mode plein écran et avec recherche rapide. .PP Wcd a été construit sur le modèle du Norton Change Directory (\s-1NCD\s0). \s-1NCD\s0 est apparu pour la première fois dans \fIThe Norton Utilities, Release 4\fR, pour \&\s-1DOS\s0 en 1987 et publié par Peter Norton. .PP Wcd a été adapté à différentes interfaces système en ligne de commande : \s-1DOS\s0 command.com, Windows cmd.exe et PowerShell, \s-1OS/2\s0 cmd.exe, et aux interfaces système Unix telles que Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), et C (csh) ainsi qu'à d'autres fonctionnant sur tout système d'exploitation. .PP Wcd prend en charge les ensemble de caractères 8 bits sur tous les systèmes, et prend en charge l'Unicode de façon optionnelle. Voir la section \&\s-1LOCALISATION.\s0 .PP Voir la section \s-1INSTALLATION\s0 pour mettre en place wcd dans le cas d'un usage personnel. .SS "Utilisation basique" .IX Subsection "Utilisation basique" Par défaut (si aucun caractère étendu n'est utilisé) wcd cherche un répertoire avec un nom commençant par le nom entré. .PP Par exemple, cette commande changera vers le répertoire de l'utlisateur courant \f(CW\*(C`/home/user/Desktop\*(C'\fR : .PP .Vb 1 \& wcd Desk .Ve .PP Lorsqu'il y a plusieurs correspondances, wcd affichera à l'utilisateur une liste les contenant toutes. L'utilisateur pourra alors faire un choix avec un petit nombre de frappes clavier (une seule la plus part du temps). .SS "Wildcards" .IX Subsection "Wildcards" Wcd prend en charge les caractères étendus suivant : .PP .Vb 4 \& * correspond à toute séquence de caractères (zéro ou plus) \& ? correspond à n\*(Aqimporte quel caractère \& [ENSEMBLE] correspond à n\*(Aqimporte quel caractère dans l\*(Aqensemble donné, \& [!ENSEMBLE] ou [^ENSEMBLE] correspond à n\*(Aqimporte quel caractère qui n\*(Aqest pas dans l\*(Aqensemble donné. .Ve .PP Un ensemble est composé de caractères ou d'intervalles ; un intervalle s'écrit \fIcaractère tiret caractère\fR comme dans \f(CW\*(C`0\-9\*(C'\fR ou \&\f(CW\*(C`A\-Z\*(C'\fR. \f(CW\*(C`[0\-9a\-zA\-Z_]\*(C'\fR est l'ensemble de caractères minimal autorisés dans la construction du motif \f(CW\*(C`[...]\*(C'\fR. Les caractères internationaux (i.e. des caractères de 8 bits) sont autorisés si le système les prend en charge. Pour supprimer le sens syntaxique spécial de n'importe quel caractère \&\f(CW\*(C`[]*?!^\-\e\e\*(C'\fR dans ou hors d'une construction \f(CW\*(C`[..]\*(C'\fR et correspondre au caractère en lui\-même, faire précéder ce caractère d'une barre oblique inversée (\f(CW\*(C`\e\e\*(C'\fR). .PP L'utilisation de caractères étendus rend les recherches complexes possible. Par exemple, ceci correspond à n'importe quel nom de répertoire se terminant par « top » : .PP .Vb 1 \& wcd *top .Ve .PP Faire correspondre les répertoires qui ont « top » quelque part dans leur nom : .PP .Vb 1 \& wcd *top* .Ve .PP Faire correspondre n'importe quel nom de répertoire commençant par « a », « b » ou « c » : .PP .Vb 1 \& wcd [a\-c]* .Ve .PP Il est également possible de donner une partie du chemin d'un répertoire. Ici Wcd cherche les répertoires dont le nom commençent par « Desk » et qui dont le chemin correspond à \fI*me/Desk*\fR. .PP .Vb 1 \& wcd me/Desk .Ve .PP Il est possible d'entrer n'importe quel type d'expression avec des barres obliques et des caractères étendus. Par exemple : .PP .Vb 1 \& wcd src*/*1?/a*2 .Ve .SS "Autres utilisations" .IX Subsection "Autres utilisations" Si aucun caractère étendu n'est utilisé et que wcd trouve une correspondance parfaite, wcd ignorera toutes les correspondances étendues par défaut. Ce comportement peut être modifié par l'option \fB\-w\fR. .PP Le navigateur d'arborescence de répertoire intéractif peut être démarré en utilisant l'option \fB\-g\fR. .PP .Vb 1 \& wcd \-g .Ve .PP Wcd génère un fichier d'arborescence à l'emplacement de la recherche du répertoire. Sur les systèmes Unix et Windows, wcd ajoute des liens symboliques vers le fichier d'arborescence lors de l'examem du disque, mais ne les suit pas. S'il suivait les liens, wcd pourrait examiner une boucle infinie, ou de très grandes portions d'un réseau. .PP Wcd peut également changer vers des répertoires qui ne sont pas dans le fichier d'arborescence. Par exemple : .PP .Vb 1 \& wcd .. .Ve .PP Si wcd trouve une correspondance mais ne peut pas aller au répertoire, il tente alors de le supprimer du fichier d'arborescence par défaut. Pas du fichier d'arborescence supplémentaire. Voir également l'option \fB\-k\fR. .PP Wcd conserve une pile de répertoires stockée sur le disque. La pile à une taille par défaut de 10 et est cyclique. Voir les options \fB\-z\fR, \fB\-\fR, \fB+\fR et \fB=\fR. .PP Dans un environnement multi-utilisateurs, l'option \fB\-i\fR peut être utilisée pour se déplacer dans des répertoires d'autres utilisateurs. .PP Sur les systèmes \s-1DOS\s0 et Windows, peut importe si vous utilisez la barre oblique « / » ou la barre oblique inversée « \e\e » comme séparateur de répertoires. .PP Sur les systèmes \s-1DOS\s0 et Windows, il est possible de changer de lecteur et de répertoire d'un seul coup en faisant précéder le nom du répertoire par le nom du lecteur. .PP .Vb 1 \& wcd d:games .Ve .SS "chemins Windows \s-1UNC\s0" .IX Subsection "chemins Windows UNC" Les versions Windows (Command Prompt, PowerShell, \s-1MSYS,\s0 zsh, cygwin) prennent en charge les chemins Windows \s-1SMB LAN UNC\s0 sans lettre de lecteur tel que \f(CW\*(C`\e\e\e\eservername\e\esharename\*(C'\fR. Wcd pour Windows Command Prompt utilise la commande « pushd » pour faire correspondre un chemin \s-1UNC\s0 à une lettre de lecteur. Dans Windows PowerShell, \s-1MSYS,\s0 zsh et Cygwin, les chemins \&\s-1UNC\s0 sont pris en charge. Le répertoire de travail courant peut être un chemin \s-1UNC.\s0 .SS "Redimensionnement de console sous Windows" .IX Subsection "Redimensionnement de console sous Windows" Wcd prend en charge le redimensionnement de console dans les consoles Windows 10 et ConEmu (void ) depuis la version 6.0.3. La console Windows 10 ne doit pas être dans le mode « legacy » (vérifier les propriétés de la console). L'écran peut ne pas être rafraîchi lorsque la propriété de « Disposition » « Retour à la ligne automatique du texte de sortie lors d'un redimensionnement » de la console est désactivée. L'écran peut être rafraîchi manuellement en pressant la touche F5. .SS "Interfaces" .IX Subsection "Interfaces" Wcd a trois interfaces pour choisir parmi une liste de correspondances. L'interface peut être choisie à la compilation. .PP La première interface utilise simplement stdin/stdout. Une liste numérotée est affichée dans le terminal. L'utilisateur doit choisir parmi cette liste en entrant un nombre suivi de la touche . Cette interface fournit pas la fonctionnalité de défilement arrière lorsque la liste est longue. La fonctionnalité de défilement arrière du terminal/console doit être utilisé. C'est très petit et portable. .PP La seconde interface est basée sur la bibliothèque conio. Elle fourni une capacité de défilement arrière intégrée. L'utilisateur voit affiché une liste ordonnée par des lettres. La sélection dans cette liste peut se faire en pressant une seule lettre. Cette interface est rapide car elle économise les frappes. Si possible, l'écran sera restauré après sortie. Utiliser l'option \fB\-N\fR si l'utilisation de nombres est préférrée. .PP La troisième interface est construite avec la bibliothèque curses. Elle est similaire à l'interface conio. La version curses de wcd a une interface « graphique » supplémentaire. Elle laisse l'utilisateur choisir un répertoire via un navigateur plein écran et intéractif d'arbre de répertoires. Elle a une navigation et une méthode de recherche similaire à celle de \fIvim\fR\|(1). Elle peut être activée avec l'option \fB\-g\fR. .PP En utilisant l'option \fB\-o\fR il est toujours possible de revenir à l'interface stdin/stdout. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-a\fR" 4 .IX Item "-a" Ajouter le chemin courant au fichier d'arborescence par défaut. .Sp Utiliser cette option pour ajouter de façon rapide le chemin courant au fichier d'arborescence par défaut. Le réexamen complet du disque peut parfois pendre beaucoup de temps. .IP "\fB\-aa\fR" 4 .IX Item "-aa" Ajouter le chemin courant et tous les chemins parents au fichier d'arborescence par défaut. .IP "\fB\-A \s-1PATH\s0\fR" 4 .IX Item "-A PATH" Examiner l'arborescence de répertoires depuis \fI\s-1CHEMIN\s0\fR et l'ajouter au fichier d'arborescence par défaut. Exemples : .Sp .Vb 3 \& wcd \-A . \& wcd \-A /home \-A /etc \& wcd \-A d: \-A e: \-A \e\eserveur\epartage .Ve .Sp Sur Windows, il est possible d'examiner tous les répertoires partagés d'un serveur \s-1LAN\s0 Windows en entrant quelque chose comme : .Sp Voir également l'option \fB\-S\fR et \fB\-s\fR et \fB\-E\fR. .IP "\fB\-b\fR" 4 .IX Item "-b" Banir le chemin courant. .Sp Wcd met le chemin courant dans le fichier de bannissements. Cela signifie que wcd ignore toutes les correspondances de ce répertoire et de ses sous\-répertoires. .Sp Le fichier de bannissements peut être modifié avec un éditeur de texte. L'utilisation de caractères étendus est prise en charge et les noms sont mis en correspondance avec le chemin absolu. .Sp Les chemins bannis ne sont pas exclus de l'examen du disque. Pour cela utiliser l'option \fB\-xf\fR. .IP "\fB\-c, \-\-direct\-cd\fR" 4 .IX Item "-c, --direct-cd" Mode \s-1CD\s0 direct. Par défaut wcd marche de la façon suivante : .Sp .Vb 2 \& 1. Essaie de trouver une correspondance dans le(s) fichier(s) d\*(Aqarborescence \& 2. S\*(Aqil n\*(Aqy a pas de correspondances, essaie d\*(Aqouvrir le répertoire que vous avez entré. .Ve .Sp En mode \s-1CD\s0 direct wcd marche en ordre inverse. .Sp .Vb 2 \& 1. Essaie d\*(Aqouvrir le répertoire que vous avez entré. \& 2. Sinon, essaie de trouver une correspondance dans le(s) fichier(s) d\*(Aqarborescence. .Ve .IP "\fB\-d \s-1LECTEUR\s0\fR" 4 .IX Item "-d LECTEUR" Choisir le lecteur pour le fichier de pile et de « go » (\s-1DOS\s0 uniquement). .Sp Les fichiers de pile et de script-go sont stockés sur le lecteur C: par défaut si la variable d'environnement \fI\s-1HOME\s0\fR n'est pas définie. Utiliser cette option si le lecteur C: est un lecteur en lecture seule. Cette option doit utiliser devant les options de pile \fB\-\fR, \fB+\fR and \fB=\fR. .IP "\fB\-e\fR" 4 .IX Item "-e" Ajouter le chemin courant au fichier d'arborescence supplémentaire. .Sp Utiliser cette option pour ajouter rapidement le chemin courant au fichier d'arborescence supplémentaire. .IP "\fB\-ee\fR" 4 .IX Item "-ee" Ajouter le chemin courant et tous les chemins parents au fichier d'arborescence supplémentaire. .IP "\fB\-E \s-1PATH\s0\fR" 4 .IX Item "-E PATH" Examiner l'arborescence de répertoires depuis \fI\s-1CHEMIN\s0\fR et ajouter au fichier d'arborescence supplémentaire. Voir aussi les options \fB\-A\fR et \&\fB\-S\fR. .IP "\fB\-f \s-1FICHIER\s0\fR" 4 .IX Item "-f FICHIER" Lire le fichier d'arborescence \fI\s-1FICHIER\s0\fR. Ne pas lire le fichier d'arborescence par défaut. .IP "\fB+f \s-1FICHIER\s0\fR" 4 .IX Item "+f FICHIER" Lire le fichier d'arborescence \fI\s-1FICHIER\s0\fR en plus du fichier d'arborescence par défaut. .IP "\fB\-g\fR" 4 .IX Item "-g" Interface graphique (uniquement pour les versions avec l'interface curses). .Sp Wcd démarre une interface « graphique » textuelle basée sur curses. L'utilisateur peut choisir un répertoire via le navigateur d'arbre de répertoires intéractif en plein écran. Il possède une méthode de navigation et de recherche similaire à celle de \fIvim\fR\|(1). .Sp Si aucune chaîne de recherche n'est donnée, wcd affiche l'arbre entier qui se trouve dans le fichier d'arborescence par défaut ainsi que dans les fichiers d'arborescence supplémentaires. .Sp Si une chaîne de recherche est donnée, la liste des correspondances est affichée comme un arbre de répertoires. .Sp La disposition par défaut de l'arbre est similaire à celle du \s-1NCD\s0 initial sur \s-1DOS.\s0 La différence de disposition réside dans le fait que pour \s-1NCD,\s0 tous les répertoires de profondeur identique étaient alignés verticalement sur toute la hauteur de l'arbre. Cela était possible sous \s-1NCD\s0 parce que la longueur maximale d'un nom de répertoire sous \s-1DOS\s0 était de 12 (8.3) caractères. Les noms de répertoire pouvant être très longs sur les systèmes d'exploitation modernes, la différence de longeur peut être importante. De fait, les dossiers de même profondeur ne sont pas alignés verticalement sur la totalité de l'arbre dans wcd, mais seulement dans les sous-branches. Il y a donc des mouvements latéraux lors d'un déplacement direct vers le haut ou vers le bas depuis une sous-branche vers une autre sous-branche. .Sp Le comportement de navigation de Wcd est exactement identique à celui du \s-1NCD\s0 initial. Par exemple, l'appui sur la touche Bas du clavier amène au répertoire suivant avec la même profondeur, passant outre les branches. Cela permet une navigation rapide dans l'arbre. .Sp Voir les options \fB\-Ta\fR, \fB\-TC\fR, et \fB\-Tc\fR pour modifier le comportement de la navigation. .IP "\fB\-gd\fR" 4 .IX Item "-gd" Décharger les fichiers d'arborescence sous forme d'arbre sur la sortie standard. .IP "\fB\-G \s-1PATH\s0\fR" 4 .IX Item "-G PATH" Ecrire le script « go » dans le répertoire \fI\s-1CHEMIN\s0\fR. Par exemple sur Unix, \&\f(CW\*(C`wcd \-G CHEMIN\*(C'\fR va écrire un fichier de script « go » \fBCHEMIN/wcd.go\fR. .IP "\fB\-GN, \-\-no\-go\-script\fR" 4 .IX Item "-GN, --no-go-script" Ne pas créer un script « go ». Cette option peut être utilisée en association avec l'option \fB\-j\fR si la création d'un script « go » n'est pas désirée. .IP "\fB\-h, \-\-help\fR" 4 .IX Item "-h, --help" Afficher l'aide et quitter. .IP "\fB\-i, \-\-ignore\-case\fR" 4 .IX Item "-i, --ignore-case" Ignorer la casse. Les versions Dos et Windows de wcd ignore la casse par défaut. Les versions Unix/Cygwin respectent en compte la casse par défaut. .IP "\fB+i, \-\-no\-ignore\-case\fR" 4 .IX Item "+i, --no-ignore-case" Respecter la casse. Voir aussi l'option \fB\-i\fR. .IP "\fB\-I, \-\-ignore\-diacritics\fR" 4 .IX Item "-I, --ignore-diacritics" Ignorer les caractères diacritiques pour les scripts en Latin. Les lettres avec des symboles diacritiques correspondent à leur lettre de base dans ces symboles diacritiques. Les encodages Latin suivant sont pris en charge : \&\s-1CP437, CP850, CP852, CP1250, CP1252, ISO\-8859\-1, ISO\-8859\-2,\s0 et Unicode Latin\-1, Latin Extended-A, et Latin Extended-B. Voir aussi .IP "\fB+I, \-\-no\-ignore\-diacritics\fR" 4 .IX Item "+I, --no-ignore-diacritics" Prendre en compte les diacritiques (défaut). Voir aussi l'option \fB\-I\fR. .IP "\fB\-j, \-\-just\-go\fR" 4 .IX Item "-j, --just-go" Mode à accès direct. .Sp Dans ce mode, wcd ne présentera pas de liste lorsqu'il y a plusieurs répertoires correspondant au répertoire donné. Wcd changera vers la première option. Lorsque wcd est appelé une nouvelle fois avec les même arguments, il changera vers l'option suivante et ainsi de suite. .Sp Wcd affichera le répertoire vers lesquel aller sur la sortie standard. Une méthode d'installation différente peut être utilisée. On pourra écrire la fonction suivante pour une interface système compatible \s-1POSIX :\s0 .Sp .Vb 4 \& wcd () \& { \& cd "$($HOME/bin/wcd.exe \-j $@)" \& } .Ve .Sp Lors de l'utilisation d'une interface système ancienne ne prenant pas en charge la substitution de commande « $() », il faut recourir à la substitution de commande ancienne utilisant l'accent grave. .Sp .Vb 4 \& wcd () \& { \& cd "\`$HOME/bin/wcd.exe \-j $@\`" \& } .Ve .Sp Sur les systèmes Windows, si l'interface système 4NT est utilisée, il est alors possible de faire l'alias suivant : .Sp .Vb 1 \& alias wcd \`cd %@execstr[wcdwin32.exe \-z 0 \-j %1]\` .Ve .Sp Cette méthode supprime la nécessité d'un script « go », et il est donc possible de combiner l'option \fB\-GN\fR avec l'option \fB\-j\fR. .IP "\fB\-k, \-\-keep\-paths\fR" 4 .IX Item "-k, --keep-paths" Garder les chemins. .Sp Conserver les chemins dans le fichier d'arborescence lorsque wcd ne peut s'y déplacer. Le comportement par défaut de wcd est d'essayer de supprimer les chemins du fichier d'arborescence lorsque wcd ne peut s'y rendre. Cette option désactive ce comportement. .IP "\fB\-K, \-\-color\fR" 4 .IX Item "-K, --color" Utiliser les couleurs en mode graphique. .IP "\fB\-l \s-1ALIAS\s0\fR" 4 .IX Item "-l ALIAS" Nommer le chemin courant avec \fI\s-1ALIAS\s0\fR. Wcd ajoute le chemin courant avec \&\fI\s-1ALIAS\s0\fR pour alias dans le fichier d'alias. Les alias sont sensibles à la casse. .IP "\fB\-ls\fR" 4 .IX Item "-ls" Afficher le nom du fichier d'alias et lister tous les alias. .IP "\fB\-m \s-1DIR\s0\fR" 4 .IX Item "-m DIR" Créer un répertoire et l'ajouter au fichier d'arborescence. .IP "\fB\-L, \-\-license\fR" 4 .IX Item "-L, --license" Afficher la license de distribution. .IP "\fB\-M \s-1DIR\s0\fR" 4 .IX Item "-M DIR" Créer un répertoire et l'ajouter au fichier d'arborescence supplémentaire. .IP "\fB\-n \s-1PATH\s0\fR" 4 .IX Item "-n PATH" Lire le fichier d'arborescence relative depuis \fI\s-1CHEMIN\s0\fR. .Sp Ne pas lire le fichier d'arborescence par défaut. Le fichier d'arborescence relative doit avoir été créé en utilisant l'option \fB+S\fR de wcd. \fI\s-1CHEMIN\s0\fR peut également référencer directement un fichier. .Sp Un exemple. Supposons qu'un autre système a été monté au point de montage \&\f(CW\*(C`/mnt/network\*(C'\fR : .Sp .Vb 1 \& wcd \-n /mnt/network src .Ve .Sp Wcd ouvre le ficher d'arborescence relative dans \f(CW\*(C`/mnt/network/\*(C'\fR. Le fichier contient les chemins relatifs depuis cet endroit. .IP "\fB+n \s-1PATH\s0\fR" 4 .IX Item "+n PATH" Lire le ficher d'arborescence relative en plus du fichier d'arborescence par défaut. Voir l'option \fB\-n\fR. .IP "\fB\-N, \-\-numbers\fR" 4 .IX Item "-N, --numbers" Utiliser des nombres à la place de lettres. .Sp Wcd avec une interface basée sur conio ou curses (void la section Interfaces) affiche une liste de correspondances indexée par des lettres par défaut. Lorsque l'option \fB\-N\fR est utilisée, la liste de correspondances est indexée par des nombres. Indépendamment de l'option \fB\-N\fR, il est possible d'entrer une lettre ou un nombre pour effectuer une sélection dans la liste de correspondances. .IP "\fB\-o\fR" 4 .IX Item "-o" Utiliser l'interface stdin/stdout. .Sp Lorsque l'interface conio ou curses de wcd ne fonctionne pas pour quelque raison que ce soit, il est possible de se replier sur l'interface stdin/stdout de wcd en utilisant l'option \fB\-o\fR. .IP "\fB\-od, \-\-to\-stdout\fR" 4 .IX Item "-od, --to-stdout" Décharger l'ensemble des correspondances dans stdout. .IP "\fB\-q, \-\-quiet\fR" 4 .IX Item "-q, --quiet" Opération plus silencieuse. L'affichage de la dernière correspondance est supprimé. .IP "\fB\-r \s-1DIR\s0\fR" 4 .IX Item "-r DIR" Supprimer un répertoire et le supprimer du fichier d'arborescence. .Sp Si le répertoire est vide, wcd le supprimera et tentera de le supprimer du fichier d'arborescence. .IP "\fB\-rmtree \s-1DIR\s0\fR" 4 .IX Item "-rmtree DIR" Supprimer un répertoire de façon récursive et le supprimer du fichier d'arborescence. .Sp Wcd supprimera le répertoire ainsi que tous ses sous\-répertoires et fichiers et supprimera ces répertoires du fichier d'arborescence. .IP "\fB\-s\fR" 4 .IX Item "-s" (re)Examiner le disque depuis le répertoire \f(CW\*(C`HOME\*(C'\fR. Si \fI\s-1HOME\s0\fR n'est pas défini, le disque est examiné depuis le répertoire racine /. .Sp Le fichier d'arborescence par défaut existant est écrasé. .Sp Le répertoire d'exam par défaut peut être renversé par la variable d'enrivonnement \f(CW\*(C`WCDSCAN\*(C'\fR. Voir la section \s-1VARIABLES D\s0'\s-1ENVIRONNEMENT .\s0 .IP "\fB\-S \s-1PATH\s0\fR" 4 .IX Item "-S PATH" Examiner l'arbre de répertoires depuis \fI\s-1CHEMIN\s0\fR et écraser le fichier d'arborescence par défaut. Voir aussi les options \fB\-A\fR, \fB\-s\fR et \&\fB\-E\fR. Par exemple, avec l'option \fB\-A\fR il est possible de créer un fichier d'arborescence par défaut de votre choix. Exemples :" .Sp Unix : .Sp .Vb 2 \& wcd \-S / \& wcd \-S /home \-A /etc \-A /usr .Ve .Sp \&\s-1DOS /\s0 Windows : .Sp .Vb 2 \& wcd \-S c:/ \& wcd \-S c: \-A d: \-A \e\eserveur\epartage .Ve .Sp Avec le versions Windows, il est possible d'examiner tous les répertoires partagés d'un serveur \s-1LAN\s0 Windows en entrant une commande similaire à : \&\f(CW\*(C`wcd \-S \e\e\e\enomserveur\*(C'\fR. .IP "\fB+S \s-1PATH\s0\fR" 4 .IX Item "+S PATH" Examiner le disque depuis \fI\s-1CHEMIN\s0\fR et placer les chemins relatifs dans un fichier d'arborescence relative. Ce fichier est utilisé par les options \&\fB\-n\fR et \fB+n\fR de wcd. Par exemple \f(CW\*(C`wcd \-n CHEMIN src\*(C'\fR. .IP "\fB\-t\fR" 4 .IX Item "-t" Ne pas éviter le dossier de montage temporaire \f(CW\*(C`/tmp_mnt\*(C'\fR (Unix uniquement) .Sp Par défaut, wcd retire \f(CW\*(C`/tmp_mnt/\*(C'\fR des correpondances. Le répertoire \&\f(CW\*(C`/tmp_mnt\*(C'\fR est utilisé par la montage automatique. Ce comportement peut être évité avec l'option \fB\-t\fR. .IP "\fB\-T, \-\-ascii\-tree\fR" 4 .IX Item "-T, --ascii-tree" Dessiner l'arbre avec des caractères \s-1ASCCI.\s0 Utiliser cette option si les caractères de dessin de ligne ne s'affichent pas correctement dans le terminal. .IP "\fB\-Ta, \-\-alt\-tree\-nav\fR" 4 .IX Item "-Ta, --alt-tree-nav" Navigation alternative dans l'arbre graphique. .Sp Dans la disposition d'arbre en style du \s-1NCD\s0 par défaut, l'option \fB\-Ta\fR désactive le saut vers des répertoires sans liens. .Sp Dans le mode d'arbre compact, le mode alternatif rend la navigation similaire à celle de gestionnaires de fichiers graphiques tels que Windows Explorer ou Linux \s-1KDE\s0 Konqueror. L'appui sur les touches Haut et Bas déplace le dossier sélectionné d'une ligne vers le haut ou le bas. Le premier appui sur la touche Gauche replie les sous-dossiers, le second se déplace réellement à gauche. .Sp Il est possible de basculer à la volée entre une navigation par défaut et alternative en pressant . .Sp Lorsque le mode de navigation alternative est activé, in « A » est visible dans l'angle inférieur droit. .IP "\fB\-TC, \-\-center\-tree\fR" 4 .IX Item "-TC, --center-tree" Vue centrée dans l'arbre graphique. Le répertoire choisi reste au centre de l'écran. Le mode centré peut aussi être activé/désactivé avec la clef dans l'arbre graphique. .Sp Le comportement non centré standard, qui minimise le mouvement d'arbre, est identique à celui du \s-1NCD\s0 original. .IP "\fB\-Tc, \-\-compact\-tree\fR" 4 .IX Item "-Tc, --compact-tree" Par défaut l'arbre « graphique » est dessiné de la même façon que le faisait le \s-1NCD\s0 original sur \s-1DOS.\s0 Sur \s-1DOS,\s0 un chemin de répertoire ne pouvait faire que 66 caractères au total. Avec les structures de répertoire profondes comtemporaines, l'arbre peut devenir très large. Pour surmonter cela, wcd peut dessiner l'arbre d'une façon compacte, de façon similaire à la plus part des gestionnaires de fichier graphiques, avec un seul fichier par ligne. Utiliser l'option \fB\-Tc\fR ou basculer à la volée avec la clef . .IP "\fB\-Td, \-\-cjk\-width\fR" 4 .IX Item "-Td, --cjk-width" Les polices \s-1CJK\s0 d'Asie de l'est (Chine, Japon et Korée) possèdent certains caractères et symboles de tracé de ligne avec une largeur de colonne de 2, alors que la largeur Unicode normale pour ces caractères est de 1 colonne. Par exemple, la police de trame \s-1CP936\s0 chinoise sur Windows et la police Simsun. Utiliser cette option lorsqu'une police de type \s-1CJK\s0 est utilisée pour obtenir un contour de l'arbre graphique correct. .Sp Lorsque le mode \s-1CJK\s0 est actif, un « C » est affiché dans le coin inférieur droit. .IP "\fB\-u \s-1UTILISATEUR\s0\fR" 4 .IX Item "-u UTILISATEUR" Examiner le fichier d'arborescence d'un autre utilisateur en se basant sur \&\fI\s-1USER\s0\fR, ne pas examiner votre propre fichier d'arborescence. Voir aussi \&\fI\s-1WCDUSERHOME\s0\fR dans la section \s-1VARIABLES D\s0'\s-1ENVIRONNEMENT.\s0 .Sp Sur Unix/Cygwin le répertoire racine pour les répertoires utilisateur est supposé être \f(CW\*(C`/home\*(C'\fR. Wcd recherchera \f(CW\*(C`/home/USER/.treedata.wcd\*(C'\fR et \&\f(CW\*(C`/home/USER/.wcd/.treedata.wcd\*(C'\fR, dans cet ordre, lira le premier fichier existant et lisible. Sur DOS/Windows le répertoire racine pour les répertoires utilisateur est supposé être \f(CW\*(C`\e\eusers\*(C'\fR, donc wcd tentera de lire\f(CW\*(C`\e\eusers\eUSER\etreedata.wcd\*(C'\fR and \f(CW\*(C`\e\eusers\eUSER\e.wcd\etreedata.wcd\*(C'\fR. .IP "\fB+u \s-1UTILISATEUR\s0\fR" 4 .IX Item "+u UTILISATEUR" Lire le fichier d'arborescence par défaut de l'\s-1UTILISATEUR\s0 en plus de votre fichier d'arborescence. .IP "\fB\-v, \-\-verbose\fR" 4 .IX Item "-v, --verbose" Afficher les messages verbeux. Avec cette option wcd affiche tous les filtres, les bannissements et les exclusions. .IP "\fB\-V, \-\-version\fR" 4 .IX Item "-V, --version" Afficher les informations de version et sortir. .IP "\fB\-w, \-\-wild\-match\-only\fR" 4 .IX Item "-w, --wild-match-only" Correspondance étendue seulement. Traiter toutes les correspondances comme des correspondances étendues. .IP "\fB\-x \s-1CHEMIN\s0\fR" 4 .IX Item "-x CHEMIN" Exclure \fI\s-1CHEMIN\s0\fR de l'examen. .Sp Lorsque cette option est utilisée, wcd exclu le \fI\s-1CHEMIN\s0\fR et tous les sous\-répertoires lors de l'examen d'un disque. Les caractères étendus sont pris en charge et mis en correspondance avec les chemins absolus. L'option \&\fB\-x\fR peut être utilisée plusieurs fois. .Sp .Vb 1 \& wcd \-x \-x \-s .Ve .Sp L'option \fB\-x\fR doit être utilisée avant toute option d'examen (\fB\-s\fR, \fB\-S\fR, \&\fB+S\fR, \fB\-A\fR, \fB\-E\fR). .Sp Sur les systèmes DOS/Windows la précision de la lettre de lecteur dépend de l'utilisation ou non des variables d'environnement \fI\s-1HOME\s0\fR ou \fI\s-1WCDHOME\s0\fR. Si \&\fI\s-1HOME\s0\fR ou \fI\s-1WCDHOME\s0\fR sont fixées alors il faut préciser la lettre de lecteur. Par exemple : .Sp .Vb 1 \& wcd \-x c:/temp \-S c: .Ve .Sp Sinon, il n'est pas nécessaire de préciser la lettre de lecteur. .Sp .Vb 1 \& wcd \-x /temp \-s .Ve .IP "\fB\-xf \s-1FILE\s0\fR" 4 .IX Item "-xf FILE" Exclure de l'examen tous les chemins listés dans \fI\s-1FICHIER\s0\fR. .Sp Lorsque cette option est utilisée, wcd excluera tous les chemins listés dans \&\fI\s-1FICHIER\s0\fR et tous leurs sous\-répertoires durant l'examen d'un disque. Les caractères étendus sont pris en charge et ils sont mis en correspondance de chemins absolus ; un chemin par ligne. Il faut être attentif au fait que wcd n'ignore pas les espaces commencant et terminant une ligne parce qu'il s'agit de caractères légaux pour un nom de répertoire. L'option \fB\-xf\fR peut être utilisée plusieurs fois. Lorsque l'exclusion de tous les chemins bannis est souhaitée, il est possible de faire de la sorte (exemple pour wcd sur unix) : .Sp .Vb 1 \& wcd \-xf ~/.ban.wcd \-s .Ve .Sp Les caractères étendus sont pris en charge. Par exemple, pour exclure tous les répertoires Subversion contenant des fichiers d'administration, ajoutez une ligne avec \f(CW\*(C`*/.svn\*(C'\fR. .Sp L'option \fB\-xf\fR doit être utilisée avant toute option d'examen (\fB\-s\fR, \&\fB\-S\fR, \fB+S\fR, \fB\-A\fR, \fB\-E\fR). .IP "\fB\-y, \-\-assume\-yes\fR" 4 .IX Item "-y, --assume-yes" Supposer Oui pour toutes les requêtes. .Sp Wcd ne posera pas de questions oui/non à l'utilisateur, mais suppose qu'il répondra oui à toutes les questions. Cela peut être utilisé en combinaison de l'option \fB\-rmtree\fR. Cette option doit être utilisée avant les options qui peuvent déboucher à des questions oui/non. .IP "\fB\-z \s-1NOMBRE\s0\fR" 4 .IX Item "-z NOMBRE" Fixer la taille maximale de la pile à \s-1NOMBRE.\s0 .Sp La taille par défaut de la pile est de 10. Les opérations sur la pile peuvent être désactivées en paramètrant la taille à 0. Cette option doit être utilisée avant toute autre option d'opération sur la pile (\fB\-\fR,\fB+\fR,\fB=\fR). Autrement, la taille de la pile sera remise à sa valeur par défaut 10. .Sp Une commande correcte est : .Sp .Vb 1 \& wcd \-z 50 \- .Ve .Sp La nouvelle taille de pile sera de 50, wcd ira un répertoire en arrière. Un commande erronée est : .Sp .Vb 1 \& wcd \- \-z 50 .Ve .Sp Wcd va en arrière d'un répertoire, la pile à une valeur par défaut de 10. Le \&\fB\-z 50\fR est ignoré. .Sp Ajouter cette option en première option de votre alias ou fonction wcd. Un exemple pour l'interface d'administration compatible \s-1POSIX\s0 serait : .Sp .Vb 5 \& wcd () \& { \& wcd.exe \-z 50 "$@" \& . ${WCDHOME:\-${HOME}}/bin/wcd.go \& } .Ve .IP "\fB\-[\s-1NOMBRE\s0]\fR" 4 .IX Item "-[NOMBRE]" Empiler les répertoires \s-1NOMBRE\s0 de fois. Un par défaut. .Sp Retourner en arrière d'un répertoire. La commande retourne en arrière d'un répertoire. Y ajouter un nombre pour retourner en arrière de plusieurs répertoires. Exemple : \f(CW\*(C`wcd \-3\*(C'\fR. La pile est cyclique. .IP "\fB+[\s-1NOMBRE\s0]\fR" 4 .IX Item "+[NOMBRE]" Dépiler les répertoires \s-1NOMBRE\s0 fois. Un par défaut. .Sp Avancer d'un répertoire. La commande \f(CW\*(C`wcd +\*(C'\fR avance d'un répertoire. Y ajouter un nombre pour avancer de plusieurs répertoires. Par exemple : \f(CW\*(C`wcd +2\*(C'\fR. La pile est cyclique. .IP "\fB=\fR" 4 .IX Item "=" Afficher la pile. .Sp Utiliser cette option si vous ne savez plus de combien de fois empiler ou dépiler. La pile est afficher et il est possible de choisir un nombre. La position courante de la pile est désignée par une astérisque \f(CW\*(C`*\*(C'\fR. .SH "INSTALLATION" .IX Header "INSTALLATION" Le répertoire de travail courant d'une interface système Unix ne peut être changé que par la commande \fIcd\fR\|(1) intégrée. Un programme est donc toujours appelé par une fonction ou un alias. La fonction où l'alias inclu un script d'interface système (script « go ») qui est généré par le programme wcd. Wcd ne peut fonctionner qu'après que la fonction ou l'alias aient été définis. .PP Un autre impact important de votre installation est la définition des variables d'environnement \fI\s-1HOME\s0\fR and \fI\s-1WCDHOME\s0\fR. Voir la section \s-1VARIABLES D\s0'\s-1ENVIRONNEMENT.\s0 .SS "Installation pour les interfaces système de type \s-1POSIX\s0" .IX Subsection "Installation pour les interfaces système de type POSIX" Pour les interfaces système \s-1POSIX\s0 (ksh, bash, zsh, etc.) sur Unix, Linux, Cygwin ou \s-1MSYS\s0 natif, ajouter la fonction suivante au fichier de démarrage de l'interface système (Bash utilise par exemple \f(CW\*(C`$HOME/.bashrc\*(C'\fR) : .PP .Vb 5 \& wcd () \& { \& PATH/wcd.exe "$@" \& . ${WCDHOME:\-${HOME}}/bin/wcd.go \& } .Ve .PP Remplacer \fI\s-1CHEMIN\s0\fR par l'emplacement où l'exécutable de wcd a été installé. Recharger le fichier d'initialisation de l'interface système ou démarrer une nouvelle interface système. .PP L'emplacement du script « go » \f(CW\*(C`wcd.go\*(C'\fR diffère par interface système. .PP Wcd pour les interfaces système \s-1DOS DJGPP\s0 et \s-1OS/2\s0 exige une fonction différente. Le script « go » n'est pas écrit dans un répertoire \f(CW\*(C`bin\*(C'\fR, et si \fI\s-1WCDHOME\s0\fR et \fI\s-1HOME\s0\fR sont toutes deux non définies, le script « go » est écrit sur c:/. .PP bash \s-1DOS :\s0 .PP .Vb 5 \& wcd () \& { \& PATH/wcdbash.exe "$@" \& . ${WCDHOME:\-${HOME:\-"c:"}}/wcd.go \& } .Ve .PP bash \s-1OS/2 :\s0 .PP .Vb 5 \& wcd () \& { \& PATH/wcdos2bash.exe "$@" \& . ${WCDHOME:\-${HOME:\-"c:"}}/wcd.go \& } .Ve .PP La version WinZsh de wcd exige une fonction légèrement différente. Le script « go » ne sera jamais écrit dans c:/. .PP .Vb 5 \& wcd () \& { \& PATH/wcdwin32zsh.exe "$@" \& . ${WCDHOME:\-${HOME}}/wcd.go \& } .Ve .PP Voir la section \s-1FICHIERS\s0 pour plus d'informations. .SS "Installation pour les interfaces système de type C (csh, tcsh)" .IX Subsection "Installation pour les interfaces système de type C (csh, tcsh)" Ajouter les alias suivants au fichier de démarrage de l'interface système \&\f(CW\*(C`$HOME/.cshrc\*(C'\fR ou \f(CW\*(C`$HOME/.tcshrc\*(C'\fR : .PP .Vb 5 \& if ( ${?WCDHOME} ) then \& alias wcd "PATH/wcd.exe \e!* ; source $WCDHOME/bin/wcd.go" \& else \& alias wcd "PATH/wcd.exe \e!* ; source $HOME/bin/wcd.go" \& endif .Ve .PP Remplacer \fI\s-1CHEMIN\s0\fR par l'emplacement où l'exécutable de wcd a été installé. Recharger le fichier d'initialisation de l'interface système ou démarrer une nouvelle interface système. .SS "version de l'Invite de Commande Windows" .IX Subsection "version de l'Invite de Commande Windows" Dépaqueter le fichier zip et ajouter le répertoire \f(CW\*(C`bin\*(C'\fR à votre variable d'environnement \fI\s-1CHEMIN\s0\fR. .PP Dans Windows Command Prompt, un programme Windows ne peut pas changer de répertoire de travail courant, mais un fichier .bat le peut. Le script de commande \f(CW\*(C`wcd.bat\*(C'\fR exécute le programme wcd qui génère un nouveau fichier de commande \f(CW\*(C`wcdgo.bat\*(C'\fR. \f(CW\*(C`wcd.bat\*(C'\fR exécute ensuite \f(CW\*(C`wcdgo.bat\*(C'\fR qui change effectivement de répertoire. .SS "Windows \s-1VISTA\s0 et ultérieur" .IX Subsection "Windows VISTA et ultérieur" Dans un Commande Prompt Windows Vista ou de niveau plus haut, l'accès aux répertoires peut être limité. Pour avoir accès à plus de répertoires des droits administrateurs sont requis. Il est possible d'obtenir un Commande Prompt avec des droits administrateurs en cliquant avec le bouton droit sur l'icône du Commande Prompt puis en choisissant \fIExécuter en tant qu'administrateur\fR. .SS "Version Windows PowerShell" .IX Subsection "Version Windows PowerShell" Ajouter la fonction suivante à votre profil utilisateur PowerShell. L'emplacement de ce profil est stocké dans la variable \&\f(CW$profile\fR. Il est requis que l'une des deux variables d'environnement \fI\s-1HOME\s0\fR et \fI\s-1WCDHOME\s0\fR soit définie. .PP .Vb 5 \& function wcd \& { \& PATH\ewcdwin32psh.exe $args \& & $env:HOME\ewcdgo.ps1 \& } .Ve .PP Remplacer \fI\s-1PATH\s0\fR avec l'emplacement où l'exécutable de wcd a été installé. Démarrer un nouveau PowerShell. Wcd pour PowerShell prend uniquement en charge le fournisseur de système de fichier. Pas d'autres fournisseurs de système de fichier. .SS "version \s-1OS/2\s0 Command Prompt" .IX Subsection "version OS/2 Command Prompt" Dans un \s-1OS/2\s0 Command Prompt (cmd.exe) un programme \s-1OS/2\s0 ne peut changer de répertoire de travail courant. C'est pourquoi wcd génère un script de commande \f(CW\*(C`wcdgo.cmd\*(C'\fR qui doit être exécuté dans l'interface système actuelle. Le script \f(CW\*(C`wcd.cmd\*(C'\fR exécute dans un premier temps \f(CW\*(C`wcdos2.exe\*(C'\fR qui crée le script \f(CW\*(C`wcdgo.cmd\*(C'\fR. Ensuite \f(CW\*(C`wcd.cmd\*(C'\fR exécute le script \&\f(CW\*(C`wcdgo.cmd\*(C'\fR. .SH "LOCALISATION" .IX Header "LOCALISATION" .IP "\fB\s-1LANG\s0\fR" 4 .IX Item "LANG" Le langage principal est sélectionné avec la variable d'environnement \&\fI\s-1LANG\s0\fR. Cette variable est composée de plusieurs parties. La première partie, en lettres minuscules, est le code de la langue. La seconde, optionnelle et en lettres majuscules, est le code du pays précédé d'un tiret bas. Il y a également une troisième partie optionnelle : l'encodage des caractères, précédé par un point. Quelques exemples pour les interfaces système conforme au standard \s-1POSIX :\s0 .Sp .Vb 6 \& export LANG=fr Français \& export LANG=fr_FR Français, France \& export LANG=fr_BE Français, Belgique \& export LANG=es_ES Espagnol, Espagne \& export LANG=es_MX Espagnol, Mexique \& export LANG=en_US.iso88591 Anglais, USA, encodage Latin\-1 .Ve .Sp Pour une liste complète des codes de langue et de pays voir le manuel de \&\fIgettext\fR\|(1) : Sur les systèmes Unix, la commande \fIlocale\fR\|(1) peut être utilisée pour voir les informations précises de localisation. .IP "\fB\s-1LANGAGE\s0\fR" 4 .IX Item "LANGAGE" Avec la variable d'environnement \fI\s-1LANG\s0\fR, il est possible de spécifier un liste de priorité de langues séparée par des virgules. Wcd donne une préférence à \fI\s-1LANGUAGE\s0\fR sur \fI\s-1LANG\s0\fR. Par exemple, d'abord néerlandais puis allemand : \f(CW\*(C`LANGUAGE=nl:de\*(C'\fR. Il faut d'abord activer la localisation en fixant \fI\s-1LANG\s0\fR ou \fI\s-1LC_ALL\s0\fR à une valeur autre que \fIC\fR avant de pouvoir utiliser un liste de priorités de langue avec la variable \fI\s-1LANGUAGE\s0\fR. Voir aussi le manuel de \fIgettext\fR\|(1) : .Sp Si vous sélectionnez un langage qui n'est pas disponible, les messages seront affichés en anglais standard. .IP "\fB\s-1WCDLOCALEDIR\s0\fR" 4 .IX Item "WCDLOCALEDIR" La variable \fI\s-1LOCALEDIR\s0\fR utilisée pendant la compilation et l'installation de wcd peut être renversée avec la variable d'environnement \&\fI\s-1WCDLOCALEDIR\s0\fR. \fI\s-1LOCALEDIR\s0\fR est utilisée par wcd avec prise en chage de langage natif pour trouver les fichiers de langue. La valeur par défaut pour \&\s-1GNU\s0 est \f(CW\*(C`/usr/local/share/locale\*(C'\fR. En tapant \f(CW\*(C`wcd \-V\*(C'\fR, wcd affichera la variable \fI\s-1LOCALEDIR\s0\fR utilisée. .Sp Si vous avez installé wcd dans un répertoire différent du répertoire par défaut, il vous faut peut être définir la variable d'environnement \&\fI\s-1WCDLOCALEDIR\s0\fR pour pointer vers le répertoire de locales. .Sp Un exemple pour le cmd Windows : .Sp .Vb 1 \& set WCDLOCALEDIR=c:/my_prefix/share/locale .Ve .Sp Un example pour une interface système \s-1POSIX :\s0 .Sp .Vb 1 \& export WCDLOCALEDIR=$HOME/share/locale .Ve .IP "\fB\s-1LC_COLLATE\s0\fR" 4 .IX Item "LC_COLLATE" Lorsque plusieurs répertoires correspondent wcd affiche une liste triée. L'ordre dépend des paramètres de locale. Si la variable d'environnement \fI\s-1LANG\s0\fR a été définie, les correspondances sont triées comme les sont les dictionnaires ou les annuaires téléphonique dans cette langue. Par exemple, les points et les tirets sont ignorés, ou bien les lettres e avec ou sans accent sont identiques, ou bien la casse est ignorée. .Sp Le tri donne préférence à la variable d'environnement \fI\s-1LC_COLLATE\s0\fR devant \&\fI\s-1LANG\s0\fR. Si vous rendez \fI\s-1LC_COLLATE\s0\fR égal à \f(CW\*(C`C\*(C'\fR ou \f(CW\*(C`POSIX\*(C'\fR, le tri selon la locale est désactivé. Par exemple, si vous voulez du néerlandais mais un tri que n'est pas néerlandais, vous pouvez faire de la sorte : .Sp .Vb 2 \& export LANG=fr_FR \& export LC_COLLATE=C .Ve .IP "\fB\s-1LC_CTYPE\s0\fR" 4 .IX Item "LC_CTYPE" En ce qui concerne l'encodage de caractères, wcd donnera une préférence à la variable \fI\s-1LC_CTYPE\s0\fR sur la variable \fI\s-1LANG\s0\fR. Par exemple, pour fixer l'encodage de caractère en \s-1UTF\-8,\s0 le paramètrage de l'environnement suivant peut être appliqué. .Sp .Vb 1 \& export LC_CTYPE=fr_FR.UTF\-8 .Ve .IP "\fB\s-1LC_ALL\s0\fR" 4 .IX Item "LC_ALL" Toutes les variables d'enrironnement de locales qui commencent par \fI\s-1LC_\s0\fR sont renversées par la variable d'environnement \fI\s-1LC_ALL\s0\fR si elle est définie. Wcd donnera une préférence à \fI\s-1LC_ALL\s0\fR sur \fI\s-1LC_COLLATE\s0\fR et \&\fI\s-1LC_CTYPE\s0\fR. .SS "\s-1PAGES DE CODES WINDOWS\s0" .IX Subsection "PAGES DE CODES WINDOWS" Il y a deux groupes de page de code : les pages de code \s-1DOS\s0 (\s-1OEM\s0) et les pages de code Windows (\s-1ANSI\s0). L'encodage par défaut de Windows, lorsqu'il est configuré avec les paramètres de régions occidentales, est \s-1ANSI CP1252.\s0 Les programmes Windows, par exemple le bloc-notes, utilisent cette page de code \s-1ANSI\s0 par défaut. La console Windows utilise par défaut une page de code \s-1OEM\s0 (\s-1CP437\s0 ou \s-1CP850\s0) pour compatibilité avec les programmes \s-1DOS.\s0 Si vous utilisez une version \s-1DOS\s0 de wcd dans une console Windows, cela marchera grâce à la page de code \s-1DOS.\s0 Cependant la version \s-1DOS\s0 de wcd ne prend pas en charge de longs noms de répertoire et de lecteur réseau sur Windows. .PP La version Windows de wcd est un programme Windows natif et utilise la page de code \s-1ANSI\s0 du système Windows. Donc sur un Windows configuré pour une région occidentale la page de code \s-1CP1252\s0 est utilisée pour les noms de répertoire et les messages. Dans le but d'obtenir des sorties uniformes, indépendant des pages de code actives, toutes les versions de Wcd pour Windows traduisent les sorties \s-1ANSI\s0 en sorties Unicode dans le Command Prompt et le PowerShell. .PP La police de trame de la console ne prend en charge que la page de code \s-1OEM\s0 installée avec Windows, et il faut donc changer la page de code de la console à Lucidia Console correctement typé pour faire apparaître les lettres Unicode (et \s-1ANSI\s0) correctement. .PP Les versions non-Unicode de Wcd \fIavant la version 5.2.0\fR utilisent une sortie entièrement \s-1ANSI.\s0 Pour ces anciennes versions, la page de code de la console a été faite pour être identique à la page de code du système (changé à 1252) dans le but de faire fonctionner wcd pour Windows correctement avec des caractères spéciaux tels que les caractères avec accent ou le symbole de l'Euro. .PP La page de code Windows peut être changée via les options de région du Panneau de Contrôle. La page de code de la console Windows est changée avec la commande \f(CW\*(C`chcp\*(C'\fR. .PP Lorsque vous tapez \f(CW\*(C`wcd \-V\*(C'\fR, l'encodage de caractère effectif utilisé par wcd est affiché. Tapez la commande \f(CW\*(C`chcp\*(C'\fR pour afficher la page de codes active de la console Windows. .SS "\s-1UNICODE\s0" .IX Subsection "UNICODE" Wcd a une prise en charge optionnelle de l'Unicode. Pour voir si wcd a été empaqueté avec la prise en charge de l'Unicode, tapez \f(CW\*(C`wcd \-V\*(C'\fR. Si votre terminal/console et la police le prend en charge, vous devriez voir le symbole de l'Euro ainsi que des caractères chinois (voulant dire : « chinois »). .PP Wcd a été converti de « façon logicielle»  à l'Unicode. En son coeur, Wcd traite toutes les données comme un flux d'octets. Seules les lignes affichées à l'écran sont converties à la volée en caractères Unicode larges. Wcd s'appuie entièrement sur des fonctions de la libc et n'a pas de code \s-1UTF\-8\s0 spécifique. Voir aussi . .PP Wcd a une prise en charge optionnelle de mise en correspondances avec de l'Unicode normalisé. Pour déterminer si Wcd prend en charge la normalisation, tapez \f(CW\*(C`wcd \-V\*(C'\fR. Wcd avec une prise en charge de la normalisation Unicode fera correspondre les noms Unicode en se basant sur une équivalence « compatible ». Sans prise en charge de la normalisation Unicode, les noms sont mis en correspondance lorsque leur binaires sont équivalents. Voir aussi .PP \fI\s-1UTF\-8\s0 sur Unix/Linux\fR .IX Subsection "UTF-8 sur Unix/Linux" .PP Pour voir les caractères \s-1UTF\-8,\s0 votre console/terminal doivent également prendre en charge l'\s-1UTF\-8.\s0 La version xterm empaquetée avec XFree86 4.0 ou supérieur include une prise en charge de l'\s-1UTF\-8.\s0 Pour l'activer, démarez \&\fIxterm\fR\|(1) dans une locale \s-1UTF\-8\s0 et utilisez une police avec un encodage iso10646\-1, par exemple avec .PP .Vb 1 \& LC_CTYPE=en_GB.UTF\-8 xterm \-u8 \-fn \*(Aq\-Misc\-Fixed\-Medium\-R\-SemiCondensed\-\-13\-120\-75\-75\-C\-60\-ISO10646\-1\*(Aq .Ve .PP Les distributions modernes de GNU/Linux prennent en charge l'\s-1UTF\-8\s0 par défaut. D'autre encodage de caractère sur plusieurs octets devraient également fonctionner, mais cela n'a pas été testé. .PP Wcd suppose que les fichiers d'arborescence sont encodés dans l'encodage de caractère local. Il n'y a pas d'Indicateur d'Ordre des Octets écrit dans les fichiers d'arborescence. .PP \fI\s-1UTF\-16\s0 sur Windows\fR .IX Subsection "UTF-16 sur Windows" .PP Sur Windows, l'Unicode est pris en charge pour toutes les versions de PowerShell, et dans le Windows Command Prompt sur Windows 7 (ou ultérieur). Unicode fonctionne également dans Take Command ou \s-1TCC/LE\s0 édités par \s-1JP\s0 Software, et pouvant être utilisés sur des version de Windows plus anciennes (XP/Vista). .PP Sur Windows, tous les noms de répertoire sur le disque sont encodés en Unicode \s-1UTF\-16.\s0 Pour des programmes Windows non Unicode, les caractères Unicode sont traduits vers la page de code \s-1ANSI\s0 par défaut. Cette traduction de caractères ne faisant pas partis du paramètrage régional n'est pas possible et les programmes non Unicode affichent un point d'intérogation ou bien un mauvais caractères. .PP Wcd avec prise en charge de l'Unicode lit les noms de répertoire encodé en \&\s-1UTF\-16\s0 et les convertis de façon interne en \s-1UTF\-8.\s0 Tous les fichiers d'arborescence sont encodés en \s-1UTF\-8\s0 et ne sont pas compatibles avec la version non Unicode de Wcd. Wcd créera un script « go » en \s-1UTF\-8.\s0 .PP Toutes les versions de Windows PowerShell sont capable d'exécuter des scripts encodés en \s-1UTF\-8\s0 s'il y a un \s-1BOM UTF\-8\s0 dans le script. .PP Depuis Windows 7 il est possible de changer de répertoire avec un script batch dans Windows Command Prompt vers un répertoire avec une lettres Unicode dans le nom. Le nom du répertoire doit être encodé en \s-1UTF\-8,\s0 et le script batch ne doit \fIpas\fR avoir de \s-1BOM.\s0 La page de code active du Command Prompt doit être fixée à 65001 (\s-1UTF\-8\s0) avant la commande cd. Wcd pour Command Prompt créera un script « go » \f(CW\*(C`wcdgo.bat\*(C'\fR. Dans un premier temps, il change la page de code à 65001 puis change de répertoire et enfin fixe la page de code à sa valeur initiale. .PP Vous devez fixer la police à True Type Lucida Console (et non une police de trame) lorsque les lettres n'apparaîssent pas correctement. .PP La version pour Windows non Unicode de Wcd peut lire des fichiers d'arborescence Unicode depuis la version 5.2.0 s'il y a un Indicateur d'Ordre des Octets (\s-1BOM\s0) dans le fichier (voir ), mais il ne peut se déplacer vers des répertoires dont le nom contient des lettres Unicodes et qui ne font pas parties de la page de code \s-1ANSI\s0 par défaut du système. La version pour Windows non Unicode écrit un \s-1BOM\s0 dans les fichiers d'arborescence encodés en \s-1UTF\-8\s0 depuis la version 5.2.0, ce qui les rends également lisible par le bloc-notes. .PP \fI\s-1UTF\-8\s0 sur Cygwin\fR .IX Subsection "UTF-8 sur Cygwin" .PP Cygwin prend en charge l'Unicode depuis la version 1.7. La couche Cygwin s'occupe de la conversion des noms Unicode \s-1UTF\-16\s0 Windows en \s-1UTF\-8.\s0 Donc des programmes tels que Wcd n'ont pas besoin de savoir cela et peuvent fonctionner en utilisant l'encodage \s-1UTF\-8\s0 sur Unix/Linux. Fixer l'encodage de caractères à \s-1UTF\-8\s0 avec les variables d'environnement \fI\s-1LANG\s0\fR ou \&\fI\s-1LC_CTYPE\s0\fR. Il peut être nécessaire de réexaminer les disques. Il faut fixer la police à True Type Lucida Console (et non à une police de trame) si vous utilisez la console Cygwin par défaut. .PP La version Cygwin se comporte de la même façon que la version Unix de wcd. Il n'y a pas de \s-1BOM\s0 écrit dans les fichiers d'arborescence, et il est supposé qu'ils sont encodés dans l'encodage de caractère de la locale \&\fBCygwin\fR. .SH "FICHIERS" .IX Header "FICHIERS" Si la variable d'environnement \fI\s-1WCDHOME\s0\fR est définie, wcd utilisera \&\fI\s-1WCDHOME\s0\fR au lieu de \fI\s-1HOME\s0\fR. Tous les fichiers \f(CW\*(C`*.wcd\*(C'\fR sont des fichiers texte. Ils peuvent être modifié avec un éditeur de texte. La version Windows Command Prompt de wcd se comporte comme la version \s-1DOS.\s0 La version Cygwin de wcd se comporte comme la version Unix. .IP "\fBwcd.exe\fR" 4 .IX Item "wcd.exe" Le programme. Dans les interfaces système Unix, le programme est toujours appelé par une fonction ou un alias parce que le répertoire courant de travail d'une interface système Unix ne peut être changé que par la commande cd intégrée. Voir également la section \s-1INSTALLATION.\s0 .IP "\fBfichier d'arborescence par défaut\fR" 4 .IX Item "fichier d'arborescence par défaut" C'est le fichier d'arborescence par défaut où wcd cherche les correspondances. S'il n'est pas lisible, wcd en créera un nouveau. .Sp .Vb 2 \& S \etreedata.wcd ou %HOME%\etreedata.wcd \& S $HOME/.treedata.wcd .Ve .IP "\fBfichier d'arborescence supplémentaire\fR" 4 .IX Item "fichier d'arborescence supplémentaire" Un fichier d'arborescence supplémentaire optionel. S'il existe et est lisible, wcd tentera de trouver des correspondances depuis ce fichier également. .Sp .Vb 2 \& S \eextra.wcd ou %HOME%\eextra.wcd \& S $HOME/.extra.wcd .Ve .IP "\fBbannir le fichier\fR" 4 .IX Item "bannir le fichier" Wcd place dans ce fichier optionnel les chemins bannis. Voir l'option \&\fB\-b\fR. Les caractères étendus sont pris en charge. .Sp .Vb 2 \& S \eban.wcd ou %HOME%\eban.wcd \& S $HOME/.ban.wcd .Ve .IP "\fBfichier d'alias\fR" 4 .IX Item "fichier d'alias" Fichier optionnel avec les alias wcd. Voir l'option \fB\-l\fR. .Sp .Vb 2 \& S \ealias.wcd ou %HOME%\ealias.wcd \& S $HOME/.alias.wcd .Ve .IP "\fBfichier de pile\fR" 4 .IX Item "fichier de pile" Wcd stocke sa pile dans ce fichier. La lettre de lecteur peut être changée avec l'option \fB\-d\fR. .Sp .Vb 2 \& S c:\estack.wcd ou %HOME%\estack.wcd \& S $HOME/.stack.wcd .Ve .Sp Le nom di fichier de pile peut être changé avec la variable d'environnement \&\fI\s-1WCDSTACKFILE\s0\fR. Voir la section \s-1VARIABLES D\s0'\s-1ENVIRONNEMENT.\s0 .IP "\fBgo-script\fR" 4 .IX Item "go-script" C'est le script d'interface système que wcd.exe crée à chaque fois. Il est inclus par une function ou un alias. La lettre de lecteur peut être changée avec l'option \fB\-d\fR. Pour des raisons historiques, il est placé dans \&\f(CW\*(C`$HOME/bin\*(C'\fR par défaut sur les systèmes Unix. Le répertoire de ce fichier peut être changé avec l'option \fB\-G\fR. .Sp .Vb 8 \& interface système S c:/wcd.go or $HOME/wcd.go \& Windows Command S c:\ewcdgo.bat or %HOME%\ewcdgo.bat \& Windows S $env:HOME\ewcdgo.ps1 \& S $HOME/wcd.go \& S $HOME/bin/wcd.go \& OS/2 Command S c:\ewcdgo.cmd or %HOME%\ewcdgo.cmd \& interface système S c:/wcd.go or $HOME/wcd.go \& S $HOME/bin/wcd.go .Ve .IP "\fBfichier d'arborescence relative\fR" 4 .IX Item "fichier d'arborescence relative" Fichier texte avec les chemins relatifs à \fI\s-1REP\s0\fR. Voir les options \fB+S\fR, \&\fB\-n\fR et \fB+n\fR. .Sp .Vb 2 \& S PATH\ertdata.wcd \& S PATH/.rtdata.wcd .Ve .SH "VARIABLES D'ENVIRONNEMENT" .IX Header "VARIABLES D'ENVIRONNEMENT" .IP "\fB\s-1HOME\s0\fR" 4 .IX Item "HOME" Wcd utilise par défaut la variable d'environnement \fI\s-1HOME\s0\fR pour déterminer où stocker ses fichiers. Voir également la section \s-1FICHIERS.\s0 Cela peut être modifié avec la variable d'environnement \fI\s-1WCDHOME\s0\fR. .Sp \&\fI\s-1HOME\s0\fR définit également où commencer l'examen du disque lorsque l'option \&\fB\-s\fR est utilisée. Ceci peut être modifié avec la variable d'environnement \&\fI\s-1WCDSCAN\s0\fR. .Sp Pour la version Unix, Cygwin, Windows PowerShell, WinZsh et \s-1MSYS,\s0 il est nécessaire que \fI\s-1HOME\s0\fR ou \fI\s-1WCDHOME\s0\fR soient définies. L'utilisation de ces variables est optionnelle pour les autres versions de wcd. .Sp Si \fI\s-1HOME\s0\fR est défini sur DOS/Windows, wcd placera tous ses fichiers (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) dans le répertoire \&\fI\s-1HOME\s0\fR. Le comportement de wcd est alors identique à celui de la version Unix de wcd. Wcd examinera le disque depuis \fI\s-1HOME\s0\fR par défaut. Les lecteurs ne seront pas automatiquement examinés lors d'un basculement. Vous devez explicitement le demander à wcd. Par exemple : .Sp .Vb 1 \& wcd \-S c: \-A d: \-A e: .Ve .Sp La correspondance des répertoires est maintenant globale à tous les lecteurs examinés. .IP "\fB\s-1WCDHOME\s0\fR" 4 .IX Item "WCDHOME" La variable d'environnement \fI\s-1WCDHOME\s0\fR peut être utilisée pour changer l'emplacement des fichiers de wcd. Si \fI\s-1HOME\s0\fR et \fI\s-1WCDHOME\s0\fR sont toutes deux définies, \fI\s-1WCDHOME\s0\fR sera utilisée à la place de \fI\s-1HOME\s0\fR. .Sp Dans les versions antérieures à la version 5.1.5, \fI\s-1WCDHOME\s0\fR changeait également le répertoire d'examen par défaut. Cela a été modifié. Depuis la version 5.1.5, \fI\s-1WCDHOME\s0\fR ne modifie pas le répertoire d'examen par défaut. Voir l'option \fB\-s\fR. Depuis la version 5.1.5, la variable d'environnement \fI\s-1WCDSCAN\s0\fR peut être utilisée pour modifier le répertoire d'examen par défaut. .Sp Exemple pour \s-1DOS,\s0 Windows, \s-1OS/2\s0 Command Prompt : .Sp .Vb 1 \& set WCDHOME=C:\eUsers\eerwin\ewcd .Ve .Sp Un exemple pour les interfaces système \s-1POSIX :\s0 .Sp .Vb 1 \& export WCDHOME="$HOME/.wcd" .Ve .Sp Un exemple pour les interfaces système Csh : .Sp .Vb 1 \& setenv WCDHOME "$HOME/.wcd" .Ve .IP "\fB\s-1WCDSCAN\s0\fR" 4 .IX Item "WCDSCAN" Utiliser la variable d'environnement \fI\s-1WCDSCAN\s0\fR pour modifier le répertoire d'examen par défaut \fI\s-1HOME\s0\fR. Une liste séparée par des virgules (Unix) peut être utilisée pour spécifier plusieursrépertoires. Sur DOS/Windows, la liste doit être séparée par des point-virgules. .Sp Exemples pour \s-1DOS,\s0 Windows, \s-1OS/2\s0 Commande Prompt : .Sp .Vb 1 \& set WCDSCAN=C:\eUtilisateurs\eerwin;D:\edonnees \& \& set WCDSCAN=%HOMELECTEUR%%HOMECHEMIN%;\e\eprojetlecteur\eprojetX .Ve .Sp Un exemple pour les interfaces système \s-1POSIX :\s0 .Sp .Vb 1 \& export WCDSCAN="$HOME:/projectdisque/projetX" .Ve .Sp Un exemple pour les interfaces système Csh : .Sp .Vb 1 \& setenv WCDSCAN "$HOME:/projectdisque/projetX" .Ve .IP "\fB\s-1WCDFILTER\s0\fR" 4 .IX Item "WCDFILTER" Spécifier des filtres avec la variable d'environnment \fI\s-1WCDFILTER\s0\fR. Tous les répertoires qui ne correspondent pas au(x) filtre(s) sont ignorés. Une liste peut être données en séparant les filtres avec le séparateur de chemin de l'interface système. De façon similaire à la définition de la variable \&\fI\s-1PATH\s0\fR. La sensibilité à la casse est dictée par le système d'exploitation. .Sp Un exemple pour \s-1DOS,\s0 Windows, \s-1OS/2\s0 Commande Prompt : .Sp .Vb 1 \& set WCDFILTER=projects;doc .Ve .Sp Un exemple pour les interfaces système \s-1POSIX :\s0 .Sp .Vb 1 \& export WCDFILTER="projets:doc" .Ve .Sp Un exemple pour les interfaces système Csh : .Sp .Vb 1 \& setenv WCDFILTER "projets:doc" .Ve .IP "\fB\s-1WCDBAN\s0\fR" 4 .IX Item "WCDBAN" Les chemins spécifiés par la variable d'environnement \fI\s-1WCDBAN\s0\fR seront bannis par wcd. Voir aussi l'option \fB\-b\fR. Donner une liste de chemins séparés par le séparateur d'interface système de \fI\s-1PATH\s0\fR. .IP "\fB\s-1WCDEXCLUDE\s0\fR" 4 .IX Item "WCDEXCLUDE" Les chemins spécifiés par la variables d'environnement \fI\s-1WCDEXCLUDE\s0\fR seront exlus par wcd. Voir aussi les options \fB\-x\fR et \fB\-xf\fR. Donner une liste de chemins séparés par le séparateur d'interface système de \fI\s-1PATH\s0\fR. .Sp Un exemple pour \s-1DOS,\s0 Windows, \s-1OS/2\s0 Commande Prompt : .Sp .Vb 1 \& set WCDEXCLUDE=*/windows;*/temp;*CVS .Ve .Sp Un exemple pour les interfaces système \s-1POSIX :\s0 .Sp .Vb 1 \& export WCDEXCLUDE="/dev:/tmp:*CVS" .Ve .Sp Un exemple pour les interfaces système Csh : .Sp .Vb 1 \& setenv WCDEXCLUDE "/dev:/tmp:*CVS" .Ve .IP "\fB\s-1WCDUSERSHOME\s0\fR" 4 .IX Item "WCDUSERSHOME" Défini la racine des répertoires d'utilisateur. Sur DOS/Windows, la valeur par défaut est \f(CW\*(C`\e\eusers\*(C'\fR. Sur Unix/Cygwin, la valeur par défaut est \&\f(CW\*(C`/home\*(C'\fR. Cette variable est utilisée pour examiner les fichiers d'arborescence d'autres utilisateurs. Voir les options \fB\-u\fR et \fB+u\fR. En mode verbeux, wcd imprimera tous les filtres, bannissements et exclusions. Voir l'option \fB\-v\fR. .IP "\fB\s-1WCDSTACKFILE\s0\fR" 4 .IX Item "WCDSTACKFILE" Wcd donne une préférence à \fI\s-1WCDSTACKFILE\s0\fR sur le nom du fichier de pile par défaut (voir la section \s-1FICHIERS\s0). Avec cette variable, chaque interface système (ou émulateur de terminal) peut avoir sa pile privée de répertoires utilisés. .Sp Pour utiliser un fichier YYYYMMDD-HHMMSS unique basé sur le temps pour chaque interface système intéractive ouverte. .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d\-%H%M%S) .Ve .Sp Pour une pile par \fIxterm\fR\|(1), utiliser la variable d'environnement xterm \&\fI\s-1WINDOWID\s0\fR : .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID .Ve .Sp Pour \s-1GNU\s0 \fIscreen\fR\|(1), pour utiliser une pile par écran : .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW .Ve .IP "\fB\s-1TERMINFO\s0\fR" 4 .IX Item "TERMINFO" Si la variable d'environnement \fI\s-1TERMINFO\s0\fR est définie, wcd avec l'interface ncurses recherche une définition de terminal localement avant de le faire à l'emplacement standard. Cela est utile si les définitions du terminal ne sont pas dans un emplacement standard. Les emplacements couramment utilisés sont \f(CW\*(C`/usr/lib/terminfo\*(C'\fR et \f(CW\*(C`/usr/share/terminfo\*(C'\fR. .IP "\fB\s-1PDC_RESTORE_SCREEN\s0\fR" 4 .IX Item "PDC_RESTORE_SCREEN" Wcd avec l'interface PDCurses reconnaît la variable d'environnement \&\fI\s-1PDC_RESTORE_SCREEN\s0\fR. Si cette variable d'environnement est définie, PDCurses fera une copie du contenu de l'écran au moment au wcd est démarré ; lorsque wcd quitte, l'écran sera restauré. Un exemple pour Windows Command Prompt : .Sp .Vb 1 \& set PDC_RESTORE_SCREEN=1 .Ve .Sp Windows n'autorise la sauvegarde que d'un petit tampon. Il n'est donc pas toujours possible de tout restaurer. Des données inutiles peuvent être affichées dans la console après que wcd ait terminé si vous avez défini une largeur de tampon importante. .IP "\fB\s-1SHELL\s0\fR" 4 .IX Item "SHELL" L'impression de \f(CW\*(C`#!$SHELL\*(C'\fR sur la première ligne du script « go » est nécessaire pour une interface système de type \s-1POSIX\s0 pour les caractères de 8 bits. Certaines interfaces système considère autrement que le script « go » est un fichier binaire et ne l'incluerons pas. Dans Cygwin bash, la variable \&\fI\s-1SHELL\s0\fR doit être définie dans l'environnement en utilisant la commande \&\f(CW\*(C`export\*(C'\fR, sinon wcd ne peut pas lire cette variable. .IP "\fB\s-1BASH\s0\fR" 4 .IX Item "BASH" Wcd pour l'interface système \s-1DOS\s0 utilise \f(CW$BASH\fR à la place de \f(CW$SHELL\fR parce que \f(CW$SHELL\fR pointe vers l'interface de commande système. Il est potentiellement requis de définir \f(CW$BASH\fR avec une commande \f(CW\*(C`export\*(C'\fR, autrement wcd ne peut pas lire la variable. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fIsh\fR\|(1), \fIbash\fR\|(1), \fIcsh\fR\|(1), \fIksh\fR\|(1), \fIzsh\fR\|(1), \fIlocale\fR\|(1), \fIncurses\fR\|(1), .SH "AUTEURS" .IX Header "AUTEURS" Wcd a été écrit par Erwin Waterlander .PP Project homepage : .PP SourceForge : .PP La mise en page du manuel a été faite par Jari Aalto . .PP \&\s-1NCD\s0 fut initialement écrit par Brad Kingsbury pour « Norton Utilities » de Peter Norton aux environs de 1987. Voir aussi wcd-6.0.3/src/man/fr/man1/wcd.htm0000644000175500010010000022673013524756536015672 0ustar waterlanGeen wcd 6.0.3 - Wherever Change Directory

NOM

wcd - Wherever Change Directory

chdir pour DOS et Unix.

SYNOPSIS

    wcd [options] [répertoire]

DESCRIPTION

Présentation

Wcd est un logiciel en ligne de commande permettant de changer de répertoire rapidement. Il permet de gagner du temps d'écriture au clavier. Un utilisateur n'a besoin de taper qu'une partie du nom d'un répertoire et wcd s'y déplacera. Wcd a une méthode de sélection rapide lors de multiples correspondances et permet l'alias et le bannissement de répertoires. Wcd inclus également un navigateur d'arborescence de fichiers intéractif en mode plein écran et avec recherche rapide.

Wcd a été construit sur le modèle du Norton Change Directory (NCD). NCD est apparu pour la première fois dans The Norton Utilities, Release 4, pour DOS en 1987 et publié par Peter Norton.

Wcd a été adapté à différentes interfaces système en ligne de commande : DOS command.com, Windows cmd.exe et PowerShell, OS/2 cmd.exe, et aux interfaces système Unix telles que Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), et C (csh) ainsi qu'à d'autres fonctionnant sur tout système d'exploitation.

Wcd prend en charge les ensemble de caractères 8 bits sur tous les systèmes, et prend en charge l'Unicode de façon optionnelle. Voir la section LOCALISATION.

Voir la section INSTALLATION pour mettre en place wcd dans le cas d'un usage personnel.

Utilisation basique

Par défaut (si aucun caractère étendu n'est utilisé) wcd cherche un répertoire avec un nom commençant par le nom entré.

Par exemple, cette commande changera vers le répertoire de l'utlisateur courant /home/user/Desktop :

    wcd Desk

Lorsqu'il y a plusieurs correspondances, wcd affichera à l'utilisateur une liste les contenant toutes. L'utilisateur pourra alors faire un choix avec un petit nombre de frappes clavier (une seule la plus part du temps).

Wildcards

Wcd prend en charge les caractères étendus suivant :

    *           correspond à toute séquence de caractères (zéro ou plus)
    ?           correspond à n'importe quel caractère
    [ENSEMBLE]  correspond à n'importe quel caractère dans l'ensemble donné,
    [!ENSEMBLE] ou [^ENSEMBLE] correspond à n'importe quel caractère qui n'est pas dans l'ensemble donné.

Un ensemble est composé de caractères ou d'intervalles ; un intervalle s'écrit caractère tiret caractère comme dans 0-9 ou A-Z. [0-9a-zA-Z_] est l'ensemble de caractères minimal autorisés dans la construction du motif [...]. Les caractères internationaux (i.e. des caractères de 8 bits) sont autorisés si le système les prend en charge. Pour supprimer le sens syntaxique spécial de n'importe quel caractère []*?!^-\\ dans ou hors d'une construction [..] et correspondre au caractère en lui-même, faire précéder ce caractère d'une barre oblique inversée (\\).

L'utilisation de caractères étendus rend les recherches complexes possible. Par exemple, ceci correspond à n'importe quel nom de répertoire se terminant par « top » :

    wcd *top

Faire correspondre les répertoires qui ont « top » quelque part dans leur nom :

    wcd *top*

Faire correspondre n'importe quel nom de répertoire commençant par « a », « b » ou « c » :

    wcd [a-c]*

Il est également possible de donner une partie du chemin d'un répertoire. Ici Wcd cherche les répertoires dont le nom commençent par « Desk » et qui dont le chemin correspond à *me/Desk*.

    wcd me/Desk

Il est possible d'entrer n'importe quel type d'expression avec des barres obliques et des caractères étendus. Par exemple :

    wcd src*/*1?/a*2

Autres utilisations

Si aucun caractère étendu n'est utilisé et que wcd trouve une correspondance parfaite, wcd ignorera toutes les correspondances étendues par défaut. Ce comportement peut être modifié par l'option -w.

Le navigateur d'arborescence de répertoire intéractif peut être démarré en utilisant l'option -g.

    wcd -g

Wcd génère un fichier d'arborescence à l'emplacement de la recherche du répertoire. Sur les systèmes Unix et Windows, wcd ajoute des liens symboliques vers le fichier d'arborescence lors de l'examem du disque, mais ne les suit pas. S'il suivait les liens, wcd pourrait examiner une boucle infinie, ou de très grandes portions d'un réseau.

Wcd peut également changer vers des répertoires qui ne sont pas dans le fichier d'arborescence. Par exemple :

    wcd ..

Si wcd trouve une correspondance mais ne peut pas aller au répertoire, il tente alors de le supprimer du fichier d'arborescence par défaut. Pas du fichier d'arborescence supplémentaire. Voir également l'option -k.

Wcd conserve une pile de répertoires stockée sur le disque. La pile à une taille par défaut de 10 et est cyclique. Voir les options -z, -, + et =.

Dans un environnement multi-utilisateurs, l'option -i peut être utilisée pour se déplacer dans des répertoires d'autres utilisateurs.

Sur les systèmes DOS et Windows, peut importe si vous utilisez la barre oblique « / » ou la barre oblique inversée « \\ » comme séparateur de répertoires.

Sur les systèmes DOS et Windows, il est possible de changer de lecteur et de répertoire d'un seul coup en faisant précéder le nom du répertoire par le nom du lecteur.

    wcd d:games

chemins Windows UNC

Les versions Windows (Command Prompt, PowerShell, MSYS, zsh, cygwin) prennent en charge les chemins Windows SMB LAN UNC sans lettre de lecteur tel que \\\\servername\\sharename. Wcd pour Windows Command Prompt utilise la commande « pushd » pour faire correspondre un chemin UNC à une lettre de lecteur. Dans Windows PowerShell, MSYS, zsh et Cygwin, les chemins UNC sont pris en charge. Le répertoire de travail courant peut être un chemin UNC.

Redimensionnement de console sous Windows

Wcd prend en charge le redimensionnement de console dans les consoles Windows 10 et ConEmu (void https://conemu.github.io/) depuis la version 6.0.3. La console Windows 10 ne doit pas être dans le mode « legacy » (vérifier les propriétés de la console). L'écran peut ne pas être rafraîchi lorsque la propriété de « Disposition » « Retour à la ligne automatique du texte de sortie lors d'un redimensionnement » de la console est désactivée. L'écran peut être rafraîchi manuellement en pressant la touche F5.

Interfaces

Wcd a trois interfaces pour choisir parmi une liste de correspondances. L'interface peut être choisie à la compilation.

La première interface utilise simplement stdin/stdout. Une liste numérotée est affichée dans le terminal. L'utilisateur doit choisir parmi cette liste en entrant un nombre suivi de la touche <Entrer>. Cette interface fournit pas la fonctionnalité de défilement arrière lorsque la liste est longue. La fonctionnalité de défilement arrière du terminal/console doit être utilisé. C'est très petit et portable.

La seconde interface est basée sur la bibliothèque conio. Elle fourni une capacité de défilement arrière intégrée. L'utilisateur voit affiché une liste ordonnée par des lettres. La sélection dans cette liste peut se faire en pressant une seule lettre. Cette interface est rapide car elle économise les frappes. Si possible, l'écran sera restauré après sortie. Utiliser l'option -N si l'utilisation de nombres est préférrée.

La troisième interface est construite avec la bibliothèque curses. Elle est similaire à l'interface conio. La version curses de wcd a une interface « graphique » supplémentaire. Elle laisse l'utilisateur choisir un répertoire via un navigateur plein écran et intéractif d'arbre de répertoires. Elle a une navigation et une méthode de recherche similaire à celle de vim(1). Elle peut être activée avec l'option -g.

En utilisant l'option -o il est toujours possible de revenir à l'interface stdin/stdout.

OPTIONS

-a

Ajouter le chemin courant au fichier d'arborescence par défaut.

Utiliser cette option pour ajouter de façon rapide le chemin courant au fichier d'arborescence par défaut. Le réexamen complet du disque peut parfois pendre beaucoup de temps.

-aa

Ajouter le chemin courant et tous les chemins parents au fichier d'arborescence par défaut.

-A PATH

Examiner l'arborescence de répertoires depuis CHEMIN et l'ajouter au fichier d'arborescence par défaut. Exemples :

    wcd -A .
    wcd -A /home -A /etc
    wcd -A d: -A e: -A \\serveur\partage

Sur Windows, il est possible d'examiner tous les répertoires partagés d'un serveur LAN Windows en entrant quelque chose comme : <wcd -A \\nomdeserver>

Voir également l'option -S et -s et -E.

-b

Banir le chemin courant.

Wcd met le chemin courant dans le fichier de bannissements. Cela signifie que wcd ignore toutes les correspondances de ce répertoire et de ses sous-répertoires.

Le fichier de bannissements peut être modifié avec un éditeur de texte. L'utilisation de caractères étendus est prise en charge et les noms sont mis en correspondance avec le chemin absolu.

Les chemins bannis ne sont pas exclus de l'examen du disque. Pour cela utiliser l'option -xf.

-c, --direct-cd

Mode CD direct. Par défaut wcd marche de la façon suivante :

    1. Essaie de trouver une correspondance dans le(s) fichier(s) d'arborescence
    2. S'il n'y a pas de correspondances, essaie d'ouvrir le répertoire que vous avez entré.

En mode CD direct wcd marche en ordre inverse.

    1. Essaie d'ouvrir le répertoire que vous avez entré.
    2. Sinon, essaie de trouver une correspondance dans le(s) fichier(s) d'arborescence.
-d LECTEUR

Choisir le lecteur pour le fichier de pile et de « go » (DOS uniquement).

Les fichiers de pile et de script-go sont stockés sur le lecteur C: par défaut si la variable d'environnement HOME n'est pas définie. Utiliser cette option si le lecteur C: est un lecteur en lecture seule. Cette option doit utiliser devant les options de pile -, + and =.

-e

Ajouter le chemin courant au fichier d'arborescence supplémentaire.

Utiliser cette option pour ajouter rapidement le chemin courant au fichier d'arborescence supplémentaire.

-ee

Ajouter le chemin courant et tous les chemins parents au fichier d'arborescence supplémentaire.

-E PATH

Examiner l'arborescence de répertoires depuis CHEMIN et ajouter au fichier d'arborescence supplémentaire. Voir aussi les options -A et -S.

-f FICHIER

Lire le fichier d'arborescence FICHIER. Ne pas lire le fichier d'arborescence par défaut.

+f FICHIER

Lire le fichier d'arborescence FICHIER en plus du fichier d'arborescence par défaut.

-g

Interface graphique (uniquement pour les versions avec l'interface curses).

Wcd démarre une interface « graphique » textuelle basée sur curses. L'utilisateur peut choisir un répertoire via le navigateur d'arbre de répertoires intéractif en plein écran. Il possède une méthode de navigation et de recherche similaire à celle de vim(1).

Si aucune chaîne de recherche n'est donnée, wcd affiche l'arbre entier qui se trouve dans le fichier d'arborescence par défaut ainsi que dans les fichiers d'arborescence supplémentaires.

Si une chaîne de recherche est donnée, la liste des correspondances est affichée comme un arbre de répertoires.

La disposition par défaut de l'arbre est similaire à celle du NCD initial sur DOS. La différence de disposition réside dans le fait que pour NCD, tous les répertoires de profondeur identique étaient alignés verticalement sur toute la hauteur de l'arbre. Cela était possible sous NCD parce que la longueur maximale d'un nom de répertoire sous DOS était de 12 (8.3) caractères. Les noms de répertoire pouvant être très longs sur les systèmes d'exploitation modernes, la différence de longeur peut être importante. De fait, les dossiers de même profondeur ne sont pas alignés verticalement sur la totalité de l'arbre dans wcd, mais seulement dans les sous-branches. Il y a donc des mouvements latéraux lors d'un déplacement direct vers le haut ou vers le bas depuis une sous-branche vers une autre sous-branche.

Le comportement de navigation de Wcd est exactement identique à celui du NCD initial. Par exemple, l'appui sur la touche Bas du clavier amène au répertoire suivant avec la même profondeur, passant outre les branches. Cela permet une navigation rapide dans l'arbre.

Voir les options -Ta, -TC, et -Tc pour modifier le comportement de la navigation.

-gd

Décharger les fichiers d'arborescence sous forme d'arbre sur la sortie standard.

-G PATH

Ecrire le script « go » dans le répertoire CHEMIN. Par exemple sur Unix, wcd -G CHEMIN va écrire un fichier de script « go » CHEMIN/wcd.go.

-GN, --no-go-script

Ne pas créer un script « go ». Cette option peut être utilisée en association avec l'option -j si la création d'un script « go » n'est pas désirée.

-h, --help

Afficher l'aide et quitter.

-i, --ignore-case

Ignorer la casse. Les versions Dos et Windows de wcd ignore la casse par défaut. Les versions Unix/Cygwin respectent en compte la casse par défaut.

+i, --no-ignore-case

Respecter la casse. Voir aussi l'option -i.

-I, --ignore-diacritics

Ignorer les caractères diacritiques pour les scripts en Latin. Les lettres avec des symboles diacritiques correspondent à leur lettre de base dans ces symboles diacritiques. Les encodages Latin suivant sont pris en charge : CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, et Unicode Latin-1, Latin Extended-A, et Latin Extended-B. Voir aussi http://en.wikipedia.org/wiki/Diacritic

+I, --no-ignore-diacritics

Prendre en compte les diacritiques (défaut). Voir aussi l'option -I.

-j, --just-go

Mode à accès direct.

Dans ce mode, wcd ne présentera pas de liste lorsqu'il y a plusieurs répertoires correspondant au répertoire donné. Wcd changera vers la première option. Lorsque wcd est appelé une nouvelle fois avec les même arguments, il changera vers l'option suivante et ainsi de suite.

Wcd affichera le répertoire vers lesquel aller sur la sortie standard. Une méthode d'installation différente peut être utilisée. On pourra écrire la fonction suivante pour une interface système compatible POSIX :

    wcd ()
    {
        cd "$($HOME/bin/wcd.exe -j $@)"
    }

Lors de l'utilisation d'une interface système ancienne ne prenant pas en charge la substitution de commande « $() », il faut recourir à la substitution de commande ancienne utilisant l'accent grave.

    wcd ()
    {
        cd "`$HOME/bin/wcd.exe -j $@`"
    }

Sur les systèmes Windows, si l'interface système 4NT est utilisée, il est alors possible de faire l'alias suivant :

    alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`

Cette méthode supprime la nécessité d'un script « go », et il est donc possible de combiner l'option -GN avec l'option -j.

-k, --keep-paths

Garder les chemins.

Conserver les chemins dans le fichier d'arborescence lorsque wcd ne peut s'y déplacer. Le comportement par défaut de wcd est d'essayer de supprimer les chemins du fichier d'arborescence lorsque wcd ne peut s'y rendre. Cette option désactive ce comportement.

-K, --color

Utiliser les couleurs en mode graphique.

-l ALIAS

Nommer le chemin courant avec ALIAS. Wcd ajoute le chemin courant avec ALIAS pour alias dans le fichier d'alias. Les alias sont sensibles à la casse.

-ls

Afficher le nom du fichier d'alias et lister tous les alias.

-m DIR

Créer un répertoire et l'ajouter au fichier d'arborescence.

-L, --license

Afficher la license de distribution.

-M DIR

Créer un répertoire et l'ajouter au fichier d'arborescence supplémentaire.

-n PATH

Lire le fichier d'arborescence relative depuis CHEMIN.

Ne pas lire le fichier d'arborescence par défaut. Le fichier d'arborescence relative doit avoir été créé en utilisant l'option +S de wcd. CHEMIN peut également référencer directement un fichier.

Un exemple. Supposons qu'un autre système a été monté au point de montage /mnt/network :

    wcd -n /mnt/network src

Wcd ouvre le ficher d'arborescence relative dans /mnt/network/. Le fichier contient les chemins relatifs depuis cet endroit.

+n PATH

Lire le ficher d'arborescence relative en plus du fichier d'arborescence par défaut. Voir l'option -n.

-N, --numbers

Utiliser des nombres à la place de lettres.

Wcd avec une interface basée sur conio ou curses (void la section Interfaces) affiche une liste de correspondances indexée par des lettres par défaut. Lorsque l'option -N est utilisée, la liste de correspondances est indexée par des nombres. Indépendamment de l'option -N, il est possible d'entrer une lettre ou un nombre pour effectuer une sélection dans la liste de correspondances.

-o

Utiliser l'interface stdin/stdout.

Lorsque l'interface conio ou curses de wcd ne fonctionne pas pour quelque raison que ce soit, il est possible de se replier sur l'interface stdin/stdout de wcd en utilisant l'option -o.

-od, --to-stdout

Décharger l'ensemble des correspondances dans stdout.

-q, --quiet

Opération plus silencieuse. L'affichage de la dernière correspondance est supprimé.

-r DIR

Supprimer un répertoire et le supprimer du fichier d'arborescence.

Si le répertoire est vide, wcd le supprimera et tentera de le supprimer du fichier d'arborescence.

-rmtree DIR

Supprimer un répertoire de façon récursive et le supprimer du fichier d'arborescence.

Wcd supprimera le répertoire ainsi que tous ses sous-répertoires et fichiers et supprimera ces répertoires du fichier d'arborescence.

-s

(re)Examiner le disque depuis le répertoire HOME. Si HOME n'est pas défini, le disque est examiné depuis le répertoire racine /.

Le fichier d'arborescence par défaut existant est écrasé.

Le répertoire d'exam par défaut peut être renversé par la variable d'enrivonnement WCDSCAN. Voir la section VARIABLES D'ENVIRONNEMENT .

-S PATH

Examiner l'arbre de répertoires depuis CHEMIN et écraser le fichier d'arborescence par défaut. Voir aussi les options -A, -s et -E. Par exemple, avec l'option -A il est possible de créer un fichier d'arborescence par défaut de votre choix. Exemples :"

Unix :

    wcd -S /
    wcd -S /home -A /etc -A /usr

DOS / Windows :

    wcd -S c:/
    wcd -S c: -A d: -A \\serveur\partage

Avec le versions Windows, il est possible d'examiner tous les répertoires partagés d'un serveur LAN Windows en entrant une commande similaire à : wcd -S \\\\nomserveur.

+S PATH

Examiner le disque depuis CHEMIN et placer les chemins relatifs dans un fichier d'arborescence relative. Ce fichier est utilisé par les options -n et +n de wcd. Par exemple wcd -n CHEMIN src.

-t

Ne pas éviter le dossier de montage temporaire /tmp_mnt (Unix uniquement)

Par défaut, wcd retire /tmp_mnt/ des correpondances. Le répertoire /tmp_mnt est utilisé par la montage automatique. Ce comportement peut être évité avec l'option -t.

-T, --ascii-tree

Dessiner l'arbre avec des caractères ASCCI. Utiliser cette option si les caractères de dessin de ligne ne s'affichent pas correctement dans le terminal.

-Ta, --alt-tree-nav

Navigation alternative dans l'arbre graphique.

Dans la disposition d'arbre en style du NCD par défaut, l'option -Ta désactive le saut vers des répertoires sans liens.

Dans le mode d'arbre compact, le mode alternatif rend la navigation similaire à celle de gestionnaires de fichiers graphiques tels que Windows Explorer ou Linux KDE Konqueror. L'appui sur les touches Haut et Bas déplace le dossier sélectionné d'une ligne vers le haut ou le bas. Le premier appui sur la touche Gauche replie les sous-dossiers, le second se déplace réellement à gauche.

Il est possible de basculer à la volée entre une navigation par défaut et alternative en pressant <Shift-A>.

Lorsque le mode de navigation alternative est activé, in « A » est visible dans l'angle inférieur droit.

-TC, --center-tree

Vue centrée dans l'arbre graphique. Le répertoire choisi reste au centre de l'écran. Le mode centré peut aussi être activé/désactivé avec la clef <t> dans l'arbre graphique.

Le comportement non centré standard, qui minimise le mouvement d'arbre, est identique à celui du NCD original.

-Tc, --compact-tree

Par défaut l'arbre « graphique » est dessiné de la même façon que le faisait le NCD original sur DOS. Sur DOS, un chemin de répertoire ne pouvait faire que 66 caractères au total. Avec les structures de répertoire profondes comtemporaines, l'arbre peut devenir très large. Pour surmonter cela, wcd peut dessiner l'arbre d'une façon compacte, de façon similaire à la plus part des gestionnaires de fichier graphiques, avec un seul fichier par ligne. Utiliser l'option -Tc ou basculer à la volée avec la clef <m>.

-Td, --cjk-width

Les polices CJK d'Asie de l'est (Chine, Japon et Korée) possèdent certains caractères et symboles de tracé de ligne avec une largeur de colonne de 2, alors que la largeur Unicode normale pour ces caractères est de 1 colonne. Par exemple, la police de trame CP936 chinoise sur Windows et la police Simsun. Utiliser cette option lorsqu'une police de type CJK est utilisée pour obtenir un contour de l'arbre graphique correct.

Lorsque le mode CJK est actif, un « C » est affiché dans le coin inférieur droit.

-u UTILISATEUR

Examiner le fichier d'arborescence d'un autre utilisateur en se basant sur USER, ne pas examiner votre propre fichier d'arborescence. Voir aussi WCDUSERHOME dans la section VARIABLES D'ENVIRONNEMENT.

Sur Unix/Cygwin le répertoire racine pour les répertoires utilisateur est supposé être /home. Wcd recherchera /home/USER/.treedata.wcd et /home/USER/.wcd/.treedata.wcd, dans cet ordre, lira le premier fichier existant et lisible. Sur DOS/Windows le répertoire racine pour les répertoires utilisateur est supposé être \\users, donc wcd tentera de lire\\users\USER\treedata.wcd and \\users\USER\.wcd\treedata.wcd.

+u UTILISATEUR

Lire le fichier d'arborescence par défaut de l'UTILISATEUR en plus de votre fichier d'arborescence.

-v, --verbose

Afficher les messages verbeux. Avec cette option wcd affiche tous les filtres, les bannissements et les exclusions.

-V, --version

Afficher les informations de version et sortir.

-w, --wild-match-only

Correspondance étendue seulement. Traiter toutes les correspondances comme des correspondances étendues.

-x CHEMIN

Exclure CHEMIN de l'examen.

Lorsque cette option est utilisée, wcd exclu le CHEMIN et tous les sous-répertoires lors de l'examen d'un disque. Les caractères étendus sont pris en charge et mis en correspondance avec les chemins absolus. L'option -x peut être utilisée plusieurs fois.

    wcd -x <path1> -x <path2> -s

L'option -x doit être utilisée avant toute option d'examen (-s, -S, +S, -A, -E).

Sur les systèmes DOS/Windows la précision de la lettre de lecteur dépend de l'utilisation ou non des variables d'environnement HOME ou WCDHOME. Si HOME ou WCDHOME sont fixées alors il faut préciser la lettre de lecteur. Par exemple :

    wcd -x c:/temp -S c:

Sinon, il n'est pas nécessaire de préciser la lettre de lecteur.

    wcd -x /temp -s
-xf FILE

Exclure de l'examen tous les chemins listés dans FICHIER.

Lorsque cette option est utilisée, wcd excluera tous les chemins listés dans FICHIER et tous leurs sous-répertoires durant l'examen d'un disque. Les caractères étendus sont pris en charge et ils sont mis en correspondance de chemins absolus ; un chemin par ligne. Il faut être attentif au fait que wcd n'ignore pas les espaces commencant et terminant une ligne parce qu'il s'agit de caractères légaux pour un nom de répertoire. L'option -xf peut être utilisée plusieurs fois. Lorsque l'exclusion de tous les chemins bannis est souhaitée, il est possible de faire de la sorte (exemple pour wcd sur unix) :

    wcd -xf ~/.ban.wcd -s

Les caractères étendus sont pris en charge. Par exemple, pour exclure tous les répertoires Subversion contenant des fichiers d'administration, ajoutez une ligne avec */.svn.

L'option -xf doit être utilisée avant toute option d'examen (-s, -S, +S, -A, -E).

-y, --assume-yes

Supposer Oui pour toutes les requêtes.

Wcd ne posera pas de questions oui/non à l'utilisateur, mais suppose qu'il répondra oui à toutes les questions. Cela peut être utilisé en combinaison de l'option -rmtree. Cette option doit être utilisée avant les options qui peuvent déboucher à des questions oui/non.

-z NOMBRE

Fixer la taille maximale de la pile à NOMBRE.

La taille par défaut de la pile est de 10. Les opérations sur la pile peuvent être désactivées en paramètrant la taille à 0. Cette option doit être utilisée avant toute autre option d'opération sur la pile (-,+,=). Autrement, la taille de la pile sera remise à sa valeur par défaut 10.

Une commande correcte est :

    wcd -z 50 -

La nouvelle taille de pile sera de 50, wcd ira un répertoire en arrière. Un commande erronée est :

    wcd - -z 50

Wcd va en arrière d'un répertoire, la pile à une valeur par défaut de 10. Le -z 50 est ignoré.

Ajouter cette option en première option de votre alias ou fonction wcd. Un exemple pour l'interface d'administration compatible POSIX serait :

    wcd ()
    {
        wcd.exe -z 50 "$@"
        . ${WCDHOME:-${HOME}}/bin/wcd.go
    }
-[NOMBRE]

Empiler les répertoires NOMBRE de fois. Un par défaut.

Retourner en arrière d'un répertoire. La commande <wcd -> retourne en arrière d'un répertoire. Y ajouter un nombre pour retourner en arrière de plusieurs répertoires. Exemple : wcd -3. La pile est cyclique.

+[NOMBRE]

Dépiler les répertoires NOMBRE fois. Un par défaut.

Avancer d'un répertoire. La commande wcd + avance d'un répertoire. Y ajouter un nombre pour avancer de plusieurs répertoires. Par exemple : wcd +2. La pile est cyclique.

=

Afficher la pile.

Utiliser cette option si vous ne savez plus de combien de fois empiler ou dépiler. La pile est afficher et il est possible de choisir un nombre. La position courante de la pile est désignée par une astérisque *.

INSTALLATION

Le répertoire de travail courant d'une interface système Unix ne peut être changé que par la commande cd(1) intégrée. Un programme est donc toujours appelé par une fonction ou un alias. La fonction où l'alias inclu un script d'interface système (script « go ») qui est généré par le programme wcd. Wcd ne peut fonctionner qu'après que la fonction ou l'alias aient été définis.

Un autre impact important de votre installation est la définition des variables d'environnement HOME and WCDHOME. Voir la section VARIABLES D'ENVIRONNEMENT.

Installation pour les interfaces système de type POSIX

Pour les interfaces système POSIX (ksh, bash, zsh, etc.) sur Unix, Linux, Cygwin ou MSYS natif, ajouter la fonction suivante au fichier de démarrage de l'interface système (Bash utilise par exemple $HOME/.bashrc) :

    wcd ()
    {
        PATH/wcd.exe "$@"
        . ${WCDHOME:-${HOME}}/bin/wcd.go
    }

Remplacer CHEMIN par l'emplacement où l'exécutable de wcd a été installé. Recharger le fichier d'initialisation de l'interface système ou démarrer une nouvelle interface système.

L'emplacement du script « go » wcd.go diffère par interface système.

Wcd pour les interfaces système DOS DJGPP et OS/2 exige une fonction différente. Le script « go » n'est pas écrit dans un répertoire bin, et si WCDHOME et HOME sont toutes deux non définies, le script « go » est écrit sur c:/.

bash DOS :

    wcd ()
    {
        PATH/wcdbash.exe "$@"
        . ${WCDHOME:-${HOME:-"c:"}}/wcd.go
    }

bash OS/2 :

    wcd ()
    {
        PATH/wcdos2bash.exe "$@"
        . ${WCDHOME:-${HOME:-"c:"}}/wcd.go
    }

La version WinZsh de wcd exige une fonction légèrement différente. Le script « go » ne sera jamais écrit dans c:/.

    wcd ()
    {
        PATH/wcdwin32zsh.exe "$@"
        . ${WCDHOME:-${HOME}}/wcd.go
    }

Voir la section FICHIERS pour plus d'informations.

Installation pour les interfaces système de type C (csh, tcsh)

Ajouter les alias suivants au fichier de démarrage de l'interface système $HOME/.cshrc ou $HOME/.tcshrc :

    if ( ${?WCDHOME} ) then
        alias wcd "PATH/wcd.exe \!* ; source $WCDHOME/bin/wcd.go"
    else
        alias wcd "PATH/wcd.exe \!* ; source $HOME/bin/wcd.go"
    endif

Remplacer CHEMIN par l'emplacement où l'exécutable de wcd a été installé. Recharger le fichier d'initialisation de l'interface système ou démarrer une nouvelle interface système.

version de l'Invite de Commande Windows

Dépaqueter le fichier zip et ajouter le répertoire bin à votre variable d'environnement CHEMIN.

Dans Windows Command Prompt, un programme Windows ne peut pas changer de répertoire de travail courant, mais un fichier .bat le peut. Le script de commande wcd.bat exécute le programme wcd qui génère un nouveau fichier de commande wcdgo.bat. wcd.bat exécute ensuite wcdgo.bat qui change effectivement de répertoire.

Windows VISTA et ultérieur

Dans un Commande Prompt Windows Vista ou de niveau plus haut, l'accès aux répertoires peut être limité. Pour avoir accès à plus de répertoires des droits administrateurs sont requis. Il est possible d'obtenir un Commande Prompt avec des droits administrateurs en cliquant avec le bouton droit sur l'icône du Commande Prompt puis en choisissant Exécuter en tant qu'administrateur.

Version Windows PowerShell

Ajouter la fonction suivante à votre profil utilisateur PowerShell. L'emplacement de ce profil est stocké dans la variable $profile. Il est requis que l'une des deux variables d'environnement HOME et WCDHOME soit définie.

    function wcd
    {
        PATH\wcdwin32psh.exe $args
        & $env:HOME\wcdgo.ps1
    }

Remplacer PATH avec l'emplacement où l'exécutable de wcd a été installé. Démarrer un nouveau PowerShell. Wcd pour PowerShell prend uniquement en charge le fournisseur de système de fichier. Pas d'autres fournisseurs de système de fichier.

version OS/2 Command Prompt

Dans un OS/2 Command Prompt (cmd.exe) un programme OS/2 ne peut changer de répertoire de travail courant. C'est pourquoi wcd génère un script de commande wcdgo.cmd qui doit être exécuté dans l'interface système actuelle. Le script wcd.cmd exécute dans un premier temps wcdos2.exe qui crée le script wcdgo.cmd. Ensuite wcd.cmd exécute le script wcdgo.cmd.

LOCALISATION

LANG

Le langage principal est sélectionné avec la variable d'environnement LANG. Cette variable est composée de plusieurs parties. La première partie, en lettres minuscules, est le code de la langue. La seconde, optionnelle et en lettres majuscules, est le code du pays précédé d'un tiret bas. Il y a également une troisième partie optionnelle : l'encodage des caractères, précédé par un point. Quelques exemples pour les interfaces système conforme au standard POSIX :

    export LANG=fr               Français
    export LANG=fr_FR            Français, France
    export LANG=fr_BE            Français, Belgique
    export LANG=es_ES            Espagnol, Espagne
    export LANG=es_MX            Espagnol, Mexique
    export LANG=en_US.iso88591   Anglais, USA, encodage Latin-1

Pour une liste complète des codes de langue et de pays voir le manuel de gettext(1) : http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes Sur les systèmes Unix, la commande locale(1) peut être utilisée pour voir les informations précises de localisation.

LANGAGE

Avec la variable d'environnement LANG, il est possible de spécifier un liste de priorité de langues séparée par des virgules. Wcd donne une préférence à LANGUAGE sur LANG. Par exemple, d'abord néerlandais puis allemand : LANGUAGE=nl:de. Il faut d'abord activer la localisation en fixant LANG ou LC_ALL à une valeur autre que C avant de pouvoir utiliser un liste de priorités de langue avec la variable LANGUAGE. Voir aussi le manuel de gettext(1) : http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable

Si vous sélectionnez un langage qui n'est pas disponible, les messages seront affichés en anglais standard.

WCDLOCALEDIR

La variable LOCALEDIR utilisée pendant la compilation et l'installation de wcd peut être renversée avec la variable d'environnement WCDLOCALEDIR. LOCALEDIR est utilisée par wcd avec prise en chage de langage natif pour trouver les fichiers de langue. La valeur par défaut pour GNU est /usr/local/share/locale. En tapant wcd -V, wcd affichera la variable LOCALEDIR utilisée.

Si vous avez installé wcd dans un répertoire différent du répertoire par défaut, il vous faut peut être définir la variable d'environnement WCDLOCALEDIR pour pointer vers le répertoire de locales.

Un exemple pour le cmd Windows :

    set WCDLOCALEDIR=c:/my_prefix/share/locale

Un example pour une interface système POSIX :

    export WCDLOCALEDIR=$HOME/share/locale
LC_COLLATE

Lorsque plusieurs répertoires correspondent wcd affiche une liste triée. L'ordre dépend des paramètres de locale. Si la variable d'environnement LANG a été définie, les correspondances sont triées comme les sont les dictionnaires ou les annuaires téléphonique dans cette langue. Par exemple, les points et les tirets sont ignorés, ou bien les lettres e avec ou sans accent sont identiques, ou bien la casse est ignorée.

Le tri donne préférence à la variable d'environnement LC_COLLATE devant LANG. Si vous rendez LC_COLLATE égal à C ou POSIX, le tri selon la locale est désactivé. Par exemple, si vous voulez du néerlandais mais un tri que n'est pas néerlandais, vous pouvez faire de la sorte :

    export LANG=fr_FR
    export LC_COLLATE=C
LC_CTYPE

En ce qui concerne l'encodage de caractères, wcd donnera une préférence à la variable LC_CTYPE sur la variable LANG. Par exemple, pour fixer l'encodage de caractère en UTF-8, le paramètrage de l'environnement suivant peut être appliqué.

    export LC_CTYPE=fr_FR.UTF-8
LC_ALL

Toutes les variables d'enrironnement de locales qui commencent par LC_ sont renversées par la variable d'environnement LC_ALL si elle est définie. Wcd donnera une préférence à LC_ALL sur LC_COLLATE et LC_CTYPE.

PAGES DE CODES WINDOWS

Il y a deux groupes de page de code : les pages de code DOS (OEM) et les pages de code Windows (ANSI). L'encodage par défaut de Windows, lorsqu'il est configuré avec les paramètres de régions occidentales, est ANSI CP1252. Les programmes Windows, par exemple le bloc-notes, utilisent cette page de code ANSI par défaut. La console Windows utilise par défaut une page de code OEM (CP437 ou CP850) pour compatibilité avec les programmes DOS. Si vous utilisez une version DOS de wcd dans une console Windows, cela marchera grâce à la page de code DOS. Cependant la version DOS de wcd ne prend pas en charge de longs noms de répertoire et de lecteur réseau sur Windows.

La version Windows de wcd est un programme Windows natif et utilise la page de code ANSI du système Windows. Donc sur un Windows configuré pour une région occidentale la page de code CP1252 est utilisée pour les noms de répertoire et les messages. Dans le but d'obtenir des sorties uniformes, indépendant des pages de code actives, toutes les versions de Wcd pour Windows traduisent les sorties ANSI en sorties Unicode dans le Command Prompt et le PowerShell.

La police de trame de la console ne prend en charge que la page de code OEM installée avec Windows, et il faut donc changer la page de code de la console à Lucidia Console correctement typé pour faire apparaître les lettres Unicode (et ANSI) correctement.

Les versions non-Unicode de Wcd avant la version 5.2.0 utilisent une sortie entièrement ANSI. Pour ces anciennes versions, la page de code de la console a été faite pour être identique à la page de code du système (changé à 1252) dans le but de faire fonctionner wcd pour Windows correctement avec des caractères spéciaux tels que les caractères avec accent ou le symbole de l'Euro.

La page de code Windows peut être changée via les options de région du Panneau de Contrôle. La page de code de la console Windows est changée avec la commande chcp.

Lorsque vous tapez wcd -V, l'encodage de caractère effectif utilisé par wcd est affiché. Tapez la commande chcp pour afficher la page de codes active de la console Windows.

UNICODE

Wcd a une prise en charge optionnelle de l'Unicode. Pour voir si wcd a été empaqueté avec la prise en charge de l'Unicode, tapez wcd -V. Si votre terminal/console et la police le prend en charge, vous devriez voir le symbole de l'Euro ainsi que des caractères chinois (voulant dire : « chinois »).

Wcd a été converti de « façon logicielle» à l'Unicode. En son coeur, Wcd traite toutes les données comme un flux d'octets. Seules les lignes affichées à l'écran sont converties à la volée en caractères Unicode larges. Wcd s'appuie entièrement sur des fonctions de la libc et n'a pas de code UTF-8 spécifique. Voir aussi http://www.cl.cam.ac.uk/~mgk25/unicode.html.

Wcd a une prise en charge optionnelle de mise en correspondances avec de l'Unicode normalisé. Pour déterminer si Wcd prend en charge la normalisation, tapez wcd -V. Wcd avec une prise en charge de la normalisation Unicode fera correspondre les noms Unicode en se basant sur une équivalence « compatible ». Sans prise en charge de la normalisation Unicode, les noms sont mis en correspondance lorsque leur binaires sont équivalents. Voir aussi http://en.wikipedia.org/wiki/Unicode_normalization

UTF-8 sur Unix/Linux

Pour voir les caractères UTF-8, votre console/terminal doivent également prendre en charge l'UTF-8. La version xterm empaquetée avec XFree86 4.0 ou supérieur include une prise en charge de l'UTF-8. Pour l'activer, démarez xterm(1) dans une locale UTF-8 et utilisez une police avec un encodage iso10646-1, par exemple avec

    LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'

Les distributions modernes de GNU/Linux prennent en charge l'UTF-8 par défaut. D'autre encodage de caractère sur plusieurs octets devraient également fonctionner, mais cela n'a pas été testé.

Wcd suppose que les fichiers d'arborescence sont encodés dans l'encodage de caractère local. Il n'y a pas d'Indicateur d'Ordre des Octets écrit dans les fichiers d'arborescence.

UTF-16 sur Windows

Sur Windows, l'Unicode est pris en charge pour toutes les versions de PowerShell, et dans le Windows Command Prompt sur Windows 7 (ou ultérieur). Unicode fonctionne également dans Take Command ou TCC/LE édités par JP Software, et pouvant être utilisés sur des version de Windows plus anciennes (XP/Vista).

Sur Windows, tous les noms de répertoire sur le disque sont encodés en Unicode UTF-16. Pour des programmes Windows non Unicode, les caractères Unicode sont traduits vers la page de code ANSI par défaut. Cette traduction de caractères ne faisant pas partis du paramètrage régional n'est pas possible et les programmes non Unicode affichent un point d'intérogation ou bien un mauvais caractères.

Wcd avec prise en charge de l'Unicode lit les noms de répertoire encodé en UTF-16 et les convertis de façon interne en UTF-8. Tous les fichiers d'arborescence sont encodés en UTF-8 et ne sont pas compatibles avec la version non Unicode de Wcd. Wcd créera un script « go » en UTF-8.

Toutes les versions de Windows PowerShell sont capable d'exécuter des scripts encodés en UTF-8 s'il y a un BOM UTF-8 dans le script.

Depuis Windows 7 il est possible de changer de répertoire avec un script batch dans Windows Command Prompt vers un répertoire avec une lettres Unicode dans le nom. Le nom du répertoire doit être encodé en UTF-8, et le script batch ne doit pas avoir de BOM. La page de code active du Command Prompt doit être fixée à 65001 (UTF-8) avant la commande cd. Wcd pour Command Prompt créera un script « go » wcdgo.bat. Dans un premier temps, il change la page de code à 65001 puis change de répertoire et enfin fixe la page de code à sa valeur initiale.

Vous devez fixer la police à True Type Lucida Console (et non une police de trame) lorsque les lettres n'apparaîssent pas correctement.

La version pour Windows non Unicode de Wcd peut lire des fichiers d'arborescence Unicode depuis la version 5.2.0 s'il y a un Indicateur d'Ordre des Octets (BOM) dans le fichier (voir http://en.wikipedia.org/wiki/Byte_order_mark), mais il ne peut se déplacer vers des répertoires dont le nom contient des lettres Unicodes et qui ne font pas parties de la page de code ANSI par défaut du système. La version pour Windows non Unicode écrit un BOM dans les fichiers d'arborescence encodés en UTF-8 depuis la version 5.2.0, ce qui les rends également lisible par le bloc-notes.

UTF-8 sur Cygwin

Cygwin prend en charge l'Unicode depuis la version 1.7. La couche Cygwin s'occupe de la conversion des noms Unicode UTF-16 Windows en UTF-8. Donc des programmes tels que Wcd n'ont pas besoin de savoir cela et peuvent fonctionner en utilisant l'encodage UTF-8 sur Unix/Linux. Fixer l'encodage de caractères à UTF-8 avec les variables d'environnement LANG ou LC_CTYPE. Il peut être nécessaire de réexaminer les disques. Il faut fixer la police à True Type Lucida Console (et non à une police de trame) si vous utilisez la console Cygwin par défaut.

La version Cygwin se comporte de la même façon que la version Unix de wcd. Il n'y a pas de BOM écrit dans les fichiers d'arborescence, et il est supposé qu'ils sont encodés dans l'encodage de caractère de la locale Cygwin.

FICHIERS

Si la variable d'environnement WCDHOME est définie, wcd utilisera WCDHOME au lieu de HOME. Tous les fichiers *.wcd sont des fichiers texte. Ils peuvent être modifié avec un éditeur de texte. La version Windows Command Prompt de wcd se comporte comme la version DOS. La version Cygwin de wcd se comporte comme la version Unix.

wcd.exe

Le programme. Dans les interfaces système Unix, le programme est toujours appelé par une fonction ou un alias parce que le répertoire courant de travail d'une interface système Unix ne peut être changé que par la commande cd intégrée. Voir également la section INSTALLATION.

fichier d'arborescence par défaut

C'est le fichier d'arborescence par défaut où wcd cherche les correspondances. S'il n'est pas lisible, wcd en créera un nouveau.

    S<DOS :> \treedata.wcd ou %HOME%\treedata.wcd
    S<Unix :> $HOME/.treedata.wcd
fichier d'arborescence supplémentaire

Un fichier d'arborescence supplémentaire optionel. S'il existe et est lisible, wcd tentera de trouver des correspondances depuis ce fichier également.

    S<DOS :> \extra.wcd ou %HOME%\extra.wcd
    S<Unix :> $HOME/.extra.wcd
bannir le fichier

Wcd place dans ce fichier optionnel les chemins bannis. Voir l'option -b. Les caractères étendus sont pris en charge.

    S<DOS :> \ban.wcd ou %HOME%\ban.wcd
    S<Unix :> $HOME/.ban.wcd
fichier d'alias

Fichier optionnel avec les alias wcd. Voir l'option -l.

    S<DOS :> \alias.wcd ou %HOME%\alias.wcd
    S<Unix :> $HOME/.alias.wcd
fichier de pile

Wcd stocke sa pile dans ce fichier. La lettre de lecteur peut être changée avec l'option -d.

    S<DOS :> c:\stack.wcd ou %HOME%\stack.wcd
    S<Unix :> $HOME/.stack.wcd

Le nom di fichier de pile peut être changé avec la variable d'environnement WCDSTACKFILE. Voir la section VARIABLES D'ENVIRONNEMENT.

go-script

C'est le script d'interface système que wcd.exe crée à chaque fois. Il est inclus par une function ou un alias. La lettre de lecteur peut être changée avec l'option -d. Pour des raisons historiques, il est placé dans $HOME/bin par défaut sur les systèmes Unix. Le répertoire de ce fichier peut être changé avec l'option -G.

    interface système S<DOS :> c:/wcd.go or $HOME/wcd.go
    Windows Command S<Prompt :> c:\wcdgo.bat or %HOME%\wcdgo.bat
    Windows S<PowerShell :> $env:HOME\wcdgo.ps1
    S<WinZsh :> $HOME/wcd.go
    S<Cygwin/MSYS :> $HOME/bin/wcd.go
    OS/2 Command S<Prompt :> c:\wcdgo.cmd or %HOME%\wcdgo.cmd
    interface système S<OS/2 :> c:/wcd.go or $HOME/wcd.go
    S<Unix :> $HOME/bin/wcd.go
fichier d'arborescence relative

Fichier texte avec les chemins relatifs à REP. Voir les options +S, -n et +n.

    S<DOS :> PATH\rtdata.wcd
    S<Unix :> PATH/.rtdata.wcd

VARIABLES D'ENVIRONNEMENT

HOME

Wcd utilise par défaut la variable d'environnement HOME pour déterminer où stocker ses fichiers. Voir également la section FICHIERS. Cela peut être modifié avec la variable d'environnement WCDHOME.

HOME définit également où commencer l'examen du disque lorsque l'option -s est utilisée. Ceci peut être modifié avec la variable d'environnement WCDSCAN.

Pour la version Unix, Cygwin, Windows PowerShell, WinZsh et MSYS, il est nécessaire que HOME ou WCDHOME soient définies. L'utilisation de ces variables est optionnelle pour les autres versions de wcd.

Si HOME est défini sur DOS/Windows, wcd placera tous ses fichiers (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) dans le répertoire HOME. Le comportement de wcd est alors identique à celui de la version Unix de wcd. Wcd examinera le disque depuis HOME par défaut. Les lecteurs ne seront pas automatiquement examinés lors d'un basculement. Vous devez explicitement le demander à wcd. Par exemple :

    wcd -S c: -A d: -A e:

La correspondance des répertoires est maintenant globale à tous les lecteurs examinés.

WCDHOME

La variable d'environnement WCDHOME peut être utilisée pour changer l'emplacement des fichiers de wcd. Si HOME et WCDHOME sont toutes deux définies, WCDHOME sera utilisée à la place de HOME.

Dans les versions antérieures à la version 5.1.5, WCDHOME changeait également le répertoire d'examen par défaut. Cela a été modifié. Depuis la version 5.1.5, WCDHOME ne modifie pas le répertoire d'examen par défaut. Voir l'option -s. Depuis la version 5.1.5, la variable d'environnement WCDSCAN peut être utilisée pour modifier le répertoire d'examen par défaut.

Exemple pour DOS, Windows, OS/2 Command Prompt :

    set WCDHOME=C:\Users\erwin\wcd

Un exemple pour les interfaces système POSIX :

    export WCDHOME="$HOME/.wcd"

Un exemple pour les interfaces système Csh :

    setenv WCDHOME "$HOME/.wcd"
WCDSCAN

Utiliser la variable d'environnement WCDSCAN pour modifier le répertoire d'examen par défaut HOME. Une liste séparée par des virgules (Unix) peut être utilisée pour spécifier plusieursrépertoires. Sur DOS/Windows, la liste doit être séparée par des point-virgules.

Exemples pour DOS, Windows, OS/2 Commande Prompt :

    set WCDSCAN=C:\Utilisateurs\erwin;D:\donnees

    set WCDSCAN=%HOMELECTEUR%%HOMECHEMIN%;\\projetlecteur\projetX

Un exemple pour les interfaces système POSIX :

    export WCDSCAN="$HOME:/projectdisque/projetX"

Un exemple pour les interfaces système Csh :

    setenv WCDSCAN "$HOME:/projectdisque/projetX"
WCDFILTER

Spécifier des filtres avec la variable d'environnment WCDFILTER. Tous les répertoires qui ne correspondent pas au(x) filtre(s) sont ignorés. Une liste peut être données en séparant les filtres avec le séparateur de chemin de l'interface système. De façon similaire à la définition de la variable PATH. La sensibilité à la casse est dictée par le système d'exploitation.

Un exemple pour DOS, Windows, OS/2 Commande Prompt :

    set WCDFILTER=projects;doc

Un exemple pour les interfaces système POSIX :

    export WCDFILTER="projets:doc"

Un exemple pour les interfaces système Csh :

    setenv WCDFILTER "projets:doc"
WCDBAN

Les chemins spécifiés par la variable d'environnement WCDBAN seront bannis par wcd. Voir aussi l'option -b. Donner une liste de chemins séparés par le séparateur d'interface système de PATH.

WCDEXCLUDE

Les chemins spécifiés par la variables d'environnement WCDEXCLUDE seront exlus par wcd. Voir aussi les options -x et -xf. Donner une liste de chemins séparés par le séparateur d'interface système de PATH.

Un exemple pour DOS, Windows, OS/2 Commande Prompt :

    set WCDEXCLUDE=*/windows;*/temp;*CVS

Un exemple pour les interfaces système POSIX :

    export WCDEXCLUDE="/dev:/tmp:*CVS"

Un exemple pour les interfaces système Csh :

    setenv WCDEXCLUDE "/dev:/tmp:*CVS"
WCDUSERSHOME

Défini la racine des répertoires d'utilisateur. Sur DOS/Windows, la valeur par défaut est \\users. Sur Unix/Cygwin, la valeur par défaut est /home. Cette variable est utilisée pour examiner les fichiers d'arborescence d'autres utilisateurs. Voir les options -u et +u. En mode verbeux, wcd imprimera tous les filtres, bannissements et exclusions. Voir l'option -v.

WCDSTACKFILE

Wcd donne une préférence à WCDSTACKFILE sur le nom du fichier de pile par défaut (voir la section FICHIERS). Avec cette variable, chaque interface système (ou émulateur de terminal) peut avoir sa pile privée de répertoires utilisés.

Pour utiliser un fichier YYYYMMDD-HHMMSS unique basé sur le temps pour chaque interface système intéractive ouverte.

    export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)

Pour une pile par xterm(1), utiliser la variable d'environnement xterm WINDOWID :

    export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID

Pour GNU screen(1), pour utiliser une pile par écran :

    export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW
TERMINFO

Si la variable d'environnement TERMINFO est définie, wcd avec l'interface ncurses recherche une définition de terminal localement avant de le faire à l'emplacement standard. Cela est utile si les définitions du terminal ne sont pas dans un emplacement standard. Les emplacements couramment utilisés sont /usr/lib/terminfo et /usr/share/terminfo.

PDC_RESTORE_SCREEN

Wcd avec l'interface PDCurses reconnaît la variable d'environnement PDC_RESTORE_SCREEN. Si cette variable d'environnement est définie, PDCurses fera une copie du contenu de l'écran au moment au wcd est démarré ; lorsque wcd quitte, l'écran sera restauré. Un exemple pour Windows Command Prompt :

    set PDC_RESTORE_SCREEN=1

Windows n'autorise la sauvegarde que d'un petit tampon. Il n'est donc pas toujours possible de tout restaurer. Des données inutiles peuvent être affichées dans la console après que wcd ait terminé si vous avez défini une largeur de tampon importante.

SHELL

L'impression de #!$SHELL sur la première ligne du script « go » est nécessaire pour une interface système de type POSIX pour les caractères de 8 bits. Certaines interfaces système considère autrement que le script « go » est un fichier binaire et ne l'incluerons pas. Dans Cygwin bash, la variable SHELL doit être définie dans l'environnement en utilisant la commande export, sinon wcd ne peut pas lire cette variable.

BASH

Wcd pour l'interface système DOS utilise $BASH à la place de $SHELL parce que $SHELL pointe vers l'interface de commande système. Il est potentiellement requis de définir $BASH avec une commande export, autrement wcd ne peut pas lire la variable.

VOIR AUSSI

sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1),

AUTEURS

Wcd a été écrit par Erwin Waterlander <waterlan@xs4all.nl>

Project homepage : http://waterlan.home.xs4all.nl/

SourceForge : http://sourceforge.net/projects/wcd/

La mise en page du manuel a été faite par Jari Aalto <jari.aalto@cante.net>.

NCD fut initialement écrit par Brad Kingsbury pour « Norton Utilities » de Peter Norton aux environs de 1987. Voir aussi http://www.softpanorama.org/OFM/norton_change_directory_clones.shtml

wcd-6.0.3/src/man/fr/man1/wcd.txt0000644000175500010010000016127513524756534015721 0ustar waterlanGeenNOM wcd - Wherever Change Directory chdir pour DOS et Unix. SYNOPSIS wcd [options] [répertoire] DESCRIPTION Présentation Wcd est un logiciel en ligne de commande permettant de changer de répertoire rapidement. Il permet de gagner du temps d'écriture au clavier. Un utilisateur n'a besoin de taper qu'une partie du nom d'un répertoire et wcd s'y déplacera. Wcd a une méthode de sélection rapide lors de multiples correspondances et permet l'alias et le bannissement de répertoires. Wcd inclus également un navigateur d'arborescence de fichiers intéractif en mode plein écran et avec recherche rapide. Wcd a été construit sur le modèle du Norton Change Directory (NCD). NCD est apparu pour la première fois dans *The Norton Utilities, Release 4*, pour DOS en 1987 et publié par Peter Norton. Wcd a été adapté à différentes interfaces système en ligne de commande : DOS command.com, Windows cmd.exe et PowerShell, OS/2 cmd.exe, et aux interfaces système Unix telles que Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), et C (csh) ainsi qu'à d'autres fonctionnant sur tout système d'exploitation. Wcd prend en charge les ensemble de caractères 8 bits sur tous les systèmes, et prend en charge l'Unicode de façon optionnelle. Voir la section LOCALISATION. Voir la section INSTALLATION pour mettre en place wcd dans le cas d'un usage personnel. Utilisation basique Par défaut (si aucun caractère étendu n'est utilisé) wcd cherche un répertoire avec un nom commençant par le nom entré. Par exemple, cette commande changera vers le répertoire de l'utlisateur courant "/home/user/Desktop" : wcd Desk Lorsqu'il y a plusieurs correspondances, wcd affichera à l'utilisateur une liste les contenant toutes. L'utilisateur pourra alors faire un choix avec un petit nombre de frappes clavier (une seule la plus part du temps). Wildcards Wcd prend en charge les caractères étendus suivant : * correspond à toute séquence de caractères (zéro ou plus) ? correspond à n'importe quel caractère [ENSEMBLE] correspond à n'importe quel caractère dans l'ensemble donné, [!ENSEMBLE] ou [^ENSEMBLE] correspond à n'importe quel caractère qui n'est pas dans l'ensemble donné. Un ensemble est composé de caractères ou d'intervalles ; un intervalle s'écrit *caractère tiret caractère* comme dans "0-9" ou "A-Z". "[0-9a-zA-Z_]" est l'ensemble de caractères minimal autorisés dans la construction du motif "[...]". Les caractères internationaux (i.e. des caractères de 8 bits) sont autorisés si le système les prend en charge. Pour supprimer le sens syntaxique spécial de n'importe quel caractère "[]*?!^-\\" dans ou hors d'une construction "[..]" et correspondre au caractère en lui-même, faire précéder ce caractère d'une barre oblique inversée ("\\"). L'utilisation de caractères étendus rend les recherches complexes possible. Par exemple, ceci correspond à n'importe quel nom de répertoire se terminant par « top » : wcd *top Faire correspondre les répertoires qui ont « top » quelque part dans leur nom : wcd *top* Faire correspondre n'importe quel nom de répertoire commençant par « a », « b » ou « c » : wcd [a-c]* Il est également possible de donner une partie du chemin d'un répertoire. Ici Wcd cherche les répertoires dont le nom commençent par « Desk » et qui dont le chemin correspond à **me/Desk**. wcd me/Desk Il est possible d'entrer n'importe quel type d'expression avec des barres obliques et des caractères étendus. Par exemple : wcd src*/*1?/a*2 Autres utilisations Si aucun caractère étendu n'est utilisé et que wcd trouve une correspondance parfaite, wcd ignorera toutes les correspondances étendues par défaut. Ce comportement peut être modifié par l'option -w. Le navigateur d'arborescence de répertoire intéractif peut être démarré en utilisant l'option -g. wcd -g Wcd génère un fichier d'arborescence à l'emplacement de la recherche du répertoire. Sur les systèmes Unix et Windows, wcd ajoute des liens symboliques vers le fichier d'arborescence lors de l'examem du disque, mais ne les suit pas. S'il suivait les liens, wcd pourrait examiner une boucle infinie, ou de très grandes portions d'un réseau. Wcd peut également changer vers des répertoires qui ne sont pas dans le fichier d'arborescence. Par exemple : wcd .. Si wcd trouve une correspondance mais ne peut pas aller au répertoire, il tente alors de le supprimer du fichier d'arborescence par défaut. Pas du fichier d'arborescence supplémentaire. Voir également l'option -k. Wcd conserve une pile de répertoires stockée sur le disque. La pile à une taille par défaut de 10 et est cyclique. Voir les options -z, -, + et =. Dans un environnement multi-utilisateurs, l'option -i peut être utilisée pour se déplacer dans des répertoires d'autres utilisateurs. Sur les systèmes DOS et Windows, peut importe si vous utilisez la barre oblique « / » ou la barre oblique inversée « \\ » comme séparateur de répertoires. Sur les systèmes DOS et Windows, il est possible de changer de lecteur et de répertoire d'un seul coup en faisant précéder le nom du répertoire par le nom du lecteur. wcd d:games chemins Windows UNC Les versions Windows (Command Prompt, PowerShell, MSYS, zsh, cygwin) prennent en charge les chemins Windows SMB LAN UNC sans lettre de lecteur tel que "\\\\servername\\sharename". Wcd pour Windows Command Prompt utilise la commande « pushd » pour faire correspondre un chemin UNC à une lettre de lecteur. Dans Windows PowerShell, MSYS, zsh et Cygwin, les chemins UNC sont pris en charge. Le répertoire de travail courant peut être un chemin UNC. Redimensionnement de console sous Windows Wcd prend en charge le redimensionnement de console dans les consoles Windows 10 et ConEmu (void ) depuis la version 6.0.3. La console Windows 10 ne doit pas être dans le mode « legacy » (vérifier les propriétés de la console). L'écran peut ne pas être rafraîchi lorsque la propriété de « Disposition » « Retour à la ligne automatique du texte de sortie lors d'un redimensionnement » de la console est désactivée. L'écran peut être rafraîchi manuellement en pressant la touche F5. Interfaces Wcd a trois interfaces pour choisir parmi une liste de correspondances. L'interface peut être choisie à la compilation. La première interface utilise simplement stdin/stdout. Une liste numérotée est affichée dans le terminal. L'utilisateur doit choisir parmi cette liste en entrant un nombre suivi de la touche . Cette interface fournit pas la fonctionnalité de défilement arrière lorsque la liste est longue. La fonctionnalité de défilement arrière du terminal/console doit être utilisé. C'est très petit et portable. La seconde interface est basée sur la bibliothèque conio. Elle fourni une capacité de défilement arrière intégrée. L'utilisateur voit affiché une liste ordonnée par des lettres. La sélection dans cette liste peut se faire en pressant une seule lettre. Cette interface est rapide car elle économise les frappes. Si possible, l'écran sera restauré après sortie. Utiliser l'option -N si l'utilisation de nombres est préférrée. La troisième interface est construite avec la bibliothèque curses. Elle est similaire à l'interface conio. La version curses de wcd a une interface « graphique » supplémentaire. Elle laisse l'utilisateur choisir un répertoire via un navigateur plein écran et intéractif d'arbre de répertoires. Elle a une navigation et une méthode de recherche similaire à celle de vim(1). Elle peut être activée avec l'option -g. En utilisant l'option -o il est toujours possible de revenir à l'interface stdin/stdout. OPTIONS -a Ajouter le chemin courant au fichier d'arborescence par défaut. Utiliser cette option pour ajouter de façon rapide le chemin courant au fichier d'arborescence par défaut. Le réexamen complet du disque peut parfois pendre beaucoup de temps. -aa Ajouter le chemin courant et tous les chemins parents au fichier d'arborescence par défaut. -A PATH Examiner l'arborescence de répertoires depuis *CHEMIN* et l'ajouter au fichier d'arborescence par défaut. Exemples : wcd -A . wcd -A /home -A /etc wcd -A d: -A e: -A \\serveur\partage Sur Windows, il est possible d'examiner tous les répertoires partagés d'un serveur LAN Windows en entrant quelque chose comme : Voir également l'option -S et -s et -E. -b Banir le chemin courant. Wcd met le chemin courant dans le fichier de bannissements. Cela signifie que wcd ignore toutes les correspondances de ce répertoire et de ses sous-répertoires. Le fichier de bannissements peut être modifié avec un éditeur de texte. L'utilisation de caractères étendus est prise en charge et les noms sont mis en correspondance avec le chemin absolu. Les chemins bannis ne sont pas exclus de l'examen du disque. Pour cela utiliser l'option -xf. -c, --direct-cd Mode CD direct. Par défaut wcd marche de la façon suivante : 1. Essaie de trouver une correspondance dans le(s) fichier(s) d'arborescence 2. S'il n'y a pas de correspondances, essaie d'ouvrir le répertoire que vous avez entré. En mode CD direct wcd marche en ordre inverse. 1. Essaie d'ouvrir le répertoire que vous avez entré. 2. Sinon, essaie de trouver une correspondance dans le(s) fichier(s) d'arborescence. -d LECTEUR Choisir le lecteur pour le fichier de pile et de « go » (DOS uniquement). Les fichiers de pile et de script-go sont stockés sur le lecteur C: par défaut si la variable d'environnement *HOME* n'est pas définie. Utiliser cette option si le lecteur C: est un lecteur en lecture seule. Cette option doit utiliser devant les options de pile -, + and =. -e Ajouter le chemin courant au fichier d'arborescence supplémentaire. Utiliser cette option pour ajouter rapidement le chemin courant au fichier d'arborescence supplémentaire. -ee Ajouter le chemin courant et tous les chemins parents au fichier d'arborescence supplémentaire. -E PATH Examiner l'arborescence de répertoires depuis *CHEMIN* et ajouter au fichier d'arborescence supplémentaire. Voir aussi les options -A et -S. -f FICHIER Lire le fichier d'arborescence *FICHIER*. Ne pas lire le fichier d'arborescence par défaut. +f FICHIER Lire le fichier d'arborescence *FICHIER* en plus du fichier d'arborescence par défaut. -g Interface graphique (uniquement pour les versions avec l'interface curses). Wcd démarre une interface « graphique » textuelle basée sur curses. L'utilisateur peut choisir un répertoire via le navigateur d'arbre de répertoires intéractif en plein écran. Il possède une méthode de navigation et de recherche similaire à celle de vim(1). Si aucune chaîne de recherche n'est donnée, wcd affiche l'arbre entier qui se trouve dans le fichier d'arborescence par défaut ainsi que dans les fichiers d'arborescence supplémentaires. Si une chaîne de recherche est donnée, la liste des correspondances est affichée comme un arbre de répertoires. La disposition par défaut de l'arbre est similaire à celle du NCD initial sur DOS. La différence de disposition réside dans le fait que pour NCD, tous les répertoires de profondeur identique étaient alignés verticalement sur toute la hauteur de l'arbre. Cela était possible sous NCD parce que la longueur maximale d'un nom de répertoire sous DOS était de 12 (8.3) caractères. Les noms de répertoire pouvant être très longs sur les systèmes d'exploitation modernes, la différence de longeur peut être importante. De fait, les dossiers de même profondeur ne sont pas alignés verticalement sur la totalité de l'arbre dans wcd, mais seulement dans les sous-branches. Il y a donc des mouvements latéraux lors d'un déplacement direct vers le haut ou vers le bas depuis une sous-branche vers une autre sous-branche. Le comportement de navigation de Wcd est exactement identique à celui du NCD initial. Par exemple, l'appui sur la touche Bas du clavier amène au répertoire suivant avec la même profondeur, passant outre les branches. Cela permet une navigation rapide dans l'arbre. Voir les options -Ta, -TC, et -Tc pour modifier le comportement de la navigation. -gd Décharger les fichiers d'arborescence sous forme d'arbre sur la sortie standard. -G PATH Ecrire le script « go » dans le répertoire *CHEMIN*. Par exemple sur Unix, "wcd -G CHEMIN" va écrire un fichier de script « go » CHEMIN/wcd.go. -GN, --no-go-script Ne pas créer un script « go ». Cette option peut être utilisée en association avec l'option -j si la création d'un script « go » n'est pas désirée. -h, --help Afficher l'aide et quitter. -i, --ignore-case Ignorer la casse. Les versions Dos et Windows de wcd ignore la casse par défaut. Les versions Unix/Cygwin respectent en compte la casse par défaut. +i, --no-ignore-case Respecter la casse. Voir aussi l'option -i. -I, --ignore-diacritics Ignorer les caractères diacritiques pour les scripts en Latin. Les lettres avec des symboles diacritiques correspondent à leur lettre de base dans ces symboles diacritiques. Les encodages Latin suivant sont pris en charge : CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, et Unicode Latin-1, Latin Extended-A, et Latin Extended-B. Voir aussi +I, --no-ignore-diacritics Prendre en compte les diacritiques (défaut). Voir aussi l'option -I. -j, --just-go Mode à accès direct. Dans ce mode, wcd ne présentera pas de liste lorsqu'il y a plusieurs répertoires correspondant au répertoire donné. Wcd changera vers la première option. Lorsque wcd est appelé une nouvelle fois avec les même arguments, il changera vers l'option suivante et ainsi de suite. Wcd affichera le répertoire vers lesquel aller sur la sortie standard. Une méthode d'installation différente peut être utilisée. On pourra écrire la fonction suivante pour une interface système compatible POSIX : wcd () { cd "$($HOME/bin/wcd.exe -j $@)" } Lors de l'utilisation d'une interface système ancienne ne prenant pas en charge la substitution de commande « $() », il faut recourir à la substitution de commande ancienne utilisant l'accent grave. wcd () { cd "`$HOME/bin/wcd.exe -j $@`" } Sur les systèmes Windows, si l'interface système 4NT est utilisée, il est alors possible de faire l'alias suivant : alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]` Cette méthode supprime la nécessité d'un script « go », et il est donc possible de combiner l'option -GN avec l'option -j. -k, --keep-paths Garder les chemins. Conserver les chemins dans le fichier d'arborescence lorsque wcd ne peut s'y déplacer. Le comportement par défaut de wcd est d'essayer de supprimer les chemins du fichier d'arborescence lorsque wcd ne peut s'y rendre. Cette option désactive ce comportement. -K, --color Utiliser les couleurs en mode graphique. -l ALIAS Nommer le chemin courant avec *ALIAS*. Wcd ajoute le chemin courant avec *ALIAS* pour alias dans le fichier d'alias. Les alias sont sensibles à la casse. -ls Afficher le nom du fichier d'alias et lister tous les alias. -m DIR Créer un répertoire et l'ajouter au fichier d'arborescence. -L, --license Afficher la license de distribution. -M DIR Créer un répertoire et l'ajouter au fichier d'arborescence supplémentaire. -n PATH Lire le fichier d'arborescence relative depuis *CHEMIN*. Ne pas lire le fichier d'arborescence par défaut. Le fichier d'arborescence relative doit avoir été créé en utilisant l'option +S de wcd. *CHEMIN* peut également référencer directement un fichier. Un exemple. Supposons qu'un autre système a été monté au point de montage "/mnt/network" : wcd -n /mnt/network src Wcd ouvre le ficher d'arborescence relative dans "/mnt/network/". Le fichier contient les chemins relatifs depuis cet endroit. +n PATH Lire le ficher d'arborescence relative en plus du fichier d'arborescence par défaut. Voir l'option -n. -N, --numbers Utiliser des nombres à la place de lettres. Wcd avec une interface basée sur conio ou curses (void la section Interfaces) affiche une liste de correspondances indexée par des lettres par défaut. Lorsque l'option -N est utilisée, la liste de correspondances est indexée par des nombres. Indépendamment de l'option -N, il est possible d'entrer une lettre ou un nombre pour effectuer une sélection dans la liste de correspondances. -o Utiliser l'interface stdin/stdout. Lorsque l'interface conio ou curses de wcd ne fonctionne pas pour quelque raison que ce soit, il est possible de se replier sur l'interface stdin/stdout de wcd en utilisant l'option -o. -od, --to-stdout Décharger l'ensemble des correspondances dans stdout. -q, --quiet Opération plus silencieuse. L'affichage de la dernière correspondance est supprimé. -r DIR Supprimer un répertoire et le supprimer du fichier d'arborescence. Si le répertoire est vide, wcd le supprimera et tentera de le supprimer du fichier d'arborescence. -rmtree DIR Supprimer un répertoire de façon récursive et le supprimer du fichier d'arborescence. Wcd supprimera le répertoire ainsi que tous ses sous-répertoires et fichiers et supprimera ces répertoires du fichier d'arborescence. -s (re)Examiner le disque depuis le répertoire "HOME". Si *HOME* n'est pas défini, le disque est examiné depuis le répertoire racine /. Le fichier d'arborescence par défaut existant est écrasé. Le répertoire d'exam par défaut peut être renversé par la variable d'enrivonnement "WCDSCAN". Voir la section VARIABLES D'ENVIRONNEMENT . -S PATH Examiner l'arbre de répertoires depuis *CHEMIN* et écraser le fichier d'arborescence par défaut. Voir aussi les options -A, -s et -E. Par exemple, avec l'option -A il est possible de créer un fichier d'arborescence par défaut de votre choix. Exemples :" Unix : wcd -S / wcd -S /home -A /etc -A /usr DOS / Windows : wcd -S c:/ wcd -S c: -A d: -A \\serveur\partage Avec le versions Windows, il est possible d'examiner tous les répertoires partagés d'un serveur LAN Windows en entrant une commande similaire à : "wcd -S \\\\nomserveur". +S PATH Examiner le disque depuis *CHEMIN* et placer les chemins relatifs dans un fichier d'arborescence relative. Ce fichier est utilisé par les options -n et +n de wcd. Par exemple "wcd -n CHEMIN src". -t Ne pas éviter le dossier de montage temporaire "/tmp_mnt" (Unix uniquement) Par défaut, wcd retire "/tmp_mnt/" des correpondances. Le répertoire "/tmp_mnt" est utilisé par la montage automatique. Ce comportement peut être évité avec l'option -t. -T, --ascii-tree Dessiner l'arbre avec des caractères ASCCI. Utiliser cette option si les caractères de dessin de ligne ne s'affichent pas correctement dans le terminal. -Ta, --alt-tree-nav Navigation alternative dans l'arbre graphique. Dans la disposition d'arbre en style du NCD par défaut, l'option -Ta désactive le saut vers des répertoires sans liens. Dans le mode d'arbre compact, le mode alternatif rend la navigation similaire à celle de gestionnaires de fichiers graphiques tels que Windows Explorer ou Linux KDE Konqueror. L'appui sur les touches Haut et Bas déplace le dossier sélectionné d'une ligne vers le haut ou le bas. Le premier appui sur la touche Gauche replie les sous-dossiers, le second se déplace réellement à gauche. Il est possible de basculer à la volée entre une navigation par défaut et alternative en pressant . Lorsque le mode de navigation alternative est activé, in « A » est visible dans l'angle inférieur droit. -TC, --center-tree Vue centrée dans l'arbre graphique. Le répertoire choisi reste au centre de l'écran. Le mode centré peut aussi être activé/désactivé avec la clef dans l'arbre graphique. Le comportement non centré standard, qui minimise le mouvement d'arbre, est identique à celui du NCD original. -Tc, --compact-tree Par défaut l'arbre « graphique » est dessiné de la même façon que le faisait le NCD original sur DOS. Sur DOS, un chemin de répertoire ne pouvait faire que 66 caractères au total. Avec les structures de répertoire profondes comtemporaines, l'arbre peut devenir très large. Pour surmonter cela, wcd peut dessiner l'arbre d'une façon compacte, de façon similaire à la plus part des gestionnaires de fichier graphiques, avec un seul fichier par ligne. Utiliser l'option -Tc ou basculer à la volée avec la clef . -Td, --cjk-width Les polices CJK d'Asie de l'est (Chine, Japon et Korée) possèdent certains caractères et symboles de tracé de ligne avec une largeur de colonne de 2, alors que la largeur Unicode normale pour ces caractères est de 1 colonne. Par exemple, la police de trame CP936 chinoise sur Windows et la police Simsun. Utiliser cette option lorsqu'une police de type CJK est utilisée pour obtenir un contour de l'arbre graphique correct. Lorsque le mode CJK est actif, un « C » est affiché dans le coin inférieur droit. -u UTILISATEUR Examiner le fichier d'arborescence d'un autre utilisateur en se basant sur *USER*, ne pas examiner votre propre fichier d'arborescence. Voir aussi *WCDUSERHOME* dans la section VARIABLES D'ENVIRONNEMENT. Sur Unix/Cygwin le répertoire racine pour les répertoires utilisateur est supposé être "/home". Wcd recherchera "/home/USER/.treedata.wcd" et "/home/USER/.wcd/.treedata.wcd", dans cet ordre, lira le premier fichier existant et lisible. Sur DOS/Windows le répertoire racine pour les répertoires utilisateur est supposé être "\\users", donc wcd tentera de lire"\\users\USER\treedata.wcd" and "\\users\USER\.wcd\treedata.wcd". +u UTILISATEUR Lire le fichier d'arborescence par défaut de l'UTILISATEUR en plus de votre fichier d'arborescence. -v, --verbose Afficher les messages verbeux. Avec cette option wcd affiche tous les filtres, les bannissements et les exclusions. -V, --version Afficher les informations de version et sortir. -w, --wild-match-only Correspondance étendue seulement. Traiter toutes les correspondances comme des correspondances étendues. -x CHEMIN Exclure *CHEMIN* de l'examen. Lorsque cette option est utilisée, wcd exclu le *CHEMIN* et tous les sous-répertoires lors de l'examen d'un disque. Les caractères étendus sont pris en charge et mis en correspondance avec les chemins absolus. L'option -x peut être utilisée plusieurs fois. wcd -x -x -s L'option -x doit être utilisée avant toute option d'examen (-s, -S, +S, -A, -E). Sur les systèmes DOS/Windows la précision de la lettre de lecteur dépend de l'utilisation ou non des variables d'environnement *HOME* ou *WCDHOME*. Si *HOME* ou *WCDHOME* sont fixées alors il faut préciser la lettre de lecteur. Par exemple : wcd -x c:/temp -S c: Sinon, il n'est pas nécessaire de préciser la lettre de lecteur. wcd -x /temp -s -xf FILE Exclure de l'examen tous les chemins listés dans *FICHIER*. Lorsque cette option est utilisée, wcd excluera tous les chemins listés dans *FICHIER* et tous leurs sous-répertoires durant l'examen d'un disque. Les caractères étendus sont pris en charge et ils sont mis en correspondance de chemins absolus ; un chemin par ligne. Il faut être attentif au fait que wcd n'ignore pas les espaces commencant et terminant une ligne parce qu'il s'agit de caractères légaux pour un nom de répertoire. L'option -xf peut être utilisée plusieurs fois. Lorsque l'exclusion de tous les chemins bannis est souhaitée, il est possible de faire de la sorte (exemple pour wcd sur unix) : wcd -xf ~/.ban.wcd -s Les caractères étendus sont pris en charge. Par exemple, pour exclure tous les répertoires Subversion contenant des fichiers d'administration, ajoutez une ligne avec "*/.svn". L'option -xf doit être utilisée avant toute option d'examen (-s, -S, +S, -A, -E). -y, --assume-yes Supposer Oui pour toutes les requêtes. Wcd ne posera pas de questions oui/non à l'utilisateur, mais suppose qu'il répondra oui à toutes les questions. Cela peut être utilisé en combinaison de l'option -rmtree. Cette option doit être utilisée avant les options qui peuvent déboucher à des questions oui/non. -z NOMBRE Fixer la taille maximale de la pile à NOMBRE. La taille par défaut de la pile est de 10. Les opérations sur la pile peuvent être désactivées en paramètrant la taille à 0. Cette option doit être utilisée avant toute autre option d'opération sur la pile (-,+,=). Autrement, la taille de la pile sera remise à sa valeur par défaut 10. Une commande correcte est : wcd -z 50 - La nouvelle taille de pile sera de 50, wcd ira un répertoire en arrière. Un commande erronée est : wcd - -z 50 Wcd va en arrière d'un répertoire, la pile à une valeur par défaut de 10. Le -z 50 est ignoré. Ajouter cette option en première option de votre alias ou fonction wcd. Un exemple pour l'interface d'administration compatible POSIX serait : wcd () { wcd.exe -z 50 "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go } -[NOMBRE] Empiler les répertoires NOMBRE de fois. Un par défaut. Retourner en arrière d'un répertoire. La commande retourne en arrière d'un répertoire. Y ajouter un nombre pour retourner en arrière de plusieurs répertoires. Exemple : "wcd -3". La pile est cyclique. +[NOMBRE] Dépiler les répertoires NOMBRE fois. Un par défaut. Avancer d'un répertoire. La commande "wcd +" avance d'un répertoire. Y ajouter un nombre pour avancer de plusieurs répertoires. Par exemple : "wcd +2". La pile est cyclique. = Afficher la pile. Utiliser cette option si vous ne savez plus de combien de fois empiler ou dépiler. La pile est afficher et il est possible de choisir un nombre. La position courante de la pile est désignée par une astérisque "*". INSTALLATION Le répertoire de travail courant d'une interface système Unix ne peut être changé que par la commande cd(1) intégrée. Un programme est donc toujours appelé par une fonction ou un alias. La fonction où l'alias inclu un script d'interface système (script « go ») qui est généré par le programme wcd. Wcd ne peut fonctionner qu'après que la fonction ou l'alias aient été définis. Un autre impact important de votre installation est la définition des variables d'environnement *HOME* and *WCDHOME*. Voir la section VARIABLES D'ENVIRONNEMENT. Installation pour les interfaces système de type POSIX Pour les interfaces système POSIX (ksh, bash, zsh, etc.) sur Unix, Linux, Cygwin ou MSYS natif, ajouter la fonction suivante au fichier de démarrage de l'interface système (Bash utilise par exemple "$HOME/.bashrc") : wcd () { PATH/wcd.exe "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go } Remplacer *CHEMIN* par l'emplacement où l'exécutable de wcd a été installé. Recharger le fichier d'initialisation de l'interface système ou démarrer une nouvelle interface système. L'emplacement du script « go » "wcd.go" diffère par interface système. Wcd pour les interfaces système DOS DJGPP et OS/2 exige une fonction différente. Le script « go » n'est pas écrit dans un répertoire "bin", et si *WCDHOME* et *HOME* sont toutes deux non définies, le script « go » est écrit sur c:/. bash DOS : wcd () { PATH/wcdbash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } bash OS/2 : wcd () { PATH/wcdos2bash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } La version WinZsh de wcd exige une fonction légèrement différente. Le script « go » ne sera jamais écrit dans c:/. wcd () { PATH/wcdwin32zsh.exe "$@" . ${WCDHOME:-${HOME}}/wcd.go } Voir la section FICHIERS pour plus d'informations. Installation pour les interfaces système de type C (csh, tcsh) Ajouter les alias suivants au fichier de démarrage de l'interface système "$HOME/.cshrc" ou "$HOME/.tcshrc" : if ( ${?WCDHOME} ) then alias wcd "PATH/wcd.exe \!* ; source $WCDHOME/bin/wcd.go" else alias wcd "PATH/wcd.exe \!* ; source $HOME/bin/wcd.go" endif Remplacer *CHEMIN* par l'emplacement où l'exécutable de wcd a été installé. Recharger le fichier d'initialisation de l'interface système ou démarrer une nouvelle interface système. version de l'Invite de Commande Windows Dépaqueter le fichier zip et ajouter le répertoire "bin" à votre variable d'environnement *CHEMIN*. Dans Windows Command Prompt, un programme Windows ne peut pas changer de répertoire de travail courant, mais un fichier .bat le peut. Le script de commande "wcd.bat" exécute le programme wcd qui génère un nouveau fichier de commande "wcdgo.bat". "wcd.bat" exécute ensuite "wcdgo.bat" qui change effectivement de répertoire. Windows VISTA et ultérieur Dans un Commande Prompt Windows Vista ou de niveau plus haut, l'accès aux répertoires peut être limité. Pour avoir accès à plus de répertoires des droits administrateurs sont requis. Il est possible d'obtenir un Commande Prompt avec des droits administrateurs en cliquant avec le bouton droit sur l'icône du Commande Prompt puis en choisissant *Exécuter en tant qu'administrateur*. Version Windows PowerShell Ajouter la fonction suivante à votre profil utilisateur PowerShell. L'emplacement de ce profil est stocké dans la variable $profile. Il est requis que l'une des deux variables d'environnement *HOME* et *WCDHOME* soit définie. function wcd { PATH\wcdwin32psh.exe $args & $env:HOME\wcdgo.ps1 } Remplacer *PATH* avec l'emplacement où l'exécutable de wcd a été installé. Démarrer un nouveau PowerShell. Wcd pour PowerShell prend uniquement en charge le fournisseur de système de fichier. Pas d'autres fournisseurs de système de fichier. version OS/2 Command Prompt Dans un OS/2 Command Prompt (cmd.exe) un programme OS/2 ne peut changer de répertoire de travail courant. C'est pourquoi wcd génère un script de commande "wcdgo.cmd" qui doit être exécuté dans l'interface système actuelle. Le script "wcd.cmd" exécute dans un premier temps "wcdos2.exe" qui crée le script "wcdgo.cmd". Ensuite "wcd.cmd" exécute le script "wcdgo.cmd". LOCALISATION LANG Le langage principal est sélectionné avec la variable d'environnement *LANG*. Cette variable est composée de plusieurs parties. La première partie, en lettres minuscules, est le code de la langue. La seconde, optionnelle et en lettres majuscules, est le code du pays précédé d'un tiret bas. Il y a également une troisième partie optionnelle : l'encodage des caractères, précédé par un point. Quelques exemples pour les interfaces système conforme au standard POSIX : export LANG=fr Français export LANG=fr_FR Français, France export LANG=fr_BE Français, Belgique export LANG=es_ES Espagnol, Espagne export LANG=es_MX Espagnol, Mexique export LANG=en_US.iso88591 Anglais, USA, encodage Latin-1 Pour une liste complète des codes de langue et de pays voir le manuel de gettext(1) : Sur les systèmes Unix, la commande locale(1) peut être utilisée pour voir les informations précises de localisation. LANGAGE Avec la variable d'environnement *LANG*, il est possible de spécifier un liste de priorité de langues séparée par des virgules. Wcd donne une préférence à *LANGUAGE* sur *LANG*. Par exemple, d'abord néerlandais puis allemand : "LANGUAGE=nl:de". Il faut d'abord activer la localisation en fixant *LANG* ou *LC_ALL* à une valeur autre que *C* avant de pouvoir utiliser un liste de priorités de langue avec la variable *LANGUAGE*. Voir aussi le manuel de gettext(1) : Si vous sélectionnez un langage qui n'est pas disponible, les messages seront affichés en anglais standard. WCDLOCALEDIR La variable *LOCALEDIR* utilisée pendant la compilation et l'installation de wcd peut être renversée avec la variable d'environnement *WCDLOCALEDIR*. *LOCALEDIR* est utilisée par wcd avec prise en chage de langage natif pour trouver les fichiers de langue. La valeur par défaut pour GNU est "/usr/local/share/locale". En tapant "wcd -V", wcd affichera la variable *LOCALEDIR* utilisée. Si vous avez installé wcd dans un répertoire différent du répertoire par défaut, il vous faut peut être définir la variable d'environnement *WCDLOCALEDIR* pour pointer vers le répertoire de locales. Un exemple pour le cmd Windows : set WCDLOCALEDIR=c:/my_prefix/share/locale Un example pour une interface système POSIX : export WCDLOCALEDIR=$HOME/share/locale LC_COLLATE Lorsque plusieurs répertoires correspondent wcd affiche une liste triée. L'ordre dépend des paramètres de locale. Si la variable d'environnement *LANG* a été définie, les correspondances sont triées comme les sont les dictionnaires ou les annuaires téléphonique dans cette langue. Par exemple, les points et les tirets sont ignorés, ou bien les lettres e avec ou sans accent sont identiques, ou bien la casse est ignorée. Le tri donne préférence à la variable d'environnement *LC_COLLATE* devant *LANG*. Si vous rendez *LC_COLLATE* égal à "C" ou "POSIX", le tri selon la locale est désactivé. Par exemple, si vous voulez du néerlandais mais un tri que n'est pas néerlandais, vous pouvez faire de la sorte : export LANG=fr_FR export LC_COLLATE=C LC_CTYPE En ce qui concerne l'encodage de caractères, wcd donnera une préférence à la variable *LC_CTYPE* sur la variable *LANG*. Par exemple, pour fixer l'encodage de caractère en UTF-8, le paramètrage de l'environnement suivant peut être appliqué. export LC_CTYPE=fr_FR.UTF-8 LC_ALL Toutes les variables d'enrironnement de locales qui commencent par *LC_* sont renversées par la variable d'environnement *LC_ALL* si elle est définie. Wcd donnera une préférence à *LC_ALL* sur *LC_COLLATE* et *LC_CTYPE*. PAGES DE CODES WINDOWS Il y a deux groupes de page de code : les pages de code DOS (OEM) et les pages de code Windows (ANSI). L'encodage par défaut de Windows, lorsqu'il est configuré avec les paramètres de régions occidentales, est ANSI CP1252. Les programmes Windows, par exemple le bloc-notes, utilisent cette page de code ANSI par défaut. La console Windows utilise par défaut une page de code OEM (CP437 ou CP850) pour compatibilité avec les programmes DOS. Si vous utilisez une version DOS de wcd dans une console Windows, cela marchera grâce à la page de code DOS. Cependant la version DOS de wcd ne prend pas en charge de longs noms de répertoire et de lecteur réseau sur Windows. La version Windows de wcd est un programme Windows natif et utilise la page de code ANSI du système Windows. Donc sur un Windows configuré pour une région occidentale la page de code CP1252 est utilisée pour les noms de répertoire et les messages. Dans le but d'obtenir des sorties uniformes, indépendant des pages de code actives, toutes les versions de Wcd pour Windows traduisent les sorties ANSI en sorties Unicode dans le Command Prompt et le PowerShell. La police de trame de la console ne prend en charge que la page de code OEM installée avec Windows, et il faut donc changer la page de code de la console à Lucidia Console correctement typé pour faire apparaître les lettres Unicode (et ANSI) correctement. Les versions non-Unicode de Wcd *avant la version 5.2.0* utilisent une sortie entièrement ANSI. Pour ces anciennes versions, la page de code de la console a été faite pour être identique à la page de code du système (changé à 1252) dans le but de faire fonctionner wcd pour Windows correctement avec des caractères spéciaux tels que les caractères avec accent ou le symbole de l'Euro. La page de code Windows peut être changée via les options de région du Panneau de Contrôle. La page de code de la console Windows est changée avec la commande "chcp". Lorsque vous tapez "wcd -V", l'encodage de caractère effectif utilisé par wcd est affiché. Tapez la commande "chcp" pour afficher la page de codes active de la console Windows. UNICODE Wcd a une prise en charge optionnelle de l'Unicode. Pour voir si wcd a été empaqueté avec la prise en charge de l'Unicode, tapez "wcd -V". Si votre terminal/console et la police le prend en charge, vous devriez voir le symbole de l'Euro ainsi que des caractères chinois (voulant dire : « chinois »). Wcd a été converti de « façon logicielle» à l'Unicode. En son coeur, Wcd traite toutes les données comme un flux d'octets. Seules les lignes affichées à l'écran sont converties à la volée en caractères Unicode larges. Wcd s'appuie entièrement sur des fonctions de la libc et n'a pas de code UTF-8 spécifique. Voir aussi . Wcd a une prise en charge optionnelle de mise en correspondances avec de l'Unicode normalisé. Pour déterminer si Wcd prend en charge la normalisation, tapez "wcd -V". Wcd avec une prise en charge de la normalisation Unicode fera correspondre les noms Unicode en se basant sur une équivalence « compatible ». Sans prise en charge de la normalisation Unicode, les noms sont mis en correspondance lorsque leur binaires sont équivalents. Voir aussi UTF-8 sur Unix/Linux Pour voir les caractères UTF-8, votre console/terminal doivent également prendre en charge l'UTF-8. La version xterm empaquetée avec XFree86 4.0 ou supérieur include une prise en charge de l'UTF-8. Pour l'activer, démarez xterm(1) dans une locale UTF-8 et utilisez une police avec un encodage iso10646-1, par exemple avec LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1' Les distributions modernes de GNU/Linux prennent en charge l'UTF-8 par défaut. D'autre encodage de caractère sur plusieurs octets devraient également fonctionner, mais cela n'a pas été testé. Wcd suppose que les fichiers d'arborescence sont encodés dans l'encodage de caractère local. Il n'y a pas d'Indicateur d'Ordre des Octets écrit dans les fichiers d'arborescence. UTF-16 sur Windows Sur Windows, l'Unicode est pris en charge pour toutes les versions de PowerShell, et dans le Windows Command Prompt sur Windows 7 (ou ultérieur). Unicode fonctionne également dans Take Command ou TCC/LE édités par JP Software, et pouvant être utilisés sur des version de Windows plus anciennes (XP/Vista). Sur Windows, tous les noms de répertoire sur le disque sont encodés en Unicode UTF-16. Pour des programmes Windows non Unicode, les caractères Unicode sont traduits vers la page de code ANSI par défaut. Cette traduction de caractères ne faisant pas partis du paramètrage régional n'est pas possible et les programmes non Unicode affichent un point d'intérogation ou bien un mauvais caractères. Wcd avec prise en charge de l'Unicode lit les noms de répertoire encodé en UTF-16 et les convertis de façon interne en UTF-8. Tous les fichiers d'arborescence sont encodés en UTF-8 et ne sont pas compatibles avec la version non Unicode de Wcd. Wcd créera un script « go » en UTF-8. Toutes les versions de Windows PowerShell sont capable d'exécuter des scripts encodés en UTF-8 s'il y a un BOM UTF-8 dans le script. Depuis Windows 7 il est possible de changer de répertoire avec un script batch dans Windows Command Prompt vers un répertoire avec une lettres Unicode dans le nom. Le nom du répertoire doit être encodé en UTF-8, et le script batch ne doit *pas* avoir de BOM. La page de code active du Command Prompt doit être fixée à 65001 (UTF-8) avant la commande cd. Wcd pour Command Prompt créera un script « go » "wcdgo.bat". Dans un premier temps, il change la page de code à 65001 puis change de répertoire et enfin fixe la page de code à sa valeur initiale. Vous devez fixer la police à True Type Lucida Console (et non une police de trame) lorsque les lettres n'apparaîssent pas correctement. La version pour Windows non Unicode de Wcd peut lire des fichiers d'arborescence Unicode depuis la version 5.2.0 s'il y a un Indicateur d'Ordre des Octets (BOM) dans le fichier (voir ), mais il ne peut se déplacer vers des répertoires dont le nom contient des lettres Unicodes et qui ne font pas parties de la page de code ANSI par défaut du système. La version pour Windows non Unicode écrit un BOM dans les fichiers d'arborescence encodés en UTF-8 depuis la version 5.2.0, ce qui les rends également lisible par le bloc-notes. UTF-8 sur Cygwin Cygwin prend en charge l'Unicode depuis la version 1.7. La couche Cygwin s'occupe de la conversion des noms Unicode UTF-16 Windows en UTF-8. Donc des programmes tels que Wcd n'ont pas besoin de savoir cela et peuvent fonctionner en utilisant l'encodage UTF-8 sur Unix/Linux. Fixer l'encodage de caractères à UTF-8 avec les variables d'environnement *LANG* ou *LC_CTYPE*. Il peut être nécessaire de réexaminer les disques. Il faut fixer la police à True Type Lucida Console (et non à une police de trame) si vous utilisez la console Cygwin par défaut. La version Cygwin se comporte de la même façon que la version Unix de wcd. Il n'y a pas de BOM écrit dans les fichiers d'arborescence, et il est supposé qu'ils sont encodés dans l'encodage de caractère de la locale Cygwin. FICHIERS Si la variable d'environnement *WCDHOME* est définie, wcd utilisera *WCDHOME* au lieu de *HOME*. Tous les fichiers "*.wcd" sont des fichiers texte. Ils peuvent être modifié avec un éditeur de texte. La version Windows Command Prompt de wcd se comporte comme la version DOS. La version Cygwin de wcd se comporte comme la version Unix. wcd.exe Le programme. Dans les interfaces système Unix, le programme est toujours appelé par une fonction ou un alias parce que le répertoire courant de travail d'une interface système Unix ne peut être changé que par la commande cd intégrée. Voir également la section INSTALLATION. fichier d'arborescence par défaut C'est le fichier d'arborescence par défaut où wcd cherche les correspondances. S'il n'est pas lisible, wcd en créera un nouveau. S \treedata.wcd ou %HOME%\treedata.wcd S $HOME/.treedata.wcd fichier d'arborescence supplémentaire Un fichier d'arborescence supplémentaire optionel. S'il existe et est lisible, wcd tentera de trouver des correspondances depuis ce fichier également. S \extra.wcd ou %HOME%\extra.wcd S $HOME/.extra.wcd bannir le fichier Wcd place dans ce fichier optionnel les chemins bannis. Voir l'option -b. Les caractères étendus sont pris en charge. S \ban.wcd ou %HOME%\ban.wcd S $HOME/.ban.wcd fichier d'alias Fichier optionnel avec les alias wcd. Voir l'option -l. S \alias.wcd ou %HOME%\alias.wcd S $HOME/.alias.wcd fichier de pile Wcd stocke sa pile dans ce fichier. La lettre de lecteur peut être changée avec l'option -d. S c:\stack.wcd ou %HOME%\stack.wcd S $HOME/.stack.wcd Le nom di fichier de pile peut être changé avec la variable d'environnement *WCDSTACKFILE*. Voir la section VARIABLES D'ENVIRONNEMENT. go-script C'est le script d'interface système que wcd.exe crée à chaque fois. Il est inclus par une function ou un alias. La lettre de lecteur peut être changée avec l'option -d. Pour des raisons historiques, il est placé dans "$HOME/bin" par défaut sur les systèmes Unix. Le répertoire de ce fichier peut être changé avec l'option -G. interface système S c:/wcd.go or $HOME/wcd.go Windows Command S c:\wcdgo.bat or %HOME%\wcdgo.bat Windows S $env:HOME\wcdgo.ps1 S $HOME/wcd.go S $HOME/bin/wcd.go OS/2 Command S c:\wcdgo.cmd or %HOME%\wcdgo.cmd interface système S c:/wcd.go or $HOME/wcd.go S $HOME/bin/wcd.go fichier d'arborescence relative Fichier texte avec les chemins relatifs à *REP*. Voir les options +S, -n et +n. S PATH\rtdata.wcd S PATH/.rtdata.wcd VARIABLES D'ENVIRONNEMENT HOME Wcd utilise par défaut la variable d'environnement *HOME* pour déterminer où stocker ses fichiers. Voir également la section FICHIERS. Cela peut être modifié avec la variable d'environnement *WCDHOME*. *HOME* définit également où commencer l'examen du disque lorsque l'option -s est utilisée. Ceci peut être modifié avec la variable d'environnement *WCDSCAN*. Pour la version Unix, Cygwin, Windows PowerShell, WinZsh et MSYS, il est nécessaire que *HOME* ou *WCDHOME* soient définies. L'utilisation de ces variables est optionnelle pour les autres versions de wcd. Si *HOME* est défini sur DOS/Windows, wcd placera tous ses fichiers (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) dans le répertoire *HOME*. Le comportement de wcd est alors identique à celui de la version Unix de wcd. Wcd examinera le disque depuis *HOME* par défaut. Les lecteurs ne seront pas automatiquement examinés lors d'un basculement. Vous devez explicitement le demander à wcd. Par exemple : wcd -S c: -A d: -A e: La correspondance des répertoires est maintenant globale à tous les lecteurs examinés. WCDHOME La variable d'environnement *WCDHOME* peut être utilisée pour changer l'emplacement des fichiers de wcd. Si *HOME* et *WCDHOME* sont toutes deux définies, *WCDHOME* sera utilisée à la place de *HOME*. Dans les versions antérieures à la version 5.1.5, *WCDHOME* changeait également le répertoire d'examen par défaut. Cela a été modifié. Depuis la version 5.1.5, *WCDHOME* ne modifie pas le répertoire d'examen par défaut. Voir l'option -s. Depuis la version 5.1.5, la variable d'environnement *WCDSCAN* peut être utilisée pour modifier le répertoire d'examen par défaut. Exemple pour DOS, Windows, OS/2 Command Prompt : set WCDHOME=C:\Users\erwin\wcd Un exemple pour les interfaces système POSIX : export WCDHOME="$HOME/.wcd" Un exemple pour les interfaces système Csh : setenv WCDHOME "$HOME/.wcd" WCDSCAN Utiliser la variable d'environnement *WCDSCAN* pour modifier le répertoire d'examen par défaut *HOME*. Une liste séparée par des virgules (Unix) peut être utilisée pour spécifier plusieursrépertoires. Sur DOS/Windows, la liste doit être séparée par des point-virgules. Exemples pour DOS, Windows, OS/2 Commande Prompt : set WCDSCAN=C:\Utilisateurs\erwin;D:\donnees set WCDSCAN=%HOMELECTEUR%%HOMECHEMIN%;\\projetlecteur\projetX Un exemple pour les interfaces système POSIX : export WCDSCAN="$HOME:/projectdisque/projetX" Un exemple pour les interfaces système Csh : setenv WCDSCAN "$HOME:/projectdisque/projetX" WCDFILTER Spécifier des filtres avec la variable d'environnment *WCDFILTER*. Tous les répertoires qui ne correspondent pas au(x) filtre(s) sont ignorés. Une liste peut être données en séparant les filtres avec le séparateur de chemin de l'interface système. De façon similaire à la définition de la variable *PATH*. La sensibilité à la casse est dictée par le système d'exploitation. Un exemple pour DOS, Windows, OS/2 Commande Prompt : set WCDFILTER=projects;doc Un exemple pour les interfaces système POSIX : export WCDFILTER="projets:doc" Un exemple pour les interfaces système Csh : setenv WCDFILTER "projets:doc" WCDBAN Les chemins spécifiés par la variable d'environnement *WCDBAN* seront bannis par wcd. Voir aussi l'option -b. Donner une liste de chemins séparés par le séparateur d'interface système de *PATH*. WCDEXCLUDE Les chemins spécifiés par la variables d'environnement *WCDEXCLUDE* seront exlus par wcd. Voir aussi les options -x et -xf. Donner une liste de chemins séparés par le séparateur d'interface système de *PATH*. Un exemple pour DOS, Windows, OS/2 Commande Prompt : set WCDEXCLUDE=*/windows;*/temp;*CVS Un exemple pour les interfaces système POSIX : export WCDEXCLUDE="/dev:/tmp:*CVS" Un exemple pour les interfaces système Csh : setenv WCDEXCLUDE "/dev:/tmp:*CVS" WCDUSERSHOME Défini la racine des répertoires d'utilisateur. Sur DOS/Windows, la valeur par défaut est "\\users". Sur Unix/Cygwin, la valeur par défaut est "/home". Cette variable est utilisée pour examiner les fichiers d'arborescence d'autres utilisateurs. Voir les options -u et +u. En mode verbeux, wcd imprimera tous les filtres, bannissements et exclusions. Voir l'option -v. WCDSTACKFILE Wcd donne une préférence à *WCDSTACKFILE* sur le nom du fichier de pile par défaut (voir la section FICHIERS). Avec cette variable, chaque interface système (ou émulateur de terminal) peut avoir sa pile privée de répertoires utilisés. Pour utiliser un fichier YYYYMMDD-HHMMSS unique basé sur le temps pour chaque interface système intéractive ouverte. export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S) Pour une pile par xterm(1), utiliser la variable d'environnement xterm *WINDOWID* : export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID Pour GNU screen(1), pour utiliser une pile par écran : export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW TERMINFO Si la variable d'environnement *TERMINFO* est définie, wcd avec l'interface ncurses recherche une définition de terminal localement avant de le faire à l'emplacement standard. Cela est utile si les définitions du terminal ne sont pas dans un emplacement standard. Les emplacements couramment utilisés sont "/usr/lib/terminfo" et "/usr/share/terminfo". PDC_RESTORE_SCREEN Wcd avec l'interface PDCurses reconnaît la variable d'environnement *PDC_RESTORE_SCREEN*. Si cette variable d'environnement est définie, PDCurses fera une copie du contenu de l'écran au moment au wcd est démarré ; lorsque wcd quitte, l'écran sera restauré. Un exemple pour Windows Command Prompt : set PDC_RESTORE_SCREEN=1 Windows n'autorise la sauvegarde que d'un petit tampon. Il n'est donc pas toujours possible de tout restaurer. Des données inutiles peuvent être affichées dans la console après que wcd ait terminé si vous avez défini une largeur de tampon importante. SHELL L'impression de "#!$SHELL" sur la première ligne du script « go » est nécessaire pour une interface système de type POSIX pour les caractères de 8 bits. Certaines interfaces système considère autrement que le script « go » est un fichier binaire et ne l'incluerons pas. Dans Cygwin bash, la variable *SHELL* doit être définie dans l'environnement en utilisant la commande "export", sinon wcd ne peut pas lire cette variable. BASH Wcd pour l'interface système DOS utilise $BASH à la place de $SHELL parce que $SHELL pointe vers l'interface de commande système. Il est potentiellement requis de définir $BASH avec une commande "export", autrement wcd ne peut pas lire la variable. VOIR AUSSI sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1), AUTEURS Wcd a été écrit par Erwin Waterlander Project homepage : SourceForge : La mise en page du manuel a été faite par Jari Aalto . NCD fut initialement écrit par Brad Kingsbury pour « Norton Utilities » de Peter Norton aux environs de 1987. Voir aussi wcd-6.0.3/src/man/man1/0000755000175500010010000000000013524756534013760 5ustar waterlanGeenwcd-6.0.3/src/man/man1/Makefile0000644000175500010010000000500113524756523015412 0ustar waterlanGeen# pod2man.mk -- Makefile portion to convert *.pod files to manual pages # # Copyright information # # Copyright (C) 2008-2009 Jari Aalto # Copyright (C) 2010-2017 Erwin Waterlander # # License # # 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 at # Visit . # # Description # # Convert *.pod files to manual pages. ifneq (,) This makefile requires GNU Make. endif include ../../version.mk .PRECIOUS: %.pod # This variable *must* be set when calling PACKAGE ?= wcd # Optional variables to set MANSECT ?= 1 PODCENTER ?= $(VERSION_DATE) # Directories MANSRC = MANDEST = $(MANSRC) MANPOD = $(MANSRC)$(PACKAGE).pod MANPAGE = $(MANDEST)$(PACKAGE).$(MANSECT) POD2MAN = pod2man POD2MAN_FLAGS = POFILES = $(wildcard ../../po-man/*.po) PODFILES = $(patsubst ../../po-man/%.po,../%/man1/wcd.pod,$(POFILES)) MAN_OBJECTS = wcd.1 $(patsubst %.pod,%.1,$(PODFILES)) MKDIR = mkdir all: $(MAN_OBJECTS) ../../po-man/wcd-man.pot ../../po-man/wcd-man.pot : wcd.pod po4a-updatepo -f pod -m $< -p $@ --msgmerge-opt --no-wrap %.po : wcd.pod po4a-updatepo -f pod -m $< -p $@ --msgmerge-opt "--backup=numbered --no-wrap" # change timestamp in case .po file was not updated. touch $@ # Create pod files from po. # Fix problem that =encoding is before =pod command. ../%/man1/wcd.pod : ../../po-man/%.po $(MKDIR) -p $(dir $@) po4a-translate -f pod -m wcd.pod -p $< > $@ -k 30 perl -ni.bak -e 'print unless /=encoding UTF-8/' $@ perl -pli.bak -e 's/=pod/=pod\n\n=encoding UTF-8/' $@ # An empty recipe for wcd.pod to break circular dependency. wcd.pod : ; %.1 : %.pod # make target - create manual page from a *.pod page podchecker $< $(POD2MAN) $(POD2MAN_FLAGS) \ --utf8 \ --center="$(PODCENTER)" \ --name="$(PACKAGE)" \ --section="$(MANSECT)" \ $< \ | perl -p -e 's/[Pp]erl v[0-9.]+/$(PACKAGE)/;' \ > $@ && \ rm -f pod*.tmp clean: rm -f $(MAN_OBJECTS) rm -f wcd-man.pot rm -f $(PODFILES) # End of of Makefile part wcd-6.0.3/src/man/man1/wcd.10000644000175500010010000015222213524756524014622 0ustar waterlanGeen.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "wcd 1" .TH wcd 1 "2019-08-14" "wcd" "2019-08-14" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" wcd \- Wherever Change Directory .PP chdir for DOS and Unix .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& wcd [options] [directory] .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" .SS "Overview" .IX Subsection "Overview" Wcd is a command-line program to change directory fast. It saves time typing at the keyboard. One needs to type only a part of a directory name and wcd will jump to it. Wcd has a fast selection method in case of multiple matches and allows aliasing and banning of directories. Wcd also includes a full screen interactive directory tree browser with speed search. .PP Wcd was modeled after Norton Change Directory (\s-1NCD\s0). \s-1NCD\s0 appeared first in \&\fIThe Norton Utilities, Release 4\fR, for \s-1DOS\s0 in 1987, published by Peter Norton. .PP Wcd has been ported to different command-line shells: \s-1DOS\s0 command.com, Windows cmd.exe and PowerShell, \s-1OS/2\s0 cmd.exe, and Unix shells such as Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), and C (csh) shell and others running on any operating system. .PP Wcd supports 8 bit character sets on all systems, and has optional support for Unicode. See section \s-1LOCALIZATION.\s0 .PP See section \s-1INSTALLATION\s0 how to setup wcd for personal use. .SS "Basic use" .IX Subsection "Basic use" By default (if no wildcards are used) wcd searches for a directory with a name that begins with the typed name. .PP For instance this command will change to directory to the current user's \&\f(CW\*(C`/home/user/Desktop\*(C'\fR: .PP .Vb 1 \& wcd Desk .Ve .PP When there are multiple matches, wcd will present the user a list of all matches. The user can then make a selection with a few keystrokes (most of the times only one). .SS "Wildcards" .IX Subsection "Wildcards" Wcd supports following wildcards: .PP .Vb 4 \& * matches any sequence of characters (zero or more) \& ? matches any character \& [SET] matches any character in the specified set, \& [!SET] or [^SET] matches any character not in the specified set. .Ve .PP A set is composed of characters or ranges; a range looks like \&\fIcharacter hyphen character\fR as in \f(CW\*(C`0\-9\*(C'\fR or \f(CW\*(C`A\-Z\*(C'\fR. The \&\f(CW\*(C`[0\-9a\-zA\-Z_]\*(C'\fR is the minimal set of characters allowed in the \&\f(CW\*(C`[..]\*(C'\fR pattern construct. International characters (i.e. 8 bit characters) are allowed if the system supports them. To suppress the special syntactic significance of any of \f(CW\*(C`[]*?!^\-\e\*(C'\fR inside or outside a \f(CW\*(C`[..]\*(C'\fR construct and match the character exactly, precede the character with a backslash (\f(CW\*(C`\e\*(C'\fR) marker. .PP Using wildcards makes powerful searching possible. For instance this matches any directory name that ends with \*(L"top\*(R": .PP .Vb 1 \& wcd *top .Ve .PP Match directories that have \*(L"top\*(R" anywhere in the name: .PP .Vb 1 \& wcd *top* .Ve .PP Match any directory name that begins with \*(L"a\*(R", \*(L"b\*(R" or \*(L"c\*(R": .PP .Vb 1 \& wcd [a\-c]* .Ve .PP It is also possible to give a part of a directory path. Here Wcd searches for directory that begins with \*(L"Desk\*(R" and which path matches \fI*me/Desk*\fR. .PP .Vb 1 \& wcd me/Desk .Ve .PP It is allowed to type any kind of expression with slashes and wildcards. E.g.: .PP .Vb 1 \& wcd src*/*1?/a*2 .Ve .SS "Other uses" .IX Subsection "Other uses" If no wildcards are used and wcd finds a perfect match, wcd will ignore all wild matches by default. This behaviour can be changed with the \fB\-w\fR option. .PP The interactive directory tree browser can be started by using option \fB\-g\fR. .PP .Vb 1 \& wcd \-g .Ve .PP Wcd generates a treedata file where it searches the directory. On Unix and Windows systems wcd does add symbolic links to the treedata file while scanning the disk, but does not follow them. While following links wcd could end up scanning infinite loops, or scan very large portions of a network. .PP Wcd can also change to directories that are not in the treedata file. E.g.: .PP .Vb 1 \& wcd .. .Ve .PP If wcd found a match but can't change to the directory it tries to remove it from the default treedata file. Not from the extra treedata file. See also option \fB\-k\fR. .PP Wcd keeps a directory stack which is stored on disk. The stack has a default size of 10 and is cyclic. See options \fB\-z\fR, \fB\-\fR, \fB+\fR and \&\fB=\fR. .PP In multi-user environments option \fB\-u\fR can be used to change to directories of other users. .PP On \s-1DOS\s0 and Windows systems it does not matter if you use a slash \*(L"/\*(R" or a backslash \*(L"\e\*(R" as a directory separator. .PP It is possible on \s-1DOS\s0 and Windows systems to change drive and directory in one go by preceding the directory name with the drive name. .PP .Vb 1 \& wcd d:games .Ve .SS "Windows \s-1UNC\s0 paths" .IX Subsection "Windows UNC paths" The Windows versions (Command Prompt, PowerShell, \s-1MSYS,\s0 zsh, cygwin) support Windows \s-1SMB LAN UNC\s0 paths without drive letter such as \&\f(CW\*(C`\e\eservername\esharename\*(C'\fR. Wcd for Windows Command Prompt makes use of the \*(L"pushd\*(R" command to automatically map a \s-1UNC\s0 path to a drive letter. In Windows PowerShell, \s-1MSYS,\s0 zsh and Cygwin \s-1UNC\s0 paths are fully supported. The current working directory can be a \s-1UNC\s0 path. .SS "Console resizing on Windows" .IX Subsection "Console resizing on Windows" Wcd supports console resizing in Windows 10 console and ConEmu (see ) since version 6.0.3. The Windows 10 console must not be in legacy mode (check the console's properties). The screen may not refresh when the console Layout property \*(L"Wrap text output on resize\*(R" is disabled. The screen can be refreshed manually by pressing the F5 key. .SS "Interfaces" .IX Subsection "Interfaces" Wcd has three different interfaces to choose from a list of matches. The interface can be chosen at compile time. .PP The first interface uses plain stdin/stdout. A numbered list is printed in the terminal. The user has to choose from the list by typing a number followed by . This interface does not provide scroll back functionality in case of a long list. The scroll back capability of the terminal/console has to be used. It is very small and portable. .PP The second interface is built with the conio library. It provides a builtin scroll back capability. The user is presented a list numbered with letters. Choosing from a list can be done by pressing just one letter. This interface is fast because it saves keystrokes. If possible the screen will be restored after exiting. One who prefers to type numbers can use the \&\fB\-N\fR option. .PP The third interface is built with the curses library. It is similar to the conio interface. The curses version of wcd has also an additional 'graphical' interface. It lets the user select a directory via a full screen interactive directory tree browser. It has a \fIvim\fR\|(1) like navigation and search method. It can be activated with option \fB\-g\fR. .PP By using the \fB\-o\fR option one can always fall back to the stdin/stdout interface. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-a\fR" 4 .IX Item "-a" Add current path to the default treedata file. .Sp Use this option to quickly add the current path to the default treedata file. Re-scanning the complete disk can take a long time in some cases. .IP "\fB\-aa\fR" 4 .IX Item "-aa" Add current and all parent paths to the default treedata file. .IP "\fB\-A \s-1PATH\s0\fR" 4 .IX Item "-A PATH" Scan directory tree from \fI\s-1PATH\s0\fR and append to the default treedata file. Examples: .Sp .Vb 3 \& wcd \-A . \& wcd \-A /home \-A /etc \& wcd \-A d: \-A e: \-A \e\eserver\eshare .Ve .Sp On Windows one can scan all shared directories of a Windows \s-1LAN\s0 server by typing something like: \f(CW\*(C`wcd \-A \e\eservername\*(C'\fR. .Sp See also option \fB\-S\fR and \fB\-s\fR and \fB\-E\fR. .IP "\fB\-b\fR" 4 .IX Item "-b" Ban current path. .Sp Wcd places the current path in the ban file. This means that wcd ignores all matches of this directory and its sub directories. .Sp The ban file can be edited with a text editor. Use of wildcards is supported and names are matched against the absolute path. .Sp Banned paths are not excluded from scanning the disk. To do that use option \&\fB\-xf\fR. .IP "\fB\-c, \-\-direct\-cd\fR" 4 .IX Item "-c, --direct-cd" Direct \s-1CD\s0 mode. By default wcd works as follows: .Sp .Vb 2 \& 1. Try to find a match in the treedata file(s) \& 2. If no match, try to open the directory you typed. .Ve .Sp In direct \s-1CD\s0 mode wcd works in reversed order. .Sp .Vb 2 \& 1. Try to open the directory you typed. \& 2. If not, try to find a match in the treedata file(s). .Ve .IP "\fB\-d \s-1DRIVE\s0\fR" 4 .IX Item "-d DRIVE" Set drive for stack and go file (\s-1DOS\s0 only). .Sp The stack file and the go-script are by default stored on drive C: if environment variable \fI\s-1HOME\s0\fR is not set. Use this option if drive C: is a read-only drive. This option must be used in front of the stack options \fB\-\fR, \&\fB+\fR and \fB=\fR. .IP "\fB\-e\fR" 4 .IX Item "-e" Add current path to the extra treedata file. .Sp Use this option to quickly add the current path to the extra treedata file. .IP "\fB\-ee\fR" 4 .IX Item "-ee" Add current and all parent paths to extra treedata file. .IP "\fB\-E \s-1PATH\s0\fR" 4 .IX Item "-E PATH" Scan directory tree from \fI\s-1PATH\s0\fR and append to Extra treedata file. See also options \fB\-A\fR and \fB\-S\fR. .IP "\fB\-f \s-1FILE\s0\fR" 4 .IX Item "-f FILE" Read treedata file \fI\s-1FILE\s0\fR. Do not read the default treedata file. .IP "\fB+f \s-1FILE\s0\fR" 4 .IX Item "+f FILE" Read treedata file \fI\s-1FILE\s0\fR in addition to the default treedata file. .IP "\fB\-g\fR" 4 .IX Item "-g" Graphical interface (only in version with curses interface). .Sp Wcd starts a textual curses based 'graphical' interface. The user can select a directory via a full-screen interactive directory tree browser. It has a \fIvim\fR\|(1) like navigation and search method. .Sp If no search string is given wcd presents the whole tree which is in the default treedata file and the extra treedata files. .Sp If a search string is given the match list is presented as a directory tree. .Sp The default tree layout is similar to the tree layout of the original \s-1NCD\s0 on \&\s-1DOS.\s0 The difference in layout is that in \s-1NCD\s0 all directories of a same depth level were vertically aligned over the whole tree. This was possible in \s-1NCD,\s0 because the maximum width of a directory name in \s-1DOS\s0 was 12 (8.3) characters. On modern operating systems directory names can be very long, so also the differences in length can be large. Therefore folders with a same depth are not vertically aligned over the whole tree in wcd, but only in sub-branches. So there is some sideways movement when moving straight up and down from one sub-branch to another sub-branch. .Sp The navigation behaviour in Wcd is exactly the same as in the original \s-1NCD.\s0 For instance if you push the Down key you go down to the next directory with the same depth level, jumping over branches. This enables fast navigation through the tree. .Sp See options \fB\-Ta\fR, \fB\-TC\fR, and \fB\-Tc\fR to change the navigation behaviour. .IP "\fB\-gd\fR" 4 .IX Item "-gd" Dump the treedata files as a tree to stdout. .IP "\fB\-G \s-1PATH\s0\fR" 4 .IX Item "-G PATH" Write go-script in directory \fI\s-1PATH\s0\fR. For instance on Unix, \f(CW\*(C`wcd \-G PATH\*(C'\fR will write a go-script \fBPATH/wcd.go\fR. .IP "\fB\-GN, \-\-no\-go\-script\fR" 4 .IX Item "-GN, --no-go-script" Do not create go-script. This option can be used in combination with the option \fB\-j\fR if one does not want wcd to create a go-script. .IP "\fB\-h, \-\-help\fR" 4 .IX Item "-h, --help" Show help and exit. .IP "\fB\-i, \-\-ignore\-case\fR" 4 .IX Item "-i, --ignore-case" Ignore case. Dos and Windows versions of wcd ignore case default. Unix/Cygwin versions regard case by default. .IP "\fB+i, \-\-no\-ignore\-case\fR" 4 .IX Item "+i, --no-ignore-case" Regard case. See also option \fB\-i\fR. .IP "\fB\-I, \-\-ignore\-diacritics\fR" 4 .IX Item "-I, --ignore-diacritics" Ignore diacritics for Latin-based scripts. Letters with diacritical marks match their base letter without diacritical mark. The following Latin encodings are supported: \&\s-1CP437, CP850, CP852, CP1250, CP1252, ISO\-8859\-1, ISO\-8859\-2,\s0 and Unicode Latin\-1, Latin Extended-A, and Latin Extended-B. See also .IP "\fB+I, \-\-no\-ignore\-diacritics\fR" 4 .IX Item "+I, --no-ignore-diacritics" Regard diacritics (default). See also option \fB\-I\fR. .IP "\fB\-j, \-\-just\-go\fR" 4 .IX Item "-j, --just-go" Just go mode. .Sp In this mode wcd will not present a list when there is more than one directory that matches the given directory. Wcd will just change to the first option. When wcd is invoked again with the same arguments it will change to the next option, and so on. .Sp Wcd will print the directory to go to to stdout. So a different installation method can be used. One could make the following function for a \s-1POSIX\s0 compatible shell: .Sp .Vb 4 \& wcd () \& { \& cd "$($HOME/bin/wcd.exe \-j $@)" \& } .Ve .Sp When you are using an old shell that doesn't support \*(L"$()\*(R" command substitution you have to use old style command substitution with back-quotes. .Sp .Vb 4 \& wcd () \& { \& cd "\`$HOME/bin/wcd.exe \-j $@\`" \& } .Ve .Sp On Windows systems, if one is running 4NT shell, one could make the following alias: .Sp .Vb 1 \& alias wcd \`cd %@execstr[wcdwin32.exe \-z 0 \-j %1]\` .Ve .Sp This method eliminates the need of the go-script, so one can use option \fB\-GN\fR in combination with \fB\-j\fR. .IP "\fB\-k, \-\-keep\-paths\fR" 4 .IX Item "-k, --keep-paths" Keep paths. .Sp Keep paths in the treedata file when wcd can't change to them. The default behaviour of wcd is that it tries to remove paths from the treedata when wcd can't change to them. With this option this behavior is turned off. .IP "\fB\-K, \-\-color\fR" 4 .IX Item "-K, --color" Use colors in graphical mode. .IP "\fB\-l \s-1ALIAS\s0\fR" 4 .IX Item "-l ALIAS" Name the current path with \fI\s-1ALIAS\s0\fR. Wcd places the current path with alias \&\fI\s-1ALIAS\s0\fR in the alias file. Aliases are case sensitive. .IP "\fB\-ls\fR" 4 .IX Item "-ls" Show the name of the alias file, and list all the aliases. .IP "\fB\-m \s-1DIR\s0\fR" 4 .IX Item "-m DIR" Make directory and add to treedata file. .IP "\fB\-L, \-\-license\fR" 4 .IX Item "-L, --license" Print the distribution license. .IP "\fB\-M \s-1DIR\s0\fR" 4 .IX Item "-M DIR" Make directory and add to extra treedata file. .IP "\fB\-n \s-1PATH\s0\fR" 4 .IX Item "-n PATH" Read relative treedata file from \fI\s-1PATH\s0\fR. .Sp Do not read the default treedata file. The relative treedata file should already have been created using the wcd \fB+S\fR option. \&\fI\s-1PATH\s0\fR may also point to a file directly. .Sp An example. Suppose another system has been mounted to mount point \&\f(CW\*(C`/mnt/network\*(C'\fR: .Sp .Vb 1 \& wcd \-n /mnt/network src .Ve .Sp Wcd opens the relative treedata file in \f(CW\*(C`/mnt/network/\*(C'\fR. The file contains the paths relative from that point. .IP "\fB+n \s-1PATH\s0\fR" 4 .IX Item "+n PATH" Read relative treedata file in addition to the default treedata file. See option \fB\-n\fR. .IP "\fB\-N, \-\-numbers\fR" 4 .IX Item "-N, --numbers" Use numbers instead of letters. .Sp Wcd with a conio or curses based interface (see section Interfaces) presents a match list by default numbered with letters. When the \fB\-N\fR option is used the match list is numbered with numbers. Regardless of the \fB\-N\fR option one can type a letter or numbers to make a selection from the list of matches. .IP "\fB\-o\fR" 4 .IX Item "-o" Use stdin/stdout interface. .Sp When for some kind of reason the conio or curses interface of wcd does not work one can fall back to the stdin/stdout interface of wcd by using the \&\fB\-o\fR option. .IP "\fB\-od, \-\-to\-stdout\fR" 4 .IX Item "-od, --to-stdout" Dump all matches to stdout. .IP "\fB\-q, \-\-quiet\fR" 4 .IX Item "-q, --quiet" Quieter operation. Printing of the final match is suppressed. .IP "\fB\-r \s-1DIR\s0\fR" 4 .IX Item "-r DIR" Remove directory and remove from the treedata file. .Sp If the directory is empty, wcd will remove it, and try to remove it from the treedata file. .IP "\fB\-rmtree \s-1DIR\s0\fR" 4 .IX Item "-rmtree DIR" Recursively remove directory and remove from the treedata file. .Sp Wcd will remove the directory and all its sub directories and files, and remove the directories from the treedata file. .IP "\fB\-s\fR" 4 .IX Item "-s" (re)Scan disk from \f(CW$HOME\fR directory. If \fI\s-1HOME\s0\fR is not defined the disk is scanned from root directory /. .Sp The existing default treedata file is overwritten. .Sp The default scan directory can be overruled with environment variable \&\f(CW\*(C`WCDSCAN\*(C'\fR. See section \s-1ENVIRONMENT VARIABLES.\s0 .IP "\fB\-S \s-1PATH\s0\fR" 4 .IX Item "-S PATH" Scan directory tree from \fI\s-1PATH\s0\fR and overwrite the default treedata file. See also options \fB\-A\fR, \fB\-s\fR and \fB\-E\fR. E.g. with option \fB\-A\fR you can create a default treedata file of your choice. Examples: .Sp Unix: .Sp .Vb 2 \& wcd \-S / \& wcd \-S /home \-A /etc \-A /usr .Ve .Sp DOS/Windows: .Sp .Vb 2 \& wcd \-S c:/ \& wcd \-S c: \-A d: \-A \e\eserver\eshare .Ve .Sp With the Windows versions one can scan all shared directories of a Windows \&\s-1LAN\s0 server by typing something like: \f(CW\*(C`wcd \-S \e\eservername\*(C'\fR. .IP "\fB+S \s-1PATH\s0\fR" 4 .IX Item "+S PATH" Scan disk from \fI\s-1PATH\s0\fR and place relative paths in a relative treedata file. This file is used by the \fB\-n\fR and \fB+n\fR options of wcd. E.g. \f(CW\*(C`wcd \-n PATH src\*(C'\fR. .IP "\fB\-t\fR" 4 .IX Item "-t" Do not strip tmp mount dir \f(CW\*(C`/tmp_mnt\*(C'\fR (Unix only) .Sp Wcd strips by default \f(CW\*(C`/tmp_mnt/\*(C'\fR from the match. Directory \&\f(CW\*(C`/tmp_mnt\*(C'\fR is used by the auto-mounter. This behaviour can be turned off with the \fB\-t\fR option. .IP "\fB\-T, \-\-ascii\-tree\fR" 4 .IX Item "-T, --ascii-tree" Draw tree with \s-1ASCII\s0 characters. Use this option if line drawing characters are not displayed properly in your terminal. .IP "\fB\-Ta, \-\-alt\-tree\-nav\fR" 4 .IX Item "-Ta, --alt-tree-nav" Alternative way of navigation in the graphical tree. .Sp In the default \s-1NCD\s0 style tree layout the \fB\-Ta\fR option disables jumping to unrelated directories. .Sp In compact tree mode the alternative mode makes navigation similar to navigation in \s-1GUI\s0 file managers such as Windows Explorer or Linux \s-1KDE\s0 Konqueror. Pressing Up and Down moves the selected folder one line up or down. Pressing Left first folds the sub-folders and the next move left moves really left. .Sp You can switch on-the-fly between default and alternative navigation by pressing . .Sp When alternative navigation mode is on, you will see an \*(L"A\*(R" in the lower right corner. .IP "\fB\-TC, \-\-center\-tree\fR" 4 .IX Item "-TC, --center-tree" Centered view in the graphical tree. The selected directory stays in the middle of the screen. The centered mode can also be switched on and off with key in the graphical tree. .Sp The standard non-centered behaviour, which minimises tree movement, is the same as in the original \s-1NCD.\s0 .IP "\fB\-Tc, \-\-compact\-tree\fR" 4 .IX Item "-Tc, --compact-tree" By default the 'graphical' tree is drawn the same way as the original \s-1NCD\s0 on \&\s-1DOS\s0 did it. On \s-1DOS\s0 a directory path could only be 66 characters in total. With the deep directory structures of today the tree can become very wide. To overcome this wcd can draw the tree in a compact way, similar to most \s-1GUI\s0 file managers, with only one folder per line. Use option \fB\-Tc\fR or switch on-the-fly with the key. .IP "\fB\-Td, \-\-cjk\-width\fR" 4 .IX Item "-Td, --cjk-width" Legacy East-Asian \s-1CJK\s0 (Chinese, Japanese, and Korean) fonts have certain characters and line drawing symbols with a column width of 2, while the normal Unicode width for these characters is 1 column. For instance the Chinese \s-1CP936\s0 raster font on Windows and the Simsun font. Use this option for a correct outlining of the graphical tree when a legacy \s-1CJK\s0 font is used. .Sp When \s-1CJK\s0 mode is on, you will see a \*(L"C\*(R" in the lower right corner. .IP "\fB\-u \s-1USER\s0\fR" 4 .IX Item "-u USER" Scan treedata file of another user based on \fI\s-1USER\s0\fR, do not scan your own default treedata file. See also section \s-1ENVIRONMENT VARIABLES\s0 for \fI\s-1WCDUSERSHOME\s0\fR. .Sp On Unix/Cygwin the base directory for user home directories is assumed to be \f(CW\*(C`/home\*(C'\fR. Wcd will look for \&\f(CW\*(C`/home/USER/.treedata.wcd\*(C'\fR and \f(CW\*(C`/home/USER/.wcd/.treedata.wcd\*(C'\fR, in that order, and read the first one that exists and is readable. On DOS/Windows the base directory for user home directories is assumed to be \f(CW\*(C`\e\eusers\*(C'\fR, so wcd tries to read \&\f(CW\*(C`\e\eusers\eUSER\etreedata.wcd\*(C'\fR and \f(CW\*(C`\e\eusers\eUSER\e.wcd\etreedata.wcd\*(C'\fR. .IP "\fB+u \s-1USER\s0\fR" 4 .IX Item "+u USER" Read default treedata file of \s-1USER\s0 in addition to your own treedata file. .IP "\fB\-v, \-\-verbose\fR" 4 .IX Item "-v, --verbose" Display verbose messages. With this option wcd prints all filters, bans and excludes. .IP "\fB\-V, \-\-version\fR" 4 .IX Item "-V, --version" Print version information and exit. .IP "\fB\-w, \-\-wild\-match\-only\fR" 4 .IX Item "-w, --wild-match-only" Wild matching only. Treat all matches as wild matches. .IP "\fB\-x \s-1PATH\s0\fR" 4 .IX Item "-x PATH" Exclude \fI\s-1PATH\s0\fR from scanning. .Sp When this option is used wcd will exclude \fI\s-1PATH\s0\fR and all its subdirectories when wcd is scanning a disk. Wildcards are supported and matched against absolute paths. Option \fB\-x\fR can be used multiple times. .Sp .Vb 1 \& wcd \-x \-x \-s .Ve .Sp Option \fB\-x\fR must be used in front of any scan option (\fB\-s\fR, \fB\-S\fR, \fB+S\fR, \&\fB\-A\fR, \fB\-E\fR). .Sp On DOS/Windows systems one must specify the drive letter depending on if environment variable \fI\s-1HOME\s0\fR or \fI\s-1WCDHOME\s0\fR is set. If \fI\s-1HOME\s0\fR or \fI\s-1WCDHOME\s0\fR is set one needs to specify the drive letter. An example: .Sp .Vb 1 \& wcd \-x c:/temp \-S c: .Ve .Sp Otherwise do not specify drive letter. .Sp .Vb 1 \& wcd \-x /temp \-s .Ve .IP "\fB\-xf \s-1FILE\s0\fR" 4 .IX Item "-xf FILE" Exclude all paths listed in \fI\s-1FILE\s0\fR from scanning. .Sp When this option is used wcd will exclude all paths listed in \fI\s-1FILE\s0\fR and all their subdirectories when wcd is scanning a disk. Wildcards are supported and they are matched against absolute paths; one path per line. Be aware that wcd will not ignore leading or trailing blanks on a line, because they are legal characters in a directory name. Option \fB\-xf\fR can be used multiple times. When one wants to exclude all banned paths from scanning one can do the following (example for wcd on unix): .Sp .Vb 1 \& wcd \-xf ~/.ban.wcd \-s .Ve .Sp Wildcards are supported. For instance to exclude all your Subversion directories with administrative files add a line with \f(CW\*(C`*/.svn\*(C'\fR. .Sp Option \fB\-xf\fR must be used in front of any scan option (\fB\-s\fR, \fB\-S\fR, \fB+S\fR, \&\fB\-A\fR, \fB\-E\fR). .IP "\fB\-y, \-\-assume\-yes\fR" 4 .IX Item "-y, --assume-yes" Assume Yes on all queries. .Sp Wcd will not prompt the user with yes/no questions, but assumes the user answers yes on all questions. This can be used in combination with option \&\fB\-rmtree\fR. This option must be used in front of options that can lead to yes/no questions. .IP "\fB\-z \s-1NUMBER\s0\fR" 4 .IX Item "-z NUMBER" Set maximum stack size to \s-1NUMBER.\s0 .Sp The default size of the stack is 10. Stack operation can be turned off by setting the size to 0. This option must be used in front of any other stack operations (\fB\-\fR,\fB+\fR,\fB=\fR). Otherwise the size of the stack will be set back to the default 10. .Sp A correct command is: .Sp .Vb 1 \& wcd \-z 50 \- .Ve .Sp The new stack size will be 50, wcd will go one directory back. A wrong command is: .Sp .Vb 1 \& wcd \- \-z 50 .Ve .Sp Wcd goes one directory back, the stack gets the default size 10. The \fB\-z 50\fR is ignored. .Sp Add this option as the first option to your wcd alias or function. E.g. for the a \s-1POSIX\s0 compatible shell this would be: .Sp .Vb 5 \& wcd () \& { \& wcd.exe \-z 50 "$@" \& . ${WCDHOME:\-${HOME}}/bin/wcd.go \& } .Ve .IP "\fB\-[\s-1NUMBER\s0]\fR" 4 .IX Item "-[NUMBER]" Push dir \s-1NUMBER\s0 of times. Default is one. .Sp Go back a directory. Command \f(CW\*(C`wcd \-\*(C'\fR goes one directory back. To go more directories back add a number to it. E.g. command \f(CW\*(C`wcd \-3\*(C'\fR. The stack is cyclic. .IP "\fB+[\s-1NUMBER\s0]\fR" 4 .IX Item "+[NUMBER]" Pop dir \s-1NUMBER\s0 of times. Default is one. .Sp Go forward a directory. Command \f(CW\*(C`wcd +\*(C'\fR goes one directory forward. To go more directories forward add a number to it. E.g. command \f(CW\*(C`wcd +2\*(C'\fR. The stack is cyclic. .IP "\fB=\fR" 4 .IX Item "=" Show stack. .Sp Use this option if you do not know anymore how many times to push or pop. The stack is printed and you can choose a number. The current place in the stack is marked with an asterisk \f(CW\*(C`*\*(C'\fR. .SH "INSTALLATION" .IX Header "INSTALLATION" The current working directory of a Unix shell can only be changed by the builtin \fIcd\fR\|(1) command. Therefore the program is always called by a function or an alias. The function or alias sources a shell script (go-script) which is generated by the wcd program. Wcd can only work after the function or alias is defined. .PP Another important influence on your installation is the definition of environment variables \fI\s-1HOME\s0\fR and \fI\s-1WCDHOME\s0\fR. See section \s-1ENVIRONMENT VARIABLES.\s0 .SS "Install for \s-1POSIX\s0 type shells" .IX Subsection "Install for POSIX type shells" For a \s-1POSIX\s0 shell (ksh, bash, zsh, etc.) on Unix, Linux, Cygwin, or native \s-1MSYS\s0 add the following function to the shell startup file (e.g. Bash uses \&\f(CW\*(C`$HOME/.bashrc\*(C'\fR): .PP .Vb 5 \& wcd () \& { \& PATH/wcd.exe "$@" \& . ${WCDHOME:\-${HOME}}/bin/wcd.go \& } .Ve .PP Replace \fI\s-1PATH\s0\fR with the location where the wcd executable has been installed. Reload the shell initialization files or start new shell. .PP The location of the go-script \f(CW\*(C`wcd.go\*(C'\fR differs per shell. .PP Wcd for \s-1DJGPP DOS\s0 bash and \s-1OS/2\s0 bash require a different function. The go script is not written in a directory \f(CW\*(C`bin\*(C'\fR, and if \fI\s-1WCDHOME\s0\fR and \fI\s-1HOME\s0\fR are both not defined the go-script is written on c:/. .PP \&\s-1DOS\s0 bash: .PP .Vb 5 \& wcd () \& { \& PATH/wcdbash.exe "$@" \& . ${WCDHOME:\-${HOME:\-"c:"}}/wcd.go \& } .Ve .PP \&\s-1OS/2\s0 bash: .PP .Vb 5 \& wcd () \& { \& PATH/wcdos2bash.exe "$@" \& . ${WCDHOME:\-${HOME:\-"c:"}}/wcd.go \& } .Ve .PP The WinZsh version of wcd requires a bit different function. The go-script will never be written in c:/. .PP .Vb 5 \& wcd () \& { \& PATH/wcdwin32zsh.exe "$@" \& . ${WCDHOME:\-${HOME}}/wcd.go \& } .Ve .PP See section \s-1FILES\s0 for more information. .SS "Install for C\-alike shells (csh, tcsh)" .IX Subsection "Install for C-alike shells (csh, tcsh)" Add the following alias to the shell startup file \f(CW\*(C`$HOME/.cshrc\*(C'\fR or \&\f(CW\*(C`$HOME/.tcshrc\*(C'\fR : .PP .Vb 5 \& if ( ${?WCDHOME} ) then \& alias wcd "PATH/wcd.exe \e!* ; source $WCDHOME/bin/wcd.go" \& else \& alias wcd "PATH/wcd.exe \e!* ; source $HOME/bin/wcd.go" \& endif .Ve .PP Replace \fI\s-1PATH\s0\fR with the location where the wcd executable has been installed. Reload the shell initialization files or start a new shell. .SS "Windows Command Prompt version" .IX Subsection "Windows Command Prompt version" Unpack the zip file and add directory \f(CW\*(C`bin\*(C'\fR to your environment variable \fI\s-1PATH\s0\fR. .PP In Windows Command Prompt a Windows program cannot change the current work directory, but a .bat file can. The batch script \f(CW\*(C`wcd.bat\*(C'\fR runs the wcd program which generates a new batch script \f(CW\*(C`wcdgo.bat\*(C'\fR. Then \f(CW\*(C`wcd.bat\*(C'\fR runs \f(CW\*(C`wcdgo.bat\*(C'\fR which actually changes the directory. .SS "Windows \s-1VISTA\s0 and higher" .IX Subsection "Windows VISTA and higher" In a Windows \s-1VISTA\s0 and higher Command Prompt you may have limited access to directories. To get access to more directories you need administrator rights. You can get a Command Prompt with administrator rights if you right click on the Command Prompt icon and select \fIRun as administrator\fR. .SS "Windows PowerShell version" .IX Subsection "Windows PowerShell version" Add the following function to your PowerShell user profile. The location of this profile is stored in the \f(CW$profile\fR variable. It is required that one of the environment variables \fI\s-1HOME\s0\fR or \fI\s-1WCDHOME\s0\fR is defined. .PP .Vb 5 \& function wcd \& { \& PATH\ewcdwin32psh.exe $args \& & $env:HOME\ewcdgo.ps1 \& } .Ve .PP Replace \fI\s-1PATH\s0\fR with the location where the wcd executable has been installed. Start a new PowerShell. Wcd for PowerShell supports only the file system provider. No other providers. .SS "\s-1OS/2\s0 Command Prompt version" .IX Subsection "OS/2 Command Prompt version" In an \s-1OS/2\s0 Command Prompt (cmd.exe) an OS/2\-program can't change the current work directory. That is why wcd generates a command script \f(CW\*(C`wcdgo.cmd\*(C'\fR which must be executed in the current shell. The script \f(CW\*(C`wcd.cmd\*(C'\fR first executes \&\f(CW\*(C`wcdos2.exe\*(C'\fR, which creates the \f(CW\*(C`wcdgo.cmd\*(C'\fR script. Then \f(CW\*(C`wcd.cmd\*(C'\fR executes the \f(CW\*(C`wcdgo.cmd\*(C'\fR script. .SH "LOCALIZATION" .IX Header "LOCALIZATION" .IP "\fB\s-1LANG\s0\fR" 4 .IX Item "LANG" The primary language is selected with the environment variable \fI\s-1LANG\s0\fR. The \&\fI\s-1LANG\s0\fR variable consists out of several parts. The first part is in small letters the language code. The second one is optional and is the country code in capital letters, preceded with an underscore. There is also an optional third part: character encoding, preceded with a dot. A few examples for \s-1POSIX\s0 standard type shells: .Sp .Vb 6 \& export LANG=nl Dutch \& export LANG=nl_NL Dutch, The Netherlands \& export LANG=nl_BE Dutch, Belgium \& export LANG=es_ES Spanish, Spain \& export LANG=es_MX Spanish, Mexico \& export LANG=en_US.iso88591 English, USA, Latin\-1 encoding .Ve .Sp For a complete list of language and country codes see the \fIgettext\fR\|(1) manual: On Unix systems you can use to command \fIlocale\fR\|(1) to get locale specific information. .IP "\fB\s-1LANGUAGE\s0\fR" 4 .IX Item "LANGUAGE" With the \fI\s-1LANGUAGE\s0\fR environment variable you can specify a priority list of languages, separated by colons. Wcd gives preference to \fI\s-1LANGUAGE\s0\fR over \&\fI\s-1LANG\s0\fR. For instance, first Dutch and then German: \f(CW\*(C`LANGUAGE=nl:de\*(C'\fR. You have to first enable localization, by setting \fI\s-1LANG\s0\fR or \fI\s-1LC_ALL\s0\fR to a value other than \fIC\fR, before you can use a language priority list through the \fI\s-1LANGUAGE\s0\fR variable. See also the \fIgettext\fR\|(1) manual: .Sp If you select a language which is not available you will get the standard English messages. .IP "\fB\s-1WCDLOCALEDIR\s0\fR" 4 .IX Item "WCDLOCALEDIR" With the environment variable \fI\s-1WCDLOCALEDIR\s0\fR the \fI\s-1LOCALEDIR\s0\fR used during compilation and installation of wcd can be overruled. \fI\s-1LOCALEDIR\s0\fR is used by wcd with native language support to find the language files. The \s-1GNU\s0 default value is \f(CW\*(C`/usr/local/share/locale\*(C'\fR. By typing \f(CW\*(C`wcd \-V\*(C'\fR wcd will print the \fI\s-1LOCALEDIR\s0\fR that is used. .Sp If you have installed wcd in a different directory than the default directory you may need to set the environment variable \fI\s-1WCDLOCALEDIR\s0\fR to point to the locale directory. .Sp An example for Windows cmd: .Sp .Vb 1 \& set WCDLOCALEDIR=c:/my_prefix/share/locale .Ve .Sp An example for a \s-1POSIX\s0 shell: .Sp .Vb 1 \& export WCDLOCALEDIR=$HOME/share/locale .Ve .IP "\fB\s-1LC_COLLATE\s0\fR" 4 .IX Item "LC_COLLATE" When there are multiple directory matches wcd presents a sorted list. The sorting depends on the locale settings. If the environment \fI\s-1LANG\s0\fR has been set the matches are sorted like dictionaries or phone books are sorted in that language. For instance dots and dashes are ignored, or letters e with and without accent are equal, or upper and lower case is ignored. .Sp The sorting gives preference to environment variable \fI\s-1LC_COLLATE\s0\fR over \fI\s-1LANG\s0\fR. If you make \fI\s-1LC_COLLATE\s0\fR equal to \f(CW\*(C`C\*(C'\fR or \f(CW\*(C`POSIX\*(C'\fR, locale sorting is turned off. For instance if you want Dutch language, but not Dutch sorting, you can do something like this: .Sp .Vb 2 \& export LANG=nl_NL \& export LC_COLLATE=C .Ve .IP "\fB\s-1LC_CTYPE\s0\fR" 4 .IX Item "LC_CTYPE" With regard to character encoding Wcd will give preference to variable \&\fI\s-1LC_CTYPE\s0\fR over \fI\s-1LANG\s0\fR. For instance to set character encoding to \&\s-1UTF\-8\s0 the following environment setting can be done. .Sp .Vb 1 \& export LC_CTYPE=en_US.UTF\-8 .Ve .IP "\fB\s-1LC_ALL\s0\fR" 4 .IX Item "LC_ALL" All locale environment variables that start with \fI\s-1LC_\s0\fR are overruled by the environment variable \fI\s-1LC_ALL\s0\fR if it is defined. Wcd gives preference to \&\fI\s-1LC_ALL\s0\fR over \fI\s-1LC_COLLATE\s0\fR and \fI\s-1LC_CTYPE\s0\fR. .SS "\s-1WINDOWS CODE PAGES\s0" .IX Subsection "WINDOWS CODE PAGES" There are two groups of code pages: \s-1DOS\s0 code pages (\s-1OEM\s0) and Windows code pages (\s-1ANSI\s0). The default encoding for Windows, when configured with Western regional settings, is \s-1ANSI CP1252.\s0 Windows programs, for instance notepad, use this default system \s-1ANSI\s0 code page. The Windows console uses by default an \s-1OEM\s0 code page (\s-1CP437\s0 or \s-1CP850\s0) for compatibility with \s-1DOS\s0 programs. If you use a \s-1DOS\s0 version of wcd in a Windows console it will work, because of the \s-1DOS\s0 code page. But the \s-1DOS\s0 version of wcd lacks support for long directory names and network drives on Windows. .PP The Windows version of wcd is a native Windows program and will use the Windows system \s-1ANSI\s0 code page. So on a Western regional Windows it will use code page \&\s-1CP1252\s0 for directory names and messages. In order to get consistent output, independent of the active code page, all Windows versions of Wcd translate \s-1ANSI\s0 output to Unicode output in the Command Prompt and PowerShell. .PP The console raster font only supports the original \s-1OEM\s0 code page installed with Windows, so you have to change the console's font to true type Lucida Console to make Unicode (and \s-1ANSI\s0) letters appear correctly. .PP Non-Unicode versions of Wcd \fIprior to version 5.2.0\fR use plain \s-1ANSI\s0 output. For these older versions the code page of the console has to be made equal to the system code page (changed to 1252) to make wcd for Windows work properly with special characters such as accented characters or the Euro symbol. .PP The Windows system code page can be changed via the Control Panel regional options. The Windows console code page is changed with the \f(CW\*(C`chcp\*(C'\fR command. .PP When you type \f(CW\*(C`wcd \-V\*(C'\fR, the actual character encoding used by wcd is shown. Type the command \f(CW\*(C`chcp\*(C'\fR to display the active code page of the Windows console. .SS "\s-1UNICODE\s0" .IX Subsection "UNICODE" Wcd has optional support for Unicode. To see if wcd was built with Unicode support type \f(CW\*(C`wcd \-V\*(C'\fR. If your terminal/console and font supports it, you should see the Euro symbol and Chinese characters (meaning: \&\*(L"Chinese\*(R"). .PP Wcd has been \fIsoft\fR converted to Unicode. In its core wcd handles all data as a stream of bytes. Only the lines printed to screen are on the fly converted to Unicode wide characters. Wcd fully relies on libc functions and has no \s-1UTF\-8\s0 specific code. See also .PP Wcd has optional support for Unicode matching with normalisation. To find out whether Wcd has normalisation support type \f(CW\*(C`wcd \-V\*(C'\fR. Wcd with Unicode normalization support will match Unicode names based on \fIcompatible\fR equivalence. Without Unicode normalization support, names are matched when they are binary equivalent. See also .PP \fI\s-1UTF\-8\s0 on Unix/Linux\fR .IX Subsection "UTF-8 on Unix/Linux" .PP In order to view \s-1UTF\-8\s0 characters your console/terminal also needs to support \s-1UTF\-8.\s0 The xterm version that comes with XFree86 4.0 or higher includes \s-1UTF\-8\s0 support. To activate it, start \fIxterm\fR\|(1) in a \s-1UTF\-8\s0 locale and use a font with iso10646\-1 encoding, for instance with .PP .Vb 1 \& LC_CTYPE=en_GB.UTF\-8 xterm \-u8 \-fn \*(Aq\-Misc\-Fixed\-Medium\-R\-SemiCondensed\-\-13\-120\-75\-75\-C\-60\-ISO10646\-1\*(Aq .Ve .PP Modern distributions of GNU/Linux support \s-1UTF\-8\s0 by default. Other multi-byte character encodings should also work, but that has not been tested. .PP Wcd assumes that the treedata files are encoded in the locale character encoding. There are no Byte Order Marks written to treedata files. .PP \fI\s-1UTF\-16\s0 on Windows\fR .IX Subsection "UTF-16 on Windows" .PP On Windows Unicode is supported in all versions of PowerShell, and in Windows Command Prompt on Windows 7 (or higher). Unicode also works in Take Command or \s-1TCC/LE\s0 made by \s-1JP\s0 Software, which can be used on older Windows versions (XP/Vista). .PP On Windows all the directory names on disk are encoded in \s-1UTF\-16\s0 Unicode. For non-Unicode Windows programs the Unicode characters are translated to the default \s-1ANSI\s0 code page. For characters that are not part of the regional setting this translation is not possible and non-Unicode programs print a question mark or a wrong character instead. .PP Wcd with Unicode support will read the \s-1UTF\-16\s0 encoded directory names and converts them internally to \s-1UTF\-8.\s0 All treedata files are encoded in \s-1UTF\-8\s0 and not compatible with the non-Unicode version of Wcd. Wcd will create a go-script encoded in \s-1UTF\-8.\s0 .PP All versions of Windows PowerShell are able to run scripts encoded in \s-1UTF\-8,\s0 provided there is an \s-1UTF\-8 BOM\s0 in the script. .PP Since Windows 7 it is possible in Windows Command Prompt to change directory with a batch script to a directory with Unicode letters in the name. The directory name needs to be encoded in \s-1UTF\-8,\s0 and the batch script must \fInot\fR have a \s-1BOM.\s0 The active code page of the Command Prompt needs to be set to 65001 (\s-1UTF\-8\s0) prior to the cd command. Wcd for Command Prompt will create such a go script \f(CW\*(C`wcdgo.bat\*(C'\fR. It first changes the code page to 65001, then changes directory, and finally sets the code page back to the original code page. .PP You need to set the font to True Type Lucida Console (not raster font) when letters don't appear correctly. .PP The non-Unicode Windows version of Wcd can read Unicode treedata files since version 5.2.0, provided there is a Byte Order Mark (\s-1BOM\s0) in the file (see ), but it can't change to directories with Unicode letters in the name that are not part of the default system \s-1ANSI\s0 code page. The Unicode Windows version of wcd writes a \s-1BOM\s0 in the \s-1UTF\-8\s0 encoded treedata files since version 5.2.0, which makes them also readable by notepad. .PP \fI\s-1UTF\-8\s0 on Cygwin\fR .IX Subsection "UTF-8 on Cygwin" .PP Cygwin supports Unicode since version 1.7. The Cygwin layer takes care that the Windows \s-1UTF\-16\s0 Unicode names are converted to \s-1UTF\-8.\s0 So programs, like wcd, do not need to be aware of this and can operate using \s-1UTF\-8\s0 encoding as on Unix/Linux. Set character encoding to \s-1UTF\-8\s0 with the \fI\s-1LANG\s0\fR or \fI\s-1LC_CTYPE\s0\fR environment variable. You may need to rescan your drives. You need to set the font to True Type Lucida Console (not raster font) if you use the default Cygwin console. .PP The Cygwin version behaves exactly as the Unix version of wcd. There is no \s-1BOM\s0 written in the treedata files, and it is assumed they are encoded in the \fBCygwin\fR locale character encoding. .SH "FILES" .IX Header "FILES" If the environment variable \fI\s-1WCDHOME\s0\fR is set wcd will use \fI\s-1WCDHOME\s0\fR instead of \fI\s-1HOME\s0\fR. All \f(CW\*(C`*.wcd\*(C'\fR files are text files. They can be edited with a text editor. The Windows Command Prompt version of wcd behaves as the \s-1DOS\s0 version. The Cygwin version of wcd behaves as the Unix version. .IP "\fBwcd.exe\fR" 4 .IX Item "wcd.exe" The program. In Unix shells the program is always called by a function or alias, because the current working directory of a Unix shell can only be changed by the builtin cd command. See also section \&\s-1INSTALLATION.\s0 .IP "\fBdefault treedata file\fR" 4 .IX Item "default treedata file" This is the default treedata file where wcd searches for matches. If it is not readable wcd will create a new one. .Sp .Vb 2 \& DOS: \etreedata.wcd or %HOME%\etreedata.wcd \& Unix: $HOME/.treedata.wcd .Ve .IP "\fBextra treedata file\fR" 4 .IX Item "extra treedata file" An optional extra treedata file. If it exists and is readable wcd will try to find matches in this file also. .Sp .Vb 2 \& DOS: \eextra.wcd or %HOME%\eextra.wcd \& Unix: $HOME/.extra.wcd .Ve .IP "\fBban file\fR" 4 .IX Item "ban file" In this optional file wcd places banned paths. See option \fB\-b\fR. Wildcards are supported. .Sp .Vb 2 \& DOS: \eban.wcd or %HOME%\eban.wcd \& Unix: $HOME/.ban.wcd .Ve .IP "\fBalias file\fR" 4 .IX Item "alias file" Optional file with wcd aliases. See option \fB\-l\fR. .Sp .Vb 2 \& DOS: \ealias.wcd or %HOME%\ealias.wcd \& Unix: $HOME/.alias.wcd .Ve .IP "\fBstack file\fR" 4 .IX Item "stack file" In this file wcd stores its stack. The drive letter can be changed with the \fB\-d\fR option. .Sp .Vb 2 \& DOS: c:\estack.wcd or %HOME%\estack.wcd \& Unix: $HOME/.stack.wcd .Ve .Sp The name of the stack file can be changed with environment variable \fI\s-1WCDSTACKFILE\s0\fR. See section \s-1ENVIRONMENT VARIABLES.\s0 .IP "\fBgo-script\fR" 4 .IX Item "go-script" This is the shell script which wcd.exe creates each time. It is sourced via a function or an alias. The drive letter can be changed with the \fB\-d\fR option. For history reasons it is placed by default in \f(CW\*(C`$HOME/bin\*(C'\fR on Unix systems. The directory of this file can be changed with the option \fB\-G\fR. .Sp .Vb 8 \& DOS bash: c:/wcd.go or $HOME/wcd.go \& Windows Command Prompt: c:\ewcdgo.bat or %HOME%\ewcdgo.bat \& Windows PowerShell: $env:HOME\ewcdgo.ps1 \& WinZsh: $HOME/wcd.go \& Cygwin/MSYS: $HOME/bin/wcd.go \& OS/2 Command Prompt: c:\ewcdgo.cmd or %HOME%\ewcdgo.cmd \& OS/2 bash: c:/wcd.go or $HOME/wcd.go \& Unix: $HOME/bin/wcd.go .Ve .IP "\fBrelative treedata file\fR" 4 .IX Item "relative treedata file" Text file with relative paths from \fI\s-1DIR\s0\fR. See options \fB+S\fR, \fB\-n\fR and \&\fB+n\fR. .Sp .Vb 2 \& DOS: PATH\ertdata.wcd \& Unix: PATH/.rtdata.wcd .Ve .SH "ENVIRONMENT VARIABLES" .IX Header "ENVIRONMENT VARIABLES" .IP "\fB\s-1HOME\s0\fR" 4 .IX Item "HOME" Wcd uses by default environment variable \fI\s-1HOME\s0\fR to determine where to store its files. See also section \s-1FILES.\s0 This can be overruled with environment variable \fI\s-1WCDHOME\s0\fR. .Sp \&\fI\s-1HOME\s0\fR also defines where to start scanning the disk when option \fB\-s\fR is used. This can be overruled with the environment variable \fI\s-1WCDSCAN\s0\fR. .Sp For the Unix, Cygwin, Windows PowerShell, WinZsh and \s-1MSYS\s0 version it is required that \fI\s-1HOME\s0\fR or \fI\s-1WCDHOME\s0\fR is set. For the other versions of wcd the use of these variables is optional. .Sp If \fI\s-1HOME\s0\fR is set on DOS/Windows, wcd will place all its files (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) in directory \&\fI\s-1HOME\s0\fR. The behaviour of wcd is then equal to the Unix version of wcd. Wcd will scan the disk default from \fI\s-1HOME\s0\fR. Drives will not be automatically scanned by changing to them. You need to tell wcd explicitly. E.g.: .Sp .Vb 1 \& wcd \-S c: \-A d: \-A e: .Ve .Sp Matching of directories is now global over all scanned drives. .IP "\fB\s-1WCDHOME\s0\fR" 4 .IX Item "WCDHOME" Environment variable \fI\s-1WCDHOME\s0\fR can be used to change the location of wcd's files. If both \fI\s-1HOME\s0\fR and \fI\s-1WCDHOME\s0\fR are set, \fI\s-1WCDHOME\s0\fR will be used instead of \fI\s-1HOME\s0\fR. .Sp In wcd versions prior to 5.1.5 \fI\s-1WCDHOME\s0\fR also changed the default scan directory. This has changed. Since version 5.1.5 \fI\s-1WCDHOME\s0\fR does not change the default scan directory. See option \fB\-s\fR. From version 5.1.5, use environment \fI\s-1WCDSCAN\s0\fR to overrule the default scan directory. .Sp Example for \s-1DOS,\s0 Windows, \s-1OS/2\s0 Command Prompt: .Sp .Vb 1 \& set WCDHOME=C:\eUsers\eerwin\ewcd .Ve .Sp An example for \s-1POSIX\s0 type shells: .Sp .Vb 1 \& export WCDHOME="$HOME/.wcd" .Ve .Sp An example for Csh type shells: .Sp .Vb 1 \& setenv WCDHOME "$HOME/.wcd" .Ve .IP "\fB\s-1WCDSCAN\s0\fR" 4 .IX Item "WCDSCAN" Use environment variable \fI\s-1WCDSCAN\s0\fR to overrule the default scan directory \fI\s-1HOME\s0\fR. Define a colon separated list (Unix) to define more than one directory. On DOS/Windows make the list semi-colon separated. .Sp Examples for \s-1DOS,\s0 Windows, \s-1OS/2\s0 Command Prompt: .Sp .Vb 1 \& set WCDSCAN=C:\eUsers\eerwin;D:\edata \& \& set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\e\eprojectdrive\eprojectX .Ve .Sp An example for \s-1POSIX\s0 type shells: .Sp .Vb 1 \& export WCDSCAN="$HOME:/projectdisk/projectX" .Ve .Sp An example for Csh type shells: .Sp .Vb 1 \& setenv WCDSCAN "$HOME:/projectdisk/projectX" .Ve .IP "\fB\s-1WCDFILTER\s0\fR" 4 .IX Item "WCDFILTER" Specify filters with environment variable \fI\s-1WCDFILTER\s0\fR. All directories that do not match the filter(s) are ignored. A list can be specified by separating filters by the shell path separator. Similar as specifying the \fI\s-1PATH\s0\fR variable. The case sensitivity is mandated by the Operating system. .Sp An example for \s-1DOS,\s0 Windows, \s-1OS/2\s0 Command Prompt: .Sp .Vb 1 \& set WCDFILTER=projects;doc .Ve .Sp An example for \s-1POSIX\s0 type shells: .Sp .Vb 1 \& export WCDFILTER="projects:doc" .Ve .Sp An example for Csh type shells: .Sp .Vb 1 \& setenv WCDFILTER "projects:doc" .Ve .IP "\fB\s-1WCDBAN\s0\fR" 4 .IX Item "WCDBAN" The paths specified with environment \fI\s-1WCDBAN\s0\fR will be banned by wcd. See also option \fB\-b\fR. Specify a list of paths separated by shell \&\fI\s-1PATH\s0\fR separator. .IP "\fB\s-1WCDEXCLUDE\s0\fR" 4 .IX Item "WCDEXCLUDE" The paths specified with environment \fI\s-1WCDEXCLUDE\s0\fR will be excluded by wcd. See also options \fB\-x\fR and \fB\-xf\fR. Specify a list of paths separated by shell \fI\s-1PATH\s0\fR separator. .Sp An example for \s-1DOS,\s0 Windows, \s-1OS/2\s0 Command Prompt: .Sp .Vb 1 \& set WCDEXCLUDE=*/windows;*/temp;*CVS .Ve .Sp An example for \s-1POSIX\s0 type shells: .Sp .Vb 1 \& export WCDEXCLUDE="/dev:/tmp:*CVS" .Ve .Sp An example for Csh type shells: .Sp .Vb 1 \& setenv WCDEXCLUDE "/dev:/tmp:*CVS" .Ve .IP "\fB\s-1WCDUSERSHOME\s0\fR" 4 .IX Item "WCDUSERSHOME" Set the base of user's home directories. On DOS/Windows the default value is \f(CW\*(C`\e\eusers\*(C'\fR. On Unix/Cygwin the default value is \f(CW\*(C`/home\*(C'\fR. This variable is used to scan treedata files of other users. See also options \fB\-u\fR and \fB+u\fR. In verbose mode wcd will print all filters, bans and excludes. See option \fB\-v\fR. .IP "\fB\s-1WCDSTACKFILE\s0\fR" 4 .IX Item "WCDSTACKFILE" Wcd gives preference to \fI\s-1WCDSTACKFILE\s0\fR over the default stack file name (see section \s-1FILES\s0). With this variable each shell (or used terminal emulator) can have its private stack of used directories. .Sp To use a unique time based YYYYMMDD-HHMMSS file for each opened interactive shell. .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d\-%H%M%S) .Ve .Sp For a stack per \fIxterm\fR\|(1), use the xterm \fI\s-1WINDOWID\s0\fR environment variable: .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID .Ve .Sp For \s-1GNU\s0 \fIscreen\fR\|(1), to use stack per screen: .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW .Ve .IP "\fB\s-1TERMINFO\s0\fR" 4 .IX Item "TERMINFO" If the environment variable \fI\s-1TERMINFO\s0\fR is defined, wcd with ncurses interface checks for a local terminal definition before checking in the standard place. This is useful if terminal definitions are not on a standard place. Often used standard places are \f(CW\*(C`/usr/lib/terminfo\*(C'\fR and \f(CW\*(C`/usr/share/terminfo\*(C'\fR. .IP "\fB\s-1PDC_RESTORE_SCREEN\s0\fR" 4 .IX Item "PDC_RESTORE_SCREEN" Wcd with PDCurses interface recognizes the environment variable \&\fI\s-1PDC_RESTORE_SCREEN\s0\fR. If this environment variable is set, PDCurses will take a copy of the contents of the screen at the time that wcd is started; when wcd exits, the screen will be restored. An example for Windows Command Prompt: .Sp .Vb 1 \& set PDC_RESTORE_SCREEN=1 .Ve .Sp Windows allows only a small buffer to be saved. So it is not always possible to restore everything. Some garbage data may be printed in the console after wcd exits if you have set a large buffer width. .IP "\fB\s-1SHELL\s0\fR" 4 .IX Item "SHELL" Printing of \f(CW\*(C`#!$SHELL\*(C'\fR on the first line of the go-script for \s-1POSIX\s0 type shell or C shell is needed for 8 bit characters. Some shells otherwise think that the go-script is a binary file and will not source it. In Cygwin Bash the variable \fI\s-1SHELL\s0\fR must be set in environment using the \f(CW\*(C`export\*(C'\fR command, otherwise wcd can't read the variable. .IP "\fB\s-1BASH\s0\fR" 4 .IX Item "BASH" Wcd for \s-1DOS\s0 bash uses \f(CW$BASH\fR instead of \f(CW$SHELL\fR, because \f(CW$SHELL\fR points to the \s-1DOS\s0 command shell. One may need to define \f(CW$BASH\fR with an \f(CW\*(C`export\*(C'\fR command, otherwise wcd can't read the variable. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIsh\fR\|(1), \&\fIbash\fR\|(1), \&\fIcsh\fR\|(1), \&\fIksh\fR\|(1), \&\fIzsh\fR\|(1), \&\fIlocale\fR\|(1), \&\fIncurses\fR\|(1), .SH "AUTHORS" .IX Header "AUTHORS" Wcd was written by Erwin Waterlander .PP Project homepage: .PP SourceForge: .PP The manual page formatting was provided by Jari Aalto . .PP \&\s-1NCD\s0 was originally written by Brad Kingsbury for Peter Norton's \&\*(L"Norton Utilities\*(R" around 1987. See also wcd-6.0.3/src/man/man1/wcd.htm0000644000175500010010000015370113524756534015256 0ustar waterlanGeen wcd 6.0.3 - Wherever Change Directory

NAME

wcd - Wherever Change Directory

chdir for DOS and Unix

SYNOPSIS

    wcd [options] [directory]

DESCRIPTION

Overview

Wcd is a command-line program to change directory fast. It saves time typing at the keyboard. One needs to type only a part of a directory name and wcd will jump to it. Wcd has a fast selection method in case of multiple matches and allows aliasing and banning of directories. Wcd also includes a full screen interactive directory tree browser with speed search.

Wcd was modeled after Norton Change Directory (NCD). NCD appeared first in The Norton Utilities, Release 4, for DOS in 1987, published by Peter Norton.

Wcd has been ported to different command-line shells: DOS command.com, Windows cmd.exe and PowerShell, OS/2 cmd.exe, and Unix shells such as Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), and C (csh) shell and others running on any operating system.

Wcd supports 8 bit character sets on all systems, and has optional support for Unicode. See section LOCALIZATION.

See section INSTALLATION how to setup wcd for personal use.

Basic use

By default (if no wildcards are used) wcd searches for a directory with a name that begins with the typed name.

For instance this command will change to directory to the current user's /home/user/Desktop:

    wcd Desk

When there are multiple matches, wcd will present the user a list of all matches. The user can then make a selection with a few keystrokes (most of the times only one).

Wildcards

Wcd supports following wildcards:

    *       matches any sequence of characters (zero or more)
    ?       matches any character
    [SET]   matches any character in the specified set,
    [!SET]  or [^SET] matches any character not in the specified set.

A set is composed of characters or ranges; a range looks like character hyphen character as in 0-9 or A-Z. The [0-9a-zA-Z_] is the minimal set of characters allowed in the [..] pattern construct. International characters (i.e. 8 bit characters) are allowed if the system supports them. To suppress the special syntactic significance of any of []*?!^-\ inside or outside a [..] construct and match the character exactly, precede the character with a backslash (\) marker.

Using wildcards makes powerful searching possible. For instance this matches any directory name that ends with "top":

    wcd *top

Match directories that have "top" anywhere in the name:

    wcd *top*

Match any directory name that begins with "a", "b" or "c":

    wcd [a-c]*

It is also possible to give a part of a directory path. Here Wcd searches for directory that begins with "Desk" and which path matches *me/Desk*.

    wcd me/Desk

It is allowed to type any kind of expression with slashes and wildcards. E.g.:

    wcd src*/*1?/a*2

Other uses

If no wildcards are used and wcd finds a perfect match, wcd will ignore all wild matches by default. This behaviour can be changed with the -w option.

The interactive directory tree browser can be started by using option -g.

    wcd -g

Wcd generates a treedata file where it searches the directory. On Unix and Windows systems wcd does add symbolic links to the treedata file while scanning the disk, but does not follow them. While following links wcd could end up scanning infinite loops, or scan very large portions of a network.

Wcd can also change to directories that are not in the treedata file. E.g.:

    wcd ..

If wcd found a match but can't change to the directory it tries to remove it from the default treedata file. Not from the extra treedata file. See also option -k.

Wcd keeps a directory stack which is stored on disk. The stack has a default size of 10 and is cyclic. See options -z, -, + and =.

In multi-user environments option -u can be used to change to directories of other users.

On DOS and Windows systems it does not matter if you use a slash "/" or a backslash "\" as a directory separator.

It is possible on DOS and Windows systems to change drive and directory in one go by preceding the directory name with the drive name.

    wcd d:games

Windows UNC paths

The Windows versions (Command Prompt, PowerShell, MSYS, zsh, cygwin) support Windows SMB LAN UNC paths without drive letter such as \\servername\sharename. Wcd for Windows Command Prompt makes use of the "pushd" command to automatically map a UNC path to a drive letter. In Windows PowerShell, MSYS, zsh and Cygwin UNC paths are fully supported. The current working directory can be a UNC path.

Console resizing on Windows

Wcd supports console resizing in Windows 10 console and ConEmu (see https://conemu.github.io/) since version 6.0.3. The Windows 10 console must not be in legacy mode (check the console's properties). The screen may not refresh when the console Layout property "Wrap text output on resize" is disabled. The screen can be refreshed manually by pressing the F5 key.

Interfaces

Wcd has three different interfaces to choose from a list of matches. The interface can be chosen at compile time.

The first interface uses plain stdin/stdout. A numbered list is printed in the terminal. The user has to choose from the list by typing a number followed by <Enter>. This interface does not provide scroll back functionality in case of a long list. The scroll back capability of the terminal/console has to be used. It is very small and portable.

The second interface is built with the conio library. It provides a builtin scroll back capability. The user is presented a list numbered with letters. Choosing from a list can be done by pressing just one letter. This interface is fast because it saves keystrokes. If possible the screen will be restored after exiting. One who prefers to type numbers can use the -N option.

The third interface is built with the curses library. It is similar to the conio interface. The curses version of wcd has also an additional 'graphical' interface. It lets the user select a directory via a full screen interactive directory tree browser. It has a vim(1) like navigation and search method. It can be activated with option -g.

By using the -o option one can always fall back to the stdin/stdout interface.

OPTIONS

-a

Add current path to the default treedata file.

Use this option to quickly add the current path to the default treedata file. Re-scanning the complete disk can take a long time in some cases.

-aa

Add current and all parent paths to the default treedata file.

-A PATH

Scan directory tree from PATH and append to the default treedata file. Examples:

    wcd -A .
    wcd -A /home -A /etc
    wcd -A d: -A e: -A \\server\share

On Windows one can scan all shared directories of a Windows LAN server by typing something like: wcd -A \\servername.

See also option -S and -s and -E.

-b

Ban current path.

Wcd places the current path in the ban file. This means that wcd ignores all matches of this directory and its sub directories.

The ban file can be edited with a text editor. Use of wildcards is supported and names are matched against the absolute path.

Banned paths are not excluded from scanning the disk. To do that use option -xf.

-c, --direct-cd

Direct CD mode. By default wcd works as follows:

    1. Try to find a match in the treedata file(s)
    2. If no match, try to open the directory you typed.

In direct CD mode wcd works in reversed order.

    1. Try to open the directory you typed.
    2. If not, try to find a match in the treedata file(s).
-d DRIVE

Set drive for stack and go file (DOS only).

The stack file and the go-script are by default stored on drive C: if environment variable HOME is not set. Use this option if drive C: is a read-only drive. This option must be used in front of the stack options -, + and =.

-e

Add current path to the extra treedata file.

Use this option to quickly add the current path to the extra treedata file.

-ee

Add current and all parent paths to extra treedata file.

-E PATH

Scan directory tree from PATH and append to Extra treedata file. See also options -A and -S.

-f FILE

Read treedata file FILE. Do not read the default treedata file.

+f FILE

Read treedata file FILE in addition to the default treedata file.

-g

Graphical interface (only in version with curses interface).

Wcd starts a textual curses based 'graphical' interface. The user can select a directory via a full-screen interactive directory tree browser. It has a vim(1) like navigation and search method.

If no search string is given wcd presents the whole tree which is in the default treedata file and the extra treedata files.

If a search string is given the match list is presented as a directory tree.

The default tree layout is similar to the tree layout of the original NCD on DOS. The difference in layout is that in NCD all directories of a same depth level were vertically aligned over the whole tree. This was possible in NCD, because the maximum width of a directory name in DOS was 12 (8.3) characters. On modern operating systems directory names can be very long, so also the differences in length can be large. Therefore folders with a same depth are not vertically aligned over the whole tree in wcd, but only in sub-branches. So there is some sideways movement when moving straight up and down from one sub-branch to another sub-branch.

The navigation behaviour in Wcd is exactly the same as in the original NCD. For instance if you push the Down key you go down to the next directory with the same depth level, jumping over branches. This enables fast navigation through the tree.

See options -Ta, -TC, and -Tc to change the navigation behaviour.

-gd

Dump the treedata files as a tree to stdout.

-G PATH

Write go-script in directory PATH. For instance on Unix, wcd -G PATH will write a go-script PATH/wcd.go.

-GN, --no-go-script

Do not create go-script. This option can be used in combination with the option -j if one does not want wcd to create a go-script.

-h, --help

Show help and exit.

-i, --ignore-case

Ignore case. Dos and Windows versions of wcd ignore case default. Unix/Cygwin versions regard case by default.

+i, --no-ignore-case

Regard case. See also option -i.

-I, --ignore-diacritics

Ignore diacritics for Latin-based scripts. Letters with diacritical marks match their base letter without diacritical mark. The following Latin encodings are supported: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, and Unicode Latin-1, Latin Extended-A, and Latin Extended-B. See also http://en.wikipedia.org/wiki/Diacritic

+I, --no-ignore-diacritics

Regard diacritics (default). See also option -I.

-j, --just-go

Just go mode.

In this mode wcd will not present a list when there is more than one directory that matches the given directory. Wcd will just change to the first option. When wcd is invoked again with the same arguments it will change to the next option, and so on.

Wcd will print the directory to go to to stdout. So a different installation method can be used. One could make the following function for a POSIX compatible shell:

    wcd ()
    {
        cd "$($HOME/bin/wcd.exe -j $@)"
    }

When you are using an old shell that doesn't support "$()" command substitution you have to use old style command substitution with back-quotes.

    wcd ()
    {
        cd "`$HOME/bin/wcd.exe -j $@`"
    }

On Windows systems, if one is running 4NT shell, one could make the following alias:

    alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`

This method eliminates the need of the go-script, so one can use option -GN in combination with -j.

-k, --keep-paths

Keep paths.

Keep paths in the treedata file when wcd can't change to them. The default behaviour of wcd is that it tries to remove paths from the treedata when wcd can't change to them. With this option this behavior is turned off.

-K, --color

Use colors in graphical mode.

-l ALIAS

Name the current path with ALIAS. Wcd places the current path with alias ALIAS in the alias file. Aliases are case sensitive.

-ls

Show the name of the alias file, and list all the aliases.

-m DIR

Make directory and add to treedata file.

-L, --license

Print the distribution license.

-M DIR

Make directory and add to extra treedata file.

-n PATH

Read relative treedata file from PATH.

Do not read the default treedata file. The relative treedata file should already have been created using the wcd +S option. PATH may also point to a file directly.

An example. Suppose another system has been mounted to mount point /mnt/network:

    wcd -n /mnt/network src

Wcd opens the relative treedata file in /mnt/network/. The file contains the paths relative from that point.

+n PATH

Read relative treedata file in addition to the default treedata file. See option -n.

-N, --numbers

Use numbers instead of letters.

Wcd with a conio or curses based interface (see section Interfaces) presents a match list by default numbered with letters. When the -N option is used the match list is numbered with numbers. Regardless of the -N option one can type a letter or numbers to make a selection from the list of matches.

-o

Use stdin/stdout interface.

When for some kind of reason the conio or curses interface of wcd does not work one can fall back to the stdin/stdout interface of wcd by using the -o option.

-od, --to-stdout

Dump all matches to stdout.

-q, --quiet

Quieter operation. Printing of the final match is suppressed.

-r DIR

Remove directory and remove from the treedata file.

If the directory is empty, wcd will remove it, and try to remove it from the treedata file.

-rmtree DIR

Recursively remove directory and remove from the treedata file.

Wcd will remove the directory and all its sub directories and files, and remove the directories from the treedata file.

-s

(re)Scan disk from $HOME directory. If HOME is not defined the disk is scanned from root directory /.

The existing default treedata file is overwritten.

The default scan directory can be overruled with environment variable WCDSCAN. See section ENVIRONMENT VARIABLES.

-S PATH

Scan directory tree from PATH and overwrite the default treedata file. See also options -A, -s and -E. E.g. with option -A you can create a default treedata file of your choice. Examples:

Unix:

    wcd -S /
    wcd -S /home -A /etc -A /usr

DOS/Windows:

    wcd -S c:/
    wcd -S c: -A d: -A \\server\share

With the Windows versions one can scan all shared directories of a Windows LAN server by typing something like: wcd -S \\servername.

+S PATH

Scan disk from PATH and place relative paths in a relative treedata file. This file is used by the -n and +n options of wcd. E.g. wcd -n PATH src.

-t

Do not strip tmp mount dir /tmp_mnt (Unix only)

Wcd strips by default /tmp_mnt/ from the match. Directory /tmp_mnt is used by the auto-mounter. This behaviour can be turned off with the -t option.

-T, --ascii-tree

Draw tree with ASCII characters. Use this option if line drawing characters are not displayed properly in your terminal.

-Ta, --alt-tree-nav

Alternative way of navigation in the graphical tree.

In the default NCD style tree layout the -Ta option disables jumping to unrelated directories.

In compact tree mode the alternative mode makes navigation similar to navigation in GUI file managers such as Windows Explorer or Linux KDE Konqueror. Pressing Up and Down moves the selected folder one line up or down. Pressing Left first folds the sub-folders and the next move left moves really left.

You can switch on-the-fly between default and alternative navigation by pressing <Shift-A>.

When alternative navigation mode is on, you will see an "A" in the lower right corner.

-TC, --center-tree

Centered view in the graphical tree. The selected directory stays in the middle of the screen. The centered mode can also be switched on and off with key <t> in the graphical tree.

The standard non-centered behaviour, which minimises tree movement, is the same as in the original NCD.

-Tc, --compact-tree

By default the 'graphical' tree is drawn the same way as the original NCD on DOS did it. On DOS a directory path could only be 66 characters in total. With the deep directory structures of today the tree can become very wide. To overcome this wcd can draw the tree in a compact way, similar to most GUI file managers, with only one folder per line. Use option -Tc or switch on-the-fly with the <m> key.

-Td, --cjk-width

Legacy East-Asian CJK (Chinese, Japanese, and Korean) fonts have certain characters and line drawing symbols with a column width of 2, while the normal Unicode width for these characters is 1 column. For instance the Chinese CP936 raster font on Windows and the Simsun font. Use this option for a correct outlining of the graphical tree when a legacy CJK font is used.

When CJK mode is on, you will see a "C" in the lower right corner.

-u USER

Scan treedata file of another user based on USER, do not scan your own default treedata file. See also section ENVIRONMENT VARIABLES for WCDUSERSHOME.

On Unix/Cygwin the base directory for user home directories is assumed to be /home. Wcd will look for /home/USER/.treedata.wcd and /home/USER/.wcd/.treedata.wcd, in that order, and read the first one that exists and is readable. On DOS/Windows the base directory for user home directories is assumed to be \\users, so wcd tries to read \\users\USER\treedata.wcd and \\users\USER\.wcd\treedata.wcd.

+u USER

Read default treedata file of USER in addition to your own treedata file.

-v, --verbose

Display verbose messages. With this option wcd prints all filters, bans and excludes.

-V, --version

Print version information and exit.

-w, --wild-match-only

Wild matching only. Treat all matches as wild matches.

-x PATH

Exclude PATH from scanning.

When this option is used wcd will exclude PATH and all its subdirectories when wcd is scanning a disk. Wildcards are supported and matched against absolute paths. Option -x can be used multiple times.

    wcd -x <path1> -x <path2> -s

Option -x must be used in front of any scan option (-s, -S, +S, -A, -E).

On DOS/Windows systems one must specify the drive letter depending on if environment variable HOME or WCDHOME is set. If HOME or WCDHOME is set one needs to specify the drive letter. An example:

    wcd -x c:/temp -S c:

Otherwise do not specify drive letter.

    wcd -x /temp -s
-xf FILE

Exclude all paths listed in FILE from scanning.

When this option is used wcd will exclude all paths listed in FILE and all their subdirectories when wcd is scanning a disk. Wildcards are supported and they are matched against absolute paths; one path per line. Be aware that wcd will not ignore leading or trailing blanks on a line, because they are legal characters in a directory name. Option -xf can be used multiple times. When one wants to exclude all banned paths from scanning one can do the following (example for wcd on unix):

    wcd -xf ~/.ban.wcd -s

Wildcards are supported. For instance to exclude all your Subversion directories with administrative files add a line with */.svn.

Option -xf must be used in front of any scan option (-s, -S, +S, -A, -E).

-y, --assume-yes

Assume Yes on all queries.

Wcd will not prompt the user with yes/no questions, but assumes the user answers yes on all questions. This can be used in combination with option -rmtree. This option must be used in front of options that can lead to yes/no questions.

-z NUMBER

Set maximum stack size to NUMBER.

The default size of the stack is 10. Stack operation can be turned off by setting the size to 0. This option must be used in front of any other stack operations (-,+,=). Otherwise the size of the stack will be set back to the default 10.

A correct command is:

    wcd -z 50 -

The new stack size will be 50, wcd will go one directory back. A wrong command is:

    wcd - -z 50

Wcd goes one directory back, the stack gets the default size 10. The -z 50 is ignored.

Add this option as the first option to your wcd alias or function. E.g. for the a POSIX compatible shell this would be:

    wcd ()
    {
        wcd.exe -z 50 "$@"
        . ${WCDHOME:-${HOME}}/bin/wcd.go
    }
-[NUMBER]

Push dir NUMBER of times. Default is one.

Go back a directory. Command wcd - goes one directory back. To go more directories back add a number to it. E.g. command wcd -3. The stack is cyclic.

+[NUMBER]

Pop dir NUMBER of times. Default is one.

Go forward a directory. Command wcd + goes one directory forward. To go more directories forward add a number to it. E.g. command wcd +2. The stack is cyclic.

=

Show stack.

Use this option if you do not know anymore how many times to push or pop. The stack is printed and you can choose a number. The current place in the stack is marked with an asterisk *.

INSTALLATION

The current working directory of a Unix shell can only be changed by the builtin cd(1) command. Therefore the program is always called by a function or an alias. The function or alias sources a shell script (go-script) which is generated by the wcd program. Wcd can only work after the function or alias is defined.

Another important influence on your installation is the definition of environment variables HOME and WCDHOME. See section ENVIRONMENT VARIABLES.

Install for POSIX type shells

For a POSIX shell (ksh, bash, zsh, etc.) on Unix, Linux, Cygwin, or native MSYS add the following function to the shell startup file (e.g. Bash uses $HOME/.bashrc):

    wcd ()
    {
        PATH/wcd.exe "$@"
        . ${WCDHOME:-${HOME}}/bin/wcd.go
    }

Replace PATH with the location where the wcd executable has been installed. Reload the shell initialization files or start new shell.

The location of the go-script wcd.go differs per shell.

Wcd for DJGPP DOS bash and OS/2 bash require a different function. The go script is not written in a directory bin, and if WCDHOME and HOME are both not defined the go-script is written on c:/.

DOS bash:

    wcd ()
    {
        PATH/wcdbash.exe "$@"
        . ${WCDHOME:-${HOME:-"c:"}}/wcd.go
    }

OS/2 bash:

    wcd ()
    {
        PATH/wcdos2bash.exe "$@"
        . ${WCDHOME:-${HOME:-"c:"}}/wcd.go
    }

The WinZsh version of wcd requires a bit different function. The go-script will never be written in c:/.

    wcd ()
    {
        PATH/wcdwin32zsh.exe "$@"
        . ${WCDHOME:-${HOME}}/wcd.go
    }

See section FILES for more information.

Install for C-alike shells (csh, tcsh)

Add the following alias to the shell startup file $HOME/.cshrc or $HOME/.tcshrc :

    if ( ${?WCDHOME} ) then
        alias wcd "PATH/wcd.exe \!* ; source $WCDHOME/bin/wcd.go"
    else
        alias wcd "PATH/wcd.exe \!* ; source $HOME/bin/wcd.go"
    endif

Replace PATH with the location where the wcd executable has been installed. Reload the shell initialization files or start a new shell.

Windows Command Prompt version

Unpack the zip file and add directory bin to your environment variable PATH.

In Windows Command Prompt a Windows program cannot change the current work directory, but a .bat file can. The batch script wcd.bat runs the wcd program which generates a new batch script wcdgo.bat. Then wcd.bat runs wcdgo.bat which actually changes the directory.

Windows VISTA and higher

In a Windows VISTA and higher Command Prompt you may have limited access to directories. To get access to more directories you need administrator rights. You can get a Command Prompt with administrator rights if you right click on the Command Prompt icon and select Run as administrator.

Windows PowerShell version

Add the following function to your PowerShell user profile. The location of this profile is stored in the $profile variable. It is required that one of the environment variables HOME or WCDHOME is defined.

    function wcd
    {
        PATH\wcdwin32psh.exe $args
        & $env:HOME\wcdgo.ps1
    }

Replace PATH with the location where the wcd executable has been installed. Start a new PowerShell. Wcd for PowerShell supports only the file system provider. No other providers.

OS/2 Command Prompt version

In an OS/2 Command Prompt (cmd.exe) an OS/2-program can't change the current work directory. That is why wcd generates a command script wcdgo.cmd which must be executed in the current shell. The script wcd.cmd first executes wcdos2.exe, which creates the wcdgo.cmd script. Then wcd.cmd executes the wcdgo.cmd script.

LOCALIZATION

LANG

The primary language is selected with the environment variable LANG. The LANG variable consists out of several parts. The first part is in small letters the language code. The second one is optional and is the country code in capital letters, preceded with an underscore. There is also an optional third part: character encoding, preceded with a dot. A few examples for POSIX standard type shells:

    export LANG=nl               Dutch
    export LANG=nl_NL            Dutch, The Netherlands
    export LANG=nl_BE            Dutch, Belgium
    export LANG=es_ES            Spanish, Spain
    export LANG=es_MX            Spanish, Mexico
    export LANG=en_US.iso88591   English, USA, Latin-1 encoding

For a complete list of language and country codes see the gettext(1) manual: http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes On Unix systems you can use to command locale(1) to get locale specific information.

LANGUAGE

With the LANGUAGE environment variable you can specify a priority list of languages, separated by colons. Wcd gives preference to LANGUAGE over LANG. For instance, first Dutch and then German: LANGUAGE=nl:de. You have to first enable localization, by setting LANG or LC_ALL to a value other than C, before you can use a language priority list through the LANGUAGE variable. See also the gettext(1) manual: http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable

If you select a language which is not available you will get the standard English messages.

WCDLOCALEDIR

With the environment variable WCDLOCALEDIR the LOCALEDIR used during compilation and installation of wcd can be overruled. LOCALEDIR is used by wcd with native language support to find the language files. The GNU default value is /usr/local/share/locale. By typing wcd -V wcd will print the LOCALEDIR that is used.

If you have installed wcd in a different directory than the default directory you may need to set the environment variable WCDLOCALEDIR to point to the locale directory.

An example for Windows cmd:

    set WCDLOCALEDIR=c:/my_prefix/share/locale

An example for a POSIX shell:

    export WCDLOCALEDIR=$HOME/share/locale
LC_COLLATE

When there are multiple directory matches wcd presents a sorted list. The sorting depends on the locale settings. If the environment LANG has been set the matches are sorted like dictionaries or phone books are sorted in that language. For instance dots and dashes are ignored, or letters e with and without accent are equal, or upper and lower case is ignored.

The sorting gives preference to environment variable LC_COLLATE over LANG. If you make LC_COLLATE equal to C or POSIX, locale sorting is turned off. For instance if you want Dutch language, but not Dutch sorting, you can do something like this:

    export LANG=nl_NL
    export LC_COLLATE=C
LC_CTYPE

With regard to character encoding Wcd will give preference to variable LC_CTYPE over LANG. For instance to set character encoding to UTF-8 the following environment setting can be done.

    export LC_CTYPE=en_US.UTF-8
LC_ALL

All locale environment variables that start with LC_ are overruled by the environment variable LC_ALL if it is defined. Wcd gives preference to LC_ALL over LC_COLLATE and LC_CTYPE.

WINDOWS CODE PAGES

There are two groups of code pages: DOS code pages (OEM) and Windows code pages (ANSI). The default encoding for Windows, when configured with Western regional settings, is ANSI CP1252. Windows programs, for instance notepad, use this default system ANSI code page. The Windows console uses by default an OEM code page (CP437 or CP850) for compatibility with DOS programs. If you use a DOS version of wcd in a Windows console it will work, because of the DOS code page. But the DOS version of wcd lacks support for long directory names and network drives on Windows.

The Windows version of wcd is a native Windows program and will use the Windows system ANSI code page. So on a Western regional Windows it will use code page CP1252 for directory names and messages. In order to get consistent output, independent of the active code page, all Windows versions of Wcd translate ANSI output to Unicode output in the Command Prompt and PowerShell.

The console raster font only supports the original OEM code page installed with Windows, so you have to change the console's font to true type Lucida Console to make Unicode (and ANSI) letters appear correctly.

Non-Unicode versions of Wcd prior to version 5.2.0 use plain ANSI output. For these older versions the code page of the console has to be made equal to the system code page (changed to 1252) to make wcd for Windows work properly with special characters such as accented characters or the Euro symbol.

The Windows system code page can be changed via the Control Panel regional options. The Windows console code page is changed with the chcp command.

When you type wcd -V, the actual character encoding used by wcd is shown. Type the command chcp to display the active code page of the Windows console.

UNICODE

Wcd has optional support for Unicode. To see if wcd was built with Unicode support type wcd -V. If your terminal/console and font supports it, you should see the Euro symbol and Chinese characters (meaning: "Chinese").

Wcd has been soft converted to Unicode. In its core wcd handles all data as a stream of bytes. Only the lines printed to screen are on the fly converted to Unicode wide characters. Wcd fully relies on libc functions and has no UTF-8 specific code. See also http://www.cl.cam.ac.uk/~mgk25/unicode.html

Wcd has optional support for Unicode matching with normalisation. To find out whether Wcd has normalisation support type wcd -V. Wcd with Unicode normalization support will match Unicode names based on compatible equivalence. Without Unicode normalization support, names are matched when they are binary equivalent. See also http://en.wikipedia.org/wiki/Unicode_normalization

UTF-8 on Unix/Linux

In order to view UTF-8 characters your console/terminal also needs to support UTF-8. The xterm version that comes with XFree86 4.0 or higher includes UTF-8 support. To activate it, start xterm(1) in a UTF-8 locale and use a font with iso10646-1 encoding, for instance with

    LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'

Modern distributions of GNU/Linux support UTF-8 by default. Other multi-byte character encodings should also work, but that has not been tested.

Wcd assumes that the treedata files are encoded in the locale character encoding. There are no Byte Order Marks written to treedata files.

UTF-16 on Windows

On Windows Unicode is supported in all versions of PowerShell, and in Windows Command Prompt on Windows 7 (or higher). Unicode also works in Take Command or TCC/LE made by JP Software, which can be used on older Windows versions (XP/Vista).

On Windows all the directory names on disk are encoded in UTF-16 Unicode. For non-Unicode Windows programs the Unicode characters are translated to the default ANSI code page. For characters that are not part of the regional setting this translation is not possible and non-Unicode programs print a question mark or a wrong character instead.

Wcd with Unicode support will read the UTF-16 encoded directory names and converts them internally to UTF-8. All treedata files are encoded in UTF-8 and not compatible with the non-Unicode version of Wcd. Wcd will create a go-script encoded in UTF-8.

All versions of Windows PowerShell are able to run scripts encoded in UTF-8, provided there is an UTF-8 BOM in the script.

Since Windows 7 it is possible in Windows Command Prompt to change directory with a batch script to a directory with Unicode letters in the name. The directory name needs to be encoded in UTF-8, and the batch script must not have a BOM. The active code page of the Command Prompt needs to be set to 65001 (UTF-8) prior to the cd command. Wcd for Command Prompt will create such a go script wcdgo.bat. It first changes the code page to 65001, then changes directory, and finally sets the code page back to the original code page.

You need to set the font to True Type Lucida Console (not raster font) when letters don't appear correctly.

The non-Unicode Windows version of Wcd can read Unicode treedata files since version 5.2.0, provided there is a Byte Order Mark (BOM) in the file (see http://en.wikipedia.org/wiki/Byte_order_mark), but it can't change to directories with Unicode letters in the name that are not part of the default system ANSI code page. The Unicode Windows version of wcd writes a BOM in the UTF-8 encoded treedata files since version 5.2.0, which makes them also readable by notepad.

UTF-8 on Cygwin

Cygwin supports Unicode since version 1.7. The Cygwin layer takes care that the Windows UTF-16 Unicode names are converted to UTF-8. So programs, like wcd, do not need to be aware of this and can operate using UTF-8 encoding as on Unix/Linux. Set character encoding to UTF-8 with the LANG or LC_CTYPE environment variable. You may need to rescan your drives. You need to set the font to True Type Lucida Console (not raster font) if you use the default Cygwin console.

The Cygwin version behaves exactly as the Unix version of wcd. There is no BOM written in the treedata files, and it is assumed they are encoded in the Cygwin locale character encoding.

FILES

If the environment variable WCDHOME is set wcd will use WCDHOME instead of HOME. All *.wcd files are text files. They can be edited with a text editor. The Windows Command Prompt version of wcd behaves as the DOS version. The Cygwin version of wcd behaves as the Unix version.

wcd.exe

The program. In Unix shells the program is always called by a function or alias, because the current working directory of a Unix shell can only be changed by the builtin cd command. See also section INSTALLATION.

default treedata file

This is the default treedata file where wcd searches for matches. If it is not readable wcd will create a new one.

    DOS: \treedata.wcd or %HOME%\treedata.wcd
    Unix: $HOME/.treedata.wcd
extra treedata file

An optional extra treedata file. If it exists and is readable wcd will try to find matches in this file also.

    DOS: \extra.wcd or %HOME%\extra.wcd
    Unix: $HOME/.extra.wcd
ban file

In this optional file wcd places banned paths. See option -b. Wildcards are supported.

    DOS: \ban.wcd or %HOME%\ban.wcd
    Unix: $HOME/.ban.wcd
alias file

Optional file with wcd aliases. See option -l.

    DOS: \alias.wcd or %HOME%\alias.wcd
    Unix: $HOME/.alias.wcd
stack file

In this file wcd stores its stack. The drive letter can be changed with the -d option.

    DOS: c:\stack.wcd or %HOME%\stack.wcd
    Unix: $HOME/.stack.wcd

The name of the stack file can be changed with environment variable WCDSTACKFILE. See section ENVIRONMENT VARIABLES.

go-script

This is the shell script which wcd.exe creates each time. It is sourced via a function or an alias. The drive letter can be changed with the -d option. For history reasons it is placed by default in $HOME/bin on Unix systems. The directory of this file can be changed with the option -G.

    DOS bash: c:/wcd.go or $HOME/wcd.go
    Windows Command Prompt: c:\wcdgo.bat or %HOME%\wcdgo.bat
    Windows PowerShell: $env:HOME\wcdgo.ps1
    WinZsh: $HOME/wcd.go
    Cygwin/MSYS: $HOME/bin/wcd.go
    OS/2 Command Prompt: c:\wcdgo.cmd or %HOME%\wcdgo.cmd
    OS/2 bash: c:/wcd.go or $HOME/wcd.go
    Unix: $HOME/bin/wcd.go
relative treedata file

Text file with relative paths from DIR. See options +S, -n and +n.

    DOS: PATH\rtdata.wcd
    Unix: PATH/.rtdata.wcd

ENVIRONMENT VARIABLES

HOME

Wcd uses by default environment variable HOME to determine where to store its files. See also section FILES. This can be overruled with environment variable WCDHOME.

HOME also defines where to start scanning the disk when option -s is used. This can be overruled with the environment variable WCDSCAN.

For the Unix, Cygwin, Windows PowerShell, WinZsh and MSYS version it is required that HOME or WCDHOME is set. For the other versions of wcd the use of these variables is optional.

If HOME is set on DOS/Windows, wcd will place all its files (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) in directory HOME. The behaviour of wcd is then equal to the Unix version of wcd. Wcd will scan the disk default from HOME. Drives will not be automatically scanned by changing to them. You need to tell wcd explicitly. E.g.:

    wcd -S c: -A d: -A e:

Matching of directories is now global over all scanned drives.

WCDHOME

Environment variable WCDHOME can be used to change the location of wcd's files. If both HOME and WCDHOME are set, WCDHOME will be used instead of HOME.

In wcd versions prior to 5.1.5 WCDHOME also changed the default scan directory. This has changed. Since version 5.1.5 WCDHOME does not change the default scan directory. See option -s. From version 5.1.5, use environment WCDSCAN to overrule the default scan directory.

Example for DOS, Windows, OS/2 Command Prompt:

    set WCDHOME=C:\Users\erwin\wcd

An example for POSIX type shells:

    export WCDHOME="$HOME/.wcd"

An example for Csh type shells:

    setenv WCDHOME "$HOME/.wcd"
WCDSCAN

Use environment variable WCDSCAN to overrule the default scan directory HOME. Define a colon separated list (Unix) to define more than one directory. On DOS/Windows make the list semi-colon separated.

Examples for DOS, Windows, OS/2 Command Prompt:

    set WCDSCAN=C:\Users\erwin;D:\data

    set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\projectdrive\projectX

An example for POSIX type shells:

    export WCDSCAN="$HOME:/projectdisk/projectX"

An example for Csh type shells:

    setenv WCDSCAN "$HOME:/projectdisk/projectX"
WCDFILTER

Specify filters with environment variable WCDFILTER. All directories that do not match the filter(s) are ignored. A list can be specified by separating filters by the shell path separator. Similar as specifying the PATH variable. The case sensitivity is mandated by the Operating system.

An example for DOS, Windows, OS/2 Command Prompt:

    set WCDFILTER=projects;doc

An example for POSIX type shells:

    export WCDFILTER="projects:doc"

An example for Csh type shells:

    setenv WCDFILTER "projects:doc"
WCDBAN

The paths specified with environment WCDBAN will be banned by wcd. See also option -b. Specify a list of paths separated by shell PATH separator.

WCDEXCLUDE

The paths specified with environment WCDEXCLUDE will be excluded by wcd. See also options -x and -xf. Specify a list of paths separated by shell PATH separator.

An example for DOS, Windows, OS/2 Command Prompt:

    set WCDEXCLUDE=*/windows;*/temp;*CVS

An example for POSIX type shells:

    export WCDEXCLUDE="/dev:/tmp:*CVS"

An example for Csh type shells:

    setenv WCDEXCLUDE "/dev:/tmp:*CVS"
WCDUSERSHOME

Set the base of user's home directories. On DOS/Windows the default value is \\users. On Unix/Cygwin the default value is /home. This variable is used to scan treedata files of other users. See also options -u and +u. In verbose mode wcd will print all filters, bans and excludes. See option -v.

WCDSTACKFILE

Wcd gives preference to WCDSTACKFILE over the default stack file name (see section FILES). With this variable each shell (or used terminal emulator) can have its private stack of used directories.

To use a unique time based YYYYMMDD-HHMMSS file for each opened interactive shell.

    export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)

For a stack per xterm(1), use the xterm WINDOWID environment variable:

    export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID

For GNU screen(1), to use stack per screen:

    export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW
TERMINFO

If the environment variable TERMINFO is defined, wcd with ncurses interface checks for a local terminal definition before checking in the standard place. This is useful if terminal definitions are not on a standard place. Often used standard places are /usr/lib/terminfo and /usr/share/terminfo.

PDC_RESTORE_SCREEN

Wcd with PDCurses interface recognizes the environment variable PDC_RESTORE_SCREEN. If this environment variable is set, PDCurses will take a copy of the contents of the screen at the time that wcd is started; when wcd exits, the screen will be restored. An example for Windows Command Prompt:

    set PDC_RESTORE_SCREEN=1

Windows allows only a small buffer to be saved. So it is not always possible to restore everything. Some garbage data may be printed in the console after wcd exits if you have set a large buffer width.

SHELL

Printing of #!$SHELL on the first line of the go-script for POSIX type shell or C shell is needed for 8 bit characters. Some shells otherwise think that the go-script is a binary file and will not source it. In Cygwin Bash the variable SHELL must be set in environment using the export command, otherwise wcd can't read the variable.

BASH

Wcd for DOS bash uses $BASH instead of $SHELL, because $SHELL points to the DOS command shell. One may need to define $BASH with an export command, otherwise wcd can't read the variable.

SEE ALSO

sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1),

AUTHORS

Wcd was written by Erwin Waterlander <waterlan@xs4all.nl>

Project homepage: http://waterlan.home.xs4all.nl/

SourceForge: http://sourceforge.net/projects/wcd/

The manual page formatting was provided by Jari Aalto <jari.aalto@cante.net>.

NCD was originally written by Brad Kingsbury for Peter Norton's "Norton Utilities" around 1987. See also http://www.softpanorama.org/OFM/norton_change_directory_clones.shtml

wcd-6.0.3/src/man/man1/wcd.pod0000644000175500010010000013011613524756523015241 0ustar waterlanGeen# Copyright and License # # Copyright (C) 1997-2019 Erwin Waterlander # Copyright (C) 2009 Jari Aalto # # License # # 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. # # Visit # # Description # # To learn what TOP LEVEL section to use in manual pages, # see POSIX/Susv standard and "Utility Description Defaults" at # http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap01.html#tag_01_11 # # This is manual page in Perl POD format. Read more at # http://perldoc.perl.org/perlpod.html or run command: # # perldoc perlpod | less # # To check the syntax: # # podchecker *.pod # # Create manual page with command: # # pod2man PAGE.N.pod > PAGE.N =pod =encoding UTF-8 =head1 NAME wcd - Wherever Change Directory chdir for DOS and Unix =head1 SYNOPSIS wcd [options] [directory] =head1 DESCRIPTION =head2 Overview Wcd is a command-line program to change directory fast. It saves time typing at the keyboard. One needs to type only a part of a directory name and wcd will jump to it. Wcd has a fast selection method in case of multiple matches and allows aliasing and banning of directories. Wcd also includes a full screen interactive directory tree browser with speed search. Wcd was modeled after Norton Change Directory (NCD). NCD appeared first in I, for DOS in 1987, published by Peter Norton. Wcd has been ported to different command-line shells: DOS command.com, Windows cmd.exe and PowerShell, OS/2 cmd.exe, and Unix shells such as Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), and C (csh) shell and others running on any operating system. Wcd supports 8 bit character sets on all systems, and has optional support for Unicode. See section LOCALIZATION. See section INSTALLATION how to setup wcd for personal use. =head2 Basic use By default (if no wildcards are used) wcd searches for a directory with a name that begins with the typed name. For instance this command will change to directory to the current user's C
: wcd Desk When there are multiple matches, wcd will present the user a list of all matches. The user can then make a selection with a few keystrokes (most of the times only one). =head2 Wildcards Wcd supports following wildcards: * matches any sequence of characters (zero or more) ? matches any character [SET] matches any character in the specified set, [!SET] or [^SET] matches any character not in the specified set. A set is composed of characters or ranges; a range looks like I as in C<0-9> or C. The C<[0-9a-zA-Z_]> is the minimal set of characters allowed in the C<[..]> pattern construct. International characters (i.e. 8 bit characters) are allowed if the system supports them. To suppress the special syntactic significance of any of C<[]*?!^-\> inside or outside a C<[..]> construct and match the character exactly, precede the character with a backslash (C<\>) marker. Using wildcards makes powerful searching possible. For instance this matches any directory name that ends with "top": wcd *top Match directories that have "top" anywhere in the name: wcd *top* Match any directory name that begins with "a", "b" or "c": wcd [a-c]* It is also possible to give a part of a directory path. Here Wcd searches for directory that begins with "Desk" and which path matches I<*me/Desk*>. wcd me/Desk It is allowed to type any kind of expression with slashes and wildcards. E.g.: wcd src*/*1?/a*2 =head2 Other uses If no wildcards are used and wcd finds a perfect match, wcd will ignore all wild matches by default. This behaviour can be changed with the B<-w> option. The interactive directory tree browser can be started by using option B<-g>. wcd -g Wcd generates a treedata file where it searches the directory. On Unix and Windows systems wcd does add symbolic links to the treedata file while scanning the disk, but does not follow them. While following links wcd could end up scanning infinite loops, or scan very large portions of a network. Wcd can also change to directories that are not in the treedata file. E.g.: wcd .. If wcd found a match but can't change to the directory it tries to remove it from the default treedata file. Not from the extra treedata file. See also option B<-k>. Wcd keeps a directory stack which is stored on disk. The stack has a default size of 10 and is cyclic. See options B<-z>, B<->, B<+> and B<=>. In multi-user environments option B<-u> can be used to change to directories of other users. On DOS and Windows systems it does not matter if you use a slash "/" or a backslash "\" as a directory separator. It is possible on DOS and Windows systems to change drive and directory in one go by preceding the directory name with the drive name. wcd d:games =head2 Windows UNC paths The Windows versions (Command Prompt, PowerShell, MSYS, zsh, cygwin) support Windows SMB LAN UNC paths without drive letter such as C<\\servername\sharename>. Wcd for Windows Command Prompt makes use of the "pushd" command to automatically map a UNC path to a drive letter. In Windows PowerShell, MSYS, zsh and Cygwin UNC paths are fully supported. The current working directory can be a UNC path. =head2 Console resizing on Windows Wcd supports console resizing in Windows 10 console and ConEmu (see L) since version 6.0.3. The Windows 10 console must not be in legacy mode (check the console's properties). The screen may not refresh when the console Layout property "Wrap text output on resize" is disabled. The screen can be refreshed manually by pressing the F5 key. =head2 Interfaces Wcd has three different interfaces to choose from a list of matches. The interface can be chosen at compile time. The first interface uses plain stdin/stdout. A numbered list is printed in the terminal. The user has to choose from the list by typing a number followed by . This interface does not provide scroll back functionality in case of a long list. The scroll back capability of the terminal/console has to be used. It is very small and portable. The second interface is built with the conio library. It provides a builtin scroll back capability. The user is presented a list numbered with letters. Choosing from a list can be done by pressing just one letter. This interface is fast because it saves keystrokes. If possible the screen will be restored after exiting. One who prefers to type numbers can use the B<-N> option. The third interface is built with the curses library. It is similar to the conio interface. The curses version of wcd has also an additional 'graphical' interface. It lets the user select a directory via a full screen interactive directory tree browser. It has a vim(1) like navigation and search method. It can be activated with option B<-g>. By using the B<-o> option one can always fall back to the stdin/stdout interface. =head1 OPTIONS =over 4 =item B<-a> Add current path to the default treedata file. Use this option to quickly add the current path to the default treedata file. Re-scanning the complete disk can take a long time in some cases. =item B<-aa> Add current and all parent paths to the default treedata file. =item B<-A PATH> Scan directory tree from I and append to the default treedata file. Examples: wcd -A . wcd -A /home -A /etc wcd -A d: -A e: -A \\server\share On Windows one can scan all shared directories of a Windows LAN server by typing something like: C. See also option B<-S> and B<-s> and B<-E>. =item B<-b> Ban current path. Wcd places the current path in the ban file. This means that wcd ignores all matches of this directory and its sub directories. The ban file can be edited with a text editor. Use of wildcards is supported and names are matched against the absolute path. Banned paths are not excluded from scanning the disk. To do that use option B<-xf>. =item B<-c, --direct-cd> Direct CD mode. By default wcd works as follows: 1. Try to find a match in the treedata file(s) 2. If no match, try to open the directory you typed. In direct CD mode wcd works in reversed order. 1. Try to open the directory you typed. 2. If not, try to find a match in the treedata file(s). =item B<-d DRIVE> Set drive for stack and go file (DOS only). The stack file and the go-script are by default stored on drive C: if environment variable I is not set. Use this option if drive C: is a read-only drive. This option must be used in front of the stack options B<->, B<+> and B<=>. =item B<-e> Add current path to the extra treedata file. Use this option to quickly add the current path to the extra treedata file. =item B<-ee> Add current and all parent paths to extra treedata file. =item B<-E PATH> Scan directory tree from I and append to Extra treedata file. See also options B<-A> and B<-S>. =item B<-f FILE> Read treedata file I. Do not read the default treedata file. =item B<+f FILE> Read treedata file I in addition to the default treedata file. =item B<-g> Graphical interface (only in version with curses interface). Wcd starts a textual curses based 'graphical' interface. The user can select a directory via a full-screen interactive directory tree browser. It has a vim(1) like navigation and search method. If no search string is given wcd presents the whole tree which is in the default treedata file and the extra treedata files. If a search string is given the match list is presented as a directory tree. The default tree layout is similar to the tree layout of the original NCD on DOS. The difference in layout is that in NCD all directories of a same depth level were vertically aligned over the whole tree. This was possible in NCD, because the maximum width of a directory name in DOS was 12 (8.3) characters. On modern operating systems directory names can be very long, so also the differences in length can be large. Therefore folders with a same depth are not vertically aligned over the whole tree in wcd, but only in sub-branches. So there is some sideways movement when moving straight up and down from one sub-branch to another sub-branch. The navigation behaviour in Wcd is exactly the same as in the original NCD. For instance if you push the Down key you go down to the next directory with the same depth level, jumping over branches. This enables fast navigation through the tree. See options B<-Ta>, B<-TC>, and B<-Tc> to change the navigation behaviour. =item B<-gd> Dump the treedata files as a tree to stdout. =item B<-G PATH> Write go-script in directory I. For instance on Unix, C will write a go-script B. =item B<-GN, --no-go-script> Do not create go-script. This option can be used in combination with the option B<-j> if one does not want wcd to create a go-script. =item B<-h, --help> Show help and exit. =item B<-i, --ignore-case> Ignore case. Dos and Windows versions of wcd ignore case default. Unix/Cygwin versions regard case by default. =item B<+i, --no-ignore-case> Regard case. See also option B<-i>. =item B<-I, --ignore-diacritics> Ignore diacritics for Latin-based scripts. Letters with diacritical marks match their base letter without diacritical mark. The following Latin encodings are supported: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, and Unicode Latin-1, Latin Extended-A, and Latin Extended-B. See also L =item B<+I, --no-ignore-diacritics> Regard diacritics (default). See also option B<-I>. =item B<-j, --just-go> Just go mode. In this mode wcd will not present a list when there is more than one directory that matches the given directory. Wcd will just change to the first option. When wcd is invoked again with the same arguments it will change to the next option, and so on. Wcd will print the directory to go to to stdout. So a different installation method can be used. One could make the following function for a POSIX compatible shell: wcd () { cd "$($HOME/bin/wcd.exe -j $@)" } When you are using an old shell that doesn't support "$()" command substitution you have to use old style command substitution with back-quotes. wcd () { cd "`$HOME/bin/wcd.exe -j $@`" } On Windows systems, if one is running 4NT shell, one could make the following alias: alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]` This method eliminates the need of the go-script, so one can use option B<-GN> in combination with B<-j>. =item B<-k, --keep-paths> Keep paths. Keep paths in the treedata file when wcd can't change to them. The default behaviour of wcd is that it tries to remove paths from the treedata when wcd can't change to them. With this option this behavior is turned off. =item B<-K, --color> Use colors in graphical mode. =item B<-l ALIAS> Name the current path with I. Wcd places the current path with alias I in the alias file. Aliases are case sensitive. =item B<-ls> Show the name of the alias file, and list all the aliases. =item B<-m DIR> Make directory and add to treedata file. =item B<-L, --license> Print the distribution license. =item B<-M DIR> Make directory and add to extra treedata file. =item B<-n PATH> Read relative treedata file from I. Do not read the default treedata file. The relative treedata file should already have been created using the wcd B<+S> option. I may also point to a file directly. An example. Suppose another system has been mounted to mount point C: wcd -n /mnt/network src Wcd opens the relative treedata file in C. The file contains the paths relative from that point. =item B<+n PATH> Read relative treedata file in addition to the default treedata file. See option B<-n>. =item B<-N, --numbers> Use numbers instead of letters. Wcd with a conio or curses based interface (see section Interfaces) presents a match list by default numbered with letters. When the B<-N> option is used the match list is numbered with numbers. Regardless of the B<-N> option one can type a letter or numbers to make a selection from the list of matches. =item B<-o> Use stdin/stdout interface. When for some kind of reason the conio or curses interface of wcd does not work one can fall back to the stdin/stdout interface of wcd by using the B<-o> option. =item B<-od, --to-stdout> Dump all matches to stdout. =item B<-q, --quiet> Quieter operation. Printing of the final match is suppressed. =item B<-r DIR> Remove directory and remove from the treedata file. If the directory is empty, wcd will remove it, and try to remove it from the treedata file. =item B<-rmtree DIR> Recursively remove directory and remove from the treedata file. Wcd will remove the directory and all its sub directories and files, and remove the directories from the treedata file. =item B<-s> (re)Scan disk from C<$HOME> directory. If I is not defined the disk is scanned from root directory /. The existing default treedata file is overwritten. The default scan directory can be overruled with environment variable C. See section ENVIRONMENT VARIABLES. =item B<-S PATH> Scan directory tree from I and overwrite the default treedata file. See also options B<-A>, B<-s> and B<-E>. E.g. with option B<-A> you can create a default treedata file of your choice. Examples: Unix: wcd -S / wcd -S /home -A /etc -A /usr DOS/Windows: wcd -S c:/ wcd -S c: -A d: -A \\server\share With the Windows versions one can scan all shared directories of a Windows LAN server by typing something like: C. =item B<+S PATH> Scan disk from I and place relative paths in a relative treedata file. This file is used by the B<-n> and B<+n> options of wcd. E.g. C. =item B<-t> Do not strip tmp mount dir C (Unix only) Wcd strips by default C from the match. Directory C is used by the auto-mounter. This behaviour can be turned off with the B<-t> option. =item B<-T, --ascii-tree> Draw tree with ASCII characters. Use this option if line drawing characters are not displayed properly in your terminal. =item B<-Ta, --alt-tree-nav> Alternative way of navigation in the graphical tree. In the default NCD style tree layout the B<-Ta> option disables jumping to unrelated directories. In compact tree mode the alternative mode makes navigation similar to navigation in GUI file managers such as Windows Explorer or Linux KDE Konqueror. Pressing Up and Down moves the selected folder one line up or down. Pressing Left first folds the sub-folders and the next move left moves really left. You can switch on-the-fly between default and alternative navigation by pressing . When alternative navigation mode is on, you will see an "A" in the lower right corner. =item B<-TC, --center-tree> Centered view in the graphical tree. The selected directory stays in the middle of the screen. The centered mode can also be switched on and off with key in the graphical tree. The standard non-centered behaviour, which minimises tree movement, is the same as in the original NCD. =item B<-Tc, --compact-tree> By default the 'graphical' tree is drawn the same way as the original NCD on DOS did it. On DOS a directory path could only be 66 characters in total. With the deep directory structures of today the tree can become very wide. To overcome this wcd can draw the tree in a compact way, similar to most GUI file managers, with only one folder per line. Use option B<-Tc> or switch on-the-fly with the key. =item B<-Td, --cjk-width> Legacy East-Asian CJK (Chinese, Japanese, and Korean) fonts have certain characters and line drawing symbols with a column width of 2, while the normal Unicode width for these characters is 1 column. For instance the Chinese CP936 raster font on Windows and the Simsun font. Use this option for a correct outlining of the graphical tree when a legacy CJK font is used. When CJK mode is on, you will see a "C" in the lower right corner. =item B<-u USER> Scan treedata file of another user based on I, do not scan your own default treedata file. See also section ENVIRONMENT VARIABLES for I. On Unix/Cygwin the base directory for user home directories is assumed to be C. Wcd will look for C and C
, in that order, and read the first one that exists and is readable. On DOS/Windows the base directory for user home directories is assumed to be C<\\users>, so wcd tries to read C<\\users\USER\treedata.wcd> and C<\\users\USER\.wcd\treedata.wcd>. =item B<+u USER> Read default treedata file of USER in addition to your own treedata file. =item B<-v, --verbose> Display verbose messages. With this option wcd prints all filters, bans and excludes. =item B<-V, --version> Print version information and exit. =item B<-w, --wild-match-only> Wild matching only. Treat all matches as wild matches. =item B<-x PATH> Exclude I from scanning. When this option is used wcd will exclude I and all its subdirectories when wcd is scanning a disk. Wildcards are supported and matched against absolute paths. Option B<-x> can be used multiple times. wcd -x -x -s Option B<-x> must be used in front of any scan option (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>). On DOS/Windows systems one must specify the drive letter depending on if environment variable I or I is set. If I or I is set one needs to specify the drive letter. An example: wcd -x c:/temp -S c: Otherwise do not specify drive letter. wcd -x /temp -s =item B<-xf FILE> Exclude all paths listed in I from scanning. When this option is used wcd will exclude all paths listed in I and all their subdirectories when wcd is scanning a disk. Wildcards are supported and they are matched against absolute paths; one path per line. Be aware that wcd will not ignore leading or trailing blanks on a line, because they are legal characters in a directory name. Option B<-xf> can be used multiple times. When one wants to exclude all banned paths from scanning one can do the following (example for wcd on unix): wcd -xf ~/.ban.wcd -s Wildcards are supported. For instance to exclude all your Subversion directories with administrative files add a line with C<*/.svn>. Option B<-xf> must be used in front of any scan option (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>). =item B<-y, --assume-yes> Assume Yes on all queries. Wcd will not prompt the user with yes/no questions, but assumes the user answers yes on all questions. This can be used in combination with option B<-rmtree>. This option must be used in front of options that can lead to yes/no questions. =item B<-z NUMBER> Set maximum stack size to NUMBER. The default size of the stack is 10. Stack operation can be turned off by setting the size to 0. This option must be used in front of any other stack operations (B<->,B<+>,B<=>). Otherwise the size of the stack will be set back to the default 10. A correct command is: wcd -z 50 - The new stack size will be 50, wcd will go one directory back. A wrong command is: wcd - -z 50 Wcd goes one directory back, the stack gets the default size 10. The B<-z 50> is ignored. Add this option as the first option to your wcd alias or function. E.g. for the a POSIX compatible shell this would be: wcd () { wcd.exe -z 50 "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go } =item B<-[NUMBER]> Push dir NUMBER of times. Default is one. Go back a directory. Command C goes one directory back. To go more directories back add a number to it. E.g. command C. The stack is cyclic. =item B<+[NUMBER]> Pop dir NUMBER of times. Default is one. Go forward a directory. Command C goes one directory forward. To go more directories forward add a number to it. E.g. command C. The stack is cyclic. =item B<=> Show stack. Use this option if you do not know anymore how many times to push or pop. The stack is printed and you can choose a number. The current place in the stack is marked with an asterisk C<*>. =back =head1 INSTALLATION The current working directory of a Unix shell can only be changed by the builtin cd(1) command. Therefore the program is always called by a function or an alias. The function or alias sources a shell script (go-script) which is generated by the wcd program. Wcd can only work after the function or alias is defined. Another important influence on your installation is the definition of environment variables I and I. See section ENVIRONMENT VARIABLES. =head2 Install for POSIX type shells For a POSIX shell (ksh, bash, zsh, etc.) on Unix, Linux, Cygwin, or native MSYS add the following function to the shell startup file (e.g. Bash uses C<$HOME/.bashrc>): wcd () { PATH/wcd.exe "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go } Replace I with the location where the wcd executable has been installed. Reload the shell initialization files or start new shell. The location of the go-script C differs per shell. Wcd for DJGPP DOS bash and OS/2 bash require a different function. The go script is not written in a directory C, and if I and I are both not defined the go-script is written on c:/. DOS bash: wcd () { PATH/wcdbash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } OS/2 bash: wcd () { PATH/wcdos2bash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } The WinZsh version of wcd requires a bit different function. The go-script will never be written in c:/. wcd () { PATH/wcdwin32zsh.exe "$@" . ${WCDHOME:-${HOME}}/wcd.go } See section FILES for more information. =head2 Install for C-alike shells (csh, tcsh) Add the following alias to the shell startup file C<$HOME/.cshrc> or C<$HOME/.tcshrc> : if ( ${?WCDHOME} ) then alias wcd "PATH/wcd.exe \!* ; source $WCDHOME/bin/wcd.go" else alias wcd "PATH/wcd.exe \!* ; source $HOME/bin/wcd.go" endif Replace I with the location where the wcd executable has been installed. Reload the shell initialization files or start a new shell. =head2 Windows Command Prompt version Unpack the zip file and add directory C to your environment variable I. In Windows Command Prompt a Windows program cannot change the current work directory, but a .bat file can. The batch script C runs the wcd program which generates a new batch script C. Then C runs C which actually changes the directory. =head2 Windows VISTA and higher In a Windows VISTA and higher Command Prompt you may have limited access to directories. To get access to more directories you need administrator rights. You can get a Command Prompt with administrator rights if you right click on the Command Prompt icon and select I. =head2 Windows PowerShell version Add the following function to your PowerShell user profile. The location of this profile is stored in the $profile variable. It is required that one of the environment variables I or I is defined. function wcd { PATH\wcdwin32psh.exe $args & $env:HOME\wcdgo.ps1 } Replace I with the location where the wcd executable has been installed. Start a new PowerShell. Wcd for PowerShell supports only the file system provider. No other providers. =head2 OS/2 Command Prompt version In an OS/2 Command Prompt (cmd.exe) an OS/2-program can't change the current work directory. That is why wcd generates a command script C which must be executed in the current shell. The script C first executes C, which creates the C script. Then C executes the C script. =head1 LOCALIZATION =over 4 =item B The primary language is selected with the environment variable I. The I variable consists out of several parts. The first part is in small letters the language code. The second one is optional and is the country code in capital letters, preceded with an underscore. There is also an optional third part: character encoding, preceded with a dot. A few examples for POSIX standard type shells: export LANG=nl Dutch export LANG=nl_NL Dutch, The Netherlands export LANG=nl_BE Dutch, Belgium export LANG=es_ES Spanish, Spain export LANG=es_MX Spanish, Mexico export LANG=en_US.iso88591 English, USA, Latin-1 encoding For a complete list of language and country codes see the gettext(1) manual: L On Unix systems you can use to command locale(1) to get locale specific information. =item B With the I environment variable you can specify a priority list of languages, separated by colons. Wcd gives preference to I over I. For instance, first Dutch and then German: C. You have to first enable localization, by setting I or I to a value other than I, before you can use a language priority list through the I variable. See also the gettext(1) manual: L If you select a language which is not available you will get the standard English messages. =item B With the environment variable I the I used during compilation and installation of wcd can be overruled. I is used by wcd with native language support to find the language files. The GNU default value is C. By typing C wcd will print the I that is used. If you have installed wcd in a different directory than the default directory you may need to set the environment variable I to point to the locale directory. An example for Windows cmd: set WCDLOCALEDIR=c:/my_prefix/share/locale An example for a POSIX shell: export WCDLOCALEDIR=$HOME/share/locale =item B When there are multiple directory matches wcd presents a sorted list. The sorting depends on the locale settings. If the environment I has been set the matches are sorted like dictionaries or phone books are sorted in that language. For instance dots and dashes are ignored, or letters e with and without accent are equal, or upper and lower case is ignored. The sorting gives preference to environment variable I over I. If you make I equal to C or C, locale sorting is turned off. For instance if you want Dutch language, but not Dutch sorting, you can do something like this: export LANG=nl_NL export LC_COLLATE=C =item B With regard to character encoding Wcd will give preference to variable I over I. For instance to set character encoding to UTF-8 the following environment setting can be done. export LC_CTYPE=en_US.UTF-8 =item B All locale environment variables that start with I are overruled by the environment variable I if it is defined. Wcd gives preference to I over I and I. =back =head2 WINDOWS CODE PAGES There are two groups of code pages: DOS code pages (OEM) and Windows code pages (ANSI). The default encoding for Windows, when configured with Western regional settings, is ANSI CP1252. Windows programs, for instance notepad, use this default system ANSI code page. The Windows console uses by default an OEM code page (CP437 or CP850) for compatibility with DOS programs. If you use a DOS version of wcd in a Windows console it will work, because of the DOS code page. But the DOS version of wcd lacks support for long directory names and network drives on Windows. The Windows version of wcd is a native Windows program and will use the Windows system ANSI code page. So on a Western regional Windows it will use code page CP1252 for directory names and messages. In order to get consistent output, independent of the active code page, all Windows versions of Wcd translate ANSI output to Unicode output in the Command Prompt and PowerShell. The console raster font only supports the original OEM code page installed with Windows, so you have to change the console's font to true type Lucida Console to make Unicode (and ANSI) letters appear correctly. Non-Unicode versions of Wcd I use plain ANSI output. For these older versions the code page of the console has to be made equal to the system code page (changed to 1252) to make wcd for Windows work properly with special characters such as accented characters or the Euro symbol. The Windows system code page can be changed via the Control Panel regional options. The Windows console code page is changed with the C command. When you type C, the actual character encoding used by wcd is shown. Type the command C to display the active code page of the Windows console. =head2 UNICODE Wcd has optional support for Unicode. To see if wcd was built with Unicode support type C. If your terminal/console and font supports it, you should see the Euro symbol and Chinese characters (meaning: "Chinese"). Wcd has been I converted to Unicode. In its core wcd handles all data as a stream of bytes. Only the lines printed to screen are on the fly converted to Unicode wide characters. Wcd fully relies on libc functions and has no UTF-8 specific code. See also L Wcd has optional support for Unicode matching with normalisation. To find out whether Wcd has normalisation support type C. Wcd with Unicode normalization support will match Unicode names based on I equivalence. Without Unicode normalization support, names are matched when they are binary equivalent. See also L =head3 UTF-8 on Unix/Linux In order to view UTF-8 characters your console/terminal also needs to support UTF-8. The xterm version that comes with XFree86 4.0 or higher includes UTF-8 support. To activate it, start xterm(1) in a UTF-8 locale and use a font with iso10646-1 encoding, for instance with LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1' Modern distributions of GNU/Linux support UTF-8 by default. Other multi-byte character encodings should also work, but that has not been tested. Wcd assumes that the treedata files are encoded in the locale character encoding. There are no Byte Order Marks written to treedata files. =head3 UTF-16 on Windows On Windows Unicode is supported in all versions of PowerShell, and in Windows Command Prompt on Windows 7 (or higher). Unicode also works in Take Command or TCC/LE made by JP Software, which can be used on older Windows versions (XP/Vista). On Windows all the directory names on disk are encoded in UTF-16 Unicode. For non-Unicode Windows programs the Unicode characters are translated to the default ANSI code page. For characters that are not part of the regional setting this translation is not possible and non-Unicode programs print a question mark or a wrong character instead. Wcd with Unicode support will read the UTF-16 encoded directory names and converts them internally to UTF-8. All treedata files are encoded in UTF-8 and not compatible with the non-Unicode version of Wcd. Wcd will create a go-script encoded in UTF-8. All versions of Windows PowerShell are able to run scripts encoded in UTF-8, provided there is an UTF-8 BOM in the script. Since Windows 7 it is possible in Windows Command Prompt to change directory with a batch script to a directory with Unicode letters in the name. The directory name needs to be encoded in UTF-8, and the batch script must I have a BOM. The active code page of the Command Prompt needs to be set to 65001 (UTF-8) prior to the cd command. Wcd for Command Prompt will create such a go script C. It first changes the code page to 65001, then changes directory, and finally sets the code page back to the original code page. You need to set the font to True Type Lucida Console (not raster font) when letters don't appear correctly. The non-Unicode Windows version of Wcd can read Unicode treedata files since version 5.2.0, provided there is a Byte Order Mark (BOM) in the file (see L), but it can't change to directories with Unicode letters in the name that are not part of the default system ANSI code page. The Unicode Windows version of wcd writes a BOM in the UTF-8 encoded treedata files since version 5.2.0, which makes them also readable by notepad. =head3 UTF-8 on Cygwin Cygwin supports Unicode since version 1.7. The Cygwin layer takes care that the Windows UTF-16 Unicode names are converted to UTF-8. So programs, like wcd, do not need to be aware of this and can operate using UTF-8 encoding as on Unix/Linux. Set character encoding to UTF-8 with the I or I environment variable. You may need to rescan your drives. You need to set the font to True Type Lucida Console (not raster font) if you use the default Cygwin console. The Cygwin version behaves exactly as the Unix version of wcd. There is no BOM written in the treedata files, and it is assumed they are encoded in the B locale character encoding. =head1 FILES If the environment variable I is set wcd will use I instead of I. All C<*.wcd> files are text files. They can be edited with a text editor. The Windows Command Prompt version of wcd behaves as the DOS version. The Cygwin version of wcd behaves as the Unix version. =over 4 =item B The program. In Unix shells the program is always called by a function or alias, because the current working directory of a Unix shell can only be changed by the builtin cd command. See also section INSTALLATION. =item B This is the default treedata file where wcd searches for matches. If it is not readable wcd will create a new one. DOS: \treedata.wcd or %HOME%\treedata.wcd Unix: $HOME/.treedata.wcd =item B An optional extra treedata file. If it exists and is readable wcd will try to find matches in this file also. DOS: \extra.wcd or %HOME%\extra.wcd Unix: $HOME/.extra.wcd =item B In this optional file wcd places banned paths. See option B<-b>. Wildcards are supported. DOS: \ban.wcd or %HOME%\ban.wcd Unix: $HOME/.ban.wcd =item B Optional file with wcd aliases. See option B<-l>. DOS: \alias.wcd or %HOME%\alias.wcd Unix: $HOME/.alias.wcd =item B In this file wcd stores its stack. The drive letter can be changed with the B<-d> option. DOS: c:\stack.wcd or %HOME%\stack.wcd Unix: $HOME/.stack.wcd The name of the stack file can be changed with environment variable I. See section ENVIRONMENT VARIABLES. =item B This is the shell script which wcd.exe creates each time. It is sourced via a function or an alias. The drive letter can be changed with the B<-d> option. For history reasons it is placed by default in C<$HOME/bin> on Unix systems. The directory of this file can be changed with the option B<-G>. DOS bash: c:/wcd.go or $HOME/wcd.go Windows Command Prompt: c:\wcdgo.bat or %HOME%\wcdgo.bat Windows PowerShell: $env:HOME\wcdgo.ps1 WinZsh: $HOME/wcd.go Cygwin/MSYS: $HOME/bin/wcd.go OS/2 Command Prompt: c:\wcdgo.cmd or %HOME%\wcdgo.cmd OS/2 bash: c:/wcd.go or $HOME/wcd.go Unix: $HOME/bin/wcd.go =item B Text file with relative paths from I. See options B<+S>, B<-n> and B<+n>. DOS: PATH\rtdata.wcd Unix: PATH/.rtdata.wcd =back =head1 ENVIRONMENT VARIABLES =over 4 =item B Wcd uses by default environment variable I to determine where to store its files. See also section FILES. This can be overruled with environment variable I. I also defines where to start scanning the disk when option B<-s> is used. This can be overruled with the environment variable I. For the Unix, Cygwin, Windows PowerShell, WinZsh and MSYS version it is required that I or I is set. For the other versions of wcd the use of these variables is optional. If I is set on DOS/Windows, wcd will place all its files (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) in directory I. The behaviour of wcd is then equal to the Unix version of wcd. Wcd will scan the disk default from I. Drives will not be automatically scanned by changing to them. You need to tell wcd explicitly. E.g.: wcd -S c: -A d: -A e: Matching of directories is now global over all scanned drives. =item B Environment variable I can be used to change the location of wcd's files. If both I and I are set, I will be used instead of I. In wcd versions prior to 5.1.5 I also changed the default scan directory. This has changed. Since version 5.1.5 I does not change the default scan directory. See option B<-s>. From version 5.1.5, use environment I to overrule the default scan directory. Example for DOS, Windows, OS/2 Command Prompt: set WCDHOME=C:\Users\erwin\wcd An example for POSIX type shells: export WCDHOME="$HOME/.wcd" An example for Csh type shells: setenv WCDHOME "$HOME/.wcd" =item B Use environment variable I to overrule the default scan directory I. Define a colon separated list (Unix) to define more than one directory. On DOS/Windows make the list semi-colon separated. Examples for DOS, Windows, OS/2 Command Prompt: set WCDSCAN=C:\Users\erwin;D:\data set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\projectdrive\projectX An example for POSIX type shells: export WCDSCAN="$HOME:/projectdisk/projectX" An example for Csh type shells: setenv WCDSCAN "$HOME:/projectdisk/projectX" =item B Specify filters with environment variable I. All directories that do not match the filter(s) are ignored. A list can be specified by separating filters by the shell path separator. Similar as specifying the I variable. The case sensitivity is mandated by the Operating system. An example for DOS, Windows, OS/2 Command Prompt: set WCDFILTER=projects;doc An example for POSIX type shells: export WCDFILTER="projects:doc" An example for Csh type shells: setenv WCDFILTER "projects:doc" =item B The paths specified with environment I will be banned by wcd. See also option B<-b>. Specify a list of paths separated by shell I separator. =item B The paths specified with environment I will be excluded by wcd. See also options B<-x> and B<-xf>. Specify a list of paths separated by shell I separator. An example for DOS, Windows, OS/2 Command Prompt: set WCDEXCLUDE=*/windows;*/temp;*CVS An example for POSIX type shells: export WCDEXCLUDE="/dev:/tmp:*CVS" An example for Csh type shells: setenv WCDEXCLUDE "/dev:/tmp:*CVS" =item B Set the base of user's home directories. On DOS/Windows the default value is C<\\users>. On Unix/Cygwin the default value is C. This variable is used to scan treedata files of other users. See also options B<-u> and B<+u>. In verbose mode wcd will print all filters, bans and excludes. See option B<-v>. =item B Wcd gives preference to I over the default stack file name (see section FILES). With this variable each shell (or used terminal emulator) can have its private stack of used directories. To use a unique time based YYYYMMDD-HHMMSS file for each opened interactive shell. export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S) For a stack per xterm(1), use the xterm I environment variable: export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID For GNU screen(1), to use stack per screen: export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW =item B If the environment variable I is defined, wcd with ncurses interface checks for a local terminal definition before checking in the standard place. This is useful if terminal definitions are not on a standard place. Often used standard places are C and C. =item B Wcd with PDCurses interface recognizes the environment variable I. If this environment variable is set, PDCurses will take a copy of the contents of the screen at the time that wcd is started; when wcd exits, the screen will be restored. An example for Windows Command Prompt: set PDC_RESTORE_SCREEN=1 Windows allows only a small buffer to be saved. So it is not always possible to restore everything. Some garbage data may be printed in the console after wcd exits if you have set a large buffer width. =item B Printing of C<#!$SHELL> on the first line of the go-script for POSIX type shell or C shell is needed for 8 bit characters. Some shells otherwise think that the go-script is a binary file and will not source it. In Cygwin Bash the variable I must be set in environment using the C command, otherwise wcd can't read the variable. =item B Wcd for DOS bash uses C<$BASH> instead of C<$SHELL>, because C<$SHELL> points to the DOS command shell. One may need to define C<$BASH> with an C command, otherwise wcd can't read the variable. =back =head1 SEE ALSO sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1), =head1 AUTHORS Wcd was written by Erwin Waterlander Project homepage: L SourceForge: L The manual page formatting was provided by Jari Aalto . NCD was originally written by Brad Kingsbury for Peter Norton's "Norton Utilities" around 1987. See also L =cut wcd-6.0.3/src/man/man1/wcd.txt0000644000175500010010000013500513524756533015301 0ustar waterlanGeenNAME wcd - Wherever Change Directory chdir for DOS and Unix SYNOPSIS wcd [options] [directory] DESCRIPTION Overview Wcd is a command-line program to change directory fast. It saves time typing at the keyboard. One needs to type only a part of a directory name and wcd will jump to it. Wcd has a fast selection method in case of multiple matches and allows aliasing and banning of directories. Wcd also includes a full screen interactive directory tree browser with speed search. Wcd was modeled after Norton Change Directory (NCD). NCD appeared first in *The Norton Utilities, Release 4*, for DOS in 1987, published by Peter Norton. Wcd has been ported to different command-line shells: DOS command.com, Windows cmd.exe and PowerShell, OS/2 cmd.exe, and Unix shells such as Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), and C (csh) shell and others running on any operating system. Wcd supports 8 bit character sets on all systems, and has optional support for Unicode. See section LOCALIZATION. See section INSTALLATION how to setup wcd for personal use. Basic use By default (if no wildcards are used) wcd searches for a directory with a name that begins with the typed name. For instance this command will change to directory to the current user's "/home/user/Desktop": wcd Desk When there are multiple matches, wcd will present the user a list of all matches. The user can then make a selection with a few keystrokes (most of the times only one). Wildcards Wcd supports following wildcards: * matches any sequence of characters (zero or more) ? matches any character [SET] matches any character in the specified set, [!SET] or [^SET] matches any character not in the specified set. A set is composed of characters or ranges; a range looks like *character hyphen character* as in "0-9" or "A-Z". The "[0-9a-zA-Z_]" is the minimal set of characters allowed in the "[..]" pattern construct. International characters (i.e. 8 bit characters) are allowed if the system supports them. To suppress the special syntactic significance of any of "[]*?!^-\" inside or outside a "[..]" construct and match the character exactly, precede the character with a backslash ("\") marker. Using wildcards makes powerful searching possible. For instance this matches any directory name that ends with "top": wcd *top Match directories that have "top" anywhere in the name: wcd *top* Match any directory name that begins with "a", "b" or "c": wcd [a-c]* It is also possible to give a part of a directory path. Here Wcd searches for directory that begins with "Desk" and which path matches **me/Desk**. wcd me/Desk It is allowed to type any kind of expression with slashes and wildcards. E.g.: wcd src*/*1?/a*2 Other uses If no wildcards are used and wcd finds a perfect match, wcd will ignore all wild matches by default. This behaviour can be changed with the -w option. The interactive directory tree browser can be started by using option -g. wcd -g Wcd generates a treedata file where it searches the directory. On Unix and Windows systems wcd does add symbolic links to the treedata file while scanning the disk, but does not follow them. While following links wcd could end up scanning infinite loops, or scan very large portions of a network. Wcd can also change to directories that are not in the treedata file. E.g.: wcd .. If wcd found a match but can't change to the directory it tries to remove it from the default treedata file. Not from the extra treedata file. See also option -k. Wcd keeps a directory stack which is stored on disk. The stack has a default size of 10 and is cyclic. See options -z, -, + and =. In multi-user environments option -u can be used to change to directories of other users. On DOS and Windows systems it does not matter if you use a slash "/" or a backslash "\" as a directory separator. It is possible on DOS and Windows systems to change drive and directory in one go by preceding the directory name with the drive name. wcd d:games Windows UNC paths The Windows versions (Command Prompt, PowerShell, MSYS, zsh, cygwin) support Windows SMB LAN UNC paths without drive letter such as "\\servername\sharename". Wcd for Windows Command Prompt makes use of the "pushd" command to automatically map a UNC path to a drive letter. In Windows PowerShell, MSYS, zsh and Cygwin UNC paths are fully supported. The current working directory can be a UNC path. Console resizing on Windows Wcd supports console resizing in Windows 10 console and ConEmu (see ) since version 6.0.3. The Windows 10 console must not be in legacy mode (check the console's properties). The screen may not refresh when the console Layout property "Wrap text output on resize" is disabled. The screen can be refreshed manually by pressing the F5 key. Interfaces Wcd has three different interfaces to choose from a list of matches. The interface can be chosen at compile time. The first interface uses plain stdin/stdout. A numbered list is printed in the terminal. The user has to choose from the list by typing a number followed by . This interface does not provide scroll back functionality in case of a long list. The scroll back capability of the terminal/console has to be used. It is very small and portable. The second interface is built with the conio library. It provides a builtin scroll back capability. The user is presented a list numbered with letters. Choosing from a list can be done by pressing just one letter. This interface is fast because it saves keystrokes. If possible the screen will be restored after exiting. One who prefers to type numbers can use the -N option. The third interface is built with the curses library. It is similar to the conio interface. The curses version of wcd has also an additional 'graphical' interface. It lets the user select a directory via a full screen interactive directory tree browser. It has a vim(1) like navigation and search method. It can be activated with option -g. By using the -o option one can always fall back to the stdin/stdout interface. OPTIONS -a Add current path to the default treedata file. Use this option to quickly add the current path to the default treedata file. Re-scanning the complete disk can take a long time in some cases. -aa Add current and all parent paths to the default treedata file. -A PATH Scan directory tree from *PATH* and append to the default treedata file. Examples: wcd -A . wcd -A /home -A /etc wcd -A d: -A e: -A \\server\share On Windows one can scan all shared directories of a Windows LAN server by typing something like: "wcd -A \\servername". See also option -S and -s and -E. -b Ban current path. Wcd places the current path in the ban file. This means that wcd ignores all matches of this directory and its sub directories. The ban file can be edited with a text editor. Use of wildcards is supported and names are matched against the absolute path. Banned paths are not excluded from scanning the disk. To do that use option -xf. -c, --direct-cd Direct CD mode. By default wcd works as follows: 1. Try to find a match in the treedata file(s) 2. If no match, try to open the directory you typed. In direct CD mode wcd works in reversed order. 1. Try to open the directory you typed. 2. If not, try to find a match in the treedata file(s). -d DRIVE Set drive for stack and go file (DOS only). The stack file and the go-script are by default stored on drive C: if environment variable *HOME* is not set. Use this option if drive C: is a read-only drive. This option must be used in front of the stack options -, + and =. -e Add current path to the extra treedata file. Use this option to quickly add the current path to the extra treedata file. -ee Add current and all parent paths to extra treedata file. -E PATH Scan directory tree from *PATH* and append to Extra treedata file. See also options -A and -S. -f FILE Read treedata file *FILE*. Do not read the default treedata file. +f FILE Read treedata file *FILE* in addition to the default treedata file. -g Graphical interface (only in version with curses interface). Wcd starts a textual curses based 'graphical' interface. The user can select a directory via a full-screen interactive directory tree browser. It has a vim(1) like navigation and search method. If no search string is given wcd presents the whole tree which is in the default treedata file and the extra treedata files. If a search string is given the match list is presented as a directory tree. The default tree layout is similar to the tree layout of the original NCD on DOS. The difference in layout is that in NCD all directories of a same depth level were vertically aligned over the whole tree. This was possible in NCD, because the maximum width of a directory name in DOS was 12 (8.3) characters. On modern operating systems directory names can be very long, so also the differences in length can be large. Therefore folders with a same depth are not vertically aligned over the whole tree in wcd, but only in sub-branches. So there is some sideways movement when moving straight up and down from one sub-branch to another sub-branch. The navigation behaviour in Wcd is exactly the same as in the original NCD. For instance if you push the Down key you go down to the next directory with the same depth level, jumping over branches. This enables fast navigation through the tree. See options -Ta, -TC, and -Tc to change the navigation behaviour. -gd Dump the treedata files as a tree to stdout. -G PATH Write go-script in directory *PATH*. For instance on Unix, "wcd -G PATH" will write a go-script PATH/wcd.go. -GN, --no-go-script Do not create go-script. This option can be used in combination with the option -j if one does not want wcd to create a go-script. -h, --help Show help and exit. -i, --ignore-case Ignore case. Dos and Windows versions of wcd ignore case default. Unix/Cygwin versions regard case by default. +i, --no-ignore-case Regard case. See also option -i. -I, --ignore-diacritics Ignore diacritics for Latin-based scripts. Letters with diacritical marks match their base letter without diacritical mark. The following Latin encodings are supported: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, and Unicode Latin-1, Latin Extended-A, and Latin Extended-B. See also +I, --no-ignore-diacritics Regard diacritics (default). See also option -I. -j, --just-go Just go mode. In this mode wcd will not present a list when there is more than one directory that matches the given directory. Wcd will just change to the first option. When wcd is invoked again with the same arguments it will change to the next option, and so on. Wcd will print the directory to go to to stdout. So a different installation method can be used. One could make the following function for a POSIX compatible shell: wcd () { cd "$($HOME/bin/wcd.exe -j $@)" } When you are using an old shell that doesn't support "$()" command substitution you have to use old style command substitution with back-quotes. wcd () { cd "`$HOME/bin/wcd.exe -j $@`" } On Windows systems, if one is running 4NT shell, one could make the following alias: alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]` This method eliminates the need of the go-script, so one can use option -GN in combination with -j. -k, --keep-paths Keep paths. Keep paths in the treedata file when wcd can't change to them. The default behaviour of wcd is that it tries to remove paths from the treedata when wcd can't change to them. With this option this behavior is turned off. -K, --color Use colors in graphical mode. -l ALIAS Name the current path with *ALIAS*. Wcd places the current path with alias *ALIAS* in the alias file. Aliases are case sensitive. -ls Show the name of the alias file, and list all the aliases. -m DIR Make directory and add to treedata file. -L, --license Print the distribution license. -M DIR Make directory and add to extra treedata file. -n PATH Read relative treedata file from *PATH*. Do not read the default treedata file. The relative treedata file should already have been created using the wcd +S option. *PATH* may also point to a file directly. An example. Suppose another system has been mounted to mount point "/mnt/network": wcd -n /mnt/network src Wcd opens the relative treedata file in "/mnt/network/". The file contains the paths relative from that point. +n PATH Read relative treedata file in addition to the default treedata file. See option -n. -N, --numbers Use numbers instead of letters. Wcd with a conio or curses based interface (see section Interfaces) presents a match list by default numbered with letters. When the -N option is used the match list is numbered with numbers. Regardless of the -N option one can type a letter or numbers to make a selection from the list of matches. -o Use stdin/stdout interface. When for some kind of reason the conio or curses interface of wcd does not work one can fall back to the stdin/stdout interface of wcd by using the -o option. -od, --to-stdout Dump all matches to stdout. -q, --quiet Quieter operation. Printing of the final match is suppressed. -r DIR Remove directory and remove from the treedata file. If the directory is empty, wcd will remove it, and try to remove it from the treedata file. -rmtree DIR Recursively remove directory and remove from the treedata file. Wcd will remove the directory and all its sub directories and files, and remove the directories from the treedata file. -s (re)Scan disk from $HOME directory. If *HOME* is not defined the disk is scanned from root directory /. The existing default treedata file is overwritten. The default scan directory can be overruled with environment variable "WCDSCAN". See section ENVIRONMENT VARIABLES. -S PATH Scan directory tree from *PATH* and overwrite the default treedata file. See also options -A, -s and -E. E.g. with option -A you can create a default treedata file of your choice. Examples: Unix: wcd -S / wcd -S /home -A /etc -A /usr DOS/Windows: wcd -S c:/ wcd -S c: -A d: -A \\server\share With the Windows versions one can scan all shared directories of a Windows LAN server by typing something like: "wcd -S \\servername". +S PATH Scan disk from *PATH* and place relative paths in a relative treedata file. This file is used by the -n and +n options of wcd. E.g. "wcd -n PATH src". -t Do not strip tmp mount dir "/tmp_mnt" (Unix only) Wcd strips by default "/tmp_mnt/" from the match. Directory "/tmp_mnt" is used by the auto-mounter. This behaviour can be turned off with the -t option. -T, --ascii-tree Draw tree with ASCII characters. Use this option if line drawing characters are not displayed properly in your terminal. -Ta, --alt-tree-nav Alternative way of navigation in the graphical tree. In the default NCD style tree layout the -Ta option disables jumping to unrelated directories. In compact tree mode the alternative mode makes navigation similar to navigation in GUI file managers such as Windows Explorer or Linux KDE Konqueror. Pressing Up and Down moves the selected folder one line up or down. Pressing Left first folds the sub-folders and the next move left moves really left. You can switch on-the-fly between default and alternative navigation by pressing . When alternative navigation mode is on, you will see an "A" in the lower right corner. -TC, --center-tree Centered view in the graphical tree. The selected directory stays in the middle of the screen. The centered mode can also be switched on and off with key in the graphical tree. The standard non-centered behaviour, which minimises tree movement, is the same as in the original NCD. -Tc, --compact-tree By default the 'graphical' tree is drawn the same way as the original NCD on DOS did it. On DOS a directory path could only be 66 characters in total. With the deep directory structures of today the tree can become very wide. To overcome this wcd can draw the tree in a compact way, similar to most GUI file managers, with only one folder per line. Use option -Tc or switch on-the-fly with the key. -Td, --cjk-width Legacy East-Asian CJK (Chinese, Japanese, and Korean) fonts have certain characters and line drawing symbols with a column width of 2, while the normal Unicode width for these characters is 1 column. For instance the Chinese CP936 raster font on Windows and the Simsun font. Use this option for a correct outlining of the graphical tree when a legacy CJK font is used. When CJK mode is on, you will see a "C" in the lower right corner. -u USER Scan treedata file of another user based on *USER*, do not scan your own default treedata file. See also section ENVIRONMENT VARIABLES for *WCDUSERSHOME*. On Unix/Cygwin the base directory for user home directories is assumed to be "/home". Wcd will look for "/home/USER/.treedata.wcd" and "/home/USER/.wcd/.treedata.wcd", in that order, and read the first one that exists and is readable. On DOS/Windows the base directory for user home directories is assumed to be "\\users", so wcd tries to read "\\users\USER\treedata.wcd" and "\\users\USER\.wcd\treedata.wcd". +u USER Read default treedata file of USER in addition to your own treedata file. -v, --verbose Display verbose messages. With this option wcd prints all filters, bans and excludes. -V, --version Print version information and exit. -w, --wild-match-only Wild matching only. Treat all matches as wild matches. -x PATH Exclude *PATH* from scanning. When this option is used wcd will exclude *PATH* and all its subdirectories when wcd is scanning a disk. Wildcards are supported and matched against absolute paths. Option -x can be used multiple times. wcd -x -x -s Option -x must be used in front of any scan option (-s, -S, +S, -A, -E). On DOS/Windows systems one must specify the drive letter depending on if environment variable *HOME* or *WCDHOME* is set. If *HOME* or *WCDHOME* is set one needs to specify the drive letter. An example: wcd -x c:/temp -S c: Otherwise do not specify drive letter. wcd -x /temp -s -xf FILE Exclude all paths listed in *FILE* from scanning. When this option is used wcd will exclude all paths listed in *FILE* and all their subdirectories when wcd is scanning a disk. Wildcards are supported and they are matched against absolute paths; one path per line. Be aware that wcd will not ignore leading or trailing blanks on a line, because they are legal characters in a directory name. Option -xf can be used multiple times. When one wants to exclude all banned paths from scanning one can do the following (example for wcd on unix): wcd -xf ~/.ban.wcd -s Wildcards are supported. For instance to exclude all your Subversion directories with administrative files add a line with "*/.svn". Option -xf must be used in front of any scan option (-s, -S, +S, -A, -E). -y, --assume-yes Assume Yes on all queries. Wcd will not prompt the user with yes/no questions, but assumes the user answers yes on all questions. This can be used in combination with option -rmtree. This option must be used in front of options that can lead to yes/no questions. -z NUMBER Set maximum stack size to NUMBER. The default size of the stack is 10. Stack operation can be turned off by setting the size to 0. This option must be used in front of any other stack operations (-,+,=). Otherwise the size of the stack will be set back to the default 10. A correct command is: wcd -z 50 - The new stack size will be 50, wcd will go one directory back. A wrong command is: wcd - -z 50 Wcd goes one directory back, the stack gets the default size 10. The -z 50 is ignored. Add this option as the first option to your wcd alias or function. E.g. for the a POSIX compatible shell this would be: wcd () { wcd.exe -z 50 "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go } -[NUMBER] Push dir NUMBER of times. Default is one. Go back a directory. Command "wcd -" goes one directory back. To go more directories back add a number to it. E.g. command "wcd -3". The stack is cyclic. +[NUMBER] Pop dir NUMBER of times. Default is one. Go forward a directory. Command "wcd +" goes one directory forward. To go more directories forward add a number to it. E.g. command "wcd +2". The stack is cyclic. = Show stack. Use this option if you do not know anymore how many times to push or pop. The stack is printed and you can choose a number. The current place in the stack is marked with an asterisk "*". INSTALLATION The current working directory of a Unix shell can only be changed by the builtin cd(1) command. Therefore the program is always called by a function or an alias. The function or alias sources a shell script (go-script) which is generated by the wcd program. Wcd can only work after the function or alias is defined. Another important influence on your installation is the definition of environment variables *HOME* and *WCDHOME*. See section ENVIRONMENT VARIABLES. Install for POSIX type shells For a POSIX shell (ksh, bash, zsh, etc.) on Unix, Linux, Cygwin, or native MSYS add the following function to the shell startup file (e.g. Bash uses "$HOME/.bashrc"): wcd () { PATH/wcd.exe "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go } Replace *PATH* with the location where the wcd executable has been installed. Reload the shell initialization files or start new shell. The location of the go-script "wcd.go" differs per shell. Wcd for DJGPP DOS bash and OS/2 bash require a different function. The go script is not written in a directory "bin", and if *WCDHOME* and *HOME* are both not defined the go-script is written on c:/. DOS bash: wcd () { PATH/wcdbash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } OS/2 bash: wcd () { PATH/wcdos2bash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } The WinZsh version of wcd requires a bit different function. The go-script will never be written in c:/. wcd () { PATH/wcdwin32zsh.exe "$@" . ${WCDHOME:-${HOME}}/wcd.go } See section FILES for more information. Install for C-alike shells (csh, tcsh) Add the following alias to the shell startup file "$HOME/.cshrc" or "$HOME/.tcshrc" : if ( ${?WCDHOME} ) then alias wcd "PATH/wcd.exe \!* ; source $WCDHOME/bin/wcd.go" else alias wcd "PATH/wcd.exe \!* ; source $HOME/bin/wcd.go" endif Replace *PATH* with the location where the wcd executable has been installed. Reload the shell initialization files or start a new shell. Windows Command Prompt version Unpack the zip file and add directory "bin" to your environment variable *PATH*. In Windows Command Prompt a Windows program cannot change the current work directory, but a .bat file can. The batch script "wcd.bat" runs the wcd program which generates a new batch script "wcdgo.bat". Then "wcd.bat" runs "wcdgo.bat" which actually changes the directory. Windows VISTA and higher In a Windows VISTA and higher Command Prompt you may have limited access to directories. To get access to more directories you need administrator rights. You can get a Command Prompt with administrator rights if you right click on the Command Prompt icon and select *Run as administrator*. Windows PowerShell version Add the following function to your PowerShell user profile. The location of this profile is stored in the $profile variable. It is required that one of the environment variables *HOME* or *WCDHOME* is defined. function wcd { PATH\wcdwin32psh.exe $args & $env:HOME\wcdgo.ps1 } Replace *PATH* with the location where the wcd executable has been installed. Start a new PowerShell. Wcd for PowerShell supports only the file system provider. No other providers. OS/2 Command Prompt version In an OS/2 Command Prompt (cmd.exe) an OS/2-program can't change the current work directory. That is why wcd generates a command script "wcdgo.cmd" which must be executed in the current shell. The script "wcd.cmd" first executes "wcdos2.exe", which creates the "wcdgo.cmd" script. Then "wcd.cmd" executes the "wcdgo.cmd" script. LOCALIZATION LANG The primary language is selected with the environment variable *LANG*. The *LANG* variable consists out of several parts. The first part is in small letters the language code. The second one is optional and is the country code in capital letters, preceded with an underscore. There is also an optional third part: character encoding, preceded with a dot. A few examples for POSIX standard type shells: export LANG=nl Dutch export LANG=nl_NL Dutch, The Netherlands export LANG=nl_BE Dutch, Belgium export LANG=es_ES Spanish, Spain export LANG=es_MX Spanish, Mexico export LANG=en_US.iso88591 English, USA, Latin-1 encoding For a complete list of language and country codes see the gettext(1) manual: On Unix systems you can use to command locale(1) to get locale specific information. LANGUAGE With the *LANGUAGE* environment variable you can specify a priority list of languages, separated by colons. Wcd gives preference to *LANGUAGE* over *LANG*. For instance, first Dutch and then German: "LANGUAGE=nl:de". You have to first enable localization, by setting *LANG* or *LC_ALL* to a value other than *C*, before you can use a language priority list through the *LANGUAGE* variable. See also the gettext(1) manual: If you select a language which is not available you will get the standard English messages. WCDLOCALEDIR With the environment variable *WCDLOCALEDIR* the *LOCALEDIR* used during compilation and installation of wcd can be overruled. *LOCALEDIR* is used by wcd with native language support to find the language files. The GNU default value is "/usr/local/share/locale". By typing "wcd -V" wcd will print the *LOCALEDIR* that is used. If you have installed wcd in a different directory than the default directory you may need to set the environment variable *WCDLOCALEDIR* to point to the locale directory. An example for Windows cmd: set WCDLOCALEDIR=c:/my_prefix/share/locale An example for a POSIX shell: export WCDLOCALEDIR=$HOME/share/locale LC_COLLATE When there are multiple directory matches wcd presents a sorted list. The sorting depends on the locale settings. If the environment *LANG* has been set the matches are sorted like dictionaries or phone books are sorted in that language. For instance dots and dashes are ignored, or letters e with and without accent are equal, or upper and lower case is ignored. The sorting gives preference to environment variable *LC_COLLATE* over *LANG*. If you make *LC_COLLATE* equal to "C" or "POSIX", locale sorting is turned off. For instance if you want Dutch language, but not Dutch sorting, you can do something like this: export LANG=nl_NL export LC_COLLATE=C LC_CTYPE With regard to character encoding Wcd will give preference to variable *LC_CTYPE* over *LANG*. For instance to set character encoding to UTF-8 the following environment setting can be done. export LC_CTYPE=en_US.UTF-8 LC_ALL All locale environment variables that start with *LC_* are overruled by the environment variable *LC_ALL* if it is defined. Wcd gives preference to *LC_ALL* over *LC_COLLATE* and *LC_CTYPE*. WINDOWS CODE PAGES There are two groups of code pages: DOS code pages (OEM) and Windows code pages (ANSI). The default encoding for Windows, when configured with Western regional settings, is ANSI CP1252. Windows programs, for instance notepad, use this default system ANSI code page. The Windows console uses by default an OEM code page (CP437 or CP850) for compatibility with DOS programs. If you use a DOS version of wcd in a Windows console it will work, because of the DOS code page. But the DOS version of wcd lacks support for long directory names and network drives on Windows. The Windows version of wcd is a native Windows program and will use the Windows system ANSI code page. So on a Western regional Windows it will use code page CP1252 for directory names and messages. In order to get consistent output, independent of the active code page, all Windows versions of Wcd translate ANSI output to Unicode output in the Command Prompt and PowerShell. The console raster font only supports the original OEM code page installed with Windows, so you have to change the console's font to true type Lucida Console to make Unicode (and ANSI) letters appear correctly. Non-Unicode versions of Wcd *prior to version 5.2.0* use plain ANSI output. For these older versions the code page of the console has to be made equal to the system code page (changed to 1252) to make wcd for Windows work properly with special characters such as accented characters or the Euro symbol. The Windows system code page can be changed via the Control Panel regional options. The Windows console code page is changed with the "chcp" command. When you type "wcd -V", the actual character encoding used by wcd is shown. Type the command "chcp" to display the active code page of the Windows console. UNICODE Wcd has optional support for Unicode. To see if wcd was built with Unicode support type "wcd -V". If your terminal/console and font supports it, you should see the Euro symbol and Chinese characters (meaning: "Chinese"). Wcd has been *soft* converted to Unicode. In its core wcd handles all data as a stream of bytes. Only the lines printed to screen are on the fly converted to Unicode wide characters. Wcd fully relies on libc functions and has no UTF-8 specific code. See also Wcd has optional support for Unicode matching with normalisation. To find out whether Wcd has normalisation support type "wcd -V". Wcd with Unicode normalization support will match Unicode names based on *compatible* equivalence. Without Unicode normalization support, names are matched when they are binary equivalent. See also UTF-8 on Unix/Linux In order to view UTF-8 characters your console/terminal also needs to support UTF-8. The xterm version that comes with XFree86 4.0 or higher includes UTF-8 support. To activate it, start xterm(1) in a UTF-8 locale and use a font with iso10646-1 encoding, for instance with LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1' Modern distributions of GNU/Linux support UTF-8 by default. Other multi-byte character encodings should also work, but that has not been tested. Wcd assumes that the treedata files are encoded in the locale character encoding. There are no Byte Order Marks written to treedata files. UTF-16 on Windows On Windows Unicode is supported in all versions of PowerShell, and in Windows Command Prompt on Windows 7 (or higher). Unicode also works in Take Command or TCC/LE made by JP Software, which can be used on older Windows versions (XP/Vista). On Windows all the directory names on disk are encoded in UTF-16 Unicode. For non-Unicode Windows programs the Unicode characters are translated to the default ANSI code page. For characters that are not part of the regional setting this translation is not possible and non-Unicode programs print a question mark or a wrong character instead. Wcd with Unicode support will read the UTF-16 encoded directory names and converts them internally to UTF-8. All treedata files are encoded in UTF-8 and not compatible with the non-Unicode version of Wcd. Wcd will create a go-script encoded in UTF-8. All versions of Windows PowerShell are able to run scripts encoded in UTF-8, provided there is an UTF-8 BOM in the script. Since Windows 7 it is possible in Windows Command Prompt to change directory with a batch script to a directory with Unicode letters in the name. The directory name needs to be encoded in UTF-8, and the batch script must *not* have a BOM. The active code page of the Command Prompt needs to be set to 65001 (UTF-8) prior to the cd command. Wcd for Command Prompt will create such a go script "wcdgo.bat". It first changes the code page to 65001, then changes directory, and finally sets the code page back to the original code page. You need to set the font to True Type Lucida Console (not raster font) when letters don't appear correctly. The non-Unicode Windows version of Wcd can read Unicode treedata files since version 5.2.0, provided there is a Byte Order Mark (BOM) in the file (see ), but it can't change to directories with Unicode letters in the name that are not part of the default system ANSI code page. The Unicode Windows version of wcd writes a BOM in the UTF-8 encoded treedata files since version 5.2.0, which makes them also readable by notepad. UTF-8 on Cygwin Cygwin supports Unicode since version 1.7. The Cygwin layer takes care that the Windows UTF-16 Unicode names are converted to UTF-8. So programs, like wcd, do not need to be aware of this and can operate using UTF-8 encoding as on Unix/Linux. Set character encoding to UTF-8 with the *LANG* or *LC_CTYPE* environment variable. You may need to rescan your drives. You need to set the font to True Type Lucida Console (not raster font) if you use the default Cygwin console. The Cygwin version behaves exactly as the Unix version of wcd. There is no BOM written in the treedata files, and it is assumed they are encoded in the Cygwin locale character encoding. FILES If the environment variable *WCDHOME* is set wcd will use *WCDHOME* instead of *HOME*. All "*.wcd" files are text files. They can be edited with a text editor. The Windows Command Prompt version of wcd behaves as the DOS version. The Cygwin version of wcd behaves as the Unix version. wcd.exe The program. In Unix shells the program is always called by a function or alias, because the current working directory of a Unix shell can only be changed by the builtin cd command. See also section INSTALLATION. default treedata file This is the default treedata file where wcd searches for matches. If it is not readable wcd will create a new one. DOS: \treedata.wcd or %HOME%\treedata.wcd Unix: $HOME/.treedata.wcd extra treedata file An optional extra treedata file. If it exists and is readable wcd will try to find matches in this file also. DOS: \extra.wcd or %HOME%\extra.wcd Unix: $HOME/.extra.wcd ban file In this optional file wcd places banned paths. See option -b. Wildcards are supported. DOS: \ban.wcd or %HOME%\ban.wcd Unix: $HOME/.ban.wcd alias file Optional file with wcd aliases. See option -l. DOS: \alias.wcd or %HOME%\alias.wcd Unix: $HOME/.alias.wcd stack file In this file wcd stores its stack. The drive letter can be changed with the -d option. DOS: c:\stack.wcd or %HOME%\stack.wcd Unix: $HOME/.stack.wcd The name of the stack file can be changed with environment variable *WCDSTACKFILE*. See section ENVIRONMENT VARIABLES. go-script This is the shell script which wcd.exe creates each time. It is sourced via a function or an alias. The drive letter can be changed with the -d option. For history reasons it is placed by default in "$HOME/bin" on Unix systems. The directory of this file can be changed with the option -G. DOS bash: c:/wcd.go or $HOME/wcd.go Windows Command Prompt: c:\wcdgo.bat or %HOME%\wcdgo.bat Windows PowerShell: $env:HOME\wcdgo.ps1 WinZsh: $HOME/wcd.go Cygwin/MSYS: $HOME/bin/wcd.go OS/2 Command Prompt: c:\wcdgo.cmd or %HOME%\wcdgo.cmd OS/2 bash: c:/wcd.go or $HOME/wcd.go Unix: $HOME/bin/wcd.go relative treedata file Text file with relative paths from *DIR*. See options +S, -n and +n. DOS: PATH\rtdata.wcd Unix: PATH/.rtdata.wcd ENVIRONMENT VARIABLES HOME Wcd uses by default environment variable *HOME* to determine where to store its files. See also section FILES. This can be overruled with environment variable *WCDHOME*. *HOME* also defines where to start scanning the disk when option -s is used. This can be overruled with the environment variable *WCDSCAN*. For the Unix, Cygwin, Windows PowerShell, WinZsh and MSYS version it is required that *HOME* or *WCDHOME* is set. For the other versions of wcd the use of these variables is optional. If *HOME* is set on DOS/Windows, wcd will place all its files (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) in directory *HOME*. The behaviour of wcd is then equal to the Unix version of wcd. Wcd will scan the disk default from *HOME*. Drives will not be automatically scanned by changing to them. You need to tell wcd explicitly. E.g.: wcd -S c: -A d: -A e: Matching of directories is now global over all scanned drives. WCDHOME Environment variable *WCDHOME* can be used to change the location of wcd's files. If both *HOME* and *WCDHOME* are set, *WCDHOME* will be used instead of *HOME*. In wcd versions prior to 5.1.5 *WCDHOME* also changed the default scan directory. This has changed. Since version 5.1.5 *WCDHOME* does not change the default scan directory. See option -s. From version 5.1.5, use environment *WCDSCAN* to overrule the default scan directory. Example for DOS, Windows, OS/2 Command Prompt: set WCDHOME=C:\Users\erwin\wcd An example for POSIX type shells: export WCDHOME="$HOME/.wcd" An example for Csh type shells: setenv WCDHOME "$HOME/.wcd" WCDSCAN Use environment variable *WCDSCAN* to overrule the default scan directory *HOME*. Define a colon separated list (Unix) to define more than one directory. On DOS/Windows make the list semi-colon separated. Examples for DOS, Windows, OS/2 Command Prompt: set WCDSCAN=C:\Users\erwin;D:\data set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\projectdrive\projectX An example for POSIX type shells: export WCDSCAN="$HOME:/projectdisk/projectX" An example for Csh type shells: setenv WCDSCAN "$HOME:/projectdisk/projectX" WCDFILTER Specify filters with environment variable *WCDFILTER*. All directories that do not match the filter(s) are ignored. A list can be specified by separating filters by the shell path separator. Similar as specifying the *PATH* variable. The case sensitivity is mandated by the Operating system. An example for DOS, Windows, OS/2 Command Prompt: set WCDFILTER=projects;doc An example for POSIX type shells: export WCDFILTER="projects:doc" An example for Csh type shells: setenv WCDFILTER "projects:doc" WCDBAN The paths specified with environment *WCDBAN* will be banned by wcd. See also option -b. Specify a list of paths separated by shell *PATH* separator. WCDEXCLUDE The paths specified with environment *WCDEXCLUDE* will be excluded by wcd. See also options -x and -xf. Specify a list of paths separated by shell *PATH* separator. An example for DOS, Windows, OS/2 Command Prompt: set WCDEXCLUDE=*/windows;*/temp;*CVS An example for POSIX type shells: export WCDEXCLUDE="/dev:/tmp:*CVS" An example for Csh type shells: setenv WCDEXCLUDE "/dev:/tmp:*CVS" WCDUSERSHOME Set the base of user's home directories. On DOS/Windows the default value is "\\users". On Unix/Cygwin the default value is "/home". This variable is used to scan treedata files of other users. See also options -u and +u. In verbose mode wcd will print all filters, bans and excludes. See option -v. WCDSTACKFILE Wcd gives preference to *WCDSTACKFILE* over the default stack file name (see section FILES). With this variable each shell (or used terminal emulator) can have its private stack of used directories. To use a unique time based YYYYMMDD-HHMMSS file for each opened interactive shell. export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S) For a stack per xterm(1), use the xterm *WINDOWID* environment variable: export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID For GNU screen(1), to use stack per screen: export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW TERMINFO If the environment variable *TERMINFO* is defined, wcd with ncurses interface checks for a local terminal definition before checking in the standard place. This is useful if terminal definitions are not on a standard place. Often used standard places are "/usr/lib/terminfo" and "/usr/share/terminfo". PDC_RESTORE_SCREEN Wcd with PDCurses interface recognizes the environment variable *PDC_RESTORE_SCREEN*. If this environment variable is set, PDCurses will take a copy of the contents of the screen at the time that wcd is started; when wcd exits, the screen will be restored. An example for Windows Command Prompt: set PDC_RESTORE_SCREEN=1 Windows allows only a small buffer to be saved. So it is not always possible to restore everything. Some garbage data may be printed in the console after wcd exits if you have set a large buffer width. SHELL Printing of "#!$SHELL" on the first line of the go-script for POSIX type shell or C shell is needed for 8 bit characters. Some shells otherwise think that the go-script is a binary file and will not source it. In Cygwin Bash the variable *SHELL* must be set in environment using the "export" command, otherwise wcd can't read the variable. BASH Wcd for DOS bash uses $BASH instead of $SHELL, because $SHELL points to the DOS command shell. One may need to define $BASH with an "export" command, otherwise wcd can't read the variable. SEE ALSO sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1), AUTHORS Wcd was written by Erwin Waterlander Project homepage: SourceForge: The manual page formatting was provided by Jari Aalto . NCD was originally written by Brad Kingsbury for Peter Norton's "Norton Utilities" around 1987. See also wcd-6.0.3/src/man/nl/0000755000175500010010000000000013524756524013534 5ustar waterlanGeenwcd-6.0.3/src/man/nl/man1/0000755000175500010010000000000013524756540014366 5ustar waterlanGeenwcd-6.0.3/src/man/nl/man1/wcd.10000644000175500010010000016034313524756526015240 0ustar waterlanGeen.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "wcd 1" .TH wcd 1 "2019-08-14" "wcd" "2019-08-14" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAAM" .IX Header "NAAM" wcd \- Wherever Change Directory .PP chdir voor \s-1DOS\s0 en Unix .SH "OVERZICHT" .IX Header "OVERZICHT" .Vb 1 \& wcd [opties] [map] .Ve .SH "BESCHRIJVING" .IX Header "BESCHRIJVING" .SS "Overzicht" .IX Subsection "Overzicht" Wcd is een commandoregel programma om snel van map te veranderen. Het bespaart tijd tijdens het typen. Men hoeft alleen maar een deel van de mapnaam te typen en wcd springt er heen. Wcd heeft een snelle selectie methode wanneer er meerdere treffers zijn, en biedt de mogelijkheid om aliassen van mappen aan te maken en om mappen in de ban te doen. Wcd biedt ook een schermvullende interactieve boomweergave met snelzoek functie. .PP Wcd is gemodelleerd naar Norton Change Directory (\s-1NCD\s0). \s-1NCD\s0 verscheen voor het eerst in \fIThe Norton Utilities, Release 4\fR, for \s-1DOS\s0 in 1987, gepubliceerd door Peter Norton. .PP Wcd is geschikt gemaakt voor verschillende commandoregel shells: \s-1DOS\s0 command.com, Windows cmd.exe en PowerShell, \s-1OS/2\s0 cmd.exe, en Unix shells zoals Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), en C (csh) shell en anderen draaiend op elk besturingssysteem. .PP Wcd ondersteunt 8 bit tekensets op alle systemen, en heeft optioneel ondersteuning voor Unicode. Zie paragraaf \s-1LOKALISTIE.\s0 .PP Zie paragraaf \s-1INSTALLATIE\s0 hoe wcd voor persoonlijk gebruik in te stellen. .SS "Basisgebruik" .IX Subsection "Basisgebruik" Standaard, wanneer geen jokertekens gebruikt worden, zoekt wcd een map met een naam die begint met de naam die getypt is. .PP Bijvoorbeeld deze opdracht zal veranderen naar de huidige gebruikers map \&\f(CW\*(C`/home/user/Desktop\*(C'\fR: .PP .Vb 1 \& wcd Desk .Ve .PP Wanneer er meerdere treffers zijn zal wcd een lijst presenteren van alle treffers. De gebruiker kan een keuze maken met enkele toetsaanslagen (meestal een). .SS "Jokertekens" .IX Subsection "Jokertekens" Wcd ondersteunt de volgende jokertekens: .PP .Vb 5 \& * treft een willekeurige reeks van tekens (nul of meer) \& ? treft een willekeurig teken \& [SET] treft willekeurige tekens in de gespecificeerde set, \& [!SET] of [^SET] treft willekeurige tekens niet in de \& gespecificeerde set. .Ve .PP Een set wordt samengesteld uit tekens of reeksen; een reeks ziet er uit als \&\fIteken koppelteken teken\fR zoals in \f(CW\*(C`0\-9\*(C'\fR of \f(CW\*(C`A\-Z\*(C'\fR. \f(CW\*(C`[0\-9a\-zA\-Z_]\*(C'\fR is de minimale set van tekens toegestaan in de \f(CW\*(C`[..]\*(C'\fR patroon samenstelling. Internationale tekens (d.w.z. 8 bit tekens) zijn toegestaan als het systeem ze ondersteunt. Om de speciale syntactische betekenis van elke van \f(CW\*(C`[]*?!^\-\e\*(C'\fRbinnen of buiten een \f(CW\*(C`[..]\*(C'\fR samenstelling te onderdrukken en exact gelijke te treffen, laat het teken vooraf gaan door een backslash (\f(CW\*(C`\e\*(C'\fR) teken. .PP Het gebruik van jokertekens maakt krachtige zoekmethodes mogelijk. Bijvoorbeeld dit treft elke mapnaam die eindigt op \*(L"top\*(R". .PP .Vb 1 \& wcd *top .Ve .PP Tref mappen die ergens \*(L"top\*(R" in de naam heeft: .PP .Vb 1 \& wcd *top* .Ve .PP Tref elke map die die begint met \*(L"a\*(R", \*(L"b\*(R" or \*(L"c\*(R": .PP .Vb 1 \& wcd [a\-c]* .Ve .PP Het is ook mogelijk om een deel van het pad op te geven. Hier zoekt Wcd naar een map die begint met \*(L"Desk\*(R" en wiens pad overeenkomt met \fI*me/Desk*\fR. .PP .Vb 1 \& wcd me/Desk .Ve .PP Het is toegestaan om elke expressie met schuine strepen en jokertekens te typen. B.v.: .PP .Vb 1 \& wcd src*/*1?/a*2 .Ve .SS "Overig gebruik" .IX Subsection "Overig gebruik" Wanneer geen jokertekens gebruikt zijn en wcd vindt een perfecte treffer, zullen alle niet exacte treffers genegeerd worden. Dit gedrag kan gewijzigd worden met de \fB\-w\fR optie. .PP De interactieve mappen-verkenner kan met de optie \fB\-g\fR gestart worden. .PP .Vb 1 \& wcd \-g .Ve .PP Wcd genereert een boomdata-bestand waarin de map gezocht wordt. Op Unix en Windows voegt wcd ook symbolische koppelingen toe wanneer de schijf gescand wordt, maar deze worden niet gevolgd. Wanneer symbolische koppelingen gevolgd worden, zou wcd oneindige lussen kunnen scannen, of zeer grote delen van een netwerk. .PP Wcd kan ook veranderen naar mappen die niet in het boomdata-bestand staan. B.v.: .PP .Vb 1 \& wcd .. .Ve .PP Wanneer wcd een treffer heeft gevonden, maar niet naar de map kan veranderen, probeert hij deze te verwijderen uit het standaard boomdata-bestand. Niet uit het extra boomdata-bestand. Zie ook optie \fB\-k\fR. .PP Wcd houdt een mappenstapel bij die opgeslagen wordt op schijf. De stapel heeft een standaard grootte van 10 en is cyclisch. Zie opties \fB\-z\fR, \fB\-\fR, \&\fB+\fR en \fB=\fR. .PP In een omgeving met meerdere gebruikers kan optie \fB\-u\fR gebruikt worden om naar mappen van andere gebruikers te veranderen. .PP Op \s-1DOS\s0 en Windows systemen maakt het niet uit of een slash \*(L"/\*(R" of een backslash \*(L"\e\*(R" als mappen-scheidingsteken gebruikt wordt. .PP Het is mogelijk op \s-1DOS\s0 en Windows systemen om tegelijk van schijf en map te veranderen door de mapnaam vooraf te laten gaan door de schijf naam. .PP .Vb 1 \& wcd d:games .Ve .SS "Windows \s-1UNC\s0 paden" .IX Subsection "Windows UNC paden" De Windows versies (Opdrachtprompt, PowerShell, \s-1MSYS,\s0 zsh, Cygwin) ondersteunen Windows \s-1SMB LAN UNC\s0 paden zonder schijfletter, zoals \&\f(CW\*(C`\e\eservername\esharename\*(C'\fR. Wcd voor de Opdrachtprompt maakt gebruik van het \&\*(L"pushd\*(R" commando om automatisch een \s-1UNC\s0 pad toe te wijzen aan een schijfletter. In Windows PowerShell, \s-1MSYS,\s0 zsh en Cygwin worden \s-1UNC\s0 paden volledig ondersteund. De huidige werkmap kan een \s-1UNC\s0 pad zijn. .SS "Opdrachtpromtvenster formaat wijzigen in Windows" .IX Subsection "Opdrachtpromtvenster formaat wijzigen in Windows" Wcd ondersteunt het wijzigen van het formaat van het opdrachtpromptvenster in Windows 10 en ConEmu (zie ) sinds versie 6.0.3. Het Windows 10 opdrachtpromptvenster moet niet in verouderde console modus zitten (controleer de opdrachtpromptvenster eigenschappen). Het scherm kan mogelijk niet verversen wanneer de Indeling eigenschap \&\*(L"tekstterugloopuitvoer bij formaat wijzigen\*(R" uit staat. Het scherm kan handmatig ververst worden door op de F5 toets te drukken. .SS "Interfaces" .IX Subsection "Interfaces" Wcd heeft drie verschillende interface om uit een lijst van treffers te kiezen. De interface kan gekozen worden bij het bouwen van Wcd. .PP De eerste interface gebruikt standaard in\- en uitvoer. Een genummerde lijst wordt in de terminal geprint. De gebruiker kan kiezen uit de lijst door een nummber te typen gevolgd door . Deze interface biedt geen terug-blader functionaliteit bij een lange lijst. De terug-blader functionaliteit van de terminal/console moet gebruikt worden. Deze interface is heel klein en overdraagbaar. .PP De tweede interface is gebouwd met de conio bibliotheek. Het biedt een ingebouwde terug-blader functie. De gebruiker wordt een lijst gepresenteerd, genummerd met letters. Het kiezen uit de lijst kan gedaan worden met een enkele toetsaanslag van een letter. Deze interface is snel, omdat het toetsaanslagen bespaart. Wanneer mogelijk wordt het scherm hersteld na afsluiten. Iemand die prefereert nummers te typen kan de \fB\-N\fR optie gebruiken. .PP De derde bibliotheek is gebouwd met de curses bibliotheek. Het is gelijk aan de conio interface. De curses versie van wcd heeft een extra 'grafische' interface. Het laat de gebruiker een map kiezen via een vol-scherm interactieve mappenboom verkenner. Het heeft \fIvim\fR\|(1) gelijke navigatie en zoek methodes. Het kan geactiveerd worden met de optie \fB\-g\fR. .PP Door de \fB\-o\fR optie te gebruiken kan men altijd terugvallen op de standaard in\- en uitvoer interface. .SH "OPTIES" .IX Header "OPTIES" .IP "\fB\-a\fR" 4 .IX Item "-a" Voeg huidig pad to aan het standaard boomdata-bestand. .Sp Gebruik deze optie om snel het huidige pad toe te voegen aan het standaard boomdata-bestand. Het opnieuw scannen van de complete schijf kan soms lang duren. .IP "\fB\-aa\fR" 4 .IX Item "-aa" Voeg het huidige en alle bovenliggende paden toe aan het standaard boomdata-bestand. .IP "\fB\-A \s-1PAD\s0\fR" 4 .IX Item "-A PAD" Scan mappenboom vanaf \fI\s-1PAD\s0\fR en voeg toe aan het standaard boomdata-bestand. Voorbeelden: .Sp .Vb 3 \& wcd \-A . \& wcd \-A /home \-A /etc \& wcd \-A d: \-A e: \-A \e\eserver\eshare .Ve .Sp Op Windows kan men alle gedeelde mappen van een Windows \s-1LAN\s0 server scannen door iets te typen als: \f(CW\*(C`wcd \-A \e\eservername\*(C'\fR. .Sp Zie ook opties \fB\-S\fR en \fB\-s\fR en \fB\-E\fR. .IP "\fB\-b\fR" 4 .IX Item "-b" Verban het huidige pad. .Sp Wcd plaatst het huidige pad in het ban-bestand. Dit betekent dat wcd alle treffers van deze map en zijn sub-mappen negeert. .Sp Het ban-bestand kan gewijzigd worden met een tekstbewerker. Gebruik van jokertekens wordt ondersteund en namen worden vergeleken met het volledige pad. .Sp Verbannen paden worden niet uitgesloten van het scannen van de schijf. Gebruik optie \fB\-xf\fR om dat te doen. .IP "\fB\-c, \-\-direct\-cd\fR" 4 .IX Item "-c, --direct-cd" Directe \s-1CD\s0 modus. Standaard werkt wcd als volgt: .Sp .Vb 2 \& 1. Probeer een treffer te vinden in een boomdata\-bestand. \& 2. Wanneer geen treffer, probeer het getypte pad te openen. .Ve .Sp In directe \s-1CD\s0 modus werkt wcd in omgekeerde volgorde. .Sp .Vb 2 \& 1. Probeer het getypte pad te openen. \& 2. Indien niet gelukt, probeer een treffer te vinden in een boomdata\-bestand. .Ve .IP "\fB\-d \s-1SCHIJF\s0\fR" 4 .IX Item "-d SCHIJF" Stel schijf in voor stapel\- en go-script (alleen \s-1DOS\s0). .Sp Het stapelbestand en go-script worden standaard opgeslagen op schijf C: wanneer omgevingsvariabele \fI\s-1HOME\s0\fR niet ingesteld is. Gebruik deze optie wanneer \s-1SCHIJF\s0 een alleen-lezen schijf is. Deze optie moet gebruikt worden vooraf aan stapel opties \fB\-\fR, \fB+\fR en \fB=\fR. .IP "\fB\-e\fR" 4 .IX Item "-e" Voeg huidig pad toe aan het extra boomdata-bestand. .Sp Gebruik deze optie om snel het huidige toe te voegen aan het extra boomdata-bestand. .IP "\fB\-ee\fR" 4 .IX Item "-ee" Voeg het huidige en alle bovenliggende paden toe aan het extra boomdata-bestand. .IP "\fB\-E \s-1PAD\s0\fR" 4 .IX Item "-E PAD" Scan mappenboom vanaf \fI\s-1PAD\s0\fR en voeg het toe aan het Extra boomdata\-bestand.Zie ook opties \fB\-A\fR en \fB\-S\fR. .IP "\fB\-f \s-1BESTAND\s0\fR" 4 .IX Item "-f BESTAND" Lees boomdata-bestand \fI\s-1BESTAND\s0\fR. Lees niet het standaard boomdata-bestand. .IP "\fB+f \s-1BESTAND\s0\fR" 4 .IX Item "+f BESTAND" Lees boomdata-bestand \fI\s-1BESTAND\s0\fR bovenop het standaard boomdata-bestand. .IP "\fB\-g\fR" 4 .IX Item "-g" Grafische interface (alleen in versie met curses interface). .Sp Wcd start een tekstuele curses gebaseerde 'grafische' interface. De gebruiker kan een map selecteren via een vol-scherm interactieve mappenverkenner. Het heeft een \fIvim\fR\|(1) achtige navigatie en zoek methode. .Sp Wanneer geen zoekstring gegeven is presenteert wcd de gehele boom die in het standaard en het extra boomdata-bestand staat. .Sp Wanneer een zoekstring gegeven is wordt de trefferlijst gepresenteerd als een mappenboom .Sp De standaard boom opmaak is gelijk aan de boomopmaak van de originele \s-1NCD\s0 op \&\s-1DOS.\s0 Het verschil in opmaak is dat in \s-1NCD\s0 alle mappen van dezelfde diepteniveau verticaal uitgelijnd waren over de hele boom. Dit was mogelijk in \s-1NCD,\s0 omdat de maximale breedte van een mapnaam in \s-1DOS 12\s0 (8.3) tekens was. Op moderne besturingssystemen kunnen namen erg lang zijn. Daarom zijn mappen met dezelfde diepte in wcd niet verticaal uitgelijnd over de hele boom, maar alleen in sub-takken. Daarom is er wat zijdelingse beweging wanneer recht omhoog of omlaag bewogen wordt van de ene sub-tak naar de ander sub-tak. .Sp Het navigatie gedrag in wcd is exact hetzelfde als in de originele \&\s-1NCD.\s0 Bijvoorbeeld wanneer je de Omlaag knopt drukt ga je omlaag naar de volgende map met dezelfde diepte, springend over takken. Dit maakt snelle navigatie door de boom mogelijk. .Sp Zie opties \fB\-Ta\fR, \fB\-TC\fR, en \fB\-TC\fR om het navigatiegedrag te veranderen. .IP "\fB\-gd\fR" 4 .IX Item "-gd" Dump de boomdatabestanden als een boom naar standaard uitvoer. .IP "\fB\-G \s-1PAD\s0\fR" 4 .IX Item "-G PAD" Schrijf go-script in map \fI\s-1PAD\s0\fR. Bijvoorbeeld op Unix, \f(CW\*(C`wcd \-G PAD\*(C'\fR zal een go-script schrijven in \fBPAD/wcd.go\fR. .IP "\fB\-GN, \-\-no\-go\-script\fR" 4 .IX Item "-GN, --no-go-script" Maak geen go-script aan. Deze optie kan gebruikt worden in combinatie met de optie \fB\-j\fR wanneer men wil dat wcd geen go-script aanmaakt. .IP "\fB\-h, \-\-help\fR" 4 .IX Item "-h, --help" Toon helptext en sluit af. .IP "\fB\-i, \-\-ignore\-case\fR" 4 .IX Item "-i, --ignore-case" Hoofdletterongevoelig. \s-1DOS\s0 en Windows versies van wcd zijn standaard hoofdletterongevoelig. Unix/Cygwin versies zijn standaard hoofdlettergevoelig. .IP "\fB+i, \-\-no\-ignore\-case\fR" 4 .IX Item "+i, --no-ignore-case" Hoofdlettergevoelig. Zie ook optie \fB\-i\fR. .IP "\fB\-I, \-\-ignore\-diacritics\fR" 4 .IX Item "-I, --ignore-diacritics" Ongevoelig voor diakritische tekens voor Latijnse geschriften. Letters met een diakritisch teken treffen hun basisletter zonder diakritisch teken. De volgende Latijnse coderingen worden ondersteund: \s-1CP437, CP850, CP852, CP1250, CP1252, ISO\-8859\-1, ISO\-8859\-2,\s0 en Unicode Latin\-1, Latin Extended-A, en Latin Extended-B. Zie ook .IP "\fB+I, \-\-no\-ignore\-diacritics\fR" 4 .IX Item "+I, --no-ignore-diacritics" Gevoelig voor diakritische tekens (standaard). Zie ook optie \fB\-I\fR. .IP "\fB\-j, \-\-just\-go\fR" 4 .IX Item "-j, --just-go" Ga-nou-maar modus. .Sp In deze modus zal wcd geen lijst tonen wanneer er meer dan een map is die treft met de ingegeven map. Wcd zal veranderen naar de eerste optie. Wanneer wcd opnieuw aangeroepen wordt met hetzelfde argument, zal wcd veranderen naar de volgende optie, en zo verder. .Sp Wcd print de map waar naar te gaan naar standaard uitvoer. Zo kan een andere installatie methode gebruikt worden. Men zou de volgende functie kunnen maken voor een \s-1POSIX\s0 compatibele shell: .Sp .Vb 4 \& wcd () \& { \& cd "$($HOME/bin/wcd.exe \-j $@)" \& } .Ve .Sp Wanneer je een oude shell gebruikt die geen \*(L"$()\*(R" opdracht vervanging ondersteunt, moet je de oude stijl opdrachtvervanging gebruiken met accent graves. .Sp .Vb 4 \& wcd () \& { \& cd "\`$HOME/bin/wcd.exe \-j $@\`" \& } .Ve .Sp Op Windows systemen, wanneer men 4NT shell draait, kan men de volgende alias maken: .Sp .Vb 1 \& alias wcd \`cd %@execstr[wcdwin32.exe \-z 0 \-j %1]\` .Ve .Sp Deze methode elimineert de noodzaak voor het go-script, zodat men de optie \&\fB\-GN\fR in combinatie met \fB\-j\fR kan gebruiken. .IP "\fB\-k, \-\-keep\-paths\fR" 4 .IX Item "-k, --keep-paths" Bewaar paden. .Sp Bewaar paden in boomdata-bestanden wanneer wcd er niet naar kan veranderen. Het standaard gedrag van wcd is dat het probeert de paden te verwijderen uit het boomdata-bestand wanneer wcd niet naar ze kan veranderen. Met deze optie wordt dit gedrag uitgeschakeld. .IP "\fB\-K, \-\-color\fR" 4 .IX Item "-K, --color" Gebruik kleuren in grafische modus. .IP "\fB\-l \s-1ALIAS\s0\fR" 4 .IX Item "-l ALIAS" Noem het huidige pad \fI\s-1ALIAS\s0\fR. Wcd plaatst het huidige pad met alias \&\fI\s-1ALIAS\s0\fR in het alias-bestand. Aliassen zijn hoofdlettergevoelig. .IP "\fB\-ls\fR" 4 .IX Item "-ls" Show the name of the alias file, and list all the aliases. .IP "\fB\-m \s-1MAP\s0\fR" 4 .IX Item "-m MAP" Maak map en voeg toe aan boomdata-bestand. .IP "\fB\-L, \-\-license\fR" 4 .IX Item "-L, --license" Print de distributie licentie. .IP "\fB\-M \s-1MAP\s0\fR" 4 .IX Item "-M MAP" Maak map en voeg toe aan extra boomdata-bestand. .IP "\fB\-n \s-1PAD\s0\fR" 4 .IX Item "-n PAD" Lees relatief boomdata-bestand vanaf \fI\s-1PAD\s0\fR. .Sp Lees niet het standaard boomdata-bestand. Het relatieve boomdata-bestand zou al gemaakt moeten zijn met de wcd optie \fB+S\fR. \fI\s-1PAD\s0\fR mag ook direct naar een bestand wijzen. .Sp Een voorbeeld. Stel een ander systeem is gekoppend aan koppeling \&\f(CW\*(C`/mnt/network\*(C'\fR: .Sp .Vb 1 \& wcd \-n /mnt/network src .Ve .Sp Wcd opent het relatieve boomdata-bestand in \f(CW\*(C`/mnt/network/\*(C'\fR. The bestand bevat de paden relatief vanaf dat punt. .IP "\fB+n \s-1PAD\s0\fR" 4 .IX Item "+n PAD" Lees relatief boomdata-bestand bovenop het standaard boomdata-bestand. Zie optie \fB\-n\fR. .IP "\fB\-N, \-\-numbers\fR" 4 .IX Item "-N, --numbers" Gebruik nummers in plaats van letters. .Sp Wcd met een conio of curses gebaseerde interface (zie paragraaf Interfaces) presenteert een trefferlijst standaard genummerd met letters. Wanneer de optie \fB\-N\fR is gebruikt wordt de trefferlijst genummerd met nummers. Onafhankelijk van de optie \fB\-N\fR kan men een letter of een nummer typen om een selectie uit de lijst te maken. .IP "\fB\-o\fR" 4 .IX Item "-o" Gebruik standaard invoer/uitvoer interface. .Sp Wanneer om een of andere reden de conio of curses interface van wcd niet werkt kan men terugvallen op de standaard invoer/uitvoer interface van wcd door het gebruik van de \fB\-o\fR optie. .IP "\fB\-od, \-\-to\-stdout\fR" 4 .IX Item "-od, --to-stdout" Dump alle treffers naar standaard uitvoer. .IP "\fB\-q, \-\-quiet\fR" 4 .IX Item "-q, --quiet" Stillere werking. Het printen van de uiteindelijke treffer wordt onderdrukt. .IP "\fB\-r \s-1MAP\s0\fR" 4 .IX Item "-r MAP" Verwijder map en verwijder uit boomdata-bestand. .Sp Als de map leeg is zal wcd het verwijderen, en proberen het te verwijderen uit het boomdata-bestand. .IP "\fB\-rmtree \s-1MAP\s0\fR" 4 .IX Item "-rmtree MAP" Recursief map verwijderen en verwijderen uit boomdata-bestand. .Sp Wcd zal de map verwijderen en al zijn sub-mappen en bestanden, en verwijdert de mappen uit het boomdata-bestand. .IP "\fB\-s\fR" 4 .IX Item "-s" (her)scannen schijf vanaf \f(CW$HOME\fR map. Als \fI\s-1HOME\s0\fR niet gedefinieerd is, wordt de schijf gescant vanaf hoofdmap /. .Sp Het bestaande standaard boomdata-bestand is overschreven. .Sp De standaard scan map kan overstemd worden met omgevingsvariabele \&\f(CW\*(C`WCDSCAN\*(C'\fR. Zie sectie \s-1OMGEVINGSVARIABELEN.\s0 .IP "\fB\-S \s-1PAD\s0\fR" 4 .IX Item "-S PAD" Scan mappenboom vanaf \fI\s-1PAD\s0\fR en overschrijf het standaard boomdata-bestand. Zie ook opties \fB\-A\fR, \fB\-s\fR en \fB\-E\fR. B.v. met optie \fB\-A\fR kun je een standaard boomdata-bestand maken naar eigen smaak. Bijvoorbeeld: .Sp Unix: .Sp .Vb 2 \& wcd \-S / \& wcd \-S /home \-A /etc \-A /usr .Ve .Sp DOS/Windows: .Sp .Vb 2 \& wcd \-S c:/ \& wcd \-S c: \-A d: \-A \e\eserver\eshare .Ve .Sp Met de Windows versies kan men alle gedeelde mappen scannen van een Windows \&\s-1LAN\s0 server door iets een typen als: \f(CW\*(C`wcd \-S \e\eservernaam\*(C'\fR. .IP "\fB+S \s-1PAD\s0\fR" 4 .IX Item "+S PAD" Scan schijf vanaf \fI\s-1PAD\s0\fR en plaats relatieve paden in het relatieve boomdata-bestand. Dit bestand wordt gebruikt door de \fB\-n\fR en \fB+n\fR opties van wcd. B.v. \f(CW\*(C`wcd \-n PAD src\*(C'\fR. .IP "\fB\-t\fR" 4 .IX Item "-t" Verwijder niet tmp koppelmap \f(CW\*(C`/tmp_mnt\*(C'\fR (alleen Unix) .Sp Wcd verwijderd standaard \f(CW\*(C`/tmp_mnt/\*(C'\fR van de treffer. Map \f(CW\*(C`/tmp_mnt\*(C'\fR wordt gebruikt door de 'auto\-mounter'. Dit gedrag kan uitgeschakeld worden met de \&\fB\-t\fR optie. .IP "\fB\-T, \-\-ascii\-tree\fR" 4 .IX Item "-T, --ascii-tree" Teken boom met \s-1ASCII\s0 tekens. Gebruik deze opties als lijntekens niet goed getoond worden in de terminal. .IP "\fB\-Ta, \-\-alt\-tree\-nav\fR" 4 .IX Item "-Ta, --alt-tree-nav" Alternatieve manier van navigeren in de grafische boom. .Sp In de standaard \s-1NCD\s0 stijl opmaak zet de \fB\-Ta\fR optie het springen naar ongerelateerde mappen uit. .Sp In compacte-boom-modus maakt de alternatieve mode de navigatie gelijk aan de navigatie in \s-1GUI\s0 bestandsverkenners zoals de Windows Verkenner of Linux \s-1KDE\s0 Konqueror. Omhoog en Omlaag drukken beweegt de geselecteerde map één regel op en neer. Links drukken vouwt eerst de sub-mappen in en de volgende beweging naar links gaat echt naar links. .Sp U kunt onmiddellijk tussen standaard en alternatief navigeren schakelen door te drukken. .Sp Wanneer alternatieve navigatie aan staat, ziet u een \*(L"A\*(R" in de rechter onderhoek. .IP "\fB\-TC, \-\-center\-tree\fR" 4 .IX Item "-TC, --center-tree" Gecentreerde weergave in de grafische boom. De geselecteerde map blijft in het midden van het scherm. De gecentreerde modus kan ook aan\- en uitgeschakeld worden met de toets in de grafische boom. .Sp De standaard niet-gecentreerde weergave, die boombeweging minimaliseert, is gelijk aan hoe het in de originele \s-1NCD\s0 was. .IP "\fB\-Tc, \-\-compact\-tree\fR" 4 .IX Item "-Tc, --compact-tree" Standaard wordt de 'grafische' boom getekend op dezelfde manier zoals de originele \s-1NCD\s0 op \s-1DOS\s0 het deed. In \s-1DOS\s0 kon een pad in totaal slechts 66 tekens bevatten. Met de diepe mappenstructuur van vandaag kan de boom erg breed worden. Om dit te beheersen kan wcd de boom op een compacte manier tekenen, gelijk aan de meeste \s-1GUI\s0 mappenverkenners, met één map per regel. Gebruik optie \fB\-Tc\fR of schakel onmiddellijk met de toets. .IP "\fB\-Td, \-\-cjk\-width\fR" 4 .IX Item "-Td, --cjk-width" Oude Oost-Aziatische \s-1CJK\s0 (Chinees, Japans, en Koreaans) fonts hebben bepaalde letters en lijnsymbolen met een kolombreedte van 2, terwijl de normale Unicode breedte voor deze tekens 1 kolom is. Bijvoorbeeld het Chinese \s-1CP936\s0 raster font op Windows en het Simsun font. Gebruik deze optie voor een juiste uitlijning van de grafische boom wanneer een oud \s-1CJK\s0 font gebruikt wordt. .Sp Wanneer \s-1CJK\s0 modus actief is, ziet u een \*(L"C\*(R" in de rechter onderhoek. .IP "\fB\-u \s-1GEBRUIKER\s0\fR" 4 .IX Item "-u GEBRUIKER" Scan boomdata-bestand van een andere gebruiker gebaseerd op \fI\s-1GEBRUIKER\s0\fR, scan niet het eigen boomdata-bestand. Zie ook paragraaf \s-1OMGEVINGSVARIABELEN\s0 voor \fI\s-1WCDUSERSHOME\s0\fR. .Sp Op Unix/Cygwin wordt aangenomen dat de basismap voor de thuismap voor gebruikers \f(CW\*(C`/home\*(C'\fR is. Wcd zal zoeken naar \f(CW\*(C`/home/GEBRUIKER/.treedata.wcd\*(C'\fR en \f(CW\*(C`/home/GEBRUIKER/.wcd/.treedata.wcd\*(C'\fR, in deze volgorde, en de eerste lezen die bestaat en leesbaar is. Op DOS/Windows wordt aangenomen dat de basismap voor de thuismap van gebruikers \f(CW\*(C`\e\eusers\*(C'\fR is, dus wcd probeert te lezen \f(CW\*(C`\e\eusers\eGEBRUIKER\etreedata.wcd\*(C'\fR en \&\f(CW\*(C`\e\eusers\eGEBRUIKER\e.wcd\etreedata.wcd\*(C'\fR. .IP "\fB+u \s-1GEBRUIKER\s0\fR" 4 .IX Item "+u GEBRUIKER" Lees het standaard boomdata-bestand van \s-1GEBRUIKER\s0 bovenop uw eigen boomdata-bestand. .IP "\fB\-v, \-\-verbose\fR" 4 .IX Item "-v, --verbose" Toon gedetailleerde berichten. Met deze optie toont wcd alle filters, verbannen mappen en uitsluitingen. .IP "\fB\-V, \-\-version\fR" 4 .IX Item "-V, --version" Programmaversie tonen en afsluiten. .IP "\fB\-w, \-\-wild\-match\-only\fR" 4 .IX Item "-w, --wild-match-only" Alleen jokervergelijkingen. Behandel alle treffers als jokertreffers. .IP "\fB\-x \s-1PAD\s0\fR" 4 .IX Item "-x PAD" \&\fI\s-1PAD\s0\fR uitsluiten van scannen. .Sp Wanneer deze optie gebruikt is zal wcd \fI\s-1PAD\s0\fR uitsluiten en al zijn sub-mappen wanneer wcd een schijf scant. Jokertekens worden ondersteund en vergeleken met absolute paden. Optie \fB\-x\fR kan meerder keren gebruikt worden. .Sp .Vb 1 \& wcd \-x \-x \-s .Ve .Sp Optie \fB\-x\fR moet vooraf gaan aan elke scan optie (\fB\-s\fR, \fB\-S\fR, \fB+S\fR, \&\fB\-A\fR, \fB\-E\fR). .Sp Op DOS/Windows systemen moet men de schijfletter specificeren afhankelijk van of omgevingsvariabele \fI\s-1HOME\s0\fR or \fI\s-1WCDHOME\s0\fR gedefinieerd is. Wanneer \&\fI\s-1HOME\s0\fR of \fI\s-1WCDHOME\s0\fR gedefinieerd is moet men de schijfletter specificeren. Een voorbeeld: .Sp .Vb 1 \& wcd \-x c:/temp \-S c: .Ve .Sp Specificeer anders geen schijfletter. .Sp .Vb 1 \& wcd \-x /temp \-s .Ve .IP "\fB\-xf \s-1BESTAND\s0\fR" 4 .IX Item "-xf BESTAND" Alle paden uit bestand \fI\s-1BESTAND\s0\fR uitsluiten van scannen. .Sp Wanneer deze optie gebruikt is zal wcd alle paden genoemd in \fI\s-1BESTAND\s0\fR uitsluiten en al hun sub-mappen wanneer wcd een schijf scant. Jokertekens worden ondersteund en vergeleken met absolute paden, een pad per regel. Wees bewust dat wcd spaties aan het begin of einde op een regel niet zal negeren, omdat het geldige tekens zijn in een mapnaam. Optie \fB\-xf\fR can meerdere keren gebruikt worden. Wanneer men alle verbannen paden wil uitsluiten van scannen zou het volgende gedaan kunnen worden (voorbeeld voor wcd op Unix): .Sp .Vb 1 \& wcd \-xf ~/.ban.wcd \-s .Ve .Sp Jokertekens worden ondersteund. Om bijvoorbeeld al uw Subversion mappen met administratieve bestanden uit te sluiten, voeg een regel toe met \f(CW\*(C`*/.svn\*(C'\fR. .Sp Optie \fB\-xf\fR moet vooraf gaan aan elke scan optie (\fB\-s\fR, \fB\-S\fR, \fB+S\fR, \&\fB\-A\fR, \fB\-E\fR). .IP "\fB\-y, \-\-assume\-yes\fR" 4 .IX Item "-y, --assume-yes" Op alle vragen Ja als antwoord aannemen. .Sp Wcd zal de gebruiker geen ja/nee vraag stellen, maar neemt aan dat de gebruiker ja antwoordt op alle vragen. Dit kan gebruikt worden in combinatie met optie \fB\-rmtree\fR. Deze optie moet voorafgaand gebruikt worden aan opties die tot ja/nee vragen kunnen leiden. .IP "\fB\-z \s-1GETAL\s0\fR" 4 .IX Item "-z GETAL" Stel maximum stapelgrootte in op \s-1GETAL.\s0 .Sp De standaard grootte van de stapel is 10. Stapelwerking kan uitgezet worden door de grootte op 0 in te stellen. Deze optie moet voorafgaand aan elke stapel optie (\fB\-\fR, \fB+\fR, \fB=\fR) gebruikt worden. Anders wordt de stapelgrootte teruggezet naar de standaard 10. .Sp Een correcte opdracht is: .Sp .Vb 1 \& wcd \-z 50 \- .Ve .Sp De nieuwe stapelgrootte zal 50 zijn, wcd gaat een map terug. Een foute opdracht is: .Sp .Vb 1 \& wcd \- \-z 50 .Ve .Sp Wcd gaat een map terug, de stapel krijgt de standaard grootte 10. \fB\-z 50\fR wordt genegeerd. .Sp Voeg deze optie als eerste toe aan uw wcd alias of functie. B.v. voor een \&\s-1POSIX\s0 compatibele shell zou dit zijn: .Sp .Vb 5 \& wcd () \& { \& wcd.exe \-z 50 "$@" \& . ${WCDHOME:\-${HOME}}/bin/wcd.go \& } .Ve .IP "\fB\-[\s-1GETAL\s0]\fR" 4 .IX Item "-[GETAL]" Map \s-1GETAL\s0 keer op stapel zetten. Standaard is een. .Sp Ga een map terug. Opdracht \f(CW\*(C`wcd \-\*(C'\fR gaat een map terug. Voeg een nummer toe om meer mappen terug te gaan. B.v. opdracht \f(CW\*(C`wcd \-3\*(C'\fR. De stapel is cyclisch. .IP "\fB+[\s-1GETAL\s0]\fR" 4 .IX Item "+[GETAL]" Map \s-1GETAL\s0 keer van stapel halen. Standaard is een. .Sp Ga een map vooruit. Opdracht \f(CW\*(C`wcd +\*(C'\fR gaat een map vooruit. Voeg een nummer toe om meerdere mappen vooruit te gaan. B.v. opdracht \f(CW\*(C`wcd +2\*(C'\fR. De stapel is cyclisch. .IP "\fB=\fR" 4 .IX Item "=" Stapel tonen. .Sp Gebruik deze optie als u niet meer weet waar u in de stapel zit. De stapel wordt getoond en u kan een nummer kiezen. De huidige plaats in de stapel is gemarkeerd met een sterretje \f(CW\*(C`*\*(C'\fR. .SH "INSTALLATIE" .IX Header "INSTALLATIE" De huidige werkmap in een Unix shell kan alleen veranderd worden door de ingebouwde \fIcd\fR\|(1) opdracht. Daarom wordt het programma altijd aangeroepen door een functie of alias. De functie of alias leest een script (go-script) in dat gegenereerd is door het wcd programma. Wcd kan alleen werken nadat de functie of alias gedefinieerd is. .PP Een andere belangrijke invloed op uw installatie is de definitie van de omgevingsvariabelen \fI\s-1HOME\s0\fR en \fI\s-1WCDHOME\s0\fR. Zie paragraaf \&\s-1OMGEVINGSVARIABELEN.\s0 .SS "Installatie voor \s-1POSIX\s0 type shells" .IX Subsection "Installatie voor POSIX type shells" Voor een \s-1POSIX\s0 shell (ksh, bash, zsh, etc) op Unix, Linux, Cygwin, of \s-1MSYS,\s0 voeg de volgende functie toe aan het shell opstartbestand (b.v. Bash gebruikt \f(CW\*(C`$HOME/.bashrc\*(C'\fR): .PP .Vb 5 \& wcd () \& { \& PAD/wcd.exe "$@" \& . ${WCDHOME:\-${HOME}}/bin/wcd.go \& } .Ve .PP Vervang \fI\s-1PAD\s0\fR door de locatie waar het uitvoerbare wcd bestand geïnstalleerd is. Laad de shell initialisatiebestanden opnieuw of start een nieuwe shell. .PP De locatie van het go-script \f(CW\*(C`wcd.go\*(C'\fR is anders per shell. .PP Wcd voor \s-1DJGPP DOS\s0 bash heeft een andere functie nodig. Het go-script wordt niet in map \f(CW\*(C`bin\*(C'\fR geschreven, en wanneer \fI\s-1WCDHOME\s0\fR en \fI\s-1HOME\s0\fR beide niet gedefinieerd zijn wordt het go-script geschreven in c:/. .PP \&\s-1DOS\s0 bash: .PP .Vb 5 \& wcd () \& { \& PAD/wcdbash.exe "$@" \& . ${WCDHOME:\-${HOME:\-"c:"}}/wcd.go \& } .Ve .PP \&\s-1OS/2\s0 bash: .PP .Vb 5 \& wcd () \& { \& PAD/wcdos2bash.exe "$@" \& . ${WCDHOME:\-${HOME:\-"c:"}}/wcd.go \& } .Ve .PP De WinZsh versie van wcd is ook een beetje anders. Het go-script wordt nooit in c:/ geschreven. .PP .Vb 5 \& wcd () \& { \& PAD/wcdwin32zsh.exe "$@" \& . ${WCDHOME:\-${HOME}}/wcd.go \& } .Ve .PP Zie paragraaf \s-1BESTANDEN\s0 voor meer informatie. .SS "Installatie voor C\-achtige shells (csh, tcsh)" .IX Subsection "Installatie voor C-achtige shells (csh, tcsh)" Voeg de volgende alias toe aan het shell opstartbestand \f(CW\*(C`$HOME/.cshrc\*(C'\fR of \&\f(CW\*(C`$HOME/.tcshrc\*(C'\fR: .PP .Vb 5 \& if ( ${?WCDHOME} ) then \& alias wcd "PAD/wcd.exe \e!* ; source $WCDHOME/bin/wcd.go" \& else \& alias wcd "PAD/wcd.exe \e!* ; source $HOME/bin/wcd.go" \& endif .Ve .PP Vervang \fI\s-1PAD\s0\fR door de locatie waar het uitvoerbare wcd bestand geïnstalleerd is. Laad de shell initialisatiebestanden opnieuw of start een nieuwe shell. .SS "Windows Opdrachtprompt versie" .IX Subsection "Windows Opdrachtprompt versie" Pak het zip-bestand uit en voeg map \f(CW\*(C`bin\*(C'\fR toe aan omgevingsvariabele \&\fI\s-1PATH\s0\fR. .PP In Windows Opdrachtprompt kan een Windows programma niet de huidige werkmap veranderen, maar een .bat bestand kan dat wel. Het batch script \f(CW\*(C`wcd.bat\*(C'\fR draait het wcd programma dat een nieuw batch script \f(CW\*(C`wcdgo.bat\*(C'\fR genereert. Daarna start \f(CW\*(C`wcd.bat\*(C'\fR \f(CW\*(C`wcdgo.bat\*(C'\fR die feitelijk de map verandert. .SS "Windows \s-1VISTA\s0 en hoger" .IX Subsection "Windows VISTA en hoger" In een Windows \s-1VISTA\s0 en hoger Opdrachtprompt kan men beperkte toegang hebben tot mappen. Om toegang tot meer mappen te verkrijgen heeft men beheerdersrechten nodig. U kunt een Opdrachtprompt met beheerdersrechten verkrijgen door rechts te klikken op het Opdrachtprompt icoon en dan te selecteren \fIAls Administrator uitvoeren\fR. .SS "Windows PowerShell versie" .IX Subsection "Windows PowerShell versie" Voeg de volgende functie toe aan uw PowerShell gebruikersprofiel. De locatie van dit profiel is opgeslagen in de \f(CW$profile\fR variabele. Het is vereist dat omgevingsvariabele \fI\s-1HOME\s0\fR of \fI\s-1WCDHOME\s0\fR gedefinieerd is. .PP .Vb 5 \& function wcd \& { \& PAD\ewcdwin32psh.exe $args \& & $env:HOME\ewcdgo.ps1 \& } .Ve .PP Vervang \fI\s-1PAD\s0\fR met de locatie waar het uitvoerbare wcd bestand geïnstalleerd is. Start een nieuwe PowerShell. Wcd voor PowerShell ondersteund alleen de bestandssysteem 'provider'. Geen andere 'providers'. .SS "\s-1OS/2\s0 Opdrachtprompt versie" .IX Subsection "OS/2 Opdrachtprompt versie" In een \s-1OS/2\s0 Opdrachtprompt (cmd.exe) kan een \s-1OS/2\s0 programma niet de huidige werkmap veranderen. Dat is waarom wcd een opdracht-script genereert \&\f(CW\*(C`wcdgo.cmd\*(C'\fR welke uitgevoerd moet worden in de huidige shell. Het script \&\f(CW\*(C`wcd.cmd\*(C'\fR voert eerst \f(CW\*(C`wcdos2.exe\*(C'\fR uit, die vervolgens het \f(CW\*(C`wcdgo.cmd\*(C'\fR script creëert. Daarna voert \f(CW\*(C`wcd.cmd\*(C'\fR het \f(CW\*(C`wcdgo.cmd\*(C'\fR script uit. .SH "LOKALISATIE" .IX Header "LOKALISATIE" .IP "\fB\s-1LANG\s0\fR" 4 .IX Item "LANG" The primaire taal wordt geselecteerd via de omgevingsvariabele \fI\s-1LANG\s0\fR. De variabele \fI\s-1LANG\s0\fR bestaat uit verschillende onderdelen. Het eerste deel is in kleine letters de taalcode. Het tweede deel is optioneel en is de landcode in hoofdletters, voorafgegaan door een liggend streepje. Er is ook een optioneel derde deel: de tekencodering, voorafgegaan door een punt. Enkele voorbeelden voor een POSIX-shell: .Sp .Vb 6 \& export LANG=nl Nederlands \& export LANG=nl_NL Nederlands, Nederland \& export LANG=nl_BE Nederlands, België \& export LANG=es_ES Spaans, Spanje \& export LANG=es_MX Spaans, Mexico \& export LANG=en_US.iso88591 Engels, VS, Latin\-1 codering \& \& Voor een complete lijst van taal\- en landcodes zie de gettext(1) \&handleiding: \&L Op \&Unix\-systemen kunt u de opdracht locale(1) gebruiken om specifieke \&taalregio\-informatie te verkrijgen. .Ve .IP "\fB\s-1LANGUAGE\s0\fR" 4 .IX Item "LANGUAGE" Met de omgevingsvariabele \fI\s-1LANGUAGE\s0\fR kunt u een prioriteitenlijst specificeren van talen, gescheiden door dubbele punten. Dos2unix geeft voorrang aan \fI\s-1LANGUAGE\s0\fR boven \fI\s-1LANG\s0\fR. Bijvoorbeeld, eerst Nederlands en dan Duits: \f(CW\*(C`LANGUAGE=nl:de\*(C'\fR. U moet eerst lokalisatie in werking stellen, door het instellen van \fI\s-1LANG\s0\fR of \fI\s-1LC_ALL\s0\fR op een waarde ongelijk aan \f(CW\*(C`C\*(C'\fR, voordat u een talen-prioriteitenlijst kunt gebruiken via de variabele \&\fI\s-1LANGUAGE\s0\fR. Zie ook de \fIgettext\fR\|(1) handleiding: .Sp Als u een taal kiest die niet beschikbaar is, worden de standaard Engelse berichten gebruikt. .IP "\fB\s-1WCDLOCALEDIR\s0\fR" 4 .IX Item "WCDLOCALEDIR" Met de omgevingsvariabele \fI\s-1WCDLOCALEDIR\s0\fR kan de \fI\s-1LOCALEDIR\s0\fR die ingesteld werd tijdens compilatie worden overstemd. \fI\s-1LOCALEDIR\s0\fR wordt gebruikt om de taalbestanden te vinden. De \s-1GNU\s0 standaardwaarde is \&\f(CW\*(C`/usr/local/share/locale\*(C'\fR. Door \f(CW\*(C`wcd \-V\*(C'\fR te typen zal wcd de gebruikte \&\fI\s-1LOCALEDIR\s0\fR laten zien. .Sp Als u wcd geïnstalleerd heeft in een andere map dan de standaard map kan het nodig zijn om omgevingsvariabele \fI\s-1WCDLOCALEDIR\s0\fR te definiëren om te wijzen naar de locale map. .Sp Een voorbeeld voor Windows cmd: .Sp .Vb 1 \& set WCDLOCALEDIR=c:/my_prefix/share/locale .Ve .Sp Een voorbeeld voor een \s-1POSIX\s0 shell: .Sp .Vb 1 \& export WCDLOCALEDIR=$HOME/share/locale .Ve .IP "\fB\s-1LC_COLLATE\s0\fR" 4 .IX Item "LC_COLLATE" Wanneer er meerdere maptreffers zijn presenteert wcd een gesorteerde lijst. Het sorteren hangt af van de lokalisatie instellingen. Wanneer de omgevingsvariabele \fI\s-1LANG\s0\fR ingesteld is worden de treffers gesorteerd als in een woordenboek of telefoonboek in die taal. Bijvoorbeeld punten en streepjes worden genegeerd, of letters e met en zonder accent zijn gelijk, of sortering is ongevoelig voor hoofd en kleine letters. .Sp De sortering geeft prioriteit aan omgevingsvariabele \fI\s-1LC_COLLATE\s0\fR boven \&\fI\s-1LANG\s0\fR. Wanneer u \fI\s-1LC_COLLATE\s0\fR gelijk maakt aan \f(CW\*(C`C\*(C'\fR of \f(CW\*(C`POSIX\*(C'\fR, wordt sortering met lokalisatie uitgeschakeld. Bijvoorbeeld als u Nederlandse taal wilt, maar geen Nederlandse sortering, dan kunt u iets doen als: .Sp .Vb 2 \& export LANG=nl_NL \& export LC_COLLATE=C .Ve .IP "\fB\s-1LC_CTYPE\s0\fR" 4 .IX Item "LC_CTYPE" Met betrekking to tekencodering geeft Wcd prioriteit aan variabele \&\fI\s-1LC_CTYPE\s0\fR boven \fI\s-1LANG\s0\fR. Bijvoorbeeld om de tekencodering op \s-1UTF\-8\s0 te zetten kan de volgende omgevings-instelling gemaakt worden. .Sp .Vb 1 \& export LC_CTYPE=en_US.UTF\-8 .Ve .IP "\fB\s-1LC_ALL\s0\fR" 4 .IX Item "LC_ALL" Alle lokalisatie omgevingsvariabelen die beginnen met \fI\s-1LC\s0\fR worden overstemd de omgevingsvariabele \fI\s-1LC_ALL\s0\fR wanneer die ingesteld is. Wcd geeft prioriteit aan \fI\s-1LC_ALL\s0\fR boven \fI\s-1LC_COLLATE\s0\fR en \fI\s-1LC_CTYPE\s0\fR. .SS "\s-1WINDOWS CODETABELLEN\s0" .IX Subsection "WINDOWS CODETABELLEN" Er zijn twee groepen van codetabellen, \s-1DOS\s0 codetabellen (\s-1OEM\s0) en Windows codetabellen (\s-1ANSI\s0). De standaard codering voor Windows, wanneer geconfigureerd met westerse regionale instellingen, is \s-1ANSI CP1252.\s0 Windows programma's, bijvoorbeeld kladblok, gebruiken deze standaard systeem \s-1ANSI\s0 codetabel. De Windows Opdrachtprompt gebruikt standaard een \s-1OEM\s0 codetabel (\s-1CP437\s0 of \s-1CP850\s0) voor compatibeliteit met \s-1DOS\s0 programma's. Als u een \s-1DOS\s0 versie van Wcd in een Windows Opdrachtprompt gebruikt zal het werken, vanwege de \s-1DOS\s0 codetabel. Maar de \s-1DOS\s0 versie van wcd ontbeert ondersteuning voor lange mapnamen en netwerkschijven op Windows. .PP De Windows versie van wcd is een echt Windows programma en zal de Windows systeem \s-1ANSI\s0 codetabel gebruiken. Dus op een Westers regionale Windows zal het de codetabel \s-1CP1252\s0 gebruiken voor directory namen en berichten. Om een consistente uitvoer te verkrijgen, onafhankelijk van de ingestelde codetabel, vertalen alle Windows versies van wcd \s-1ANSI\s0 uitvoer naar Unicode uitvoer in de Opdrachtprompt en PowerShell. .PP Het Opdrachtprompt rastertypefont ondersteunt alleen de originele \s-1OEM\s0 codetabel van Windows, dus u moet het Opdrachtprompt font veranderen naar Lucida Console om Unicode (en \s-1ANSI\s0) tekens correct te laten verschijnen. .PP Niet-Unicode versies van Wcd \fIvoorafgaande aan versie 5.2.0\fR gebruiken gewone \s-1ANSI\s0 uitvoer. Voor deze oude versie moet de codetabel van de Opdrachtprompt gelijk gemaakt worden aan de systeem codetabel (naar 1252) om wcd voor Windows goed te laten werken met speciale tekens zoals geaccentueerde tekens of een euroteken. .PP De Windows systeem codetabel kan veranderd worden via het Configuratiescherm Klok, taal en land/regio opties. De Windows Opdrachtprompt codetabel wordt veranderd met de \f(CW\*(C`chcp\*(C'\fR opdracht. .PP Wanneer u \f(CW\*(C`wcd \-V\*(C'\fR typet, wordt de actuele tekencodering getoond die door wcd gebruikt wordt. Type opdracht \f(CW\*(C`chcp\*(C'\fR op de actieve codetabel van de Opdrachtprompt te tonen. .SS "\s-1UNICODE\s0" .IX Subsection "UNICODE" Wcd heeft optioneel ondersteuning voor Unicode. Om te zien of wcd gebouwd is met Unicode ondersteuning type \f(CW\*(C`wcd \-V\*(C'\fR. Als uw terminal en font het ondersteunen, zou u een euroteken en Chinese tekens (betekenis: \*(L"Chinees\*(R") moeten zien. .PP Wcd is \fIzacht\fR omgezet naar Unicode. In de kern behandelt wcd alle data als een stroom van bytes. Alleen de regels die op het scherm geprint worden, worden terstond omgezet naar Unicode brede tekens. Wcd hangt volledig af van libc functies en heeft geen \s-1UTF\-8\s0 specifieke broncode. Zie ook .PP Wcd heeft optioneel ondersteuning voor Unicode vergelijkingen met normalisatie. Om er achter te komen of Wcd normalisatie ondersteunt type \&\f(CW\*(C`wcd \-V\*(C'\fR. Wcd met Unicode normalisatie ondersteuning vergelijkt Unicode namen gebaseerd op \fIcompatibele\fR gelijkwaardigheid. Zonder Unicode normalisatie worden treffen namen een gelijke wanneer ze binair gelijk zijn. Zie ook .PP \fI\s-1UTF\-8\s0 op Unix/Linux\fR .IX Subsection "UTF-8 op Unix/Linux" .PP Om \s-1UTF\-8\s0 tekens te zien moet uw terminal ook \s-1UTF\-8\s0 ondersteunen. De xterm versie die meekomt met XFree86 4.0 of hoger bevat \s-1UTF\-8\s0 ondersteuning. Om het te activeren, start \fIxterm\fR\|(1) in een \s-1UTF\-8\s0 taalregio en gebruik een font met iso10646\-1 codering, bijvoorbeeld met .PP .Vb 1 \& LC_CTYPE=en_GB.UTF\-8 xterm \-u8 \-fn \*(Aq\-Misc\-Fixed\-Medium\-R\-SemiCondensed\-\-13\-120\-75\-75\-C\-60\-ISO10646\-1\*(Aq .Ve .PP Moderne uitgaves van GNU/Linux ondersteunen standaard \s-1UTF\-8.\s0 Andere multi-byte tekencoderingen zouden ook moeten werken, maar dat is niet getest. .PP Wcd veronderstelt dat de boomdata-bestanden gecodeerd zijn in de lokale tekencodering. Er worden geen Byte Order Marks geschreven in de boomdata-bestanden. .PP \fI\s-1UTF\-16\s0 op Windows\fR .IX Subsection "UTF-16 op Windows" .PP Op Windows wordt Unicode in alle versies van PowerShell ondersteund, en in Windows Opdrachtprompt op Windows 7 (of hoger). Unicode werkt ook in Take Command of \s-1TCC/LE\s0 gemaakt door \s-1JP\s0 Software, dat gebruikt kan worden op oudere Windows versies (XP/Vista). .PP In Windows zijn alle mapnamen op schijf gecodeerd in \s-1UTF\-16\s0 Unicode. Voor niet-Unicode Windows programma's worden de tekens vertaald naar de standaard \&\s-1ANSI\s0 codetabel. Voor tekens die geen onderdeel zijn van de regionale instelling is de vertaling niet mogelijk en niet-Unicode programma's printen in plaats daarvan een vraagteken of een verkeerd teken. .PP Wcd met Unicode ondersteuning leest de \s-1UTF\-16\s0 gecodeerde mappennamen en zet ze intern om naar \s-1UTF\-8.\s0 Alle boomdata-bestanden zijn gecodeerd in \s-1UTF\-8\s0 en niet compatibel met de niet-Unicode versie van Wcd. Wcd zal een go-script aanmaken gecodeerd in \s-1UTF\-8.\s0 .PP Alle versies van Windows PowerShell zijn in staat om in \s-1UTF\-8\s0 gecodeerde scripts te draaien, indien het script is voorzien van een \s-1UTF\-8 BOM.\s0 .PP Sinds Windows 7 is het mogelijk om in Windows Opdrachtprompt van map te veranderen met een batch script naar een map met Unicode tekens in de naam. De mapnaam moet gecodeerd zijn in \s-1UTF\-8,\s0 en het batch script moet \&\fIgeen\fR \s-1BOM\s0 bevatten. De actieve codetabel van de Opdrachtprompt moet gezet zijn op 65001 (\s-1UTF\-8\s0) vooraf aan de cd opdracht. Wcd voor Opdrachtprompt creëert zo'n go-script \f(CW\*(C`wcdgo.bat\*(C'\fR. Eerst verandert het de codetabel naar 65001, verandert dan de map, en tenslotte wordt de codetabel terug gezet naar de originele waarde. .PP U moet het font instellen op True Type Lucida Console (niet raster type font) wanneer de letters niet correct verschijnen. .PP De niet-Unicode Windows versie van Wcd kan Unicode boomdata-bestanden lezen sinds versie 5.2.0, indien er een Byte Order Mark (\s-1BOM\s0) in het bestand zit (zie ), maar kan niet veranderen naar mappen met Unicode tekens in de naam die geen onderdeel zijn van de standaard systeem \s-1ANSI\s0 codetabel. De Unicode Windows versie van wcd schrijft een \s-1BOM\s0 in het \s-1UTF\-8\s0 gecodeerde boomdata-bestand sinds versie 5.2.0, wat ze ook leesbaar maakt voor kladblok. .PP \fI\s-1UTF\-8\s0 in Cygwin\fR .IX Subsection "UTF-8 in Cygwin" .PP Cygwin ondersteunt Unicode sinds versie 1.7. De Cygwin laag zorgt er voor dat de Windows \s-1UTF\-16\s0 Unicode namen vertaald worden naar \s-1UTF\-8.\s0 Dus programma's, zoals wcd, hoeven hier niet bewust van te zijn en kunnen werken gebruikmakend van \s-1UTF\-8\s0 codering als op Unix/Linux. Stel de tekencodering in op \s-1UTF\-8\s0 met de \fI\s-1LANG\s0\fR of \fI\s-1LC_CTYPE\s0\fR omgevingsvariabele. Het kan nodig zijn dat u de schijven opnieuw moet scannen. U dient het font in te stellen op True Type Lucida Console (niet raster type font) wanneer u de standaard Cygwin console gebruikt. .PP De Cygwin versie gedraagt zich exact gelijk aan de Unix versie van wcd. Er wordt geen \s-1BOM\s0 geschreven in de boomdata-bestanden, en er wordt aangenomen dat ze gecodeerd zijn in de \fBCygwin\fR lokalisatie tekencodering. .SH "BESTANDEN" .IX Header "BESTANDEN" Wanneer omgevingsvariabele \fI\s-1WCDHOME\s0\fR ingesteld is zal wcd \fI\s-1WCDHOME\s0\fR gebruiken in plaats van \fI\s-1HOME\s0\fR. Alle \f(CW\*(C`*.wcd\*(C'\fR bestanden zijn tekstbestanden. Ze kunnen bewerkt worden met een tekstbewerker. De Windows Opdrachtprompt versie gedraagt zich als de \s-1DOS\s0 versie. De Cygwin versie van wcd gedraagt zich als de Unix versie. .IP "\fBwcd.exe\fR" 4 .IX Item "wcd.exe" Het programma. In Unix shells wordt het programma altijd aangeroepen door een functie of alias, omdat de huidige werkmap alleen veranderd kan worden door de ingebouwde cd opdracht. Zie ook paragraaf \s-1INSTALLATIE.\s0 .IP "\fBstandaard boomdata-bestand\fR" 4 .IX Item "standaard boomdata-bestand" Dit is het standaard boomdata-bestand waarin wcd zoekt naar treffers. Wanneer het niet leesbaar is zal wcd een nieuwe aanmaken. .Sp .Vb 2 \& DOS: \etreedata.wcd of %HOME%\etreedata.wcd \& Unix: $HOME/.treedata.wcd .Ve .IP "\fBextra boomdata-bestand\fR" 4 .IX Item "extra boomdata-bestand" Een optioneel extra boomdata-bestand. Wanneer het bestaat en leesbaar is zal wcd ook in dit bestand proberen treffers te vinden. .Sp .Vb 2 \& DOS: \eextra.wcd of HOME%\eextra.wcd \& Unix: $HOME/.extra.wcd .Ve .IP "\fB ban-bestand\fR" 4 .IX Item " ban-bestand" In dit optionele bestand plaatst wcd de verbannen paden. Zie optie \&\fB\-b\fR. Jokertekens worden ondersteund. .Sp .Vb 2 \& DOS: \eban.wcd of %HOME%\eban.wcd \& Unix: $HOME/.ban.wcd .Ve .IP "\fBalias-bestand\fR" 4 .IX Item "alias-bestand" Optioneel bestand met wcd aliassen. Zie optie \fB\-I\fR. .Sp .Vb 2 \& DOS: \ealias.wcd of %HOME%\ealias.wcd \& Unix: $HOME/.alias.wcd .Ve .IP "\fBstapel-bestand\fR" 4 .IX Item "stapel-bestand" In dit bestand slaat wcd zijn stapel op. De schijfletter kan veranderd worden met de \fB\-d\fR optie. .Sp .Vb 2 \& DOS: c:\estack.wcd of %HOME%\estack.wcd \& Unix: $HOME/.stack.wcd .Ve .Sp De naam van het stapelbestand kan veranderd worden met omgevingsvariabele \&\fI\s-1WCDSTACKFILE\s0\fR. Zie paragraaf \s-1OMGEVINGSVARIABELEN.\s0 .IP "\fBgo-script\fR" 4 .IX Item "go-script" Dit is het shell-script dat wcd elke keer creëert. Het wordt ingelezen via een functie of een alias. De schijfletter kan gewijzigd worden met de \fB\-d\fR optie. Wegens voorgeschiedenis redenen wordt het standaard geplaatst in \&\f(CW\*(C`$HOME/bin\*(C'\fR op Unix systemen. De map van dit bestand kan gewijzigd worden met de optie \fB\-G\fR. .Sp .Vb 8 \& DOS bash: c:/wcd.go of $HOME/wcd.go \& Windows Command Prompt: c:\ewcdgo.bat of %HOME%\ewcdgo.bat \& Windows PowerShell: $env:HOME\ewcdgo.ps1 \& WinZsh: $HOME/wcd.go \& Cygwin/MSYS: $HOME/bin/wcd.go \& OS/2 Opdrachtprompt: c:\ewcdgo.cmd of %HOME%\ewcdgo.cmd \& OS/2 bash: c:/wcd.go or $HOME/wcd.go \& Unix: $HOME/bin/wcd.go .Ve .IP "\fBrelatieve boomdata-bestand\fR" 4 .IX Item "relatieve boomdata-bestand" Tekstbestand met relatieve paden vanaf \fI\s-1MAP\s0\fR. Zie opties \fB+S\fR, \fB\-n\fR en \&\fB+n\fR. .Sp .Vb 2 \& DOS: PAD\ertdata.wcd \& Unix: PAD/.rtdata.wcd .Ve .SH "OMGEVINGSVARIABELEN" .IX Header "OMGEVINGSVARIABELEN" .IP "\fB\s-1HOME\s0\fR" 4 .IX Item "HOME" Wcd gebruikt standaard omgevingsvariabele \fI\s-1HOME\s0\fR om te bepalen waar z'n bestanden op te slaan. Zie ook paragraaf \s-1BESTANDEN.\s0 Dit kan overstemd worden met omgevingsvariabele \fI\s-1WCDHOME\s0\fR. .Sp \&\fI\s-1HOME\s0\fR bepaalt ook waar te beginnen met het scannen van de schijf wanneer optie \fB\-s\fR gebruikt wordt. Dit kan overstemd worden met omgevingsvariabele \&\fI\s-1WCDSCAN\s0\fR. .Sp Voor de Unix, Cygwin, Windows PowerShell, WinZsh en \s-1MSYS\s0 versie is het vereist dat \fI\s-1HOME\s0\fR of \fI\s-1WCDHOME\s0\fR ingesteld is. Voor de andere versies van wcd is het gebruik van deze variabelen optioneel. .Sp Wanneer \fI\s-1HOME\s0\fR ingesteld is op DOS/Windows, zal wcd al zijn bestanden (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) in map \fI\s-1HOME\s0\fR plaatsen. Het gedrag van wcd is dan gelijk aan de Unix versie van wcd. Wcd zal de schijf standaard scannen vanaf \fI\s-1HOME\s0\fR. Schijven worden niet automatisch gescant door er naar te veranderen. Dat moet wcd expliciet opgedragen worden. B.v.: .Sp .Vb 1 \& wcd \-S c: \-A d: \-A e: .Ve .Sp Vergelijken van mappen is nu globaal over alle gescande schijven. .IP "\fB\s-1WCDHOME\s0\fR" 4 .IX Item "WCDHOME" Omgevingsvariabele \fI\s-1WCDHOME\s0\fR kan gebruikt worden om de locatie van wcds bestanden te wijzigen. Wanneer zowel \fI\s-1HOME\s0\fR als \fI\s-1WCDHOME\s0\fR ingesteld zijn, zal \fI\s-1WCDHOME\s0\fR gebruikt worden in plaats van \fI\s-1HOME\s0\fR. .Sp In wcd versies voorafgaand aan 5.1.5 veranderde \fI\s-1WCDHOME\s0\fR ook de standaard scan-map. Dit is veranderd. Sinds versie 5.1.5 verandert \fI\s-1WCDHOME\s0\fR niet de standaard scan-map. Zie optie \fB\-s\fR. Gebruik vanaf versie 5.1.5 omgevingsvariabele \fI\s-1WCDSCAN\s0\fR om de standaard scan-map te overstemmen. .Sp Voorbeeld voor \s-1DOS,\s0 Windows, \s-1OS/2\s0 Opdrachtprompt: .Sp .Vb 1 \& set WCDHOME=C:\eUsers\eerwin\ewcd .Ve .Sp Een voorbeeld voor \s-1POSIX\s0 type shells: .Sp .Vb 1 \& export WCDHOME="$HOME/.wcd" .Ve .Sp Een voorbeeld voor Csh type shells: .Sp .Vb 1 \& setenv WCDHOME "$HOME/.wcd" .Ve .IP "\fB\s-1WCDSCAN\s0\fR" 4 .IX Item "WCDSCAN" Gebruik omgevingsvariabele \fI\s-1WCDSCAN\s0\fR om de standaard scan-map \fI\s-1HOME\s0\fR te overstemmen. Gebruik een door dubbele punten gescheiden lijst (Unix) om meer dan een map te definiëren. Gebruik op DOS/Windows een lijst gescheiden door puntkomma's. .Sp Voorbeelden voor \s-1DOS,\s0 Windows, \s-1OS/2\s0 Opdrachtprompt: .Sp .Vb 1 \& set WCDSCAN=C:\eUsers\eerwin;D:\edata \& \& set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\e\eprojectdrive\eprojectX .Ve .Sp Een voorbeeld voor \s-1POSIX\s0 type shells: .Sp .Vb 1 \& export WCDSCAN="$HOME:/projectdisk/projectX" .Ve .Sp Een voorbeeld voor Csh type shells: .Sp .Vb 1 \& setenv WCDSCAN "$HOME:/projectdisk/projectX" .Ve .IP "\fB\s-1WCDFILTER\s0\fR" 4 .IX Item "WCDFILTER" Specificeer filters met omgevingsvariabele \fI\s-1WCDFILTER\s0\fR. Alle mappen die niet treffen met het filter worden genegeerd. Een lijst kan gespecificeerd worden met het shell pad scheidingsteken. Gelijk aan het specificeren van de \&\fI\s-1PATH\s0\fR variabele. Hoofdlettergevoeligheid wordt bepaald door het besturingssysteem. .Sp Een voorbeeld voor \s-1DOS,\s0 Windows, \s-1OS/2\s0 Opdrachtprompt: .Sp .Vb 1 \& set WCDFILTER=projects;doc .Ve .Sp Een voorbeeld voor \s-1POSIX\s0 type shells: .Sp .Vb 1 \& export WCDFILTER="projects:doc" .Ve .Sp Een voorbeeld voor Csh type shells: .Sp .Vb 1 \& setenv WCDFILTER "projects:doc" .Ve .IP "\fB\s-1WCDBAN\s0\fR" 4 .IX Item "WCDBAN" De paden gespecificeerd met omgevingsvariabele \fI\s-1WCDBAN\s0\fR worden verbannen door wcd. Zie ook optie \fB\-b\fR. Specificeer een lijst van paden met het shell \&\fI\s-1PATH\s0\fR scheidingsteken. .IP "\fB\s-1WCDEXCLUDE\s0\fR" 4 .IX Item "WCDEXCLUDE" De paden gespecificeerd met omgevingsvariabele \fI\s-1WCDEXCLUDE\s0\fR worden uitgesloten door wcd. Zie ook opties \fB\-x\fR en \fB\-xf\fR. Specificeer een lijst van paden met het shell \fI\s-1PATH\s0\fR scheidingsteken. .Sp Een voorbeeld voor \s-1DOS,\s0 Windows, \s-1OS/2\s0 Opdrachtprompt: .Sp .Vb 1 \& set WCDEXCLUDE=*/windows;*/temp;*CVS .Ve .Sp Een voorbeeld voor \s-1POSIX\s0 type shells: .Sp .Vb 1 \& export WCDEXCLUDE="/dev:/tmp:*CVS" .Ve .Sp Een voorbeeld voor Csh type shells: .Sp .Vb 1 \& setenv WCDEXCLUDE "/dev:/tmp:*CVS" .Ve .IP "\fB\s-1WCDUSERSHOME\s0\fR" 4 .IX Item "WCDUSERSHOME" Stel de basis in de de thuismappen van de gebruikers. Op DOS/Windows is de standaard waarde \f(CW\*(C`\e\eusers\*(C'\fR. Op Unix/Cygwin is de standaard waarde \&\f(CW\*(C`/home\*(C'\fR. Deze variabele wordt gebruikt om boomdata-bestanden van andere gebruikers te scannen. Zie ook opties \fB\-u\fR en \fB+u\fR. In gedetailleerde uitvoer-modus zal wcd alle filters, verbanningen en uitsluitingen tonen. Zie ook optie \fB\-v\fR. .IP "\fB\s-1WCDSTACKFILE\s0\fR" 4 .IX Item "WCDSTACKFILE" Wcd geeft prioriteit aan \fI\s-1WCDSTACKFILE\s0\fR boven de standaard stapelbestandsnaam (zie paragraaf \s-1BESTANDEN\s0). Met deze variabele kan elke shell (of terminal) zijn eigen privé stapel voor mappen hebben. .Sp Om een uniek tijdgebaseerde YYYYMMDD-HHMMSS bestand voor elke geopende interactieve shell te gebruiken. .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d\-%H%M%S) .Ve .Sp Voor een stapel per \fIxterm\fR\|(1), gebruik de xterm omgevingsvariabele \&\fI\s-1WINDOWID\s0\fR: .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID .Ve .Sp Voor \s-1GNU\s0 \fIscreen\fR\|(1), gebruik een stapel per scherm: .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW .Ve .IP "\fB\s-1TERMINFO\s0\fR" 4 .IX Item "TERMINFO" Wanneer omgevingsvariabele \fI\s-1TERMINFO\s0\fR ingesteld is, controleert wcd met ncurses interface of er lokale terminal definities zijn voor op de standaard plek te kijken. Dit is nuttig wanneer terminal definities niet op een standaard plaats staan. Veel gebruikte standaard plaatsen zijn \&\f(CW\*(C`/usr/lib/terminfo\*(C'\fR en \f(CW\*(C`/usr/share/terminfo\*(C'\fR. .IP "\fB\s-1PDC_RESTORE_SCREEN\s0\fR" 4 .IX Item "PDC_RESTORE_SCREEN" Wcd met PDCurses interface herkent de omgevingsvariabele \&\fI\s-1PDC_RESTORE_SCREEN\s0\fR. Wanneer deze omgevingsvariabele ingesteld is, zal PDCurses een kopie maken van de inhoud van het scherm op het moment dat wcd gestart is. Wanneer wcd afsluit zal het scherm hersteld worden. Een voorbeeld voor Windows Opdrachtprompt: .Sp .Vb 1 \& set PDC_RESTORE_SCREEN=1 .Ve .Sp Wcd laat maar een kleine buffer opslaan. Daardoor is het niet altijd mogelijk om alles te herstellen. Er kan wat rommel in de console geprint worden als wcd afsluit wanneer u een grote bufferbreedte heeft ingesteld. .IP "\fB\s-1SHELL\s0\fR" 4 .IX Item "SHELL" Het printen van \f(CW\*(C`#!$SHELL\*(C'\fR op de de eerste regel van het go-script voor \&\s-1POSIX\s0 type shell of C shell is nodig voor 8 bit tekens. Sommige shells denken anders dat het go-script een binair bestand is en willen het niet inlezen. In Cygwin Bash moet de variabele \fI\s-1SHELL\s0\fR ingesteld zijn met de \&\f(CW\*(C`export\*(C'\fR opdracht, anders kan wcd de variabele niet lezen. .IP "\fB\s-1BASH\s0\fR" 4 .IX Item "BASH" Wcd voor \s-1DOS\s0 bash gebruikt \f(CW$BASH\fR in plaats van \f(CW$SHELL\fR, omdat \f(CW$SHELL\fR verwijst naar de \s-1DOS\s0 Opdrachtprompt. Het kan nodig zijn dat men \f(CW$BASH\fR met een \f(CW\*(C`export\*(C'\fR opdracht moet definiëren, anders kan wcd de variabele niet lezen. .SH "ZIE OOK" .IX Header "ZIE OOK" \&\fIsh\fR\|(1), \fIbash\fR\|(1), \fIcsh\fR\|(1), \fIksh\fR\|(1), \fIzsh\fR\|(1), \fIlocale\fR\|(1), \fIncurses\fR\|(1), .SH "AUTEURS" .IX Header "AUTEURS" Wcd is geschreven door Erwin Waterlander .PP Project beginpagina .PP SourceForge: .PP De opmaak van de handleiding was verzorgd door Jari Aalto . .PP \&\s-1NCD\s0 was oorspronkelijk geschreven door Brad Kingsbury voor Peter Norton's \&\*(L"Norton Utilities\*(R" omstreeks 1987. Zie ook wcd-6.0.3/src/man/nl/man1/wcd.htm0000644000175500010010000016205013524756535015665 0ustar waterlanGeen wcd 6.0.3 - Wherever Change Directory

NAAM

wcd - Wherever Change Directory

chdir voor DOS en Unix

OVERZICHT

    wcd [opties] [map]

BESCHRIJVING

Overzicht

Wcd is een commandoregel programma om snel van map te veranderen. Het bespaart tijd tijdens het typen. Men hoeft alleen maar een deel van de mapnaam te typen en wcd springt er heen. Wcd heeft een snelle selectie methode wanneer er meerdere treffers zijn, en biedt de mogelijkheid om aliassen van mappen aan te maken en om mappen in de ban te doen. Wcd biedt ook een schermvullende interactieve boomweergave met snelzoek functie.

Wcd is gemodelleerd naar Norton Change Directory (NCD). NCD verscheen voor het eerst in The Norton Utilities, Release 4, for DOS in 1987, gepubliceerd door Peter Norton.

Wcd is geschikt gemaakt voor verschillende commandoregel shells: DOS command.com, Windows cmd.exe en PowerShell, OS/2 cmd.exe, en Unix shells zoals Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), en C (csh) shell en anderen draaiend op elk besturingssysteem.

Wcd ondersteunt 8 bit tekensets op alle systemen, en heeft optioneel ondersteuning voor Unicode. Zie paragraaf LOKALISTIE.

Zie paragraaf INSTALLATIE hoe wcd voor persoonlijk gebruik in te stellen.

Basisgebruik

Standaard, wanneer geen jokertekens gebruikt worden, zoekt wcd een map met een naam die begint met de naam die getypt is.

Bijvoorbeeld deze opdracht zal veranderen naar de huidige gebruikers map /home/user/Desktop:

    wcd Desk

Wanneer er meerdere treffers zijn zal wcd een lijst presenteren van alle treffers. De gebruiker kan een keuze maken met enkele toetsaanslagen (meestal een).

Jokertekens

Wcd ondersteunt de volgende jokertekens:

    *       treft een willekeurige reeks van tekens (nul of meer)
    ?       treft een willekeurig teken
    [SET]   treft willekeurige tekens in de gespecificeerde set,
    [!SET]  of [^SET] treft willekeurige tekens niet in de
            gespecificeerde set.

Een set wordt samengesteld uit tekens of reeksen; een reeks ziet er uit als teken koppelteken teken zoals in 0-9 of A-Z. [0-9a-zA-Z_] is de minimale set van tekens toegestaan in de [..] patroon samenstelling. Internationale tekens (d.w.z. 8 bit tekens) zijn toegestaan als het systeem ze ondersteunt. Om de speciale syntactische betekenis van elke van []*?!^-\binnen of buiten een [..] samenstelling te onderdrukken en exact gelijke te treffen, laat het teken vooraf gaan door een backslash (\) teken.

Het gebruik van jokertekens maakt krachtige zoekmethodes mogelijk. Bijvoorbeeld dit treft elke mapnaam die eindigt op "top".

    wcd *top

Tref mappen die ergens "top" in de naam heeft:

    wcd *top*

Tref elke map die die begint met "a", "b" or "c":

    wcd [a-c]*

Het is ook mogelijk om een deel van het pad op te geven. Hier zoekt Wcd naar een map die begint met "Desk" en wiens pad overeenkomt met *me/Desk*.

    wcd me/Desk

Het is toegestaan om elke expressie met schuine strepen en jokertekens te typen. B.v.:

    wcd src*/*1?/a*2

Overig gebruik

Wanneer geen jokertekens gebruikt zijn en wcd vindt een perfecte treffer, zullen alle niet exacte treffers genegeerd worden. Dit gedrag kan gewijzigd worden met de -w optie.

De interactieve mappen-verkenner kan met de optie -g gestart worden.

    wcd -g

Wcd genereert een boomdata-bestand waarin de map gezocht wordt. Op Unix en Windows voegt wcd ook symbolische koppelingen toe wanneer de schijf gescand wordt, maar deze worden niet gevolgd. Wanneer symbolische koppelingen gevolgd worden, zou wcd oneindige lussen kunnen scannen, of zeer grote delen van een netwerk.

Wcd kan ook veranderen naar mappen die niet in het boomdata-bestand staan. B.v.:

    wcd ..

Wanneer wcd een treffer heeft gevonden, maar niet naar de map kan veranderen, probeert hij deze te verwijderen uit het standaard boomdata-bestand. Niet uit het extra boomdata-bestand. Zie ook optie -k.

Wcd houdt een mappenstapel bij die opgeslagen wordt op schijf. De stapel heeft een standaard grootte van 10 en is cyclisch. Zie opties -z, -, + en =.

In een omgeving met meerdere gebruikers kan optie -u gebruikt worden om naar mappen van andere gebruikers te veranderen.

Op DOS en Windows systemen maakt het niet uit of een slash "/" of een backslash "\" als mappen-scheidingsteken gebruikt wordt.

Het is mogelijk op DOS en Windows systemen om tegelijk van schijf en map te veranderen door de mapnaam vooraf te laten gaan door de schijf naam.

    wcd d:games

Windows UNC paden

De Windows versies (Opdrachtprompt, PowerShell, MSYS, zsh, Cygwin) ondersteunen Windows SMB LAN UNC paden zonder schijfletter, zoals \\servername\sharename. Wcd voor de Opdrachtprompt maakt gebruik van het "pushd" commando om automatisch een UNC pad toe te wijzen aan een schijfletter. In Windows PowerShell, MSYS, zsh en Cygwin worden UNC paden volledig ondersteund. De huidige werkmap kan een UNC pad zijn.

Opdrachtpromtvenster formaat wijzigen in Windows

Wcd ondersteunt het wijzigen van het formaat van het opdrachtpromptvenster in Windows 10 en ConEmu (zie https://conemu.github.io/) sinds versie 6.0.3. Het Windows 10 opdrachtpromptvenster moet niet in verouderde console modus zitten (controleer de opdrachtpromptvenster eigenschappen). Het scherm kan mogelijk niet verversen wanneer de Indeling eigenschap "tekstterugloopuitvoer bij formaat wijzigen" uit staat. Het scherm kan handmatig ververst worden door op de F5 toets te drukken.

Interfaces

Wcd heeft drie verschillende interface om uit een lijst van treffers te kiezen. De interface kan gekozen worden bij het bouwen van Wcd.

De eerste interface gebruikt standaard in- en uitvoer. Een genummerde lijst wordt in de terminal geprint. De gebruiker kan kiezen uit de lijst door een nummber te typen gevolgd door <Enter>. Deze interface biedt geen terug-blader functionaliteit bij een lange lijst. De terug-blader functionaliteit van de terminal/console moet gebruikt worden. Deze interface is heel klein en overdraagbaar.

De tweede interface is gebouwd met de conio bibliotheek. Het biedt een ingebouwde terug-blader functie. De gebruiker wordt een lijst gepresenteerd, genummerd met letters. Het kiezen uit de lijst kan gedaan worden met een enkele toetsaanslag van een letter. Deze interface is snel, omdat het toetsaanslagen bespaart. Wanneer mogelijk wordt het scherm hersteld na afsluiten. Iemand die prefereert nummers te typen kan de -N optie gebruiken.

De derde bibliotheek is gebouwd met de curses bibliotheek. Het is gelijk aan de conio interface. De curses versie van wcd heeft een extra 'grafische' interface. Het laat de gebruiker een map kiezen via een vol-scherm interactieve mappenboom verkenner. Het heeft vim(1) gelijke navigatie en zoek methodes. Het kan geactiveerd worden met de optie -g.

Door de -o optie te gebruiken kan men altijd terugvallen op de standaard in- en uitvoer interface.

OPTIES

-a

Voeg huidig pad to aan het standaard boomdata-bestand.

Gebruik deze optie om snel het huidige pad toe te voegen aan het standaard boomdata-bestand. Het opnieuw scannen van de complete schijf kan soms lang duren.

-aa

Voeg het huidige en alle bovenliggende paden toe aan het standaard boomdata-bestand.

-A PAD

Scan mappenboom vanaf PAD en voeg toe aan het standaard boomdata-bestand. Voorbeelden:

    wcd -A .
    wcd -A /home -A /etc
    wcd -A d: -A e: -A \\server\share

Op Windows kan men alle gedeelde mappen van een Windows LAN server scannen door iets te typen als: wcd -A \\servername.

Zie ook opties -S en -s en -E.

-b

Verban het huidige pad.

Wcd plaatst het huidige pad in het ban-bestand. Dit betekent dat wcd alle treffers van deze map en zijn sub-mappen negeert.

Het ban-bestand kan gewijzigd worden met een tekstbewerker. Gebruik van jokertekens wordt ondersteund en namen worden vergeleken met het volledige pad.

Verbannen paden worden niet uitgesloten van het scannen van de schijf. Gebruik optie -xf om dat te doen.

-c, --direct-cd

Directe CD modus. Standaard werkt wcd als volgt:

    1. Probeer een treffer te vinden in een boomdata-bestand.
    2. Wanneer geen treffer, probeer het getypte pad te openen.

In directe CD modus werkt wcd in omgekeerde volgorde.

    1. Probeer het getypte pad te openen.
    2. Indien niet gelukt, probeer een treffer te vinden in een boomdata-bestand.
-d SCHIJF

Stel schijf in voor stapel- en go-script (alleen DOS).

Het stapelbestand en go-script worden standaard opgeslagen op schijf C: wanneer omgevingsvariabele HOME niet ingesteld is. Gebruik deze optie wanneer SCHIJF een alleen-lezen schijf is. Deze optie moet gebruikt worden vooraf aan stapel opties -, + en =.

-e

Voeg huidig pad toe aan het extra boomdata-bestand.

Gebruik deze optie om snel het huidige toe te voegen aan het extra boomdata-bestand.

-ee

Voeg het huidige en alle bovenliggende paden toe aan het extra boomdata-bestand.

-E PAD

Scan mappenboom vanaf PAD en voeg het toe aan het Extra boomdata-bestand.Zie ook opties -A en -S.

-f BESTAND

Lees boomdata-bestand BESTAND. Lees niet het standaard boomdata-bestand.

+f BESTAND

Lees boomdata-bestand BESTAND bovenop het standaard boomdata-bestand.

-g

Grafische interface (alleen in versie met curses interface).

Wcd start een tekstuele curses gebaseerde 'grafische' interface. De gebruiker kan een map selecteren via een vol-scherm interactieve mappenverkenner. Het heeft een vim(1) achtige navigatie en zoek methode.

Wanneer geen zoekstring gegeven is presenteert wcd de gehele boom die in het standaard en het extra boomdata-bestand staat.

Wanneer een zoekstring gegeven is wordt de trefferlijst gepresenteerd als een mappenboom

De standaard boom opmaak is gelijk aan de boomopmaak van de originele NCD op DOS. Het verschil in opmaak is dat in NCD alle mappen van dezelfde diepteniveau verticaal uitgelijnd waren over de hele boom. Dit was mogelijk in NCD, omdat de maximale breedte van een mapnaam in DOS 12 (8.3) tekens was. Op moderne besturingssystemen kunnen namen erg lang zijn. Daarom zijn mappen met dezelfde diepte in wcd niet verticaal uitgelijnd over de hele boom, maar alleen in sub-takken. Daarom is er wat zijdelingse beweging wanneer recht omhoog of omlaag bewogen wordt van de ene sub-tak naar de ander sub-tak.

Het navigatie gedrag in wcd is exact hetzelfde als in de originele NCD. Bijvoorbeeld wanneer je de Omlaag knopt drukt ga je omlaag naar de volgende map met dezelfde diepte, springend over takken. Dit maakt snelle navigatie door de boom mogelijk.

Zie opties -Ta, -TC, en -TC om het navigatiegedrag te veranderen.

-gd

Dump de boomdatabestanden als een boom naar standaard uitvoer.

-G PAD

Schrijf go-script in map PAD. Bijvoorbeeld op Unix, wcd -G PAD zal een go-script schrijven in PAD/wcd.go.

-GN, --no-go-script

Maak geen go-script aan. Deze optie kan gebruikt worden in combinatie met de optie -j wanneer men wil dat wcd geen go-script aanmaakt.

-h, --help

Toon helptext en sluit af.

-i, --ignore-case

Hoofdletterongevoelig. DOS en Windows versies van wcd zijn standaard hoofdletterongevoelig. Unix/Cygwin versies zijn standaard hoofdlettergevoelig.

+i, --no-ignore-case

Hoofdlettergevoelig. Zie ook optie -i.

-I, --ignore-diacritics

Ongevoelig voor diakritische tekens voor Latijnse geschriften. Letters met een diakritisch teken treffen hun basisletter zonder diakritisch teken. De volgende Latijnse coderingen worden ondersteund: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, en Unicode Latin-1, Latin Extended-A, en Latin Extended-B. Zie ook http://nl.wikipedia.org/wiki/Diakritisch_teken

+I, --no-ignore-diacritics

Gevoelig voor diakritische tekens (standaard). Zie ook optie -I.

-j, --just-go

Ga-nou-maar modus.

In deze modus zal wcd geen lijst tonen wanneer er meer dan een map is die treft met de ingegeven map. Wcd zal veranderen naar de eerste optie. Wanneer wcd opnieuw aangeroepen wordt met hetzelfde argument, zal wcd veranderen naar de volgende optie, en zo verder.

Wcd print de map waar naar te gaan naar standaard uitvoer. Zo kan een andere installatie methode gebruikt worden. Men zou de volgende functie kunnen maken voor een POSIX compatibele shell:

    wcd ()
    {
        cd "$($HOME/bin/wcd.exe -j $@)"
    }

Wanneer je een oude shell gebruikt die geen "$()" opdracht vervanging ondersteunt, moet je de oude stijl opdrachtvervanging gebruiken met accent graves.

    wcd ()
    {
        cd "`$HOME/bin/wcd.exe -j $@`"
    }

Op Windows systemen, wanneer men 4NT shell draait, kan men de volgende alias maken:

    alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`

Deze methode elimineert de noodzaak voor het go-script, zodat men de optie -GN in combinatie met -j kan gebruiken.

-k, --keep-paths

Bewaar paden.

Bewaar paden in boomdata-bestanden wanneer wcd er niet naar kan veranderen. Het standaard gedrag van wcd is dat het probeert de paden te verwijderen uit het boomdata-bestand wanneer wcd niet naar ze kan veranderen. Met deze optie wordt dit gedrag uitgeschakeld.

-K, --color

Gebruik kleuren in grafische modus.

-l ALIAS

Noem het huidige pad ALIAS. Wcd plaatst het huidige pad met alias ALIAS in het alias-bestand. Aliassen zijn hoofdlettergevoelig.

-ls

Show the name of the alias file, and list all the aliases.

-m MAP

Maak map en voeg toe aan boomdata-bestand.

-L, --license

Print de distributie licentie.

-M MAP

Maak map en voeg toe aan extra boomdata-bestand.

-n PAD

Lees relatief boomdata-bestand vanaf PAD.

Lees niet het standaard boomdata-bestand. Het relatieve boomdata-bestand zou al gemaakt moeten zijn met de wcd optie +S. PAD mag ook direct naar een bestand wijzen.

Een voorbeeld. Stel een ander systeem is gekoppend aan koppeling /mnt/network:

    wcd -n /mnt/network src

Wcd opent het relatieve boomdata-bestand in /mnt/network/. The bestand bevat de paden relatief vanaf dat punt.

+n PAD

Lees relatief boomdata-bestand bovenop het standaard boomdata-bestand. Zie optie -n.

-N, --numbers

Gebruik nummers in plaats van letters.

Wcd met een conio of curses gebaseerde interface (zie paragraaf Interfaces) presenteert een trefferlijst standaard genummerd met letters. Wanneer de optie -N is gebruikt wordt de trefferlijst genummerd met nummers. Onafhankelijk van de optie -N kan men een letter of een nummer typen om een selectie uit de lijst te maken.

-o

Gebruik standaard invoer/uitvoer interface.

Wanneer om een of andere reden de conio of curses interface van wcd niet werkt kan men terugvallen op de standaard invoer/uitvoer interface van wcd door het gebruik van de -o optie.

-od, --to-stdout

Dump alle treffers naar standaard uitvoer.

-q, --quiet

Stillere werking. Het printen van de uiteindelijke treffer wordt onderdrukt.

-r MAP

Verwijder map en verwijder uit boomdata-bestand.

Als de map leeg is zal wcd het verwijderen, en proberen het te verwijderen uit het boomdata-bestand.

-rmtree MAP

Recursief map verwijderen en verwijderen uit boomdata-bestand.

Wcd zal de map verwijderen en al zijn sub-mappen en bestanden, en verwijdert de mappen uit het boomdata-bestand.

-s

(her)scannen schijf vanaf $HOME map. Als HOME niet gedefinieerd is, wordt de schijf gescant vanaf hoofdmap /.

Het bestaande standaard boomdata-bestand is overschreven.

De standaard scan map kan overstemd worden met omgevingsvariabele WCDSCAN. Zie sectie OMGEVINGSVARIABELEN.

-S PAD

Scan mappenboom vanaf PAD en overschrijf het standaard boomdata-bestand. Zie ook opties -A, -s en -E. B.v. met optie -A kun je een standaard boomdata-bestand maken naar eigen smaak. Bijvoorbeeld:

Unix:

    wcd -S /
    wcd -S /home -A /etc -A /usr

DOS/Windows:

    wcd -S c:/
    wcd -S c: -A d: -A \\server\share

Met de Windows versies kan men alle gedeelde mappen scannen van een Windows LAN server door iets een typen als: wcd -S \\servernaam.

+S PAD

Scan schijf vanaf PAD en plaats relatieve paden in het relatieve boomdata-bestand. Dit bestand wordt gebruikt door de -n en +n opties van wcd. B.v. wcd -n PAD src.

-t

Verwijder niet tmp koppelmap /tmp_mnt (alleen Unix)

Wcd verwijderd standaard /tmp_mnt/ van de treffer. Map /tmp_mnt wordt gebruikt door de 'auto-mounter'. Dit gedrag kan uitgeschakeld worden met de -t optie.

-T, --ascii-tree

Teken boom met ASCII tekens. Gebruik deze opties als lijntekens niet goed getoond worden in de terminal.

-Ta, --alt-tree-nav

Alternatieve manier van navigeren in de grafische boom.

In de standaard NCD stijl opmaak zet de -Ta optie het springen naar ongerelateerde mappen uit.

In compacte-boom-modus maakt de alternatieve mode de navigatie gelijk aan de navigatie in GUI bestandsverkenners zoals de Windows Verkenner of Linux KDE Konqueror. Omhoog en Omlaag drukken beweegt de geselecteerde map één regel op en neer. Links drukken vouwt eerst de sub-mappen in en de volgende beweging naar links gaat echt naar links.

U kunt onmiddellijk tussen standaard en alternatief navigeren schakelen door <Shift-A> te drukken.

Wanneer alternatieve navigatie aan staat, ziet u een "A" in de rechter onderhoek.

-TC, --center-tree

Gecentreerde weergave in de grafische boom. De geselecteerde map blijft in het midden van het scherm. De gecentreerde modus kan ook aan- en uitgeschakeld worden met de <t> toets in de grafische boom.

De standaard niet-gecentreerde weergave, die boombeweging minimaliseert, is gelijk aan hoe het in de originele NCD was.

-Tc, --compact-tree

Standaard wordt de 'grafische' boom getekend op dezelfde manier zoals de originele NCD op DOS het deed. In DOS kon een pad in totaal slechts 66 tekens bevatten. Met de diepe mappenstructuur van vandaag kan de boom erg breed worden. Om dit te beheersen kan wcd de boom op een compacte manier tekenen, gelijk aan de meeste GUI mappenverkenners, met één map per regel. Gebruik optie -Tc of schakel onmiddellijk met de <m> toets.

-Td, --cjk-width

Oude Oost-Aziatische CJK (Chinees, Japans, en Koreaans) fonts hebben bepaalde letters en lijnsymbolen met een kolombreedte van 2, terwijl de normale Unicode breedte voor deze tekens 1 kolom is. Bijvoorbeeld het Chinese CP936 raster font op Windows en het Simsun font. Gebruik deze optie voor een juiste uitlijning van de grafische boom wanneer een oud CJK font gebruikt wordt.

Wanneer CJK modus actief is, ziet u een "C" in de rechter onderhoek.

-u GEBRUIKER

Scan boomdata-bestand van een andere gebruiker gebaseerd op GEBRUIKER, scan niet het eigen boomdata-bestand. Zie ook paragraaf OMGEVINGSVARIABELEN voor WCDUSERSHOME.

Op Unix/Cygwin wordt aangenomen dat de basismap voor de thuismap voor gebruikers /home is. Wcd zal zoeken naar /home/GEBRUIKER/.treedata.wcd en /home/GEBRUIKER/.wcd/.treedata.wcd, in deze volgorde, en de eerste lezen die bestaat en leesbaar is. Op DOS/Windows wordt aangenomen dat de basismap voor de thuismap van gebruikers \\users is, dus wcd probeert te lezen \\users\GEBRUIKER\treedata.wcd en \\users\GEBRUIKER\.wcd\treedata.wcd.

+u GEBRUIKER

Lees het standaard boomdata-bestand van GEBRUIKER bovenop uw eigen boomdata-bestand.

-v, --verbose

Toon gedetailleerde berichten. Met deze optie toont wcd alle filters, verbannen mappen en uitsluitingen.

-V, --version

Programmaversie tonen en afsluiten.

-w, --wild-match-only

Alleen jokervergelijkingen. Behandel alle treffers als jokertreffers.

-x PAD

PAD uitsluiten van scannen.

Wanneer deze optie gebruikt is zal wcd PAD uitsluiten en al zijn sub-mappen wanneer wcd een schijf scant. Jokertekens worden ondersteund en vergeleken met absolute paden. Optie -x kan meerder keren gebruikt worden.

    wcd -x <path1> -x <path2> -s

Optie -x moet vooraf gaan aan elke scan optie (-s, -S, +S, -A, -E).

Op DOS/Windows systemen moet men de schijfletter specificeren afhankelijk van of omgevingsvariabele HOME or WCDHOME gedefinieerd is. Wanneer HOME of WCDHOME gedefinieerd is moet men de schijfletter specificeren. Een voorbeeld:

    wcd -x c:/temp -S c:

Specificeer anders geen schijfletter.

    wcd -x /temp -s
-xf BESTAND

Alle paden uit bestand BESTAND uitsluiten van scannen.

Wanneer deze optie gebruikt is zal wcd alle paden genoemd in BESTAND uitsluiten en al hun sub-mappen wanneer wcd een schijf scant. Jokertekens worden ondersteund en vergeleken met absolute paden, een pad per regel. Wees bewust dat wcd spaties aan het begin of einde op een regel niet zal negeren, omdat het geldige tekens zijn in een mapnaam. Optie -xf can meerdere keren gebruikt worden. Wanneer men alle verbannen paden wil uitsluiten van scannen zou het volgende gedaan kunnen worden (voorbeeld voor wcd op Unix):

    wcd -xf ~/.ban.wcd -s

Jokertekens worden ondersteund. Om bijvoorbeeld al uw Subversion mappen met administratieve bestanden uit te sluiten, voeg een regel toe met */.svn.

Optie -xf moet vooraf gaan aan elke scan optie (-s, -S, +S, -A, -E).

-y, --assume-yes

Op alle vragen Ja als antwoord aannemen.

Wcd zal de gebruiker geen ja/nee vraag stellen, maar neemt aan dat de gebruiker ja antwoordt op alle vragen. Dit kan gebruikt worden in combinatie met optie -rmtree. Deze optie moet voorafgaand gebruikt worden aan opties die tot ja/nee vragen kunnen leiden.

-z GETAL

Stel maximum stapelgrootte in op GETAL.

De standaard grootte van de stapel is 10. Stapelwerking kan uitgezet worden door de grootte op 0 in te stellen. Deze optie moet voorafgaand aan elke stapel optie (-, +, =) gebruikt worden. Anders wordt de stapelgrootte teruggezet naar de standaard 10.

Een correcte opdracht is:

    wcd -z 50 -

De nieuwe stapelgrootte zal 50 zijn, wcd gaat een map terug. Een foute opdracht is:

    wcd - -z 50

Wcd gaat een map terug, de stapel krijgt de standaard grootte 10. -z 50 wordt genegeerd.

Voeg deze optie als eerste toe aan uw wcd alias of functie. B.v. voor een POSIX compatibele shell zou dit zijn:

    wcd ()
    {
        wcd.exe -z 50 "$@"
        . ${WCDHOME:-${HOME}}/bin/wcd.go
    }
-[GETAL]

Map GETAL keer op stapel zetten. Standaard is een.

Ga een map terug. Opdracht wcd - gaat een map terug. Voeg een nummer toe om meer mappen terug te gaan. B.v. opdracht wcd -3. De stapel is cyclisch.

+[GETAL]

Map GETAL keer van stapel halen. Standaard is een.

Ga een map vooruit. Opdracht wcd + gaat een map vooruit. Voeg een nummer toe om meerdere mappen vooruit te gaan. B.v. opdracht wcd +2. De stapel is cyclisch.

=

Stapel tonen.

Gebruik deze optie als u niet meer weet waar u in de stapel zit. De stapel wordt getoond en u kan een nummer kiezen. De huidige plaats in de stapel is gemarkeerd met een sterretje *.

INSTALLATIE

De huidige werkmap in een Unix shell kan alleen veranderd worden door de ingebouwde cd(1) opdracht. Daarom wordt het programma altijd aangeroepen door een functie of alias. De functie of alias leest een script (go-script) in dat gegenereerd is door het wcd programma. Wcd kan alleen werken nadat de functie of alias gedefinieerd is.

Een andere belangrijke invloed op uw installatie is de definitie van de omgevingsvariabelen HOME en WCDHOME. Zie paragraaf OMGEVINGSVARIABELEN.

Installatie voor POSIX type shells

Voor een POSIX shell (ksh, bash, zsh, etc) op Unix, Linux, Cygwin, of MSYS, voeg de volgende functie toe aan het shell opstartbestand (b.v. Bash gebruikt $HOME/.bashrc):

    wcd ()
    {
        PAD/wcd.exe "$@"
        . ${WCDHOME:-${HOME}}/bin/wcd.go
    }

Vervang PAD door de locatie waar het uitvoerbare wcd bestand geïnstalleerd is. Laad de shell initialisatiebestanden opnieuw of start een nieuwe shell.

De locatie van het go-script wcd.go is anders per shell.

Wcd voor DJGPP DOS bash heeft een andere functie nodig. Het go-script wordt niet in map bin geschreven, en wanneer WCDHOME en HOME beide niet gedefinieerd zijn wordt het go-script geschreven in c:/.

DOS bash:

    wcd ()
    {
        PAD/wcdbash.exe "$@"
        . ${WCDHOME:-${HOME:-"c:"}}/wcd.go
    }

OS/2 bash:

    wcd ()
    {
        PAD/wcdos2bash.exe "$@"
        . ${WCDHOME:-${HOME:-"c:"}}/wcd.go
    }

De WinZsh versie van wcd is ook een beetje anders. Het go-script wordt nooit in c:/ geschreven.

    wcd ()
    {
        PAD/wcdwin32zsh.exe "$@"
        . ${WCDHOME:-${HOME}}/wcd.go
    }

Zie paragraaf BESTANDEN voor meer informatie.

Installatie voor C-achtige shells (csh, tcsh)

Voeg de volgende alias toe aan het shell opstartbestand $HOME/.cshrc of $HOME/.tcshrc:

    if ( ${?WCDHOME} ) then
        alias wcd "PAD/wcd.exe \!* ; source $WCDHOME/bin/wcd.go"
    else
        alias wcd "PAD/wcd.exe \!* ; source $HOME/bin/wcd.go"
    endif

Vervang PAD door de locatie waar het uitvoerbare wcd bestand geïnstalleerd is. Laad de shell initialisatiebestanden opnieuw of start een nieuwe shell.

Windows Opdrachtprompt versie

Pak het zip-bestand uit en voeg map bin toe aan omgevingsvariabele PATH.

In Windows Opdrachtprompt kan een Windows programma niet de huidige werkmap veranderen, maar een .bat bestand kan dat wel. Het batch script wcd.bat draait het wcd programma dat een nieuw batch script wcdgo.bat genereert. Daarna start wcd.bat wcdgo.bat die feitelijk de map verandert.

Windows VISTA en hoger

In een Windows VISTA en hoger Opdrachtprompt kan men beperkte toegang hebben tot mappen. Om toegang tot meer mappen te verkrijgen heeft men beheerdersrechten nodig. U kunt een Opdrachtprompt met beheerdersrechten verkrijgen door rechts te klikken op het Opdrachtprompt icoon en dan te selecteren Als Administrator uitvoeren.

Windows PowerShell versie

Voeg de volgende functie toe aan uw PowerShell gebruikersprofiel. De locatie van dit profiel is opgeslagen in de $profile variabele. Het is vereist dat omgevingsvariabele HOME of WCDHOME gedefinieerd is.

    function wcd
    {
        PAD\wcdwin32psh.exe $args
        & $env:HOME\wcdgo.ps1
    }

Vervang PAD met de locatie waar het uitvoerbare wcd bestand geïnstalleerd is. Start een nieuwe PowerShell. Wcd voor PowerShell ondersteund alleen de bestandssysteem 'provider'. Geen andere 'providers'.

OS/2 Opdrachtprompt versie

In een OS/2 Opdrachtprompt (cmd.exe) kan een OS/2 programma niet de huidige werkmap veranderen. Dat is waarom wcd een opdracht-script genereert wcdgo.cmd welke uitgevoerd moet worden in de huidige shell. Het script wcd.cmd voert eerst wcdos2.exe uit, die vervolgens het wcdgo.cmd script creëert. Daarna voert wcd.cmd het wcdgo.cmd script uit.

LOKALISATIE

LANG

The primaire taal wordt geselecteerd via de omgevingsvariabele LANG. De variabele LANG bestaat uit verschillende onderdelen. Het eerste deel is in kleine letters de taalcode. Het tweede deel is optioneel en is de landcode in hoofdletters, voorafgegaan door een liggend streepje. Er is ook een optioneel derde deel: de tekencodering, voorafgegaan door een punt. Enkele voorbeelden voor een POSIX-shell:

    export LANG=nl               Nederlands
    export LANG=nl_NL            Nederlands, Nederland
    export LANG=nl_BE            Nederlands, België
    export LANG=es_ES            Spaans, Spanje
    export LANG=es_MX            Spaans, Mexico
    export LANG=en_US.iso88591   Engels, VS, Latin-1 codering

 Voor een complete lijst van taal- en landcodes zie de gettext(1)
handleiding:
L<http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes> Op
Unix-systemen kunt u de opdracht locale(1) gebruiken om specifieke
taalregio-informatie te verkrijgen.
LANGUAGE

Met de omgevingsvariabele LANGUAGE kunt u een prioriteitenlijst specificeren van talen, gescheiden door dubbele punten. Dos2unix geeft voorrang aan LANGUAGE boven LANG. Bijvoorbeeld, eerst Nederlands en dan Duits: LANGUAGE=nl:de. U moet eerst lokalisatie in werking stellen, door het instellen van LANG of LC_ALL op een waarde ongelijk aan C, voordat u een talen-prioriteitenlijst kunt gebruiken via de variabele LANGUAGE. Zie ook de gettext(1) handleiding: http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable

Als u een taal kiest die niet beschikbaar is, worden de standaard Engelse berichten gebruikt.

WCDLOCALEDIR

Met de omgevingsvariabele WCDLOCALEDIR kan de LOCALEDIR die ingesteld werd tijdens compilatie worden overstemd. LOCALEDIR wordt gebruikt om de taalbestanden te vinden. De GNU standaardwaarde is /usr/local/share/locale. Door wcd -V te typen zal wcd de gebruikte LOCALEDIR laten zien.

Als u wcd geïnstalleerd heeft in een andere map dan de standaard map kan het nodig zijn om omgevingsvariabele WCDLOCALEDIR te definiëren om te wijzen naar de locale map.

Een voorbeeld voor Windows cmd:

    set WCDLOCALEDIR=c:/my_prefix/share/locale

Een voorbeeld voor een POSIX shell:

    export WCDLOCALEDIR=$HOME/share/locale
LC_COLLATE

Wanneer er meerdere maptreffers zijn presenteert wcd een gesorteerde lijst. Het sorteren hangt af van de lokalisatie instellingen. Wanneer de omgevingsvariabele LANG ingesteld is worden de treffers gesorteerd als in een woordenboek of telefoonboek in die taal. Bijvoorbeeld punten en streepjes worden genegeerd, of letters e met en zonder accent zijn gelijk, of sortering is ongevoelig voor hoofd en kleine letters.

De sortering geeft prioriteit aan omgevingsvariabele LC_COLLATE boven LANG. Wanneer u LC_COLLATE gelijk maakt aan C of POSIX, wordt sortering met lokalisatie uitgeschakeld. Bijvoorbeeld als u Nederlandse taal wilt, maar geen Nederlandse sortering, dan kunt u iets doen als:

    export LANG=nl_NL
    export LC_COLLATE=C
LC_CTYPE

Met betrekking to tekencodering geeft Wcd prioriteit aan variabele LC_CTYPE boven LANG. Bijvoorbeeld om de tekencodering op UTF-8 te zetten kan de volgende omgevings-instelling gemaakt worden.

    export LC_CTYPE=en_US.UTF-8
LC_ALL

Alle lokalisatie omgevingsvariabelen die beginnen met LC worden overstemd de omgevingsvariabele LC_ALL wanneer die ingesteld is. Wcd geeft prioriteit aan LC_ALL boven LC_COLLATE en LC_CTYPE.

WINDOWS CODETABELLEN

Er zijn twee groepen van codetabellen, DOS codetabellen (OEM) en Windows codetabellen (ANSI). De standaard codering voor Windows, wanneer geconfigureerd met westerse regionale instellingen, is ANSI CP1252. Windows programma's, bijvoorbeeld kladblok, gebruiken deze standaard systeem ANSI codetabel. De Windows Opdrachtprompt gebruikt standaard een OEM codetabel (CP437 of CP850) voor compatibeliteit met DOS programma's. Als u een DOS versie van Wcd in een Windows Opdrachtprompt gebruikt zal het werken, vanwege de DOS codetabel. Maar de DOS versie van wcd ontbeert ondersteuning voor lange mapnamen en netwerkschijven op Windows.

De Windows versie van wcd is een echt Windows programma en zal de Windows systeem ANSI codetabel gebruiken. Dus op een Westers regionale Windows zal het de codetabel CP1252 gebruiken voor directory namen en berichten. Om een consistente uitvoer te verkrijgen, onafhankelijk van de ingestelde codetabel, vertalen alle Windows versies van wcd ANSI uitvoer naar Unicode uitvoer in de Opdrachtprompt en PowerShell.

Het Opdrachtprompt rastertypefont ondersteunt alleen de originele OEM codetabel van Windows, dus u moet het Opdrachtprompt font veranderen naar Lucida Console om Unicode (en ANSI) tekens correct te laten verschijnen.

Niet-Unicode versies van Wcd voorafgaande aan versie 5.2.0 gebruiken gewone ANSI uitvoer. Voor deze oude versie moet de codetabel van de Opdrachtprompt gelijk gemaakt worden aan de systeem codetabel (naar 1252) om wcd voor Windows goed te laten werken met speciale tekens zoals geaccentueerde tekens of een euroteken.

De Windows systeem codetabel kan veranderd worden via het Configuratiescherm Klok, taal en land/regio opties. De Windows Opdrachtprompt codetabel wordt veranderd met de chcp opdracht.

Wanneer u wcd -V typet, wordt de actuele tekencodering getoond die door wcd gebruikt wordt. Type opdracht chcp op de actieve codetabel van de Opdrachtprompt te tonen.

UNICODE

Wcd heeft optioneel ondersteuning voor Unicode. Om te zien of wcd gebouwd is met Unicode ondersteuning type wcd -V. Als uw terminal en font het ondersteunen, zou u een euroteken en Chinese tekens (betekenis: "Chinees") moeten zien.

Wcd is zacht omgezet naar Unicode. In de kern behandelt wcd alle data als een stroom van bytes. Alleen de regels die op het scherm geprint worden, worden terstond omgezet naar Unicode brede tekens. Wcd hangt volledig af van libc functies en heeft geen UTF-8 specifieke broncode. Zie ook http://www.cl.cam.ac.uk/~mgk25/unicode.html

Wcd heeft optioneel ondersteuning voor Unicode vergelijkingen met normalisatie. Om er achter te komen of Wcd normalisatie ondersteunt type wcd -V. Wcd met Unicode normalisatie ondersteuning vergelijkt Unicode namen gebaseerd op compatibele gelijkwaardigheid. Zonder Unicode normalisatie worden treffen namen een gelijke wanneer ze binair gelijk zijn. Zie ook http://en.wikipedia.org/wiki/Unicode_normalization

UTF-8 op Unix/Linux

Om UTF-8 tekens te zien moet uw terminal ook UTF-8 ondersteunen. De xterm versie die meekomt met XFree86 4.0 of hoger bevat UTF-8 ondersteuning. Om het te activeren, start xterm(1) in een UTF-8 taalregio en gebruik een font met iso10646-1 codering, bijvoorbeeld met

    LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'

Moderne uitgaves van GNU/Linux ondersteunen standaard UTF-8. Andere multi-byte tekencoderingen zouden ook moeten werken, maar dat is niet getest.

Wcd veronderstelt dat de boomdata-bestanden gecodeerd zijn in de lokale tekencodering. Er worden geen Byte Order Marks geschreven in de boomdata-bestanden.

UTF-16 op Windows

Op Windows wordt Unicode in alle versies van PowerShell ondersteund, en in Windows Opdrachtprompt op Windows 7 (of hoger). Unicode werkt ook in Take Command of TCC/LE gemaakt door JP Software, dat gebruikt kan worden op oudere Windows versies (XP/Vista).

In Windows zijn alle mapnamen op schijf gecodeerd in UTF-16 Unicode. Voor niet-Unicode Windows programma's worden de tekens vertaald naar de standaard ANSI codetabel. Voor tekens die geen onderdeel zijn van de regionale instelling is de vertaling niet mogelijk en niet-Unicode programma's printen in plaats daarvan een vraagteken of een verkeerd teken.

Wcd met Unicode ondersteuning leest de UTF-16 gecodeerde mappennamen en zet ze intern om naar UTF-8. Alle boomdata-bestanden zijn gecodeerd in UTF-8 en niet compatibel met de niet-Unicode versie van Wcd. Wcd zal een go-script aanmaken gecodeerd in UTF-8.

Alle versies van Windows PowerShell zijn in staat om in UTF-8 gecodeerde scripts te draaien, indien het script is voorzien van een UTF-8 BOM.

Sinds Windows 7 is het mogelijk om in Windows Opdrachtprompt van map te veranderen met een batch script naar een map met Unicode tekens in de naam. De mapnaam moet gecodeerd zijn in UTF-8, en het batch script moet geen BOM bevatten. De actieve codetabel van de Opdrachtprompt moet gezet zijn op 65001 (UTF-8) vooraf aan de cd opdracht. Wcd voor Opdrachtprompt creëert zo'n go-script wcdgo.bat. Eerst verandert het de codetabel naar 65001, verandert dan de map, en tenslotte wordt de codetabel terug gezet naar de originele waarde.

U moet het font instellen op True Type Lucida Console (niet raster type font) wanneer de letters niet correct verschijnen.

De niet-Unicode Windows versie van Wcd kan Unicode boomdata-bestanden lezen sinds versie 5.2.0, indien er een Byte Order Mark (BOM) in het bestand zit (zie http://en.wikipedia.org/wiki/Byte_order_mark), maar kan niet veranderen naar mappen met Unicode tekens in de naam die geen onderdeel zijn van de standaard systeem ANSI codetabel. De Unicode Windows versie van wcd schrijft een BOM in het UTF-8 gecodeerde boomdata-bestand sinds versie 5.2.0, wat ze ook leesbaar maakt voor kladblok.

UTF-8 in Cygwin

Cygwin ondersteunt Unicode sinds versie 1.7. De Cygwin laag zorgt er voor dat de Windows UTF-16 Unicode namen vertaald worden naar UTF-8. Dus programma's, zoals wcd, hoeven hier niet bewust van te zijn en kunnen werken gebruikmakend van UTF-8 codering als op Unix/Linux. Stel de tekencodering in op UTF-8 met de LANG of LC_CTYPE omgevingsvariabele. Het kan nodig zijn dat u de schijven opnieuw moet scannen. U dient het font in te stellen op True Type Lucida Console (niet raster type font) wanneer u de standaard Cygwin console gebruikt.

De Cygwin versie gedraagt zich exact gelijk aan de Unix versie van wcd. Er wordt geen BOM geschreven in de boomdata-bestanden, en er wordt aangenomen dat ze gecodeerd zijn in de Cygwin lokalisatie tekencodering.

BESTANDEN

Wanneer omgevingsvariabele WCDHOME ingesteld is zal wcd WCDHOME gebruiken in plaats van HOME. Alle *.wcd bestanden zijn tekstbestanden. Ze kunnen bewerkt worden met een tekstbewerker. De Windows Opdrachtprompt versie gedraagt zich als de DOS versie. De Cygwin versie van wcd gedraagt zich als de Unix versie.

wcd.exe

Het programma. In Unix shells wordt het programma altijd aangeroepen door een functie of alias, omdat de huidige werkmap alleen veranderd kan worden door de ingebouwde cd opdracht. Zie ook paragraaf INSTALLATIE.

standaard boomdata-bestand

Dit is het standaard boomdata-bestand waarin wcd zoekt naar treffers. Wanneer het niet leesbaar is zal wcd een nieuwe aanmaken.

    DOS: \treedata.wcd of %HOME%\treedata.wcd
    Unix: $HOME/.treedata.wcd
extra boomdata-bestand

Een optioneel extra boomdata-bestand. Wanneer het bestaat en leesbaar is zal wcd ook in dit bestand proberen treffers te vinden.

    DOS: \extra.wcd of HOME%\extra.wcd
    Unix: $HOME/.extra.wcd
ban-bestand

In dit optionele bestand plaatst wcd de verbannen paden. Zie optie -b. Jokertekens worden ondersteund.

    DOS: \ban.wcd of %HOME%\ban.wcd
    Unix: $HOME/.ban.wcd
alias-bestand

Optioneel bestand met wcd aliassen. Zie optie -I.

    DOS: \alias.wcd of %HOME%\alias.wcd
    Unix: $HOME/.alias.wcd
stapel-bestand

In dit bestand slaat wcd zijn stapel op. De schijfletter kan veranderd worden met de -d optie.

    DOS: c:\stack.wcd of %HOME%\stack.wcd
    Unix: $HOME/.stack.wcd

De naam van het stapelbestand kan veranderd worden met omgevingsvariabele WCDSTACKFILE. Zie paragraaf OMGEVINGSVARIABELEN.

go-script

Dit is het shell-script dat wcd elke keer creëert. Het wordt ingelezen via een functie of een alias. De schijfletter kan gewijzigd worden met de -d optie. Wegens voorgeschiedenis redenen wordt het standaard geplaatst in $HOME/bin op Unix systemen. De map van dit bestand kan gewijzigd worden met de optie -G.

    DOS bash: c:/wcd.go of $HOME/wcd.go
    Windows Command Prompt: c:\wcdgo.bat of %HOME%\wcdgo.bat
    Windows PowerShell: $env:HOME\wcdgo.ps1
    WinZsh: $HOME/wcd.go
    Cygwin/MSYS: $HOME/bin/wcd.go
    OS/2 Opdrachtprompt: c:\wcdgo.cmd of %HOME%\wcdgo.cmd
    OS/2 bash: c:/wcd.go or $HOME/wcd.go
    Unix: $HOME/bin/wcd.go
relatieve boomdata-bestand

Tekstbestand met relatieve paden vanaf MAP. Zie opties +S, -n en +n.

    DOS: PAD\rtdata.wcd
    Unix: PAD/.rtdata.wcd

OMGEVINGSVARIABELEN

HOME

Wcd gebruikt standaard omgevingsvariabele HOME om te bepalen waar z'n bestanden op te slaan. Zie ook paragraaf BESTANDEN. Dit kan overstemd worden met omgevingsvariabele WCDHOME.

HOME bepaalt ook waar te beginnen met het scannen van de schijf wanneer optie -s gebruikt wordt. Dit kan overstemd worden met omgevingsvariabele WCDSCAN.

Voor de Unix, Cygwin, Windows PowerShell, WinZsh en MSYS versie is het vereist dat HOME of WCDHOME ingesteld is. Voor de andere versies van wcd is het gebruik van deze variabelen optioneel.

Wanneer HOME ingesteld is op DOS/Windows, zal wcd al zijn bestanden (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) in map HOME plaatsen. Het gedrag van wcd is dan gelijk aan de Unix versie van wcd. Wcd zal de schijf standaard scannen vanaf HOME. Schijven worden niet automatisch gescant door er naar te veranderen. Dat moet wcd expliciet opgedragen worden. B.v.:

    wcd -S c: -A d: -A e:

Vergelijken van mappen is nu globaal over alle gescande schijven.

WCDHOME

Omgevingsvariabele WCDHOME kan gebruikt worden om de locatie van wcds bestanden te wijzigen. Wanneer zowel HOME als WCDHOME ingesteld zijn, zal WCDHOME gebruikt worden in plaats van HOME.

In wcd versies voorafgaand aan 5.1.5 veranderde WCDHOME ook de standaard scan-map. Dit is veranderd. Sinds versie 5.1.5 verandert WCDHOME niet de standaard scan-map. Zie optie -s. Gebruik vanaf versie 5.1.5 omgevingsvariabele WCDSCAN om de standaard scan-map te overstemmen.

Voorbeeld voor DOS, Windows, OS/2 Opdrachtprompt:

    set WCDHOME=C:\Users\erwin\wcd

Een voorbeeld voor POSIX type shells:

    export WCDHOME="$HOME/.wcd"

Een voorbeeld voor Csh type shells:

    setenv WCDHOME "$HOME/.wcd"
WCDSCAN

Gebruik omgevingsvariabele WCDSCAN om de standaard scan-map HOME te overstemmen. Gebruik een door dubbele punten gescheiden lijst (Unix) om meer dan een map te definiëren. Gebruik op DOS/Windows een lijst gescheiden door puntkomma's.

Voorbeelden voor DOS, Windows, OS/2 Opdrachtprompt:

    set WCDSCAN=C:\Users\erwin;D:\data

    set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\projectdrive\projectX

Een voorbeeld voor POSIX type shells:

    export WCDSCAN="$HOME:/projectdisk/projectX"

Een voorbeeld voor Csh type shells:

    setenv WCDSCAN "$HOME:/projectdisk/projectX"
WCDFILTER

Specificeer filters met omgevingsvariabele WCDFILTER. Alle mappen die niet treffen met het filter worden genegeerd. Een lijst kan gespecificeerd worden met het shell pad scheidingsteken. Gelijk aan het specificeren van de PATH variabele. Hoofdlettergevoeligheid wordt bepaald door het besturingssysteem.

Een voorbeeld voor DOS, Windows, OS/2 Opdrachtprompt:

    set WCDFILTER=projects;doc

Een voorbeeld voor POSIX type shells:

    export WCDFILTER="projects:doc"

Een voorbeeld voor Csh type shells:

    setenv WCDFILTER "projects:doc"
WCDBAN

De paden gespecificeerd met omgevingsvariabele WCDBAN worden verbannen door wcd. Zie ook optie -b. Specificeer een lijst van paden met het shell PATH scheidingsteken.

WCDEXCLUDE

De paden gespecificeerd met omgevingsvariabele WCDEXCLUDE worden uitgesloten door wcd. Zie ook opties -x en -xf. Specificeer een lijst van paden met het shell PATH scheidingsteken.

Een voorbeeld voor DOS, Windows, OS/2 Opdrachtprompt:

    set WCDEXCLUDE=*/windows;*/temp;*CVS

Een voorbeeld voor POSIX type shells:

    export WCDEXCLUDE="/dev:/tmp:*CVS"

Een voorbeeld voor Csh type shells:

    setenv WCDEXCLUDE "/dev:/tmp:*CVS"
WCDUSERSHOME

Stel de basis in de de thuismappen van de gebruikers. Op DOS/Windows is de standaard waarde \\users. Op Unix/Cygwin is de standaard waarde /home. Deze variabele wordt gebruikt om boomdata-bestanden van andere gebruikers te scannen. Zie ook opties -u en +u. In gedetailleerde uitvoer-modus zal wcd alle filters, verbanningen en uitsluitingen tonen. Zie ook optie -v.

WCDSTACKFILE

Wcd geeft prioriteit aan WCDSTACKFILE boven de standaard stapelbestandsnaam (zie paragraaf BESTANDEN). Met deze variabele kan elke shell (of terminal) zijn eigen privé stapel voor mappen hebben.

Om een uniek tijdgebaseerde YYYYMMDD-HHMMSS bestand voor elke geopende interactieve shell te gebruiken.

    export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)

Voor een stapel per xterm(1), gebruik de xterm omgevingsvariabele WINDOWID:

    export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID

Voor GNU screen(1), gebruik een stapel per scherm:

    export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW
TERMINFO

Wanneer omgevingsvariabele TERMINFO ingesteld is, controleert wcd met ncurses interface of er lokale terminal definities zijn voor op de standaard plek te kijken. Dit is nuttig wanneer terminal definities niet op een standaard plaats staan. Veel gebruikte standaard plaatsen zijn /usr/lib/terminfo en /usr/share/terminfo.

PDC_RESTORE_SCREEN

Wcd met PDCurses interface herkent de omgevingsvariabele PDC_RESTORE_SCREEN. Wanneer deze omgevingsvariabele ingesteld is, zal PDCurses een kopie maken van de inhoud van het scherm op het moment dat wcd gestart is. Wanneer wcd afsluit zal het scherm hersteld worden. Een voorbeeld voor Windows Opdrachtprompt:

    set PDC_RESTORE_SCREEN=1

Wcd laat maar een kleine buffer opslaan. Daardoor is het niet altijd mogelijk om alles te herstellen. Er kan wat rommel in de console geprint worden als wcd afsluit wanneer u een grote bufferbreedte heeft ingesteld.

SHELL

Het printen van #!$SHELL op de de eerste regel van het go-script voor POSIX type shell of C shell is nodig voor 8 bit tekens. Sommige shells denken anders dat het go-script een binair bestand is en willen het niet inlezen. In Cygwin Bash moet de variabele SHELL ingesteld zijn met de export opdracht, anders kan wcd de variabele niet lezen.

BASH

Wcd voor DOS bash gebruikt $BASH in plaats van $SHELL, omdat $SHELL verwijst naar de DOS Opdrachtprompt. Het kan nodig zijn dat men $BASH met een export opdracht moet definiëren, anders kan wcd de variabele niet lezen.

ZIE OOK

sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1),

AUTEURS

Wcd is geschreven door Erwin Waterlander <waterlan@xs4all.nl>

Project beginpagina http://waterlan.home.xs4all.nl/

SourceForge: http://sourceforge.net/projects/wcd/

De opmaak van de handleiding was verzorgd door Jari Aalto <jari.aalto@cante.net>.

NCD was oorspronkelijk geschreven door Brad Kingsbury voor Peter Norton's "Norton Utilities" omstreeks 1987. Zie ook http://www.softpanorama.org/OFM/norton_change_directory_clones.shtml

wcd-6.0.3/src/man/nl/man1/wcd.txt0000644000175500010010000014332013524756533015711 0ustar waterlanGeenNAAM wcd - Wherever Change Directory chdir voor DOS en Unix OVERZICHT wcd [opties] [map] BESCHRIJVING Overzicht Wcd is een commandoregel programma om snel van map te veranderen. Het bespaart tijd tijdens het typen. Men hoeft alleen maar een deel van de mapnaam te typen en wcd springt er heen. Wcd heeft een snelle selectie methode wanneer er meerdere treffers zijn, en biedt de mogelijkheid om aliassen van mappen aan te maken en om mappen in de ban te doen. Wcd biedt ook een schermvullende interactieve boomweergave met snelzoek functie. Wcd is gemodelleerd naar Norton Change Directory (NCD). NCD verscheen voor het eerst in *The Norton Utilities, Release 4*, for DOS in 1987, gepubliceerd door Peter Norton. Wcd is geschikt gemaakt voor verschillende commandoregel shells: DOS command.com, Windows cmd.exe en PowerShell, OS/2 cmd.exe, en Unix shells zoals Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), en C (csh) shell en anderen draaiend op elk besturingssysteem. Wcd ondersteunt 8 bit tekensets op alle systemen, en heeft optioneel ondersteuning voor Unicode. Zie paragraaf LOKALISTIE. Zie paragraaf INSTALLATIE hoe wcd voor persoonlijk gebruik in te stellen. Basisgebruik Standaard, wanneer geen jokertekens gebruikt worden, zoekt wcd een map met een naam die begint met de naam die getypt is. Bijvoorbeeld deze opdracht zal veranderen naar de huidige gebruikers map "/home/user/Desktop": wcd Desk Wanneer er meerdere treffers zijn zal wcd een lijst presenteren van alle treffers. De gebruiker kan een keuze maken met enkele toetsaanslagen (meestal een). Jokertekens Wcd ondersteunt de volgende jokertekens: * treft een willekeurige reeks van tekens (nul of meer) ? treft een willekeurig teken [SET] treft willekeurige tekens in de gespecificeerde set, [!SET] of [^SET] treft willekeurige tekens niet in de gespecificeerde set. Een set wordt samengesteld uit tekens of reeksen; een reeks ziet er uit als *teken koppelteken teken* zoals in "0-9" of "A-Z". "[0-9a-zA-Z_]" is de minimale set van tekens toegestaan in de "[..]" patroon samenstelling. Internationale tekens (d.w.z. 8 bit tekens) zijn toegestaan als het systeem ze ondersteunt. Om de speciale syntactische betekenis van elke van "[]*?!^-\"binnen of buiten een "[..]" samenstelling te onderdrukken en exact gelijke te treffen, laat het teken vooraf gaan door een backslash ("\") teken. Het gebruik van jokertekens maakt krachtige zoekmethodes mogelijk. Bijvoorbeeld dit treft elke mapnaam die eindigt op "top". wcd *top Tref mappen die ergens "top" in de naam heeft: wcd *top* Tref elke map die die begint met "a", "b" or "c": wcd [a-c]* Het is ook mogelijk om een deel van het pad op te geven. Hier zoekt Wcd naar een map die begint met "Desk" en wiens pad overeenkomt met **me/Desk**. wcd me/Desk Het is toegestaan om elke expressie met schuine strepen en jokertekens te typen. B.v.: wcd src*/*1?/a*2 Overig gebruik Wanneer geen jokertekens gebruikt zijn en wcd vindt een perfecte treffer, zullen alle niet exacte treffers genegeerd worden. Dit gedrag kan gewijzigd worden met de -w optie. De interactieve mappen-verkenner kan met de optie -g gestart worden. wcd -g Wcd genereert een boomdata-bestand waarin de map gezocht wordt. Op Unix en Windows voegt wcd ook symbolische koppelingen toe wanneer de schijf gescand wordt, maar deze worden niet gevolgd. Wanneer symbolische koppelingen gevolgd worden, zou wcd oneindige lussen kunnen scannen, of zeer grote delen van een netwerk. Wcd kan ook veranderen naar mappen die niet in het boomdata-bestand staan. B.v.: wcd .. Wanneer wcd een treffer heeft gevonden, maar niet naar de map kan veranderen, probeert hij deze te verwijderen uit het standaard boomdata-bestand. Niet uit het extra boomdata-bestand. Zie ook optie -k. Wcd houdt een mappenstapel bij die opgeslagen wordt op schijf. De stapel heeft een standaard grootte van 10 en is cyclisch. Zie opties -z, -, + en =. In een omgeving met meerdere gebruikers kan optie -u gebruikt worden om naar mappen van andere gebruikers te veranderen. Op DOS en Windows systemen maakt het niet uit of een slash "/" of een backslash "\" als mappen-scheidingsteken gebruikt wordt. Het is mogelijk op DOS en Windows systemen om tegelijk van schijf en map te veranderen door de mapnaam vooraf te laten gaan door de schijf naam. wcd d:games Windows UNC paden De Windows versies (Opdrachtprompt, PowerShell, MSYS, zsh, Cygwin) ondersteunen Windows SMB LAN UNC paden zonder schijfletter, zoals "\\servername\sharename". Wcd voor de Opdrachtprompt maakt gebruik van het "pushd" commando om automatisch een UNC pad toe te wijzen aan een schijfletter. In Windows PowerShell, MSYS, zsh en Cygwin worden UNC paden volledig ondersteund. De huidige werkmap kan een UNC pad zijn. Opdrachtpromtvenster formaat wijzigen in Windows Wcd ondersteunt het wijzigen van het formaat van het opdrachtpromptvenster in Windows 10 en ConEmu (zie ) sinds versie 6.0.3. Het Windows 10 opdrachtpromptvenster moet niet in verouderde console modus zitten (controleer de opdrachtpromptvenster eigenschappen). Het scherm kan mogelijk niet verversen wanneer de Indeling eigenschap "tekstterugloopuitvoer bij formaat wijzigen" uit staat. Het scherm kan handmatig ververst worden door op de F5 toets te drukken. Interfaces Wcd heeft drie verschillende interface om uit een lijst van treffers te kiezen. De interface kan gekozen worden bij het bouwen van Wcd. De eerste interface gebruikt standaard in- en uitvoer. Een genummerde lijst wordt in de terminal geprint. De gebruiker kan kiezen uit de lijst door een nummber te typen gevolgd door . Deze interface biedt geen terug-blader functionaliteit bij een lange lijst. De terug-blader functionaliteit van de terminal/console moet gebruikt worden. Deze interface is heel klein en overdraagbaar. De tweede interface is gebouwd met de conio bibliotheek. Het biedt een ingebouwde terug-blader functie. De gebruiker wordt een lijst gepresenteerd, genummerd met letters. Het kiezen uit de lijst kan gedaan worden met een enkele toetsaanslag van een letter. Deze interface is snel, omdat het toetsaanslagen bespaart. Wanneer mogelijk wordt het scherm hersteld na afsluiten. Iemand die prefereert nummers te typen kan de -N optie gebruiken. De derde bibliotheek is gebouwd met de curses bibliotheek. Het is gelijk aan de conio interface. De curses versie van wcd heeft een extra 'grafische' interface. Het laat de gebruiker een map kiezen via een vol-scherm interactieve mappenboom verkenner. Het heeft vim(1) gelijke navigatie en zoek methodes. Het kan geactiveerd worden met de optie -g. Door de -o optie te gebruiken kan men altijd terugvallen op de standaard in- en uitvoer interface. OPTIES -a Voeg huidig pad to aan het standaard boomdata-bestand. Gebruik deze optie om snel het huidige pad toe te voegen aan het standaard boomdata-bestand. Het opnieuw scannen van de complete schijf kan soms lang duren. -aa Voeg het huidige en alle bovenliggende paden toe aan het standaard boomdata-bestand. -A PAD Scan mappenboom vanaf *PAD* en voeg toe aan het standaard boomdata-bestand. Voorbeelden: wcd -A . wcd -A /home -A /etc wcd -A d: -A e: -A \\server\share Op Windows kan men alle gedeelde mappen van een Windows LAN server scannen door iets te typen als: "wcd -A \\servername". Zie ook opties -S en -s en -E. -b Verban het huidige pad. Wcd plaatst het huidige pad in het ban-bestand. Dit betekent dat wcd alle treffers van deze map en zijn sub-mappen negeert. Het ban-bestand kan gewijzigd worden met een tekstbewerker. Gebruik van jokertekens wordt ondersteund en namen worden vergeleken met het volledige pad. Verbannen paden worden niet uitgesloten van het scannen van de schijf. Gebruik optie -xf om dat te doen. -c, --direct-cd Directe CD modus. Standaard werkt wcd als volgt: 1. Probeer een treffer te vinden in een boomdata-bestand. 2. Wanneer geen treffer, probeer het getypte pad te openen. In directe CD modus werkt wcd in omgekeerde volgorde. 1. Probeer het getypte pad te openen. 2. Indien niet gelukt, probeer een treffer te vinden in een boomdata-bestand. -d SCHIJF Stel schijf in voor stapel- en go-script (alleen DOS). Het stapelbestand en go-script worden standaard opgeslagen op schijf C: wanneer omgevingsvariabele *HOME* niet ingesteld is. Gebruik deze optie wanneer SCHIJF een alleen-lezen schijf is. Deze optie moet gebruikt worden vooraf aan stapel opties -, + en =. -e Voeg huidig pad toe aan het extra boomdata-bestand. Gebruik deze optie om snel het huidige toe te voegen aan het extra boomdata-bestand. -ee Voeg het huidige en alle bovenliggende paden toe aan het extra boomdata-bestand. -E PAD Scan mappenboom vanaf *PAD* en voeg het toe aan het Extra boomdata-bestand.Zie ook opties -A en -S. -f BESTAND Lees boomdata-bestand *BESTAND*. Lees niet het standaard boomdata-bestand. +f BESTAND Lees boomdata-bestand *BESTAND* bovenop het standaard boomdata-bestand. -g Grafische interface (alleen in versie met curses interface). Wcd start een tekstuele curses gebaseerde 'grafische' interface. De gebruiker kan een map selecteren via een vol-scherm interactieve mappenverkenner. Het heeft een vim(1) achtige navigatie en zoek methode. Wanneer geen zoekstring gegeven is presenteert wcd de gehele boom die in het standaard en het extra boomdata-bestand staat. Wanneer een zoekstring gegeven is wordt de trefferlijst gepresenteerd als een mappenboom De standaard boom opmaak is gelijk aan de boomopmaak van de originele NCD op DOS. Het verschil in opmaak is dat in NCD alle mappen van dezelfde diepteniveau verticaal uitgelijnd waren over de hele boom. Dit was mogelijk in NCD, omdat de maximale breedte van een mapnaam in DOS 12 (8.3) tekens was. Op moderne besturingssystemen kunnen namen erg lang zijn. Daarom zijn mappen met dezelfde diepte in wcd niet verticaal uitgelijnd over de hele boom, maar alleen in sub-takken. Daarom is er wat zijdelingse beweging wanneer recht omhoog of omlaag bewogen wordt van de ene sub-tak naar de ander sub-tak. Het navigatie gedrag in wcd is exact hetzelfde als in de originele NCD. Bijvoorbeeld wanneer je de Omlaag knopt drukt ga je omlaag naar de volgende map met dezelfde diepte, springend over takken. Dit maakt snelle navigatie door de boom mogelijk. Zie opties -Ta, -TC, en -TC om het navigatiegedrag te veranderen. -gd Dump de boomdatabestanden als een boom naar standaard uitvoer. -G PAD Schrijf go-script in map *PAD*. Bijvoorbeeld op Unix, "wcd -G PAD" zal een go-script schrijven in PAD/wcd.go. -GN, --no-go-script Maak geen go-script aan. Deze optie kan gebruikt worden in combinatie met de optie -j wanneer men wil dat wcd geen go-script aanmaakt. -h, --help Toon helptext en sluit af. -i, --ignore-case Hoofdletterongevoelig. DOS en Windows versies van wcd zijn standaard hoofdletterongevoelig. Unix/Cygwin versies zijn standaard hoofdlettergevoelig. +i, --no-ignore-case Hoofdlettergevoelig. Zie ook optie -i. -I, --ignore-diacritics Ongevoelig voor diakritische tekens voor Latijnse geschriften. Letters met een diakritisch teken treffen hun basisletter zonder diakritisch teken. De volgende Latijnse coderingen worden ondersteund: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, en Unicode Latin-1, Latin Extended-A, en Latin Extended-B. Zie ook +I, --no-ignore-diacritics Gevoelig voor diakritische tekens (standaard). Zie ook optie -I. -j, --just-go Ga-nou-maar modus. In deze modus zal wcd geen lijst tonen wanneer er meer dan een map is die treft met de ingegeven map. Wcd zal veranderen naar de eerste optie. Wanneer wcd opnieuw aangeroepen wordt met hetzelfde argument, zal wcd veranderen naar de volgende optie, en zo verder. Wcd print de map waar naar te gaan naar standaard uitvoer. Zo kan een andere installatie methode gebruikt worden. Men zou de volgende functie kunnen maken voor een POSIX compatibele shell: wcd () { cd "$($HOME/bin/wcd.exe -j $@)" } Wanneer je een oude shell gebruikt die geen "$()" opdracht vervanging ondersteunt, moet je de oude stijl opdrachtvervanging gebruiken met accent graves. wcd () { cd "`$HOME/bin/wcd.exe -j $@`" } Op Windows systemen, wanneer men 4NT shell draait, kan men de volgende alias maken: alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]` Deze methode elimineert de noodzaak voor het go-script, zodat men de optie -GN in combinatie met -j kan gebruiken. -k, --keep-paths Bewaar paden. Bewaar paden in boomdata-bestanden wanneer wcd er niet naar kan veranderen. Het standaard gedrag van wcd is dat het probeert de paden te verwijderen uit het boomdata-bestand wanneer wcd niet naar ze kan veranderen. Met deze optie wordt dit gedrag uitgeschakeld. -K, --color Gebruik kleuren in grafische modus. -l ALIAS Noem het huidige pad *ALIAS*. Wcd plaatst het huidige pad met alias *ALIAS* in het alias-bestand. Aliassen zijn hoofdlettergevoelig. -ls Show the name of the alias file, and list all the aliases. -m MAP Maak map en voeg toe aan boomdata-bestand. -L, --license Print de distributie licentie. -M MAP Maak map en voeg toe aan extra boomdata-bestand. -n PAD Lees relatief boomdata-bestand vanaf *PAD*. Lees niet het standaard boomdata-bestand. Het relatieve boomdata-bestand zou al gemaakt moeten zijn met de wcd optie +S. *PAD* mag ook direct naar een bestand wijzen. Een voorbeeld. Stel een ander systeem is gekoppend aan koppeling "/mnt/network": wcd -n /mnt/network src Wcd opent het relatieve boomdata-bestand in "/mnt/network/". The bestand bevat de paden relatief vanaf dat punt. +n PAD Lees relatief boomdata-bestand bovenop het standaard boomdata-bestand. Zie optie -n. -N, --numbers Gebruik nummers in plaats van letters. Wcd met een conio of curses gebaseerde interface (zie paragraaf Interfaces) presenteert een trefferlijst standaard genummerd met letters. Wanneer de optie -N is gebruikt wordt de trefferlijst genummerd met nummers. Onafhankelijk van de optie -N kan men een letter of een nummer typen om een selectie uit de lijst te maken. -o Gebruik standaard invoer/uitvoer interface. Wanneer om een of andere reden de conio of curses interface van wcd niet werkt kan men terugvallen op de standaard invoer/uitvoer interface van wcd door het gebruik van de -o optie. -od, --to-stdout Dump alle treffers naar standaard uitvoer. -q, --quiet Stillere werking. Het printen van de uiteindelijke treffer wordt onderdrukt. -r MAP Verwijder map en verwijder uit boomdata-bestand. Als de map leeg is zal wcd het verwijderen, en proberen het te verwijderen uit het boomdata-bestand. -rmtree MAP Recursief map verwijderen en verwijderen uit boomdata-bestand. Wcd zal de map verwijderen en al zijn sub-mappen en bestanden, en verwijdert de mappen uit het boomdata-bestand. -s (her)scannen schijf vanaf $HOME map. Als *HOME* niet gedefinieerd is, wordt de schijf gescant vanaf hoofdmap /. Het bestaande standaard boomdata-bestand is overschreven. De standaard scan map kan overstemd worden met omgevingsvariabele "WCDSCAN". Zie sectie OMGEVINGSVARIABELEN. -S PAD Scan mappenboom vanaf *PAD* en overschrijf het standaard boomdata-bestand. Zie ook opties -A, -s en -E. B.v. met optie -A kun je een standaard boomdata-bestand maken naar eigen smaak. Bijvoorbeeld: Unix: wcd -S / wcd -S /home -A /etc -A /usr DOS/Windows: wcd -S c:/ wcd -S c: -A d: -A \\server\share Met de Windows versies kan men alle gedeelde mappen scannen van een Windows LAN server door iets een typen als: "wcd -S \\servernaam". +S PAD Scan schijf vanaf *PAD* en plaats relatieve paden in het relatieve boomdata-bestand. Dit bestand wordt gebruikt door de -n en +n opties van wcd. B.v. "wcd -n PAD src". -t Verwijder niet tmp koppelmap "/tmp_mnt" (alleen Unix) Wcd verwijderd standaard "/tmp_mnt/" van de treffer. Map "/tmp_mnt" wordt gebruikt door de 'auto-mounter'. Dit gedrag kan uitgeschakeld worden met de -t optie. -T, --ascii-tree Teken boom met ASCII tekens. Gebruik deze opties als lijntekens niet goed getoond worden in de terminal. -Ta, --alt-tree-nav Alternatieve manier van navigeren in de grafische boom. In de standaard NCD stijl opmaak zet de -Ta optie het springen naar ongerelateerde mappen uit. In compacte-boom-modus maakt de alternatieve mode de navigatie gelijk aan de navigatie in GUI bestandsverkenners zoals de Windows Verkenner of Linux KDE Konqueror. Omhoog en Omlaag drukken beweegt de geselecteerde map één regel op en neer. Links drukken vouwt eerst de sub-mappen in en de volgende beweging naar links gaat echt naar links. U kunt onmiddellijk tussen standaard en alternatief navigeren schakelen door te drukken. Wanneer alternatieve navigatie aan staat, ziet u een "A" in de rechter onderhoek. -TC, --center-tree Gecentreerde weergave in de grafische boom. De geselecteerde map blijft in het midden van het scherm. De gecentreerde modus kan ook aan- en uitgeschakeld worden met de toets in de grafische boom. De standaard niet-gecentreerde weergave, die boombeweging minimaliseert, is gelijk aan hoe het in de originele NCD was. -Tc, --compact-tree Standaard wordt de 'grafische' boom getekend op dezelfde manier zoals de originele NCD op DOS het deed. In DOS kon een pad in totaal slechts 66 tekens bevatten. Met de diepe mappenstructuur van vandaag kan de boom erg breed worden. Om dit te beheersen kan wcd de boom op een compacte manier tekenen, gelijk aan de meeste GUI mappenverkenners, met één map per regel. Gebruik optie -Tc of schakel onmiddellijk met de toets. -Td, --cjk-width Oude Oost-Aziatische CJK (Chinees, Japans, en Koreaans) fonts hebben bepaalde letters en lijnsymbolen met een kolombreedte van 2, terwijl de normale Unicode breedte voor deze tekens 1 kolom is. Bijvoorbeeld het Chinese CP936 raster font op Windows en het Simsun font. Gebruik deze optie voor een juiste uitlijning van de grafische boom wanneer een oud CJK font gebruikt wordt. Wanneer CJK modus actief is, ziet u een "C" in de rechter onderhoek. -u GEBRUIKER Scan boomdata-bestand van een andere gebruiker gebaseerd op *GEBRUIKER*, scan niet het eigen boomdata-bestand. Zie ook paragraaf OMGEVINGSVARIABELEN voor *WCDUSERSHOME*. Op Unix/Cygwin wordt aangenomen dat de basismap voor de thuismap voor gebruikers "/home" is. Wcd zal zoeken naar "/home/GEBRUIKER/.treedata.wcd" en "/home/GEBRUIKER/.wcd/.treedata.wcd", in deze volgorde, en de eerste lezen die bestaat en leesbaar is. Op DOS/Windows wordt aangenomen dat de basismap voor de thuismap van gebruikers "\\users" is, dus wcd probeert te lezen "\\users\GEBRUIKER\treedata.wcd" en "\\users\GEBRUIKER\.wcd\treedata.wcd". +u GEBRUIKER Lees het standaard boomdata-bestand van GEBRUIKER bovenop uw eigen boomdata-bestand. -v, --verbose Toon gedetailleerde berichten. Met deze optie toont wcd alle filters, verbannen mappen en uitsluitingen. -V, --version Programmaversie tonen en afsluiten. -w, --wild-match-only Alleen jokervergelijkingen. Behandel alle treffers als jokertreffers. -x PAD *PAD* uitsluiten van scannen. Wanneer deze optie gebruikt is zal wcd *PAD* uitsluiten en al zijn sub-mappen wanneer wcd een schijf scant. Jokertekens worden ondersteund en vergeleken met absolute paden. Optie -x kan meerder keren gebruikt worden. wcd -x -x -s Optie -x moet vooraf gaan aan elke scan optie (-s, -S, +S, -A, -E). Op DOS/Windows systemen moet men de schijfletter specificeren afhankelijk van of omgevingsvariabele *HOME* or *WCDHOME* gedefinieerd is. Wanneer *HOME* of *WCDHOME* gedefinieerd is moet men de schijfletter specificeren. Een voorbeeld: wcd -x c:/temp -S c: Specificeer anders geen schijfletter. wcd -x /temp -s -xf BESTAND Alle paden uit bestand *BESTAND* uitsluiten van scannen. Wanneer deze optie gebruikt is zal wcd alle paden genoemd in *BESTAND* uitsluiten en al hun sub-mappen wanneer wcd een schijf scant. Jokertekens worden ondersteund en vergeleken met absolute paden, een pad per regel. Wees bewust dat wcd spaties aan het begin of einde op een regel niet zal negeren, omdat het geldige tekens zijn in een mapnaam. Optie -xf can meerdere keren gebruikt worden. Wanneer men alle verbannen paden wil uitsluiten van scannen zou het volgende gedaan kunnen worden (voorbeeld voor wcd op Unix): wcd -xf ~/.ban.wcd -s Jokertekens worden ondersteund. Om bijvoorbeeld al uw Subversion mappen met administratieve bestanden uit te sluiten, voeg een regel toe met "*/.svn". Optie -xf moet vooraf gaan aan elke scan optie (-s, -S, +S, -A, -E). -y, --assume-yes Op alle vragen Ja als antwoord aannemen. Wcd zal de gebruiker geen ja/nee vraag stellen, maar neemt aan dat de gebruiker ja antwoordt op alle vragen. Dit kan gebruikt worden in combinatie met optie -rmtree. Deze optie moet voorafgaand gebruikt worden aan opties die tot ja/nee vragen kunnen leiden. -z GETAL Stel maximum stapelgrootte in op GETAL. De standaard grootte van de stapel is 10. Stapelwerking kan uitgezet worden door de grootte op 0 in te stellen. Deze optie moet voorafgaand aan elke stapel optie (-, +, =) gebruikt worden. Anders wordt de stapelgrootte teruggezet naar de standaard 10. Een correcte opdracht is: wcd -z 50 - De nieuwe stapelgrootte zal 50 zijn, wcd gaat een map terug. Een foute opdracht is: wcd - -z 50 Wcd gaat een map terug, de stapel krijgt de standaard grootte 10. -z 50 wordt genegeerd. Voeg deze optie als eerste toe aan uw wcd alias of functie. B.v. voor een POSIX compatibele shell zou dit zijn: wcd () { wcd.exe -z 50 "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go } -[GETAL] Map GETAL keer op stapel zetten. Standaard is een. Ga een map terug. Opdracht "wcd -" gaat een map terug. Voeg een nummer toe om meer mappen terug te gaan. B.v. opdracht "wcd -3". De stapel is cyclisch. +[GETAL] Map GETAL keer van stapel halen. Standaard is een. Ga een map vooruit. Opdracht "wcd +" gaat een map vooruit. Voeg een nummer toe om meerdere mappen vooruit te gaan. B.v. opdracht "wcd +2". De stapel is cyclisch. = Stapel tonen. Gebruik deze optie als u niet meer weet waar u in de stapel zit. De stapel wordt getoond en u kan een nummer kiezen. De huidige plaats in de stapel is gemarkeerd met een sterretje "*". INSTALLATIE De huidige werkmap in een Unix shell kan alleen veranderd worden door de ingebouwde cd(1) opdracht. Daarom wordt het programma altijd aangeroepen door een functie of alias. De functie of alias leest een script (go-script) in dat gegenereerd is door het wcd programma. Wcd kan alleen werken nadat de functie of alias gedefinieerd is. Een andere belangrijke invloed op uw installatie is de definitie van de omgevingsvariabelen *HOME* en *WCDHOME*. Zie paragraaf OMGEVINGSVARIABELEN. Installatie voor POSIX type shells Voor een POSIX shell (ksh, bash, zsh, etc) op Unix, Linux, Cygwin, of MSYS, voeg de volgende functie toe aan het shell opstartbestand (b.v. Bash gebruikt "$HOME/.bashrc"): wcd () { PAD/wcd.exe "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go } Vervang *PAD* door de locatie waar het uitvoerbare wcd bestand geïnstalleerd is. Laad de shell initialisatiebestanden opnieuw of start een nieuwe shell. De locatie van het go-script "wcd.go" is anders per shell. Wcd voor DJGPP DOS bash heeft een andere functie nodig. Het go-script wordt niet in map "bin" geschreven, en wanneer *WCDHOME* en *HOME* beide niet gedefinieerd zijn wordt het go-script geschreven in c:/. DOS bash: wcd () { PAD/wcdbash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } OS/2 bash: wcd () { PAD/wcdos2bash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } De WinZsh versie van wcd is ook een beetje anders. Het go-script wordt nooit in c:/ geschreven. wcd () { PAD/wcdwin32zsh.exe "$@" . ${WCDHOME:-${HOME}}/wcd.go } Zie paragraaf BESTANDEN voor meer informatie. Installatie voor C-achtige shells (csh, tcsh) Voeg de volgende alias toe aan het shell opstartbestand "$HOME/.cshrc" of "$HOME/.tcshrc": if ( ${?WCDHOME} ) then alias wcd "PAD/wcd.exe \!* ; source $WCDHOME/bin/wcd.go" else alias wcd "PAD/wcd.exe \!* ; source $HOME/bin/wcd.go" endif Vervang *PAD* door de locatie waar het uitvoerbare wcd bestand geïnstalleerd is. Laad de shell initialisatiebestanden opnieuw of start een nieuwe shell. Windows Opdrachtprompt versie Pak het zip-bestand uit en voeg map "bin" toe aan omgevingsvariabele *PATH*. In Windows Opdrachtprompt kan een Windows programma niet de huidige werkmap veranderen, maar een .bat bestand kan dat wel. Het batch script "wcd.bat" draait het wcd programma dat een nieuw batch script "wcdgo.bat" genereert. Daarna start "wcd.bat" "wcdgo.bat" die feitelijk de map verandert. Windows VISTA en hoger In een Windows VISTA en hoger Opdrachtprompt kan men beperkte toegang hebben tot mappen. Om toegang tot meer mappen te verkrijgen heeft men beheerdersrechten nodig. U kunt een Opdrachtprompt met beheerdersrechten verkrijgen door rechts te klikken op het Opdrachtprompt icoon en dan te selecteren *Als Administrator uitvoeren*. Windows PowerShell versie Voeg de volgende functie toe aan uw PowerShell gebruikersprofiel. De locatie van dit profiel is opgeslagen in de $profile variabele. Het is vereist dat omgevingsvariabele *HOME* of *WCDHOME* gedefinieerd is. function wcd { PAD\wcdwin32psh.exe $args & $env:HOME\wcdgo.ps1 } Vervang *PAD* met de locatie waar het uitvoerbare wcd bestand geïnstalleerd is. Start een nieuwe PowerShell. Wcd voor PowerShell ondersteund alleen de bestandssysteem 'provider'. Geen andere 'providers'. OS/2 Opdrachtprompt versie In een OS/2 Opdrachtprompt (cmd.exe) kan een OS/2 programma niet de huidige werkmap veranderen. Dat is waarom wcd een opdracht-script genereert "wcdgo.cmd" welke uitgevoerd moet worden in de huidige shell. Het script "wcd.cmd" voert eerst "wcdos2.exe" uit, die vervolgens het "wcdgo.cmd" script creëert. Daarna voert "wcd.cmd" het "wcdgo.cmd" script uit. LOKALISATIE LANG The primaire taal wordt geselecteerd via de omgevingsvariabele *LANG*. De variabele *LANG* bestaat uit verschillende onderdelen. Het eerste deel is in kleine letters de taalcode. Het tweede deel is optioneel en is de landcode in hoofdletters, voorafgegaan door een liggend streepje. Er is ook een optioneel derde deel: de tekencodering, voorafgegaan door een punt. Enkele voorbeelden voor een POSIX-shell: export LANG=nl Nederlands export LANG=nl_NL Nederlands, Nederland export LANG=nl_BE Nederlands, België export LANG=es_ES Spaans, Spanje export LANG=es_MX Spaans, Mexico export LANG=en_US.iso88591 Engels, VS, Latin-1 codering Voor een complete lijst van taal- en landcodes zie de gettext(1) handleiding: L Op Unix-systemen kunt u de opdracht locale(1) gebruiken om specifieke taalregio-informatie te verkrijgen. LANGUAGE Met de omgevingsvariabele *LANGUAGE* kunt u een prioriteitenlijst specificeren van talen, gescheiden door dubbele punten. Dos2unix geeft voorrang aan *LANGUAGE* boven *LANG*. Bijvoorbeeld, eerst Nederlands en dan Duits: "LANGUAGE=nl:de". U moet eerst lokalisatie in werking stellen, door het instellen van *LANG* of *LC_ALL* op een waarde ongelijk aan "C", voordat u een talen-prioriteitenlijst kunt gebruiken via de variabele *LANGUAGE*. Zie ook de gettext(1) handleiding: Als u een taal kiest die niet beschikbaar is, worden de standaard Engelse berichten gebruikt. WCDLOCALEDIR Met de omgevingsvariabele *WCDLOCALEDIR* kan de *LOCALEDIR* die ingesteld werd tijdens compilatie worden overstemd. *LOCALEDIR* wordt gebruikt om de taalbestanden te vinden. De GNU standaardwaarde is "/usr/local/share/locale". Door "wcd -V" te typen zal wcd de gebruikte *LOCALEDIR* laten zien. Als u wcd geïnstalleerd heeft in een andere map dan de standaard map kan het nodig zijn om omgevingsvariabele *WCDLOCALEDIR* te definiëren om te wijzen naar de locale map. Een voorbeeld voor Windows cmd: set WCDLOCALEDIR=c:/my_prefix/share/locale Een voorbeeld voor een POSIX shell: export WCDLOCALEDIR=$HOME/share/locale LC_COLLATE Wanneer er meerdere maptreffers zijn presenteert wcd een gesorteerde lijst. Het sorteren hangt af van de lokalisatie instellingen. Wanneer de omgevingsvariabele *LANG* ingesteld is worden de treffers gesorteerd als in een woordenboek of telefoonboek in die taal. Bijvoorbeeld punten en streepjes worden genegeerd, of letters e met en zonder accent zijn gelijk, of sortering is ongevoelig voor hoofd en kleine letters. De sortering geeft prioriteit aan omgevingsvariabele *LC_COLLATE* boven *LANG*. Wanneer u *LC_COLLATE* gelijk maakt aan "C" of "POSIX", wordt sortering met lokalisatie uitgeschakeld. Bijvoorbeeld als u Nederlandse taal wilt, maar geen Nederlandse sortering, dan kunt u iets doen als: export LANG=nl_NL export LC_COLLATE=C LC_CTYPE Met betrekking to tekencodering geeft Wcd prioriteit aan variabele *LC_CTYPE* boven *LANG*. Bijvoorbeeld om de tekencodering op UTF-8 te zetten kan de volgende omgevings-instelling gemaakt worden. export LC_CTYPE=en_US.UTF-8 LC_ALL Alle lokalisatie omgevingsvariabelen die beginnen met *LC* worden overstemd de omgevingsvariabele *LC_ALL* wanneer die ingesteld is. Wcd geeft prioriteit aan *LC_ALL* boven *LC_COLLATE* en *LC_CTYPE*. WINDOWS CODETABELLEN Er zijn twee groepen van codetabellen, DOS codetabellen (OEM) en Windows codetabellen (ANSI). De standaard codering voor Windows, wanneer geconfigureerd met westerse regionale instellingen, is ANSI CP1252. Windows programma's, bijvoorbeeld kladblok, gebruiken deze standaard systeem ANSI codetabel. De Windows Opdrachtprompt gebruikt standaard een OEM codetabel (CP437 of CP850) voor compatibeliteit met DOS programma's. Als u een DOS versie van Wcd in een Windows Opdrachtprompt gebruikt zal het werken, vanwege de DOS codetabel. Maar de DOS versie van wcd ontbeert ondersteuning voor lange mapnamen en netwerkschijven op Windows. De Windows versie van wcd is een echt Windows programma en zal de Windows systeem ANSI codetabel gebruiken. Dus op een Westers regionale Windows zal het de codetabel CP1252 gebruiken voor directory namen en berichten. Om een consistente uitvoer te verkrijgen, onafhankelijk van de ingestelde codetabel, vertalen alle Windows versies van wcd ANSI uitvoer naar Unicode uitvoer in de Opdrachtprompt en PowerShell. Het Opdrachtprompt rastertypefont ondersteunt alleen de originele OEM codetabel van Windows, dus u moet het Opdrachtprompt font veranderen naar Lucida Console om Unicode (en ANSI) tekens correct te laten verschijnen. Niet-Unicode versies van Wcd *voorafgaande aan versie 5.2.0* gebruiken gewone ANSI uitvoer. Voor deze oude versie moet de codetabel van de Opdrachtprompt gelijk gemaakt worden aan de systeem codetabel (naar 1252) om wcd voor Windows goed te laten werken met speciale tekens zoals geaccentueerde tekens of een euroteken. De Windows systeem codetabel kan veranderd worden via het Configuratiescherm Klok, taal en land/regio opties. De Windows Opdrachtprompt codetabel wordt veranderd met de "chcp" opdracht. Wanneer u "wcd -V" typet, wordt de actuele tekencodering getoond die door wcd gebruikt wordt. Type opdracht "chcp" op de actieve codetabel van de Opdrachtprompt te tonen. UNICODE Wcd heeft optioneel ondersteuning voor Unicode. Om te zien of wcd gebouwd is met Unicode ondersteuning type "wcd -V". Als uw terminal en font het ondersteunen, zou u een euroteken en Chinese tekens (betekenis: "Chinees") moeten zien. Wcd is *zacht* omgezet naar Unicode. In de kern behandelt wcd alle data als een stroom van bytes. Alleen de regels die op het scherm geprint worden, worden terstond omgezet naar Unicode brede tekens. Wcd hangt volledig af van libc functies en heeft geen UTF-8 specifieke broncode. Zie ook Wcd heeft optioneel ondersteuning voor Unicode vergelijkingen met normalisatie. Om er achter te komen of Wcd normalisatie ondersteunt type "wcd -V". Wcd met Unicode normalisatie ondersteuning vergelijkt Unicode namen gebaseerd op *compatibele* gelijkwaardigheid. Zonder Unicode normalisatie worden treffen namen een gelijke wanneer ze binair gelijk zijn. Zie ook UTF-8 op Unix/Linux Om UTF-8 tekens te zien moet uw terminal ook UTF-8 ondersteunen. De xterm versie die meekomt met XFree86 4.0 of hoger bevat UTF-8 ondersteuning. Om het te activeren, start xterm(1) in een UTF-8 taalregio en gebruik een font met iso10646-1 codering, bijvoorbeeld met LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1' Moderne uitgaves van GNU/Linux ondersteunen standaard UTF-8. Andere multi-byte tekencoderingen zouden ook moeten werken, maar dat is niet getest. Wcd veronderstelt dat de boomdata-bestanden gecodeerd zijn in de lokale tekencodering. Er worden geen Byte Order Marks geschreven in de boomdata-bestanden. UTF-16 op Windows Op Windows wordt Unicode in alle versies van PowerShell ondersteund, en in Windows Opdrachtprompt op Windows 7 (of hoger). Unicode werkt ook in Take Command of TCC/LE gemaakt door JP Software, dat gebruikt kan worden op oudere Windows versies (XP/Vista). In Windows zijn alle mapnamen op schijf gecodeerd in UTF-16 Unicode. Voor niet-Unicode Windows programma's worden de tekens vertaald naar de standaard ANSI codetabel. Voor tekens die geen onderdeel zijn van de regionale instelling is de vertaling niet mogelijk en niet-Unicode programma's printen in plaats daarvan een vraagteken of een verkeerd teken. Wcd met Unicode ondersteuning leest de UTF-16 gecodeerde mappennamen en zet ze intern om naar UTF-8. Alle boomdata-bestanden zijn gecodeerd in UTF-8 en niet compatibel met de niet-Unicode versie van Wcd. Wcd zal een go-script aanmaken gecodeerd in UTF-8. Alle versies van Windows PowerShell zijn in staat om in UTF-8 gecodeerde scripts te draaien, indien het script is voorzien van een UTF-8 BOM. Sinds Windows 7 is het mogelijk om in Windows Opdrachtprompt van map te veranderen met een batch script naar een map met Unicode tekens in de naam. De mapnaam moet gecodeerd zijn in UTF-8, en het batch script moet *geen* BOM bevatten. De actieve codetabel van de Opdrachtprompt moet gezet zijn op 65001 (UTF-8) vooraf aan de cd opdracht. Wcd voor Opdrachtprompt creëert zo'n go-script "wcdgo.bat". Eerst verandert het de codetabel naar 65001, verandert dan de map, en tenslotte wordt de codetabel terug gezet naar de originele waarde. U moet het font instellen op True Type Lucida Console (niet raster type font) wanneer de letters niet correct verschijnen. De niet-Unicode Windows versie van Wcd kan Unicode boomdata-bestanden lezen sinds versie 5.2.0, indien er een Byte Order Mark (BOM) in het bestand zit (zie ), maar kan niet veranderen naar mappen met Unicode tekens in de naam die geen onderdeel zijn van de standaard systeem ANSI codetabel. De Unicode Windows versie van wcd schrijft een BOM in het UTF-8 gecodeerde boomdata-bestand sinds versie 5.2.0, wat ze ook leesbaar maakt voor kladblok. UTF-8 in Cygwin Cygwin ondersteunt Unicode sinds versie 1.7. De Cygwin laag zorgt er voor dat de Windows UTF-16 Unicode namen vertaald worden naar UTF-8. Dus programma's, zoals wcd, hoeven hier niet bewust van te zijn en kunnen werken gebruikmakend van UTF-8 codering als op Unix/Linux. Stel de tekencodering in op UTF-8 met de *LANG* of *LC_CTYPE* omgevingsvariabele. Het kan nodig zijn dat u de schijven opnieuw moet scannen. U dient het font in te stellen op True Type Lucida Console (niet raster type font) wanneer u de standaard Cygwin console gebruikt. De Cygwin versie gedraagt zich exact gelijk aan de Unix versie van wcd. Er wordt geen BOM geschreven in de boomdata-bestanden, en er wordt aangenomen dat ze gecodeerd zijn in de Cygwin lokalisatie tekencodering. BESTANDEN Wanneer omgevingsvariabele *WCDHOME* ingesteld is zal wcd *WCDHOME* gebruiken in plaats van *HOME*. Alle "*.wcd" bestanden zijn tekstbestanden. Ze kunnen bewerkt worden met een tekstbewerker. De Windows Opdrachtprompt versie gedraagt zich als de DOS versie. De Cygwin versie van wcd gedraagt zich als de Unix versie. wcd.exe Het programma. In Unix shells wordt het programma altijd aangeroepen door een functie of alias, omdat de huidige werkmap alleen veranderd kan worden door de ingebouwde cd opdracht. Zie ook paragraaf INSTALLATIE. standaard boomdata-bestand Dit is het standaard boomdata-bestand waarin wcd zoekt naar treffers. Wanneer het niet leesbaar is zal wcd een nieuwe aanmaken. DOS: \treedata.wcd of %HOME%\treedata.wcd Unix: $HOME/.treedata.wcd extra boomdata-bestand Een optioneel extra boomdata-bestand. Wanneer het bestaat en leesbaar is zal wcd ook in dit bestand proberen treffers te vinden. DOS: \extra.wcd of HOME%\extra.wcd Unix: $HOME/.extra.wcd ban-bestand In dit optionele bestand plaatst wcd de verbannen paden. Zie optie -b. Jokertekens worden ondersteund. DOS: \ban.wcd of %HOME%\ban.wcd Unix: $HOME/.ban.wcd alias-bestand Optioneel bestand met wcd aliassen. Zie optie -I. DOS: \alias.wcd of %HOME%\alias.wcd Unix: $HOME/.alias.wcd stapel-bestand In dit bestand slaat wcd zijn stapel op. De schijfletter kan veranderd worden met de -d optie. DOS: c:\stack.wcd of %HOME%\stack.wcd Unix: $HOME/.stack.wcd De naam van het stapelbestand kan veranderd worden met omgevingsvariabele *WCDSTACKFILE*. Zie paragraaf OMGEVINGSVARIABELEN. go-script Dit is het shell-script dat wcd elke keer creëert. Het wordt ingelezen via een functie of een alias. De schijfletter kan gewijzigd worden met de -d optie. Wegens voorgeschiedenis redenen wordt het standaard geplaatst in "$HOME/bin" op Unix systemen. De map van dit bestand kan gewijzigd worden met de optie -G. DOS bash: c:/wcd.go of $HOME/wcd.go Windows Command Prompt: c:\wcdgo.bat of %HOME%\wcdgo.bat Windows PowerShell: $env:HOME\wcdgo.ps1 WinZsh: $HOME/wcd.go Cygwin/MSYS: $HOME/bin/wcd.go OS/2 Opdrachtprompt: c:\wcdgo.cmd of %HOME%\wcdgo.cmd OS/2 bash: c:/wcd.go or $HOME/wcd.go Unix: $HOME/bin/wcd.go relatieve boomdata-bestand Tekstbestand met relatieve paden vanaf *MAP*. Zie opties +S, -n en +n. DOS: PAD\rtdata.wcd Unix: PAD/.rtdata.wcd OMGEVINGSVARIABELEN HOME Wcd gebruikt standaard omgevingsvariabele *HOME* om te bepalen waar z'n bestanden op te slaan. Zie ook paragraaf BESTANDEN. Dit kan overstemd worden met omgevingsvariabele *WCDHOME*. *HOME* bepaalt ook waar te beginnen met het scannen van de schijf wanneer optie -s gebruikt wordt. Dit kan overstemd worden met omgevingsvariabele *WCDSCAN*. Voor de Unix, Cygwin, Windows PowerShell, WinZsh en MSYS versie is het vereist dat *HOME* of *WCDHOME* ingesteld is. Voor de andere versies van wcd is het gebruik van deze variabelen optioneel. Wanneer *HOME* ingesteld is op DOS/Windows, zal wcd al zijn bestanden (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) in map *HOME* plaatsen. Het gedrag van wcd is dan gelijk aan de Unix versie van wcd. Wcd zal de schijf standaard scannen vanaf *HOME*. Schijven worden niet automatisch gescant door er naar te veranderen. Dat moet wcd expliciet opgedragen worden. B.v.: wcd -S c: -A d: -A e: Vergelijken van mappen is nu globaal over alle gescande schijven. WCDHOME Omgevingsvariabele *WCDHOME* kan gebruikt worden om de locatie van wcds bestanden te wijzigen. Wanneer zowel *HOME* als *WCDHOME* ingesteld zijn, zal *WCDHOME* gebruikt worden in plaats van *HOME*. In wcd versies voorafgaand aan 5.1.5 veranderde *WCDHOME* ook de standaard scan-map. Dit is veranderd. Sinds versie 5.1.5 verandert *WCDHOME* niet de standaard scan-map. Zie optie -s. Gebruik vanaf versie 5.1.5 omgevingsvariabele *WCDSCAN* om de standaard scan-map te overstemmen. Voorbeeld voor DOS, Windows, OS/2 Opdrachtprompt: set WCDHOME=C:\Users\erwin\wcd Een voorbeeld voor POSIX type shells: export WCDHOME="$HOME/.wcd" Een voorbeeld voor Csh type shells: setenv WCDHOME "$HOME/.wcd" WCDSCAN Gebruik omgevingsvariabele *WCDSCAN* om de standaard scan-map *HOME* te overstemmen. Gebruik een door dubbele punten gescheiden lijst (Unix) om meer dan een map te definiëren. Gebruik op DOS/Windows een lijst gescheiden door puntkomma's. Voorbeelden voor DOS, Windows, OS/2 Opdrachtprompt: set WCDSCAN=C:\Users\erwin;D:\data set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\projectdrive\projectX Een voorbeeld voor POSIX type shells: export WCDSCAN="$HOME:/projectdisk/projectX" Een voorbeeld voor Csh type shells: setenv WCDSCAN "$HOME:/projectdisk/projectX" WCDFILTER Specificeer filters met omgevingsvariabele *WCDFILTER*. Alle mappen die niet treffen met het filter worden genegeerd. Een lijst kan gespecificeerd worden met het shell pad scheidingsteken. Gelijk aan het specificeren van de *PATH* variabele. Hoofdlettergevoeligheid wordt bepaald door het besturingssysteem. Een voorbeeld voor DOS, Windows, OS/2 Opdrachtprompt: set WCDFILTER=projects;doc Een voorbeeld voor POSIX type shells: export WCDFILTER="projects:doc" Een voorbeeld voor Csh type shells: setenv WCDFILTER "projects:doc" WCDBAN De paden gespecificeerd met omgevingsvariabele *WCDBAN* worden verbannen door wcd. Zie ook optie -b. Specificeer een lijst van paden met het shell *PATH* scheidingsteken. WCDEXCLUDE De paden gespecificeerd met omgevingsvariabele *WCDEXCLUDE* worden uitgesloten door wcd. Zie ook opties -x en -xf. Specificeer een lijst van paden met het shell *PATH* scheidingsteken. Een voorbeeld voor DOS, Windows, OS/2 Opdrachtprompt: set WCDEXCLUDE=*/windows;*/temp;*CVS Een voorbeeld voor POSIX type shells: export WCDEXCLUDE="/dev:/tmp:*CVS" Een voorbeeld voor Csh type shells: setenv WCDEXCLUDE "/dev:/tmp:*CVS" WCDUSERSHOME Stel de basis in de de thuismappen van de gebruikers. Op DOS/Windows is de standaard waarde "\\users". Op Unix/Cygwin is de standaard waarde "/home". Deze variabele wordt gebruikt om boomdata-bestanden van andere gebruikers te scannen. Zie ook opties -u en +u. In gedetailleerde uitvoer-modus zal wcd alle filters, verbanningen en uitsluitingen tonen. Zie ook optie -v. WCDSTACKFILE Wcd geeft prioriteit aan *WCDSTACKFILE* boven de standaard stapelbestandsnaam (zie paragraaf BESTANDEN). Met deze variabele kan elke shell (of terminal) zijn eigen privé stapel voor mappen hebben. Om een uniek tijdgebaseerde YYYYMMDD-HHMMSS bestand voor elke geopende interactieve shell te gebruiken. export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S) Voor een stapel per xterm(1), gebruik de xterm omgevingsvariabele *WINDOWID*: export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID Voor GNU screen(1), gebruik een stapel per scherm: export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW TERMINFO Wanneer omgevingsvariabele *TERMINFO* ingesteld is, controleert wcd met ncurses interface of er lokale terminal definities zijn voor op de standaard plek te kijken. Dit is nuttig wanneer terminal definities niet op een standaard plaats staan. Veel gebruikte standaard plaatsen zijn "/usr/lib/terminfo" en "/usr/share/terminfo". PDC_RESTORE_SCREEN Wcd met PDCurses interface herkent de omgevingsvariabele *PDC_RESTORE_SCREEN*. Wanneer deze omgevingsvariabele ingesteld is, zal PDCurses een kopie maken van de inhoud van het scherm op het moment dat wcd gestart is. Wanneer wcd afsluit zal het scherm hersteld worden. Een voorbeeld voor Windows Opdrachtprompt: set PDC_RESTORE_SCREEN=1 Wcd laat maar een kleine buffer opslaan. Daardoor is het niet altijd mogelijk om alles te herstellen. Er kan wat rommel in de console geprint worden als wcd afsluit wanneer u een grote bufferbreedte heeft ingesteld. SHELL Het printen van "#!$SHELL" op de de eerste regel van het go-script voor POSIX type shell of C shell is nodig voor 8 bit tekens. Sommige shells denken anders dat het go-script een binair bestand is en willen het niet inlezen. In Cygwin Bash moet de variabele *SHELL* ingesteld zijn met de "export" opdracht, anders kan wcd de variabele niet lezen. BASH Wcd voor DOS bash gebruikt $BASH in plaats van $SHELL, omdat $SHELL verwijst naar de DOS Opdrachtprompt. Het kan nodig zijn dat men $BASH met een "export" opdracht moet definiëren, anders kan wcd de variabele niet lezen. ZIE OOK sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1), AUTEURS Wcd is geschreven door Erwin Waterlander Project beginpagina SourceForge: De opmaak van de handleiding was verzorgd door Jari Aalto . NCD was oorspronkelijk geschreven door Brad Kingsbury voor Peter Norton's "Norton Utilities" omstreeks 1987. Zie ook wcd-6.0.3/src/man/pt_BR/0000755000175500010010000000000013524756527014134 5ustar waterlanGeenwcd-6.0.3/src/man/pt_BR/man1/0000755000175500010010000000000013524756540014763 5ustar waterlanGeenwcd-6.0.3/src/man/pt_BR/man1/wcd.10000644000175500010010000016633113524756530015633 0ustar waterlanGeen.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "wcd 1" .TH wcd 1 "2019-08-14" "wcd" "2019-08-14" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOME" .IX Header "NOME" wcd \- Wherever Change Directory .PP Chdir para Dos e Unix .SH "SINOPSE" .IX Header "SINOPSE" .Vb 1 \& wcd [opções] [diretório] .Ve .SH "DESCRIÇÃO" .IX Header "DESCRIÇÃO" .SS "Visão geral" .IX Subsection "Visão geral" Wcd é um programa de linha de comando para mudar diretório rapidamente. Ele economiza tempo de digitar no teclado. É preciso digitar apenas uma parte de um nome de diretório e wcd vai pular para ele. Wcd possui um método de seleção rápida no caso de múltiplas correspondências e permite apelidamento (aliasing) e banimento de diretórios. Wcd também inclui um navegador de árvore de diretório interativa de tela cheia com pesquisa rápida. .PP Wcd foi modelado com base no Norton Change Directory (\s-1NCD\s0). \s-1NCD\s0 apareceu primeiro em \fIThe Norton Utilities, versão 4\fR, para \s-1DOS\s0 em 1987, publicado por Peter Norton. .PP Wcd foi portado para diferentes shells de linha de comando: command.com do \&\s-1DOS,\s0 cmd.exe e PowerShell do Windows, cmd.exe do \s-1OS/2\s0 e shells do Unix, como os shells Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh) e C (csh) e outros funcionando em qualquer sistema operacional. .PP Wcd oferece suporte a conjuntos de caracteres de 8 bits em todos sistemas e possui suporte opcional a Unicode. Veja a seção LOCALIZAÇÃO. .PP Veja a seção INSTALAÇÃO para como instalar wcd para uso pessoal. .SS "Uso básico" .IX Subsection "Uso básico" Por padrão (se nenhum caractere curinga for usado), pesquisas wcd por um diretório com um nome que começa com o nome digitado. .PP Por exemplo, esse comando vai mudar para diretório para o \&\f(CW\*(C`/home/user/Desktop\*(C'\fR do usuário atual: .PP .Vb 1 \& wcd Desk .Ve .PP Quando houver múltiplas ocorrências, wcd apresentará ao usuário uma lista de todas as ocorrências. O usuário poderá, então, fazer uma seleção pressionando com poucas teclas (na maioria das vezes, apenas uma). .SS "Caracteres curingas" .IX Subsection "Caracteres curingas" Wcd oferece suporte aos seguintes caracteres curingas: .PP .Vb 4 \& * corresponde qualquer sequência de caracteres (zero ou mais) \& ? corresponde qualquer caractere \& [SET] corresponde qualquer caractere no conjunto especificado, \& [!SET] ou [^SET] corresponde qualquer caractere ausente no conjunto. .Ve .PP Um conjunto é composto de caracteres ou intervalos; um intervalo se parece com \fIcaractere hífen caractere\fR como em \f(CW\*(C`0\-9\*(C'\fR ou \f(CW\*(C`A\-Z\*(C'\fR. O \f(CW\*(C`[0\-9a\-zA\-Z_]\*(C'\fR é o conjunto mínimo de caracteres permitidos no construto padrão \&\f(CW\*(C`[..]\*(C'\fR. Caracteres internacionais (ex.: caracteres de 8 bits) são permitidos se o sistema oferecer suporte a eles. Para suprimir a significância sintática especial de qualquer um entre \f(CW\*(C`[]*?!^\-\e\*(C'\fR dentro ou fora de um construto \f(CW\*(C`[..]\*(C'\fR e corresponder o caractere exato, precede o caractere com um marcador de barra invertida (\f(CW\*(C`\e\*(C'\fR). .PP O uso de caracteres torna possível um poderosa pesquisa. Por exemplo, isso pesquisa qualquer nome de diretório que termine com \*(L"top\*(R": .PP .Vb 1 \& wcd *top .Ve .PP Corresponde diretórios que tenham \*(L"top\*(R" em qualquer lugar no nome: .PP .Vb 1 \& wcd *top* .Ve .PP Corresponde qualquer nome de diretório que começa com \*(L"a\*(R", \*(L"b\*(R" ou \*(L"c\*(R": .PP .Vb 1 \& wcd [a\-c]* .Ve .PP Também é possível dar uma parte de um caminho de diretório. Aqui Wcd pesquisa por diretório que começa com \*(L"Desk\*(R" e cujo caminho corresponda a \&\fI*me/Desk*\fR. .PP .Vb 1 \& wcd me/Desk .Ve .PP É permitido digitar qualquer tipo de expressão com barras e caracteres curingas. Ex.: .PP .Vb 1 \& wcd src*/*1?/a*2 .Ve .SS "Outros usos" .IX Subsection "Outros usos" Se nenhum caractere curinga é usado e wcd encontra uma correspondência perfeita, wcd vai ignorar todas as correspondências curingas por padrão. Esse comportamento pode se alterado com a opção \fB\-w\fR. .PP O navegador interativo de árvore de diretório pode ser iniciado usando a opção \fB\-g\fR. .PP .Vb 1 \& wcd \-g .Ve .PP Wcd gera um arquivo de dados de árvore no qual ele pesquisa o diretório. Em sistemas Unix e Windows, wcd adiciona links simbólicos ao arquivo de dados de árvore ao varrer o disco, mas não os segue. Enquanto segue links, wcd poderia acabar varrendo loops infinitos, ou varrer porções muito grandes de uma rede. .PP Wcd também pode mudar para diretórios que não estejam no arquivo de dados de árvore. Ex.: .PP .Vb 1 \& wcd .. .Ve .PP Se wcd encontrou uma correspondência, mas não pode mudar para o diretório, ele tenta removê\-lo do arquivo de dados de árvore padrão. Porém, não remove o arquivo de dados de árvore extra. Veja também a opção \fB\-k\fR. .PP Wcd mantém uma pilha de diretórios que é armazenada no disco. A pilha possui um tamanho padrão de 10 e é cíclico. Veja as opções \fB\-z\fR, \fB\-\fR, \fB+\fR e \&\fB=\fR. .PP Em ambientes multiusuários, a opção \fB\-u\fR pode ser usada para alterar para os diretórios de outros usuários. .PP Nos sistemas \s-1DOS\s0 e Windows, não importa se você usa uma barra (\*(L"/\*(R") ou uma barra invertida (\*(L"\e\*(R") como separador de diretório. .PP É possível em sistemas \s-1DOS\s0 e Windows alterar a unidade e diretório de uma só vez precedendo o nome do diretório com o nome da unidade. .PP .Vb 1 \& wcd d:jogos .Ve .SS "Caminhos \s-1UNC\s0 do Windows" .IX Subsection "Caminhos UNC do Windows" As versões Windows (Command Prompt, PowerShell, \s-1MSYS,\s0 zsh, cygwin) oferecem suporte a caminhos \s-1UNC\s0 de rede \s-1SMB\s0 do Windows sem letra de unidade tal como \&\f(CW\*(C`\e\enomeservidor\enomecompartilhamento\*(C'\fR. Wcd para Prompt de Comando do Windows faz uso do comando \*(L"pushd\*(R" para mapear automaticamente um caminho \&\s-1UNC\s0 a uma letra de unidade. Em caminhos PowerShell do Windows, \s-1MSYS,\s0 zsh e Cygwin, há suporte completo a caminhos \s-1UNC. O\s0 diretório de trabalho atual pode ser um caminho \s-1UNC.\s0 .SS "Redimensionamento de console no Windows" .IX Subsection "Redimensionamento de console no Windows" Wcd possui suporte ao redimensionamento de console do Windows 10 e no ConEmu (consulte ) desde a versão 6.0.3. O console do Windows 10 não deve estar no modo legado (verifique as propriedades do console). A tela pode não ser atualizada quando a propriedade de layout do console \*(L"Ajustar saída de texto ao redimensionar\*(R" estiver desabilitado. A tela pode ser atualizada manualmente pressionando a tecla F5. .SS "Interfaces" .IX Subsection "Interfaces" Wcd possui três interfaces diferentes para escolher de uma lista de correspondências. A interface pode ser escolhida em tempo de compilação. .PP A primeira interface usa stdin/stdout simples. Uma lista numerada é exibida no terminal. O usuário tem que escolher a partir da lista digitando um número seguido por . Essa interface não fornece funcionalidade de rolagem para cima em caso de uma lista longa. A capacidade de rolagem para cima do terminal/console tem que ser usada. É bem pequena e portátil. .PP A segunda interface é feita com a biblioteca conio. Ela fornece uma capacidade embarcada de rolagem para cima. O usuário é apresentado a uma lista numerada com letras. A escolha de uma lista pode ser feita pressionando apenas uma letra. Essa interface é rápida porque ela economiza pressionamentos de teclas. Se possível, a tela será restaurada após sair. Aquele que preferir digitar números, pode usar a opção \fB\-N\fR. .PP A terceira interface é feita com a biblioteca curses. É similar à interface conio. A versão curses do wcd também possui uma interface \*(L"gráfica\*(R" adicional. Ela permite ao usuário selecionar um diretório por meio de um navegador de árvore de diretório interativa em tela cheia. Ela possui um método de pesquisa de navegação tipo \fIvim\fR\|(1). Ela pode ser ativada com a opção \fB\-g\fR. .PP Ao usar a opção \fB\-o\fR, é sempre possível voltar para a interface de stdin/stdout. .SH "OPÇÕES" .IX Header "OPÇÕES" .IP "\fB\-a\fR" 4 .IX Item "-a" Adiciona caminho atual ao arquivo de dados de árvore padrão. .Sp Use essa opção para adicionar rapidamente o caminho atual para o arquivo de dados de árvore padrão. Nova varredura do disco completo pode levar um longo tempo em alguns casos. .IP "\fB\-aa\fR" 4 .IX Item "-aa" Adiciona caminhos atual e seus respectivos pais ao arquivo de dados de árvore padrão. .IP "\fB\-A \s-1CAMINHO\s0\fR" 4 .IX Item "-A CAMINHO" Varre a árvore de diretório do \fI\s-1CAMINHO\s0\fR e anexa ao arquivo de dados de árvore padrão. Exemplos: .Sp .Vb 3 \& wcd \-A . \& wcd \-A /home \-A /etc \& wcd \-A d: \-A e: \-A \e\eservidor\ecompartilhamento .Ve .Sp No Windows, é possível varrer todos os diretórios compartilhados de um servidor de rede Windows digitando alguma coisa como: \f(CW\*(C`wcd \-A \&\e\enomeservidor\*(C'\fR. .Sp Veja também as opções \fB\-S\fR, \fB\-s\fR e \fB\-E\fR. .IP "\fB\-b\fR" 4 .IX Item "-b" Bane o caminho atual. .Sp Wcd coloca o caminho atual no arquivo de banimento. Isso significa que o wcd ignora todas as correspondências deste diretório e seus subdiretórios. .Sp O arquivo de banimento pode ser editado com um editor de texto. Há suporte ao uso de caracteres curingas e nome são combinados com o caminho absoluto. .Sp Caminhos banidos não são excluídos da varredura do disco. Para fazer isso, use a opção \fB\-xf\fR. .IP "\fB\-c, \-\-direct\-cd\fR" 4 .IX Item "-c, --direct-cd" Modo \s-1CD\s0 direto. Por padrão, wcd funciona da seguinte forma: .Sp .Vb 2 \& 1. Procura uma correspondência nos arquivos de dados de árvore \& 2. Se nada corresponder, tenta abrir o diretório que informado. .Ve .Sp No modo \s-1CD\s0 direto, wcd funciona na ordem inversa. .Sp .Vb 3 \& 1. Tenta abrir o diretório que você digitou. \& 2. Se não, tenta uma correspondência no(s) arquivo(s) de \& dados de árvore. .Ve .IP "\fB\-d \s-1UNIDADE\s0\fR" 4 .IX Item "-d UNIDADE" Define a unidade para arquivos de empilhamento & ir (\s-1DOS\s0 apenas). .Sp O arquivo de pilha e o go-script são armazenados, por padrão, na unidade C: se a variável de ambiente \fI\s-1HOME\s0\fR não estiver definida. Use essa opção se a unidade C: for uma unidade somente leitura. Essa opção deve ser usada na frente das opções de pilha \fB\-\fR, \fB+\fR e \fB=\fR. .IP "\fB\-e\fR" 4 .IX Item "-e" Adiciona caminho atual ao arquivo de dados de árvore extra. .Sp Use essa opção para adicionar rapidamente o caminho atual ao arquivo de dados de árvore extra. .IP "\fB\-ee\fR" 4 .IX Item "-ee" Adiciona caminhos atual e todos os pais ao arquivo de dados de árvore padrão. .IP "\fB\-E \s-1CAMINHO\s0\fR" 4 .IX Item "-E CAMINHO" Varre a árvore de diretório de \fI\s-1CAMINHO\s0\fR e anexa ao arquivo de dados de árvore extra. Veja também as opções \fB\-A\fR e \fB\-S\fR. .IP "\fB\-f \s-1ARQUIVO\s0\fR" 4 .IX Item "-f ARQUIVO" Lê o arquivo de dados de árvore \fI\s-1ARQUIVO\s0\fR. Não lê o arquivo de dados de árvore padrão. .IP "\fB+f \s-1ARQUIVO\s0\fR" 4 .IX Item "+f ARQUIVO" Lê o arquivo de dados de árvore \fI\s-1ARQUIVO\s0\fR, além do arquivo de dados de árvore padrão. .IP "\fB\-g\fR" 4 .IX Item "-g" Interface gráfica (apenas na versão com interface curses). .Sp Wcd inicia um curses textual baseado em interface \*(L"gráfica\*(R". O usuário pode selecionar um diretório por um navegador interativo de árvore de diretórios de tela cheia. Ele possui um método e navegação tipo \fIvim\fR\|(1). .Sp Se nenhuma string de pesquisa for dada, wcd apresenta toda a árvore que está no arquivo de dados de árvore padrão e nos arquivos de dados de árvore extras. .Sp Se uma string de pesquisa for dada, a lista de correspondência é apresentada como uma árvore de diretório. .Sp O layout de árvore padrão é similar ao layout de árvore do \s-1NCD\s0 original no \&\s-1DOS. A\s0 diferença no layout é que no \s-1NCD\s0 todos os diretórios do mesmo nível de profundidade eram alinhados verticalmente por toda a árvore. Isso era possível no \s-1NCD\s0 porque a largura máxima de um nome de diretório no \s-1DOS\s0 era 12 (8,3) caracteres. Em sistemas operacionais modernos, nomes de diretório podem ser muito longos, assim como as diferenças no tamanho podem ser grandes. Portanto, pastas com uma mesma profundidade não são alinhadas verticalmente por toda a árvore no wcd, mas apenas em sub-ramos. Então, há alguns movimentos laterais ao mover para cima ou para baixo de um sub-ramo para outro sub-ramo. .Sp O comportamento de navegação no Wcd é exatamente o mesmo que no \s-1NCD\s0 original. Por exemplo, se você pressionar a tecla de seta para Baixo, você desce para o próximo diretório com o mesmo nível de profundidade, pulando por ramos. Isso permite navegação rápida pela árvore. .Sp Veja as opções \fB\-Ta\fR, \fB\-TC\fR e \fB\-Tc\fR para alterar o comportamento de navegação. .IP "\fB\-gd\fR" 4 .IX Item "-gd" Despeja os arquivos de dados de árvore como uma árvore para stdout. .IP "\fB\-G \s-1CAMINHO\s0\fR" 4 .IX Item "-G CAMINHO" Escreve o go-script no diretório \fI\s-1CAMINHO\s0\fR. Por exemplo no Unix, \f(CW\*(C`wcd \-G CAMINHO\*(C'\fR vai escrever um go-script \fBCAMINHO/wcd.go\fR. .IP "\fB\-GN, \-\-no\-go\-script\fR" 4 .IX Item "-GN, --no-go-script" Não cria go-script. Essa opção pode ser usada em combinação com a opção \&\fB\-j\fR caso não se deseje que o wcd crie um go-script. .IP "\fB\-h, \-\-help\fR" 4 .IX Item "-h, --help" Mostra a ajuda e sai. .IP "\fB\-i, \-\-ignore\-case\fR" 4 .IX Item "-i, --ignore-case" Ignora a diferença entre maiúsculo e minúsculo. Versões Dos e Windows do wcd ignoram tal diferença por padrão. Versões Unix/Cygwin levam em consideração a maiúsculo e minúsculo por padrão. .IP "\fB+i, \-\-no\-ignore\-case\fR" 4 .IX Item "+i, --no-ignore-case" Considera a diferença entre maiúsculo e minúsculo. Veja também a opção \&\fB\-i\fR. .IP "\fB\-I, \-\-ignore\-diacritics\fR" 4 .IX Item "-I, --ignore-diacritics" Ignora diacríticos para scripts baseados em Latim. Letras com marcas diacríticas correspondem sua letra base sem marca diacrítica. Há suporte às seguintes codificações Latim: \s-1CP437, CP850, CP852, CP1250, CP1252, ISO\-8859\-1, ISO\-8859\-2\s0 e Unicode Latim\-1, Latim Estendido-A e Latim Estendido-B. Veja também .IP "\fB+I, \-\-no\-ignore\-diacritics\fR" 4 .IX Item "+I, --no-ignore-diacritics" Considera diacríticos (padrão). Veja também a opção \fB\-I\fR. .IP "\fB\-j, \-\-just\-go\fR" 4 .IX Item "-j, --just-go" Modo \*(L"just go\*(R". .Sp Neste modo, wcd não apresentará uma lista quando houver mais de um diretório que corresponde ao diretório dado. Wcd vai apenas mudar para a primeira opção. Quando wcd é invocado novamente com os mesmos argumentos, ele vai mudar para a próxima opção, e por aí vai. .Sp Wcd vai imprimir o diretório para ir para stdout. Então, um método de instalação diferente pode ser usado. Pode-se fazer a seguinte função para um shell compatível com \s-1POSIX:\s0 .Sp .Vb 4 \& wcd () \& { \& cd "$($HOME/bin/wcd.exe \-j $@)" \& } .Ve .Sp Quando você está usando um shell antigo que não oferece suporte o comando de substituição \*(L"$()\*(R", você tem que usar substituição de comando estilo antigo com acento grave (\*(L"back-quote\*(R"). .Sp .Vb 4 \& wcd () \& { \& cd "\`$HOME/bin/wcd.exe \-j $@\`" \& } .Ve .Sp Em sistemas Windows, se estiver executando shell 4NT, pode-se usar o seguinte alias: .Sp .Vb 1 \& alias wcd \`cd %@execstr[wcdwin32.exe \-z 0 \-j %1]\` .Ve .Sp Esse método elimina a necessidade do go-script, então pode-se usar a opção \&\fB\-GN\fR em combinação com \fB\-j\fR. .IP "\fB\-k, \-\-keep\-paths\fR" 4 .IX Item "-k, --keep-paths" Mantém caminhos. .Sp Mantém caminhos no arquivo de dados de árvore quando wcd não consegue mudar para eles. O comportamento padrão de wcd é tentar remover caminhos dos dados de árvore quando wcd não puder mudar para eles. Com essa opção, esse comportamento é desativado. .IP "\fB\-K, \-\-color\fR" 4 .IX Item "-K, --color" Usa cores no modo gráfico. .IP "\fB\-l \s-1ALIAS\s0\fR" 4 .IX Item "-l ALIAS" Nome do caminho atual com \fI\s-1ALIAS\s0\fR. Wcd coloca o caminho atual com alias \&\fI\s-1ALIAS\s0\fR no arquivo de alias. Aliases diferenciam maiúsculo de minúsculo. .IP "\fB\-ls\fR" 4 .IX Item "-ls" Mostra o nome do arquivo de alias e lista todos os aliases. .IP "\fB\-m \s-1DIR\s0\fR" 4 .IX Item "-m DIR" Cria o diretório e adiciona o arquivo de dados de árvore. .IP "\fB\-L, \-\-license\fR" 4 .IX Item "-L, --license" Exibe a licença de distribuição. .IP "\fB\-M \s-1DIR\s0\fR" 4 .IX Item "-M DIR" Cria o diretório e adiciona o arquivo de dados de árvore extra. .IP "\fB\-n \s-1CAMINHO\s0\fR" 4 .IX Item "-n CAMINHO" Lê o arquivo de dados de árvore relativos a partir de \fI\s-1CAMINHO\s0\fR. .Sp Não lê o arquivo de dados de árvore padrão. O arquivo de dados de árvore relativos já deve ter sido criado usando a opção \fB+S\fR do wcd. \fI\s-1CAMINHO\s0\fR também pode apontar para um arquivo diretamente. .Sp Um exemplo. Suponha que um outro sistema montou no ponto de montagem \&\f(CW\*(C`/mnt/rede\*(C'\fR: .Sp .Vb 1 \& wcd \-n /mnt/rede src .Ve .Sp Wcd abre o arquivo de dados de árvore relativo em \f(CW\*(C`/mnt/rede/\*(C'\fR. O arquivo contém os caminhos relativos a partir daquele ponto. .IP "\fB+n \s-1CAMINHO\s0\fR" 4 .IX Item "+n CAMINHO" Lê arquivo de dados de árvore relativos, além do arquivo de dados de árvore padrão. Veja a opção \fB\-n\fR. .IP "\fB\-N, \-\-numbers\fR" 4 .IX Item "-N, --numbers" Usa números em vez de letras. .Sp Wcd com um interface baseada no conio ou curses (veja a seção Interfaces) apresenta uma lista de correspondência numerada com letras por padrão. Quando a opção \fB\-N\fR é usada, a lista de correspondência é numerada com números. Independente da opção \fB\-N\fR, pode-se digitar uma letra ou número para fazer uma seleção a partir da lista de correspondências. .IP "\fB\-o\fR" 4 .IX Item "-o" Usa interface de stdin/stdout. .Sp Quando por algum motivo a interface conio ou curses do wcd não funcionar, pode-se usar a interface stdin/stdout do wcd usando a opção \fB\-o\fR. .IP "\fB\-od, \-\-to\-stdout\fR" 4 .IX Item "-od, --to-stdout" Despeja todas as correspondências para a stdout. .IP "\fB\-q, \-\-quiet\fR" 4 .IX Item "-q, --quiet" Operação mais silenciosa. A exibição da correspondência final é suprimida. .IP "\fB\-r \s-1DIR\s0\fR" 4 .IX Item "-r DIR" Remove o diretório e remove o arquivo de dados de árvore. .Sp Se o diretório estiver vazio, wcd vai removê\-lo e também vai tentar removê\-lo do arquivo de dados de árvore. .IP "\fB\-rmtree \s-1DIR\s0\fR" 4 .IX Item "-rmtree DIR" Remove recursivamente o diretório e remove o arquivo de dados de árvore. .Sp Wcd vai remover o diretório e todos seus subdiretórios e arquivos, e remove os diretórios do arquivo de dados de árvore. .IP "\fB\-s\fR" 4 .IX Item "-s" Varre (novamente) o disco a partir do diretório \f(CW$HOME\fR. Se \fI\s-1HOME\s0\fR não estiver definido, o disco é varrido a partir do diretório raiz /. .Sp O arquivo de dados de árvore existente é sobrescrito. .Sp O diretório de varredura padrão pode ser sobreposto com a variável de ambiente \f(CW\*(C`WCDSCAN\*(C'\fR. Veja a seção VARIÁVEIS \s-1DE AMBIENTE.\s0 .IP "\fB\-S \s-1CAMINHO\s0\fR" 4 .IX Item "-S CAMINHO" Varre a árvore de diretórios a partir de \fI\s-1CAMINHO\s0\fR e sobrescreve o arquivo de dados de árvore padrão. Veja também as opções \fB\-A\fR, \fB\-s\fR e \fB\-E\fR. Por exemplo, com a opção \fB\-A\fR você pode criar um arquivo de dados de árvore padrão de sua escolha. Exemplos: .Sp Unix: .Sp .Vb 2 \& wcd \-S / \& wcd \-S /home \-A /etc \-A /usr .Ve .Sp DOS/Windows: .Sp .Vb 2 \& wcd \-S c:/ \& wcd \-S c: \-A d: \-A \e\eservidor\ecompartilhamento .Ve .Sp Com as versões Windows, é possível varrer todos os diretórios compartilhados de um servidor de rede Windows digitando alguma coisa como: \f(CW\*(C`wcd \-A \&\e\enomeservidor\*(C'\fR. .IP "\fB+S \s-1CAMINHO\s0\fR" 4 .IX Item "+S CAMINHO" Varre o disco a partir de \fI\s-1CAMINHO\s0\fR e coloca caminhos relativos em um arquivo de dados de árvore relativos. Esse arquivo é usado pelas opções \&\fB\-n\fR e \fB+n\fR do wcd. Por exemplo, \f(CW\*(C`wcd \-n CAMINHO src\*(C'\fR. .IP "\fB\-t\fR" 4 .IX Item "-t" Não remove o diretório de montagem temporário \f(CW\*(C`/tmp_mnt\*(C'\fR (Unix apenas) .Sp Wcd remove por padrão \f(CW\*(C`/tmp_mnt/\*(C'\fR da lista de correspondência. O diretório \&\f(CW\*(C`/tmp_mnt\*(C'\fR é usado pelo montador automático. Esse comportamento pode ser desativado com a opção \fB\-t\fR. .IP "\fB\-T, \-\-ascii\-tree\fR" 4 .IX Item "-T, --ascii-tree" Desenha a árvore com caracteres \s-1ASCII.\s0 Use essa opção se os caracteres de desenho de linha não forem exibidos adequadamente em seu terminal. .IP "\fB\-Ta, \-\-alt\-tree\-nav\fR" 4 .IX Item "-Ta, --alt-tree-nav" Forma alternativa de navegação na árvore gráfica. .Sp No layout de árvore de estilo padrão do \s-1NCD\s0 a opção \fB\-Ta\fR desabilita pular para diretórios não relacionados. .Sp No modo de árvore compacta, o modo alternativo faz navegação similar à dos gerenciadores de arquivo \s-1GUI\s0 como o Windows Explorer ou Linux \s-1KDE\s0 Konqueror. Pressionar Cima e Baixo move a pasta selecionada uma linha para cima ou para baixo. Pressionar Esquerda primeiro dobra as subpastas e o próximo movimento para Esquerda realmente move para esquerda. .Sp Você alternar em tempo real entre a navegação padrão e alternativa pressionando . .Sp Quando o modo de navegação alternativa estiver ativado, você verá um \*(L"A\*(R" no canto inferior direito. .IP "\fB\-TC, \-\-center\-tree\fR" 4 .IX Item "-TC, --center-tree" Visão centralizada na árvore gráfica. O diretório selecionado se mantém no meio da tela. O modo centralizado também pode ser ativado e desativado com a tecla na árvore gráfica. .Sp O comportamento padrão não centralizado, que minimiza o movimento de árvore, é o mesmo que no \s-1NCD\s0 original. .IP "\fB\-Tc, \-\-compact\-tree\fR" 4 .IX Item "-Tc, --compact-tree" Por padrão, a árvore \*(L"gráfica\*(R" é desenhada da mesma forma que o \s-1NCD\s0 original no \s-1DOS.\s0 No \s-1DOS,\s0 um caminho de diretório só poderia ter 66 caracteres no total. Com as estruturas de diretório profundas de hoje, a árvore pode se tornar bem ampla. Para superar isso, wcd pode desenhar a árvore em uma forma compacta, similar a maioria dos gerenciadores de arquivos \s-1GUI,\s0 com apenas uma pasta por linha. Use a opção \fB\-Tc\fR ou alterne em tempo real com a chave . .IP "\fB\-Td, \-\-cjk\-width\fR" 4 .IX Item "-Td, --cjk-width" Fontes \s-1CJK\s0 (chinês, japonês e coreano) legadas da Ásia Oriental possuem certos caracteres e símbolos de desenho de linha com uma largura de coluna de 2, enquanto a largura normal do Unicode para esses caracteres é 1 coluna. Por exemplo, a fonte raster chinesa \s-1CP936\s0 no Windows e a fonte Simsun. Use essa opção para um traçado correto da árvore gráfica quando uma fonte \s-1CJK\s0 legada é usada. .Sp Quando o modo \s-1CJK\s0 estiver ativado, você verá um \*(L"C\*(R" no canto inferior direito. .IP "\fB\-u USUÁRIO\fR" 4 .IX Item "-u USUÁRIO" Varre o arquivo de dados de árvore de outro usuário baseado em \fIUSUÁRIO\fR em vez de varrer o próprio arquivo de dados de árvore padrão. Veja também a seção VARIÁVEIS \s-1DE AMBIENTE\s0 por \fI\s-1WCDUSERSHOME\s0\fR. .Sp No Unix/Cygwin, o diretório base para diretórios home de usuários é presumido ser \f(CW\*(C`/home\*(C'\fR. Wcd vai procurar por \f(CW\*(C`/home/USUÁRIO/.treedata.wcd\*(C'\fR e \f(CW\*(C`/home/USUÁRIO/.wcd/.treedata.wcd\*(C'\fR, naquela ordem, e lê a primeira que existe e é legível. No DOS/Windows, o diretório base para diretórios home de usuários é presumido ser \f(CW\*(C`\e\eusers\*(C'\fR, então o wcd tenta ler \&\f(CW\*(C`\e\eusers\eUSUÁRIO\etreedata.wcd\*(C'\fR e \f(CW\*(C`\e\eusers\eUSUÁRIO\e.wcd\etreedata.wcd\*(C'\fR. .IP "\fB+u USUÁRIO\fR" 4 .IX Item "+u USUÁRIO" Lê o arquivo de dados de árvore padrão do USUÁRIO, além do próprio arquivo de dados de árvore. .IP "\fB\-v, \-\-verbose\fR" 4 .IX Item "-v, --verbose" Exibe mensagens verbosas. Com essa opção, wcd exibe todos os filtros, banimentos e exclusões. .IP "\fB\-V, \-\-version\fR" 4 .IX Item "-V, --version" Exibe informações da versão e sai. .IP "\fB\-w, \-\-wild\-match\-only\fR" 4 .IX Item "-w, --wild-match-only" Correspondência curinga, apenas. Trata todas as correspondências como correspondências curingas. .IP "\fB\-x \s-1CAMINHO\s0\fR" 4 .IX Item "-x CAMINHO" Exclui \fI\s-1CAMINHO\s0\fR da varredura. .Sp Quando essa opção é usada, wcd vai excluir \fI\s-1CAMINHO\s0\fR e todos seus subdiretórios quando wcd está varrendo um disco. Há suporte a caracteres curingas, os quais são correspondidos com os caminhos absolutos. A opção \&\fB\-x\fR pode ser usado múltiplas vezes. .Sp .Vb 1 \& wcd \-x \-x \-s .Ve .Sp A opção \fB\-x\fR deve ser usada na frente da qualquer opção de varredura (\fB\-s\fR, \fB\-S\fR, \fB+S\fR, \fB\-A\fR, \fB\-E\fR). .Sp Em sistemas DOS/Windows, deve-se especificar a letra da unidade dependendo de se a variável de ambiente \fI\s-1HOME\s0\fR ou \fI\s-1WCDHOME\s0\fR está definida. Se \fI\s-1HOME\s0\fR ou \fI\s-1WCDHOME\s0\fR estiver definida, é necessário especificar a letra da unidade. Um exemplo: .Sp .Vb 1 \& wcd \-x c:/temp \-S c: .Ve .Sp Do contrário, não especifique a letra da unidade. .Sp .Vb 1 \& wcd \-x /temp \-s .Ve .IP "\fB\-xf \s-1ARQUIVO\s0\fR" 4 .IX Item "-xf ARQUIVO" Exclui todos caminhos listados no \fI\s-1ARQUIVO\s0\fR da varredura. .Sp Quando essa opção é usada, wcd vai excluir todos os caminhos listados no \&\fI\s-1ARQUIVO\s0\fR e todos seus subdiretórios quando o wcd estiver varrendo um disco. Há suporte a caracteres curingas, os quais são correspondidos com os caminhos absolutos; um caminho por linha. Esteja ciente que wcd não vai ignorar espaços em brancos no início ou fim de uma linha, porque eles são caracteres legais em um nome de diretório. A opção \fB\-xf\fR pode ser usado múltiplas vezes. Quando se deseja excluir todos os caminhos banidos da varredura, pode-se fazer o seguinte (exemplo para wcd no Unix): .Sp .Vb 1 \& wcd \-xf ~/.ban.wcd \-s .Ve .Sp Há suporte a caracteres curingas. Por exemplo, para excluir todos os seus diretórios Subversion com arquivos administrativos, adicione uma linha com \&\f(CW\*(C`*/.svn\*(C'\fR. .Sp A opção \fB\-xf\fR deve ser usada na frente da qualquer opção de varredura (\fB\-s\fR, \fB\-S\fR, \fB+S\fR, \fB\-A\fR, \fB\-E\fR). .IP "\fB\-y, \-\-assume\-yes\fR" 4 .IX Item "-y, --assume-yes" Presume \*(L"Sim\*(R" para todas as perguntas. .Sp Wcd não vai consultar o usuário com perguntas de sim/não, mas presume que o usuário responde sim em todas as perguntas. Isso pode ser usado em combinação com a opção \fB\-rmtree\fR. Essa opção deve ser usada na frente das opções que podem levar a perguntas sim/não. .IP "\fB\-z NÚMERO\fR" 4 .IX Item "-z NÚMERO" Define um tamanho mínimo da pilha com NÚMERO. .Sp O tamanho padrão da pilha é 10. Operação de pilha pode ser desativado ao definir o tamanho com 0. Essa opção deve ser usada na frente de qualquer outra operação de pilha (\fB\-\fR,\fB+\fR,\fB=\fR). Do contrário, o tamanho da pilha será definido de volta para o padrão 10. .Sp O comando correto é: .Sp .Vb 1 \& wcd \-z 50 \- .Ve .Sp O novo tamanho de pulha será 50, wcd irá uma diretório para trás. Um comando errado é: .Sp .Vb 1 \& wcd \- \-z 50 .Ve .Sp Wcd vai um diretório para trás, a pilha obtém o tamanho padrão 10. O \fB\-z 50\fR é ignorado. .Sp Adicione essa opção como a primeira opção a seu alias ou função de wcd. Por exemplo, para um shell compatível com \s-1POSIX,\s0 isso seria: .Sp .Vb 5 \& wcd () \& { \& wcd.exe \-z 50 "$@" \& . ${WCDHOME:\-${HOME}}/bin/wcd.go \& } .Ve .IP "\fB\-[NÚMERO]\fR" 4 .IX Item "-[NÚMERO]" Adiciona diretório NÚMERO de vezes. O padrão é um. .Sp Volta um diretório. O comando \f(CW\*(C`wcd \-\*(C'\fR volta apenas um diretório. Para voltar mais diretórios, adicione um número. Por exemplo, o comando \f(CW\*(C`wcd \&\-3\*(C'\fR. A pilha é cíclica. .IP "\fB+[NÚMERO]\fR" 4 .IX Item "+[NÚMERO]" Retira diretório NÚMERO de vezes. O padrão é um. .Sp Avança um diretório. O comando \f(CW\*(C`wcd +\*(C'\fR avança apenas um diretório. Para avançar mais diretórios, adicione um número. Por exemplo, o comando \f(CW\*(C`wcd +2\*(C'\fR. A pilha é cíclica. .IP "\fB=\fR" 4 .IX Item "=" Mostra a pilha. .Sp Use essa opção se você não sabe mais quantas vezes adicionar ou retirar. A pilha é exibida e você pode escolher um número. O lugar atual na pilha é marcado com um asterisco \f(CW\*(C`*\*(C'\fR. .SH "INSTALAÇÃO" .IX Header "INSTALAÇÃO" O diretório de trabalho atual de um shell do Unix só pode ser mudado pelo comando embarcado \fIcd\fR\|(1). Portanto, o programa é sempre chamado por uma função ou um alias. A função ou alias serve de fonte para um script shell (go-script) que é gerado pelo programa wcd. Wcd só pode funcionar após a função ou o alias ser definido. .PP Uma outra influência importante em sua instalação é a definição de variáveis de ambiente \fI\s-1HOME\s0\fR e \fI\s-1WCDHOME\s0\fR. Veja a seção VARIÁVEIS \s-1DE AMBIENTE.\s0 .SS "Instalação para shells de tipo \s-1POSIX\s0" .IX Subsection "Instalação para shells de tipo POSIX" Para um shell \s-1POSIX\s0 (ksh, bash, zsh etc.) no Unix, Linux, Cygwin ou \s-1MSYS\s0 nativo, adicione a seguinte função ao arquivo de inicialização do shell (ex.: Bash usa \f(CW\*(C`$HOME/.bashrc\*(C'\fR): .PP .Vb 5 \& wcd () \& { \& CAMINHO/wcd.exe "$@" \& . ${WCDHOME:\-${HOME}}/bin/wcd.go \& } .Ve .PP Substitua \fI\s-1CAMINHO\s0\fR com a localização onde o executável wcd foi instalado. Recarregue os arquivos de inicialização do shell ou inicie o novo shell. .PP A localização do go-script \f(CW\*(C`wcd.go\*(C'\fR se difere por shell. .PP Wcd para bash de \s-1DOS\s0 do \s-1DJGPP\s0 e bash de \s-1OS/2\s0 exige uma função diferente. O go-script não é escrito em um diretório \f(CW\*(C`bin\*(C'\fR, e se \fI\s-1WCDHOME\s0\fR e \fI\s-1HOME\s0\fR não estão definidos, o go-script é escrito no c:/. .PP Bash de \s-1DOS:\s0 .PP .Vb 5 \& wcd () \& { \& CAMINHO/wcdbash.exe "$@" \& . ${WCDHOME:\-${HOME:\-"c:"}}/wcd.go \& } .Ve .PP Bash de \s-1OS/2:\s0 .PP .Vb 5 \& wcd () \& { \& CAMINHO/wcdos2bash.exe "$@" \& . ${WCDHOME:\-${HOME:\-"c:"}}/wcd.go \& } .Ve .PP A versão WinZsh do wcd exige uma função um pouco diferente. O go-script nunca vai ser escrito no c:/. .PP .Vb 5 \& wcd () \& { \& CAMINHO/wcdwin32zsh.exe "$@" \& . ${WCDHOME:\-${HOME}}/wcd.go \& } .Ve .PP Veja a seção \s-1ARQUIVOS\s0 para mais informações. .SS "Instalação para shells parecidos com C (csh, tcsh)" .IX Subsection "Instalação para shells parecidos com C (csh, tcsh)" Adicione o seguinte alias para o arquivo de inicialização de shell \&\f(CW\*(C`$HOME/.cshrc\*(C'\fR ou \f(CW\*(C`$HOME/.tcshrc\*(C'\fR : .PP .Vb 5 \& if ( ${?WCDHOME} ) then \& alias wcd "CAMINHO/wcd.exe \e!* ; source $WCDHOME/bin/wcd.go" \& else \& alias wcd "CAMINHO/wcd.exe \e!* ; source $HOME/bin/wcd.go" \& endif .Ve .PP Substitua \fI\s-1CAMINHO\s0\fR com a localização onde o executável wcd foi instalado. Recarregue os arquivos de inicialização do shell ou inicie um novo shell. .SS "Versão para Prompt de Comando do Windows" .IX Subsection "Versão para Prompt de Comando do Windows" Descompacte o arquivo zip e adicione o diretório \f(CW\*(C`bin\*(C'\fR à sua variável de ambiente \fI\s-1PATH\s0\fR. .PP No Prompt de Comando do Windows, um programa Windows não pode mudar o diretório de trabalho atual, mas um arquivo .bat pode. O script batch \&\f(CW\*(C`wcd.bat\*(C'\fR executa o programa que gera um novo script batch \&\f(CW\*(C`wcdgo.bat\*(C'\fR. Então, \f(CW\*(C`wcd.bat\*(C'\fR executa \f(CW\*(C`wcdgo.bat\*(C'\fR que, finalmente, muda o diretório. .SS "Windows \s-1VISTA\s0 ou maios novo" .IX Subsection "Windows VISTA ou maios novo" Em um Prompt de Comando do Windows \s-1VISTA,\s0 ou mais novo, você pode ter acesso limitado aos diretórios. Para obter acesso a mais diretórios você precisa de permissões administrativas. Você pode obter um Prompt de Comando com permissões administrativas se você clicar com botão direito do mouse no ícone do Prompt de Comando e selecionar \fIExecutar como administrador\fR. .SS "Versão para PowerShell do Windows" .IX Subsection "Versão para PowerShell do Windows" Adicione a seguinte função a seu perfil de usuário PowerShell. A localização deste perfil é armazenada na variável \f(CW$profile\fR. É necessário que uma das variáveis de ambiente \fI\s-1HOME\s0\fR ou \fI\s-1WCDHOME\s0\fR esteja definida. .PP .Vb 5 \& function wcd \& { \& CAMINHO\ewcdwin32psh.exe $args \& & $env:HOME\ewcdgo.ps1 \& } .Ve .PP Substitua \fI\s-1CAMINHO\s0\fR com a localização na qual o executável wcd foi instalado. Inicie um novo PowerShell. Wcd para PowerShell só oferece suporte ao provedor de sistema de arquivo. A nenhum outro provedor. .SS "Versão de Prompt de Comando do \s-1OS/2\s0" .IX Subsection "Versão de Prompt de Comando do OS/2" Em um Prompt de Comando de \s-1OS/2\s0 (cmd.exe), um programa do \s-1OS/2\s0 não pode mudar o diretório de trabalho atual. É por isso que o wcd gera um script de comando \f(CW\*(C`wcdgo.cmd\*(C'\fR que deve ser executado no shell atual. O script \&\f(CW\*(C`wcd.cmd\*(C'\fR primeiro executa \f(CW\*(C`wcdos2.exe\*(C'\fR, o qual cria o script \&\f(CW\*(C`wcdgo.cmd\*(C'\fR. Então, \f(CW\*(C`wcd.cmd\*(C'\fR executa o script \f(CW\*(C`wcdgo.cmd\*(C'\fR. .SH "LOCALIZAÇÃO" .IX Header "LOCALIZAÇÃO" .IP "\fB\s-1LANG\s0\fR" 4 .IX Item "LANG" O idioma principal é selecionado com a variável de ambiente \fI\s-1LANG\s0\fR. A variável \fI\s-1LANG\s0\fR consiste em diversas partes. A primeira parte está em letras minúsculas do código do idiomas. A segunda é opcional e é o país do código em letras maiúsculas, precedida com um sublinhado. Há também uma terceira parte opcional: codificação de caracteres, precedida com um ponto. Alguns poucos exemplos para shells de tipo padrão \s-1POSIX:\s0 .Sp .Vb 6 \& export LANG=nl Holandês \& export LANG=nl_NL Holandês, Holanda \& export LANG=nl_BE Holandês, Bélgica \& export LANG=es_ES Espanhol, Espanha \& export LANG=es_MX Espanhol, México \& export LANG=en_US.iso88591 Inglês, EUA, codificação Latin\-1 .Ve .Sp Para uma lista completa de códigos de idioma e país, veja o manual do \&\fIgettext\fR\|(1): Em sistemas Unix, você pode usar o comando \fIlocale\fR\|(1) para obter informações específicas de localidade. .IP "\fB\s-1LANGUAGE\s0\fR" 4 .IX Item "LANGUAGE" Coma a variável de ambiente \fI\s-1LANGUAGE\s0\fR você pode especificar uma lista de prioridade de idiomas, separada por caracteres de dois pontos. Wcd dá preferência a \fI\s-1LANGUAGE\s0\fR sobre \fI\s-1LANG\s0\fR. Por exemplo, primeiro holandês e depois alemão: \f(CW\*(C`LANGUAGE=nl:de\*(C'\fR. Você tem que primeiro habilitar a localização, definindo \fI\s-1LANG\s0\fR ou \fI\s-1LC_ALL\s0\fR para um outro valor além de \&\fIC\fR, antes que você possa usar uma lista de prioridade de idiomas por meio da variável \fI\s-1LANGUAGE\s0\fR. Veja também o manual do gettext (1): .Sp Se você selecionou um idioma que não está disponível, você terá as mensagens padrões em inglês. .IP "\fB\s-1WCDLOCALEDIR\s0\fR" 4 .IX Item "WCDLOCALEDIR" Com a variável de ambiente \fI\s-1WCDLOCALEDIR\s0\fR, o valor de \fI\s-1LOCALEDIR\s0\fR usado durante a compilação e instalação de wcd pode ser sobreposto. \fI\s-1LOCALEDIR\s0\fR é usado pelo wcd com suporte nativo a idioma para localizar os arquivos de idioma. O valor padrão do \s-1GNU\s0 é \f(CW\*(C`/usr/local/share/locale\*(C'\fR. Ao digitar \f(CW\*(C`wcd \&\-V\*(C'\fR, wcd vai exibir o \fI\s-1LOCALEDIR\s0\fR que é usado. .Sp Se você instalou o wcd em um diretório diferente do diretório padrão, você pode precisar definir a variável de ambiente \fI\s-1WCDLOCALEDIR\s0\fR para apontar para o diretório da localidade. .Sp Um exemplo para cmd do Windows: .Sp .Vb 1 \& set WCDLOCALEDIR=c:/meu_prefixo/share/locale .Ve .Sp Um exemplo para shell \s-1POSIX:\s0 .Sp .Vb 1 \& export WCDLOCALEDIR=$HOME/share/locale .Ve .IP "\fB\s-1LC_COLLATE\s0\fR" 4 .IX Item "LC_COLLATE" Quando há múltiplas correspondências de diretório, wcd apresenta uma lista ordenada. As ordenação de dependências nas configurações de localidade. Se a variável de ambiente \fI\s-1LANG\s0\fR foi definida, as correspondências são ordenadas como dicionários ou agendas telefônicas são ordenadas naquele idioma. Por exemplo, pontos e traços são ignorados, ou letras \*(L"e\*(R" com e sem acento são iguais, ou a diferença entre minúsculo e maiúsculo é ignorada. .Sp A ordenação dá preferência para a variável de ambiente \fI\s-1LC_COLLATE\s0\fR sobre \&\fI\s-1LANG\s0\fR. Se você definir \fI\s-1LC_COLLATE\s0\fR com valor \f(CW\*(C`C\*(C'\fR ou \f(CW\*(C`POSIX\*(C'\fR, a ordenação de localidade é desativada. Por exemplo, se você deseja o idioma holandês, mas não deseja a ordenação holandesa, você pode fazer algo como isso: .Sp .Vb 2 \& export LANG=nl_NL \& export LC_COLLATE=C .Ve .IP "\fB\s-1LC_CTYPE\s0\fR" 4 .IX Item "LC_CTYPE" Em relação à codificação de caracteres, wcd vai dar preferência à variável \&\fI\s-1LC_CTYPE\s0\fR sobre \fI\s-1LANG\s0\fR. Por exemplo, para definir a codificação de caracteres para \s-1UTF\-8,\s0 a definição da seguinte variável de ambiente pode ser feita. .Sp .Vb 1 \& export LC_CTYPE=en_US.UTF\-8 .Ve .IP "\fB\s-1LC_ALL\s0\fR" 4 .IX Item "LC_ALL" Todas as variáveis de ambiente de localidade que iniciam com \fI\s-1LC_\s0\fR são sobrepostas para variável de ambiente \fI\s-1LC_ALL\s0\fR, se estiver definida. Wcd dá preferência a \fI\s-1LC_ALL\s0\fR sobre \fI\s-1LC_COLLATE\s0\fR e \fI\s-1LC_CTYPE\s0\fR. .SS "PÁGINAS \s-1DE\s0 CÓDIGO \s-1DO WINDOWS\s0" .IX Subsection "PÁGINAS DE CÓDIGO DO WINDOWS" Há dois grupos de páginas de códigos: páginas de código \s-1DOS\s0 (\s-1OEM\s0) e páginas de códigos Windows (\s-1ANSI\s0). A codificação padrão do Windows, quando configurado com configurações regionais Western, é \s-1ANSI CP1252.\s0 Programas do Windows, como o bloco de notas, usam essa página de código \s-1ANSI\s0 padrão do sistema. O console do Windows usa por padrão uma página de código \s-1OEM\s0 (\s-1CP437\s0 ou \s-1CP850\s0) para compatibilidade com programas \s-1DOS.\s0 Se você usa uma versão \s-1DOS\s0 do wcd em um console Windows, ele vai funcionar por causa da página de código \s-1DOS.\s0 Mas a versão \s-1DOS\s0 do wcd carece de suporte a nomes de diretórios longos e unidades de rede no Windows. .PP A versão Windows do wcd é um programa nativo do Windows e vai usar a página de código \s-1ANSI\s0 de sistema Windows. Então, em um Windows com região Western, será usada a página de código \s-1CP1252\s0 para nomes de diretório e mensagens. Para obter uma saída consistente, independente da página de código ativa, todas as versões Windows do wcd traduzem a saída \s-1ANSI\s0 para saída Unicode no Prompt de Comando e no PowerShell. .PP A fonte raster de console só oferece suporte à página de código \s-1OEM\s0 original instalada com Windows, então você terá que alterar a fonte de console para true type Console Lucida para fazer letras Unicode (e \s-1ANSI\s0) aparecerem corretamente. .PP Versões não Unicode do wcd \fIanterior à versão 5.2.0\fR usam saída \s-1ANSI\s0 simples. Para essas versões antigas, a página de código do console tem que ser feita igual à página de código de sistema (alterada para 1252) para fazer wcd para Windows funcionar adequadamente com caracteres especiais como caracteres acentuados ou símbolo de Euro. .PP A página de código de sistema do Windows pode ser alterada via as opções regionais no Painel de Controle. A página de código de console Windows é alterada com o comando \f(CW\*(C`chcp\*(C'\fR. .PP Quando você digita \f(CW\*(C`wcd \-V\*(C'\fR, a codificação de caracteres usada por wcd é mostrada. Digite o comando \f(CW\*(C`chcp\*(C'\fR para exibir a página de código ativa do console Windows. .SS "\s-1UNICODE\s0" .IX Subsection "UNICODE" Wcd possui suporte opcional a Unicode. Para ver se wcd foi compilado com suporte a Unicode, digite \f(CW\*(C`wcd \-V\*(C'\fR. Se seu terminal/console e a fonte oferecem suporte a ele, você deve ver o símbolo de Euro e caracteres chineses. .PP Wcd foi \fIparcialmente\fR convertido em Unicode. Em seu núcleo, wcd lida com todos os dados como um fluxo de bytes. Apenas nas linhas exibidas na tela são convertidas para caracteres amplos Unicode. Wcd depende completamente das funções libc e não possui um código específico \s-1UTF\-8.\s0 Veja também .PP Wcd possui suporte opcional a correspondência Unicode com normalização. Para descobrir se wcd possui suporte a normalização, digite \f(CW\*(C`wcd \-V\*(C'\fR. Wcd com suporte a normalização Unicode vai corresponder nomes Unicode baseados em equivalência \fIcompatível\fR. Sem suporte a normalização Unicode, nomes são correspondidos quando eles são equivalente binário. Veja também .PP \fI\s-1UTF\-8\s0 no Unix/Linux\fR .IX Subsection "UTF-8 no Unix/Linux" .PP Para ver caracteres \s-1UTF\-8,\s0 seu console/terminal também precisa ter suporte a \&\s-1UTF\-8. A\s0 versão xterm que vem com o XFree86 4.0 ou mais novo inclui suporte a \s-1UTF\-8.\s0 Para ativá\-lo, inicie \fIxterm\fR\|(1) em uma localidade \s-1UTF\-8\s0 e use uma fonte com codificação iso10646\-1, por exemplo, com .PP .Vb 1 \& LC_CTYPE=en_GB.UTF\-8 xterm \-u8 \-fn \*(Aq\-Misc\-Fixed\-Medium\-R\-SemiCondensed\-\-13\-120\-75\-75\-C\-60\-ISO10646\-1\*(Aq .Ve .PP Distribuições modernas do GNU/Linux oferecem suporte a \s-1UTF\-8\s0 por padrão. Outras codificações de caracteres multibyte também devem funcionar, mas isso ainda não foi testado. .PP Wcd presume que os arquivos de dados de árvore estejam codificados na codificação de caractere de localidade. Não há Marca de Ordem de Bytes (B.O.M.) escrita em arquivos de dados de árvore. .PP \fI\s-1UTF\-16\s0 no Windows\fR .IX Subsection "UTF-16 no Windows" .PP No Windows, há suporte a Unicode em todas as versões do PowerShell e no Prompt de Comando do Windows 7 (ou mais novo). Unicode também funciona no Take Command, ou \s-1TCC/LE,\s0 feito pela \s-1JP\s0 Software, que pode ser usado em versões mais antigas do Windows (XP/Vista). .PP No Windows, todos os nomes de diretórios no disco são codificados em Unicode \&\s-1UTF\-16.\s0 Para programas não Unicode do Windows, os caracteres Unicode são traduzidos para a página de código \s-1ANSI\s0 padrão. Para caracteres que não são parte da configuração regional, essa tradução não é possível e programas não Unicode exibem uma interrogação ou um caractere errado. .PP Wcd com suporte a Unicode vai ler os nomes de diretórios codificados em \&\s-1UTF\-16\s0 e convertê\-los internalmente em \s-1UTF\-8.\s0 Todos os arquivos de dados de árvore são codificados em \s-1UTF\-8\s0 e não compatível com a versão não Unicode do wcd. Wcd não vai criar um go-script codificado em \s-1UTF\-8.\s0 .PP Todas as versões do PowerShell do Windows são capazes de executar scripts codificados em \s-1UTF\-8,\s0 a menos que haja um \s-1BOM UTF\-8\s0 no script. .PP Desde o Windows 7 é possível no Prompt de Comando do Windows para mudar diretório com um script batch para um diretório com letras Unicode no nome. O nome do diretório precisa ser codificado em \s-1UTF\-8\s0 e o script batch \&\fInão\fR podem ter um \s-1BOM. A\s0 página de código ativo do Prompt de Comando precisa ser definido para 65001 (\s-1UTF\-8\s0) antes do comando cd. Wcd para Prompt de Comando vai criar um go-script \f(CW\*(C`wcdgo.bat\*(C'\fR. Ele primeiro muda a página de código para 65001, depois muda o diretório e, ao final, define a página de código de volta para a original. .PP Você precisa definir a fonte para True Type Lucida Console (fonte não raster) quando letras não aparecem corretamente. .PP A versão não Unicode Windows do wcd pode ler arquivos de dados de árvore Unicode desde a versão 5.2.0, desde que haja uma Marca de Ordem de Bytes (\s-1BOM\s0) no arquivo (veja ), mas ele não muda os diretórios com letras Unicode no nome que não são parte da página de código \s-1ANSI\s0 padrão do sistema. A versão Unicode Windows do wcd escreve um \&\s-1BOM\s0 nos arquivos de dados de árvore codificada em \s-1UTF\-8\s0 desde a versão 5.2.0, o que também os torna legível pelo notepad. .PP \fI\s-1UTF\-8\s0 no Cygwin\fR .IX Subsection "UTF-8 no Cygwin" .PP Cygwin oferece suporte a Unicode desde a versão 1.7. A camada do Cygwin tem o cuidado para que os nomes Unicode \s-1UTF\-16\s0 do Windows sejam convertidos para \&\s-1UTF\-8.\s0 Então os programas, como o wcd, não precisam estar cientes disto e podem operar usando codificação \s-1UTF\-8\s0 como no Unix/Linux. Defina a codificação de caracteres para \s-1UTF\-8\s0 com a variável de ambiente \fI\s-1LANG\s0\fR ou \&\fI\s-1LC_CTYPE\s0\fR. Você pode precisar varrer novamente suas unidades. Você precisa definir a fonte para True Type Lucida Console (fonte não raster) se você usa o console padrão do Cygwin. .PP A versão Cygwin se comporta exatamente como a versão Unix do wcd. Não há \s-1BOM\s0 escrito nos arquivos de dados de árvore e ele presume que eles estejam codificados na codificação de caracteres de localidade do \fBCygwin\fR. .SH "ARQUIVOS" .IX Header "ARQUIVOS" Se a variável de ambiente \fI\s-1WCDHOME\s0\fR estiver definido, wcd vai usar \&\fI\s-1WCDHOME\s0\fR em vez de \fI\s-1HOME\s0\fR. Todos os arquivos \f(CW\*(C`*.wcd\*(C'\fR são arquivos textos. Eles podem ser editados com um editor de texto. A versão do wcd para Prompt de Comando do Windows se comporta como a versão para \s-1DOS. A\s0 versão Cygwin do wcd se comporta como a versão Unix. .IP "\fBwcd.exe\fR" 4 .IX Item "wcd.exe" O programa. Em shells do Unix, o programa é sempre chamado por uma função ou alias porque o diretório de trabalho atual de um shell do Unix só pode ser mudado pelo comando embarcado cd. Veja também a seção INSTALAÇÃO. .IP "\fBarquivo de dados de árvore padrão\fR" 4 .IX Item "arquivo de dados de árvore padrão" Esse é o arquivo de dados de árvore padrão no qual wcd pesquisa por correspondências. Se ele não for legível, wcd vai criar um novo. .Sp .Vb 2 \& DOS: \etreedata.wcd or %HOME%\etreedata.wcd \& Unix: $HOME/.treedata.wcd .Ve .IP "\fBarquivo de dados de árvore extra\fR" 4 .IX Item "arquivo de dados de árvore extra" Um arquivo de dados de árvore extra e opcional. Se ele existir e for legível, wcd vai tentar localizar correspondências também neste arquivo. .Sp .Vb 2 \& DOS: \eextra.wcd or %HOME%\eextra.wcd \& Unix: $HOME/.extra.wcd .Ve .IP "\fBarquivo de banimento\fR" 4 .IX Item "arquivo de banimento" Neste arquivo opcional o wcd coloca os caminhos banidos. Veja a opção \&\fB\-b\fR. Há suporte a caracteres curingas. .Sp .Vb 2 \& DOS: \eban.wcd or %HOME%\eban.wcd \& Unix: $HOME/.ban.wcd .Ve .IP "\fBarquivos alias\fR" 4 .IX Item "arquivos alias" Arquivo opcional com aliases do wcd. Veja a opção \fB\-l\fR. .Sp .Vb 2 \& DOS: \ealias.wcd or %HOME%\ealias.wcd \& Unix: $HOME/.alias.wcd .Ve .IP "\fBarquivo de pilha\fR" 4 .IX Item "arquivo de pilha" Neste arquivo o wcd armazena sua pilha. A letra de unidade pode ser alterada com a opção \fB\-d\fR. .Sp .Vb 2 \& DOS: c:\estack.wcd or %HOME%\estack.wcd \& Unix: $HOME/.stack.wcd .Ve .Sp O nome do arquivo de pilha pode ser alterado com a variável de ambiente \&\fI\s-1WCDSTACKFILE\s0\fR. Veja a seção VARIÁVEIS \s-1DE AMBIENTE.\s0 .IP "\fBgo-script\fR" 4 .IX Item "go-script" Este é o script shell que wcd cria a cada vez. Ele é carregado por uma função ou um alias. A letra da unidade pode ser alterada com a opção \&\fB\-d\fR. Por motivos históricos, ele é colocado por padrão em \f(CW\*(C`$HOME/bin\*(C'\fR em sistemas Unix. O diretório neste arquivo pode ser alterado com a opção \&\fB\-G\fR. .Sp .Vb 8 \& bash do DOS: c:/wcd.go ou $HOME/wcd.go \& Prompt de Comando do Windows: c:\ewcdgo.bat ou %HOME%\ewcdgo.bat \& PowerShell do Windows: $env:HOME\ewcdgo.ps1 \& WinZsh: $HOME/wcd.go \& Cygwin/MSYS: $HOME/bin/wcd.go \& Prompt de Comando do OS/2: c:\ewcdgo.cmd ou %HOME%\ewcdgo.cmd \& bash do OS/2: c:/wcd.go ou $HOME/wcd.go \& Unix: $HOME/bin/wcd.go .Ve .IP "\fBarquivo de dados de árvore relativos\fR" 4 .IX Item "arquivo de dados de árvore relativos" Arquivo de texto com caminhos relativos a partir de \fI\s-1DIR\s0\fR. Veja \fB+S\fR, \&\fB\-n\fR e \fB+n\fR. .Sp .Vb 2 \& DOS: PATH\ertdata.wcd \& Unix: PATH/.rtdata.wcd .Ve .SH "VARIÁVEIS DE AMBIENTE" .IX Header "VARIÁVEIS DE AMBIENTE" .IP "\fB\s-1HOME\s0\fR" 4 .IX Item "HOME" Wcd usa por padrão a variável de ambiente \fI\s-1HOME\s0\fR para determinar onde deve armazenar seus arquivos. Veja também a seção \s-1ARQUIVOS.\s0 Isso pode ser sobreposto com a variável de ambiente \fI\s-1WCDHOME\s0\fR. .Sp \&\fI\s-1HOME\s0\fR também define por onde deve-se iniciar varrendo o disco quando a opção \fB\-s\fR é usada. Isso pode ser sobreposto com a variável de ambiente \&\fI\s-1WCDSCAN\s0\fR. .Sp Para a versão Unix, Cygwin, PowerShell do Windows, WinZsh e \s-1MSYS,\s0 é exigido que \fI\s-1HOME\s0\fR ou \fI\s-1WCDHOME\s0\fR esteja definida. Para outras versões do wcd, o uso dessas variáveis é opcional. .Sp Se \fI\s-1HOME\s0\fR estiver definido no DOS/Windows, wcd vai colocar todos seus arquivos (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) no diretório \&\fI\s-1HOME\s0\fR. O comportamento do wcd é, então, igual à versão Unix de wcd. Wcd vai varrer o disco padrão a partir de \fI\s-1HOME\s0\fR. Unidades não serão automaticamente varridas mudando para elas. Você precisa dizer wcd explicitamente. Ex.: .Sp .Vb 1 \& wcd \-S c: \-A d: \-A e: .Ve .Sp Correspondência de diretórios é agora global por todas as unidades varridas. .IP "\fB\s-1WCDHOME\s0\fR" 4 .IX Item "WCDHOME" A variável de ambiente \fI\s-1WCDHOME\s0\fR pode ser usada para alterar a localização de arquivos do wcd. Se ambas \fI\s-1HOME\s0\fR e \fI\s-1WCDHOME\s0\fR estiverem definidas, \&\fI\s-1WCDHOME\s0\fR será usada em vez de \fI\s-1HOME\s0\fR. .Sp Nas versões wcd antes de 5.1.5, \fI\s-1WCDHOME\s0\fR também mudava o diretório padrão de varredura. Isso foi alterado. Desde a versão 5.1.5, \fI\s-1WCDHOME\s0\fR não muda o diretório padrão de varredura. Veja a opção \fB\-s\fR. A partir da versão 5.1.5, use a variável de ambiente \fI\s-1WCDSCAN\s0\fR para sobrepor o diretório padrão de varredura. .Sp Exemplo para Prompt de Comando do \s-1DOS,\s0 do Windows e do \s-1OS/2:\s0 .Sp .Vb 1 \& set WCDHOME=C:\eUsers\eerwin\ewcd .Ve .Sp Um exemplo para shells de tipo \s-1POSIX:\s0 .Sp .Vb 1 \& export WCDHOME="$HOME/.wcd" .Ve .Sp Um exemplo para shells de tipo Csh: .Sp .Vb 1 \& setenv WCDHOME "$HOME/.wcd" .Ve .IP "\fB\s-1WCDSCAN\s0\fR" 4 .IX Item "WCDSCAN" Use a variável de ambiente \fI\s-1WCDSCAN\s0\fR para sobrepor o diretório padrão de varredura \fI\s-1HOME\s0\fR. Defina uma lista separada por dois pontos (Unix) para definir mais de um diretório. No DOS/Windows, separe a lista com ponto e vírgula. .Sp Exemplos para Prompt de Comando do \s-1DOS,\s0 Windows e \s-1OS/2:\s0 .Sp .Vb 1 \& set WCDSCAN=C:\eUsers\eerwin;D:\edata \& \& set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\e\eunidadeprojeto\eprojetoX .Ve .Sp Um exemplo para shells de tipo \s-1POSIX:\s0 .Sp .Vb 1 \& export WCDSCAN="$HOME:/unidadeprojeto/projetoX" .Ve .Sp Um exemplo para shells de tipo Csh: .Sp .Vb 1 \& setenv WCDSCAN "$HOME:/unidadeprojeto/projetoX" .Ve .IP "\fB\s-1WCDFILTER\s0\fR" 4 .IX Item "WCDFILTER" Especifique filtros com a variável de ambiente \fI\s-1WCDFILTER\s0\fR. Todos os diretórios que não correspondem ao(s) filtro(s) são ignorados. Uma lista pode ser especificada separando filtros por meio do separador de caminho do shell. Similar a especificar a variável \fI\s-1PATH\s0\fR. A diferenciação entre maiúsculo e minúsculo depende do sistema operacional. .Sp Um exemplo para Prompt de Comando do \s-1DOS,\s0 Windows e \s-1OS/2:\s0 .Sp .Vb 1 \& set WCDFILTER=projetos;doc .Ve .Sp Um exemplo para shells de tipo \s-1POSIX:\s0 .Sp .Vb 1 \& export WCDFILTER="projetos:doc" .Ve .Sp Um exemplo para shells de tipo Csh: .Sp .Vb 1 \& setenv WCDFILTER "projetos:doc" .Ve .IP "\fB\s-1WCDBAN\s0\fR" 4 .IX Item "WCDBAN" Os caminhos especificados com a variável de ambiente \fI\s-1WCDBAN\s0\fR serão banidos pelo wcd. Veja também a opção \fB\-b\fR. Especifique uma lista de caminhos separada por separador de \fI\s-1PATH\s0\fR do shell. .IP "\fB\s-1WCDEXCLUDE\s0\fR" 4 .IX Item "WCDEXCLUDE" Os caminhos especificados com ambiente \fI\s-1WCDEXCLUDE\s0\fR serão excluídos por wcd. Veja também as opções \fB\-x\fR e \fB\-xf\fR. Especifique uma lista de caminhos separada por separador de \fI\s-1PATH\s0\fR do shell. .Sp Um exemplo para Prompt de Comando do \s-1DOS,\s0 Windows e \s-1OS/2:\s0 .Sp .Vb 1 \& set WCDEXCLUDE=*/windows;*/temp;*CVS .Ve .Sp Um exemplo para shells de tipo \s-1POSIX:\s0 .Sp .Vb 1 \& export WCDEXCLUDE="/dev:/tmp:*CVS" .Ve .Sp Um exemplo para shells de tipo Csh: .Sp .Vb 1 \& setenv WCDEXCLUDE "/dev:/tmp:*CVS" .Ve .IP "\fB\s-1WCDUSERSHOME\s0\fR" 4 .IX Item "WCDUSERSHOME" Define a base de diretórios home do usuário. No DOS/Windows, o valor padrão é \f(CW\*(C`\e\eusers\*(C'\fR. No Unix/Cygwin, o valor padrão é \f(CW\*(C`/home\*(C'\fR. Essa variável é usada para varrer arquivos de dados de árvore de outros usuários. Veja também a opção \fB\-u\fR e \fB+u\fR. No modo verboso, wcd vai exibir todos os filtros, banimentos e exclusões. Veja a opção \fB\-v\fR. .IP "\fB\s-1WCDSTACKFILE\s0\fR" 4 .IX Item "WCDSTACKFILE" Wcd dá preferência a \fI\s-1WCDSTACKFILE\s0\fR sobre o nome de arquivo de pilha padrão (veja a seção \s-1ARQUIVOS\s0). Com essa variável, cada shell (ou emulador de terminal usado) pode ter sua pilha privada de diretórios usados. .Sp Para usar um tempo único baseado no arquivo YYYYMMDD-HHMMSS para cada shell interativo aberto: .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d\-%H%M%S) .Ve .Sp Para uma pilha per \fIxterm\fR\|(1), use a variável de ambiente \fI\s-1WINDOWID\s0\fR do xterm: .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID .Ve .Sp Para o \s-1GNU\s0 \fIscreen\fR\|(1), para usar pilha por tela: .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW .Ve .IP "\fB\s-1TERMINFO\s0\fR" 4 .IX Item "TERMINFO" Se a variável de ambiente \fI\s-1TERMINFO\s0\fR for usada, wcd com interface ncurses verifica por uma definição de terminal local antes de verificar no lugar padrão. Isso é útil se as definições de terminal não estiverem um lugar padrão. Lugares padrões geralmente usados são \f(CW\*(C`/usr/lib/terminfo\*(C'\fR e \&\f(CW\*(C`/usr/share/terminfo\*(C'\fR. .IP "\fB\s-1PDC_RESTORE_SCREEN\s0\fR" 4 .IX Item "PDC_RESTORE_SCREEN" Wcd com interface PDCurses reconhece a variável de ambiente \&\fI\s-1PDC_RESTORE_SCREEN\s0\fR. Se essa variável de ambiente estiver definida, PDCurses vai levar uma cópia dos conteúdos da tela no momento em que wcd for iniciado; quando wcd sair, a tela será restaurada. Um exemplo para Prompt de Comando do Windows: .Sp .Vb 1 \& set PDC_RESTORE_SCREEN=1 .Ve .Sp Windows só permite salvar um buffer pequeno. Então, não é sempre possível restaurar tudo. Alguns dados inúteis podem ser emitidos no console após o wcd sair, se você definir uma largura grande de buffer. .IP "\fB\s-1SHELL\s0\fR" 4 .IX Item "SHELL" Colocar do \f(CW\*(C`#!$SHELL\*(C'\fR na primeira linha do go-script para o shell de tipo \&\s-1POSIX\s0 ou shell C é necessário para caracteres de 8 bits. Do contrário, alguns shells pensarão que o go-script é um arquivo binário e não o carregarão. No bash do Cygwin, a variável \fI\s-1SHELL\s0\fR deve ser definida usando o comando \f(CW\*(C`export\*(C'\fR; do contrário, wcd não consegue ler a variável. .IP "\fB\s-1BASH\s0\fR" 4 .IX Item "BASH" Wcd para bash do \s-1DOS\s0 usa \f(CW$BASH\fR em vez de \f(CW$SHELL\fR, pois \f(CW$SHELL\fR aponta para o shell de comando do \s-1DOS.\s0 Pode ser necessário definir \f(CW$BASH\fR com o comando \f(CW\*(C`export\*(C'\fR; do contrário, wcd não consegue ler a variável. .SH "VEJA TAMBÉM" .IX Header "VEJA TAMBÉM" \&\fIsh\fR\|(1), \fIbash\fR\|(1), \fIcsh\fR\|(1), \fIksh\fR\|(1), \fIzsh\fR\|(1), \fIlocale\fR\|(1), \fIncurses\fR\|(1), .SH "AUTORES" .IX Header "AUTORES" Wcd foi escrito por Erwin Waterlander .PP Página do projeto: .PP SourceForge: .PP A formatação de página de manual foi fornecida por Jari Aalto . .PP \&\s-1NCD\s0 foi escrito originalmente por Brad Kingsbury para \*(L"Norton Utilities\*(R" do Peter Norton por volta de 1987. Veja também wcd-6.0.3/src/man/pt_BR/man1/wcd.htm0000644000175500010010000021001013524756535016250 0ustar waterlanGeen wcd 6.0.3 - Wherever Change Directory

NOME

wcd - Wherever Change Directory

Chdir para Dos e Unix

SINOPSE

    wcd [opções] [diretório]

DESCRIÇÃO

Visão geral

Wcd é um programa de linha de comando para mudar diretório rapidamente. Ele economiza tempo de digitar no teclado. É preciso digitar apenas uma parte de um nome de diretório e wcd vai pular para ele. Wcd possui um método de seleção rápida no caso de múltiplas correspondências e permite apelidamento (aliasing) e banimento de diretórios. Wcd também inclui um navegador de árvore de diretório interativa de tela cheia com pesquisa rápida.

Wcd foi modelado com base no Norton Change Directory (NCD). NCD apareceu primeiro em The Norton Utilities, versão 4, para DOS em 1987, publicado por Peter Norton.

Wcd foi portado para diferentes shells de linha de comando: command.com do DOS, cmd.exe e PowerShell do Windows, cmd.exe do OS/2 e shells do Unix, como os shells Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh) e C (csh) e outros funcionando em qualquer sistema operacional.

Wcd oferece suporte a conjuntos de caracteres de 8 bits em todos sistemas e possui suporte opcional a Unicode. Veja a seção LOCALIZAÇÃO.

Veja a seção INSTALAÇÃO para como instalar wcd para uso pessoal.

Uso básico

Por padrão (se nenhum caractere curinga for usado), pesquisas wcd por um diretório com um nome que começa com o nome digitado.

Por exemplo, esse comando vai mudar para diretório para o /home/user/Desktop do usuário atual:

    wcd Desk

Quando houver múltiplas ocorrências, wcd apresentará ao usuário uma lista de todas as ocorrências. O usuário poderá, então, fazer uma seleção pressionando com poucas teclas (na maioria das vezes, apenas uma).

Caracteres curingas

Wcd oferece suporte aos seguintes caracteres curingas:

    *       corresponde qualquer sequência de caracteres (zero ou mais)
    ?       corresponde qualquer caractere
    [SET]   corresponde qualquer caractere no conjunto especificado,
    [!SET]  ou [^SET] corresponde qualquer caractere ausente no conjunto.

Um conjunto é composto de caracteres ou intervalos; um intervalo se parece com caractere hífen caractere como em 0-9 ou A-Z. O [0-9a-zA-Z_] é o conjunto mínimo de caracteres permitidos no construto padrão [..]. Caracteres internacionais (ex.: caracteres de 8 bits) são permitidos se o sistema oferecer suporte a eles. Para suprimir a significância sintática especial de qualquer um entre []*?!^-\ dentro ou fora de um construto [..] e corresponder o caractere exato, precede o caractere com um marcador de barra invertida (\).

O uso de caracteres torna possível um poderosa pesquisa. Por exemplo, isso pesquisa qualquer nome de diretório que termine com "top":

    wcd *top

Corresponde diretórios que tenham "top" em qualquer lugar no nome:

    wcd *top*

Corresponde qualquer nome de diretório que começa com "a", "b" ou "c":

    wcd [a-c]*

Também é possível dar uma parte de um caminho de diretório. Aqui Wcd pesquisa por diretório que começa com "Desk" e cujo caminho corresponda a *me/Desk*.

    wcd me/Desk

É permitido digitar qualquer tipo de expressão com barras e caracteres curingas. Ex.:

    wcd src*/*1?/a*2

Outros usos

Se nenhum caractere curinga é usado e wcd encontra uma correspondência perfeita, wcd vai ignorar todas as correspondências curingas por padrão. Esse comportamento pode se alterado com a opção -w.

O navegador interativo de árvore de diretório pode ser iniciado usando a opção -g.

    wcd -g

Wcd gera um arquivo de dados de árvore no qual ele pesquisa o diretório. Em sistemas Unix e Windows, wcd adiciona links simbólicos ao arquivo de dados de árvore ao varrer o disco, mas não os segue. Enquanto segue links, wcd poderia acabar varrendo loops infinitos, ou varrer porções muito grandes de uma rede.

Wcd também pode mudar para diretórios que não estejam no arquivo de dados de árvore. Ex.:

    wcd ..

Se wcd encontrou uma correspondência, mas não pode mudar para o diretório, ele tenta removê-lo do arquivo de dados de árvore padrão. Porém, não remove o arquivo de dados de árvore extra. Veja também a opção -k.

Wcd mantém uma pilha de diretórios que é armazenada no disco. A pilha possui um tamanho padrão de 10 e é cíclico. Veja as opções -z, -, + e =.

Em ambientes multiusuários, a opção -u pode ser usada para alterar para os diretórios de outros usuários.

Nos sistemas DOS e Windows, não importa se você usa uma barra ("/") ou uma barra invertida ("\") como separador de diretório.

É possível em sistemas DOS e Windows alterar a unidade e diretório de uma só vez precedendo o nome do diretório com o nome da unidade.

    wcd d:jogos

Caminhos UNC do Windows

As versões Windows (Command Prompt, PowerShell, MSYS, zsh, cygwin) oferecem suporte a caminhos UNC de rede SMB do Windows sem letra de unidade tal como \\nomeservidor\nomecompartilhamento. Wcd para Prompt de Comando do Windows faz uso do comando "pushd" para mapear automaticamente um caminho UNC a uma letra de unidade. Em caminhos PowerShell do Windows, MSYS, zsh e Cygwin, há suporte completo a caminhos UNC. O diretório de trabalho atual pode ser um caminho UNC.

Redimensionamento de console no Windows

Wcd possui suporte ao redimensionamento de console do Windows 10 e no ConEmu (consulte https://conemu.github.io/) desde a versão 6.0.3. O console do Windows 10 não deve estar no modo legado (verifique as propriedades do console). A tela pode não ser atualizada quando a propriedade de layout do console "Ajustar saída de texto ao redimensionar" estiver desabilitado. A tela pode ser atualizada manualmente pressionando a tecla F5.

Interfaces

Wcd possui três interfaces diferentes para escolher de uma lista de correspondências. A interface pode ser escolhida em tempo de compilação.

A primeira interface usa stdin/stdout simples. Uma lista numerada é exibida no terminal. O usuário tem que escolher a partir da lista digitando um número seguido por <Enter>. Essa interface não fornece funcionalidade de rolagem para cima em caso de uma lista longa. A capacidade de rolagem para cima do terminal/console tem que ser usada. É bem pequena e portátil.

A segunda interface é feita com a biblioteca conio. Ela fornece uma capacidade embarcada de rolagem para cima. O usuário é apresentado a uma lista numerada com letras. A escolha de uma lista pode ser feita pressionando apenas uma letra. Essa interface é rápida porque ela economiza pressionamentos de teclas. Se possível, a tela será restaurada após sair. Aquele que preferir digitar números, pode usar a opção -N.

A terceira interface é feita com a biblioteca curses. É similar à interface conio. A versão curses do wcd também possui uma interface "gráfica" adicional. Ela permite ao usuário selecionar um diretório por meio de um navegador de árvore de diretório interativa em tela cheia. Ela possui um método de pesquisa de navegação tipo vim(1). Ela pode ser ativada com a opção -g.

Ao usar a opção -o, é sempre possível voltar para a interface de stdin/stdout.

OPÇÕES

-a

Adiciona caminho atual ao arquivo de dados de árvore padrão.

Use essa opção para adicionar rapidamente o caminho atual para o arquivo de dados de árvore padrão. Nova varredura do disco completo pode levar um longo tempo em alguns casos.

-aa

Adiciona caminhos atual e seus respectivos pais ao arquivo de dados de árvore padrão.

-A CAMINHO

Varre a árvore de diretório do CAMINHO e anexa ao arquivo de dados de árvore padrão. Exemplos:

    wcd -A .
    wcd -A /home -A /etc
    wcd -A d: -A e: -A \\servidor\compartilhamento

No Windows, é possível varrer todos os diretórios compartilhados de um servidor de rede Windows digitando alguma coisa como: wcd -A \\nomeservidor.

Veja também as opções -S, -s e -E.

-b

Bane o caminho atual.

Wcd coloca o caminho atual no arquivo de banimento. Isso significa que o wcd ignora todas as correspondências deste diretório e seus subdiretórios.

O arquivo de banimento pode ser editado com um editor de texto. Há suporte ao uso de caracteres curingas e nome são combinados com o caminho absoluto.

Caminhos banidos não são excluídos da varredura do disco. Para fazer isso, use a opção -xf.

-c, --direct-cd

Modo CD direto. Por padrão, wcd funciona da seguinte forma:

    1. Procura uma correspondência nos arquivos de dados de árvore
    2. Se nada corresponder, tenta abrir o diretório que informado.

No modo CD direto, wcd funciona na ordem inversa.

    1. Tenta abrir o diretório que você digitou.
    2. Se não, tenta uma correspondência no(s) arquivo(s) de
       dados de árvore.
-d UNIDADE

Define a unidade para arquivos de empilhamento & ir (DOS apenas).

O arquivo de pilha e o go-script são armazenados, por padrão, na unidade C: se a variável de ambiente HOME não estiver definida. Use essa opção se a unidade C: for uma unidade somente leitura. Essa opção deve ser usada na frente das opções de pilha -, + e =.

-e

Adiciona caminho atual ao arquivo de dados de árvore extra.

Use essa opção para adicionar rapidamente o caminho atual ao arquivo de dados de árvore extra.

-ee

Adiciona caminhos atual e todos os pais ao arquivo de dados de árvore padrão.

-E CAMINHO

Varre a árvore de diretório de CAMINHO e anexa ao arquivo de dados de árvore extra. Veja também as opções -A e -S.

-f ARQUIVO

Lê o arquivo de dados de árvore ARQUIVO. Não lê o arquivo de dados de árvore padrão.

+f ARQUIVO

Lê o arquivo de dados de árvore ARQUIVO, além do arquivo de dados de árvore padrão.

-g

Interface gráfica (apenas na versão com interface curses).

Wcd inicia um curses textual baseado em interface "gráfica". O usuário pode selecionar um diretório por um navegador interativo de árvore de diretórios de tela cheia. Ele possui um método e navegação tipo vim(1).

Se nenhuma string de pesquisa for dada, wcd apresenta toda a árvore que está no arquivo de dados de árvore padrão e nos arquivos de dados de árvore extras.

Se uma string de pesquisa for dada, a lista de correspondência é apresentada como uma árvore de diretório.

O layout de árvore padrão é similar ao layout de árvore do NCD original no DOS. A diferença no layout é que no NCD todos os diretórios do mesmo nível de profundidade eram alinhados verticalmente por toda a árvore. Isso era possível no NCD porque a largura máxima de um nome de diretório no DOS era 12 (8,3) caracteres. Em sistemas operacionais modernos, nomes de diretório podem ser muito longos, assim como as diferenças no tamanho podem ser grandes. Portanto, pastas com uma mesma profundidade não são alinhadas verticalmente por toda a árvore no wcd, mas apenas em sub-ramos. Então, há alguns movimentos laterais ao mover para cima ou para baixo de um sub-ramo para outro sub-ramo.

O comportamento de navegação no Wcd é exatamente o mesmo que no NCD original. Por exemplo, se você pressionar a tecla de seta para Baixo, você desce para o próximo diretório com o mesmo nível de profundidade, pulando por ramos. Isso permite navegação rápida pela árvore.

Veja as opções -Ta, -TC e -Tc para alterar o comportamento de navegação.

-gd

Despeja os arquivos de dados de árvore como uma árvore para stdout.

-G CAMINHO

Escreve o go-script no diretório CAMINHO. Por exemplo no Unix, wcd -G CAMINHO vai escrever um go-script CAMINHO/wcd.go.

-GN, --no-go-script

Não cria go-script. Essa opção pode ser usada em combinação com a opção -j caso não se deseje que o wcd crie um go-script.

-h, --help

Mostra a ajuda e sai.

-i, --ignore-case

Ignora a diferença entre maiúsculo e minúsculo. Versões Dos e Windows do wcd ignoram tal diferença por padrão. Versões Unix/Cygwin levam em consideração a maiúsculo e minúsculo por padrão.

+i, --no-ignore-case

Considera a diferença entre maiúsculo e minúsculo. Veja também a opção -i.

-I, --ignore-diacritics

Ignora diacríticos para scripts baseados em Latim. Letras com marcas diacríticas correspondem sua letra base sem marca diacrítica. Há suporte às seguintes codificações Latim: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2 e Unicode Latim-1, Latim Estendido-A e Latim Estendido-B. Veja também http://en.wikipedia.org/wiki/Diacritic

+I, --no-ignore-diacritics

Considera diacríticos (padrão). Veja também a opção -I.

-j, --just-go

Modo "just go".

Neste modo, wcd não apresentará uma lista quando houver mais de um diretório que corresponde ao diretório dado. Wcd vai apenas mudar para a primeira opção. Quando wcd é invocado novamente com os mesmos argumentos, ele vai mudar para a próxima opção, e por aí vai.

Wcd vai imprimir o diretório para ir para stdout. Então, um método de instalação diferente pode ser usado. Pode-se fazer a seguinte função para um shell compatível com POSIX:

    wcd ()
    {
        cd "$($HOME/bin/wcd.exe -j $@)"
    }

Quando você está usando um shell antigo que não oferece suporte o comando de substituição "$()", você tem que usar substituição de comando estilo antigo com acento grave ("back-quote").

    wcd ()
    {
        cd "`$HOME/bin/wcd.exe -j $@`"
    }

Em sistemas Windows, se estiver executando shell 4NT, pode-se usar o seguinte alias:

    alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`

Esse método elimina a necessidade do go-script, então pode-se usar a opção -GN em combinação com -j.

-k, --keep-paths

Mantém caminhos.

Mantém caminhos no arquivo de dados de árvore quando wcd não consegue mudar para eles. O comportamento padrão de wcd é tentar remover caminhos dos dados de árvore quando wcd não puder mudar para eles. Com essa opção, esse comportamento é desativado.

-K, --color

Usa cores no modo gráfico.

-l ALIAS

Nome do caminho atual com ALIAS. Wcd coloca o caminho atual com alias ALIAS no arquivo de alias. Aliases diferenciam maiúsculo de minúsculo.

-ls

Mostra o nome do arquivo de alias e lista todos os aliases.

-m DIR

Cria o diretório e adiciona o arquivo de dados de árvore.

-L, --license

Exibe a licença de distribuição.

-M DIR

Cria o diretório e adiciona o arquivo de dados de árvore extra.

-n CAMINHO

Lê o arquivo de dados de árvore relativos a partir de CAMINHO.

Não lê o arquivo de dados de árvore padrão. O arquivo de dados de árvore relativos já deve ter sido criado usando a opção +S do wcd. CAMINHO também pode apontar para um arquivo diretamente.

Um exemplo. Suponha que um outro sistema montou no ponto de montagem /mnt/rede:

    wcd -n /mnt/rede src

Wcd abre o arquivo de dados de árvore relativo em /mnt/rede/. O arquivo contém os caminhos relativos a partir daquele ponto.

+n CAMINHO

Lê arquivo de dados de árvore relativos, além do arquivo de dados de árvore padrão. Veja a opção -n.

-N, --numbers

Usa números em vez de letras.

Wcd com um interface baseada no conio ou curses (veja a seção Interfaces) apresenta uma lista de correspondência numerada com letras por padrão. Quando a opção -N é usada, a lista de correspondência é numerada com números. Independente da opção -N, pode-se digitar uma letra ou número para fazer uma seleção a partir da lista de correspondências.

-o

Usa interface de stdin/stdout.

Quando por algum motivo a interface conio ou curses do wcd não funcionar, pode-se usar a interface stdin/stdout do wcd usando a opção -o.

-od, --to-stdout

Despeja todas as correspondências para a stdout.

-q, --quiet

Operação mais silenciosa. A exibição da correspondência final é suprimida.

-r DIR

Remove o diretório e remove o arquivo de dados de árvore.

Se o diretório estiver vazio, wcd vai removê-lo e também vai tentar removê-lo do arquivo de dados de árvore.

-rmtree DIR

Remove recursivamente o diretório e remove o arquivo de dados de árvore.

Wcd vai remover o diretório e todos seus subdiretórios e arquivos, e remove os diretórios do arquivo de dados de árvore.

-s

Varre (novamente) o disco a partir do diretório $HOME. Se HOME não estiver definido, o disco é varrido a partir do diretório raiz /.

O arquivo de dados de árvore existente é sobrescrito.

O diretório de varredura padrão pode ser sobreposto com a variável de ambiente WCDSCAN. Veja a seção VARIÁVEIS DE AMBIENTE.

-S CAMINHO

Varre a árvore de diretórios a partir de CAMINHO e sobrescreve o arquivo de dados de árvore padrão. Veja também as opções -A, -s e -E. Por exemplo, com a opção -A você pode criar um arquivo de dados de árvore padrão de sua escolha. Exemplos:

Unix:

    wcd -S /
    wcd -S /home -A /etc -A /usr

DOS/Windows:

    wcd -S c:/
    wcd -S c: -A d: -A \\servidor\compartilhamento

Com as versões Windows, é possível varrer todos os diretórios compartilhados de um servidor de rede Windows digitando alguma coisa como: wcd -A \\nomeservidor.

+S CAMINHO

Varre o disco a partir de CAMINHO e coloca caminhos relativos em um arquivo de dados de árvore relativos. Esse arquivo é usado pelas opções -n e +n do wcd. Por exemplo, wcd -n CAMINHO src.

-t

Não remove o diretório de montagem temporário /tmp_mnt (Unix apenas)

Wcd remove por padrão /tmp_mnt/ da lista de correspondência. O diretório /tmp_mnt é usado pelo montador automático. Esse comportamento pode ser desativado com a opção -t.

-T, --ascii-tree

Desenha a árvore com caracteres ASCII. Use essa opção se os caracteres de desenho de linha não forem exibidos adequadamente em seu terminal.

-Ta, --alt-tree-nav

Forma alternativa de navegação na árvore gráfica.

No layout de árvore de estilo padrão do NCD a opção -Ta desabilita pular para diretórios não relacionados.

No modo de árvore compacta, o modo alternativo faz navegação similar à dos gerenciadores de arquivo GUI como o Windows Explorer ou Linux KDE Konqueror. Pressionar Cima e Baixo move a pasta selecionada uma linha para cima ou para baixo. Pressionar Esquerda primeiro dobra as subpastas e o próximo movimento para Esquerda realmente move para esquerda.

Você alternar em tempo real entre a navegação padrão e alternativa pressionando <Shift-A>.

Quando o modo de navegação alternativa estiver ativado, você verá um "A" no canto inferior direito.

-TC, --center-tree

Visão centralizada na árvore gráfica. O diretório selecionado se mantém no meio da tela. O modo centralizado também pode ser ativado e desativado com a tecla <t> na árvore gráfica.

O comportamento padrão não centralizado, que minimiza o movimento de árvore, é o mesmo que no NCD original.

-Tc, --compact-tree

Por padrão, a árvore "gráfica" é desenhada da mesma forma que o NCD original no DOS. No DOS, um caminho de diretório só poderia ter 66 caracteres no total. Com as estruturas de diretório profundas de hoje, a árvore pode se tornar bem ampla. Para superar isso, wcd pode desenhar a árvore em uma forma compacta, similar a maioria dos gerenciadores de arquivos GUI, com apenas uma pasta por linha. Use a opção -Tc ou alterne em tempo real com a chave <m>.

-Td, --cjk-width

Fontes CJK (chinês, japonês e coreano) legadas da Ásia Oriental possuem certos caracteres e símbolos de desenho de linha com uma largura de coluna de 2, enquanto a largura normal do Unicode para esses caracteres é 1 coluna. Por exemplo, a fonte raster chinesa CP936 no Windows e a fonte Simsun. Use essa opção para um traçado correto da árvore gráfica quando uma fonte CJK legada é usada.

Quando o modo CJK estiver ativado, você verá um "C" no canto inferior direito.

-u USUÁRIO

Varre o arquivo de dados de árvore de outro usuário baseado em USUÁRIO em vez de varrer o próprio arquivo de dados de árvore padrão. Veja também a seção VARIÁVEIS DE AMBIENTE por WCDUSERSHOME.

No Unix/Cygwin, o diretório base para diretórios home de usuários é presumido ser /home. Wcd vai procurar por /home/USUÁRIO/.treedata.wcd e /home/USUÁRIO/.wcd/.treedata.wcd, naquela ordem, e lê a primeira que existe e é legível. No DOS/Windows, o diretório base para diretórios home de usuários é presumido ser \\users, então o wcd tenta ler \\users\USUÁRIO\treedata.wcd e \\users\USUÁRIO\.wcd\treedata.wcd.

+u USUÁRIO

Lê o arquivo de dados de árvore padrão do USUÁRIO, além do próprio arquivo de dados de árvore.

-v, --verbose

Exibe mensagens verbosas. Com essa opção, wcd exibe todos os filtros, banimentos e exclusões.

-V, --version

Exibe informações da versão e sai.

-w, --wild-match-only

Correspondência curinga, apenas. Trata todas as correspondências como correspondências curingas.

-x CAMINHO

Exclui CAMINHO da varredura.

Quando essa opção é usada, wcd vai excluir CAMINHO e todos seus subdiretórios quando wcd está varrendo um disco. Há suporte a caracteres curingas, os quais são correspondidos com os caminhos absolutos. A opção -x pode ser usado múltiplas vezes.

    wcd -x <caminho1> -x <caminho2> -s

A opção -x deve ser usada na frente da qualquer opção de varredura (-s, -S, +S, -A, -E).

Em sistemas DOS/Windows, deve-se especificar a letra da unidade dependendo de se a variável de ambiente HOME ou WCDHOME está definida. Se HOME ou WCDHOME estiver definida, é necessário especificar a letra da unidade. Um exemplo:

    wcd -x c:/temp -S c:

Do contrário, não especifique a letra da unidade.

    wcd -x /temp -s
-xf ARQUIVO

Exclui todos caminhos listados no ARQUIVO da varredura.

Quando essa opção é usada, wcd vai excluir todos os caminhos listados no ARQUIVO e todos seus subdiretórios quando o wcd estiver varrendo um disco. Há suporte a caracteres curingas, os quais são correspondidos com os caminhos absolutos; um caminho por linha. Esteja ciente que wcd não vai ignorar espaços em brancos no início ou fim de uma linha, porque eles são caracteres legais em um nome de diretório. A opção -xf pode ser usado múltiplas vezes. Quando se deseja excluir todos os caminhos banidos da varredura, pode-se fazer o seguinte (exemplo para wcd no Unix):

    wcd -xf ~/.ban.wcd -s

Há suporte a caracteres curingas. Por exemplo, para excluir todos os seus diretórios Subversion com arquivos administrativos, adicione uma linha com */.svn.

A opção -xf deve ser usada na frente da qualquer opção de varredura (-s, -S, +S, -A, -E).

-y, --assume-yes

Presume "Sim" para todas as perguntas.

Wcd não vai consultar o usuário com perguntas de sim/não, mas presume que o usuário responde sim em todas as perguntas. Isso pode ser usado em combinação com a opção -rmtree. Essa opção deve ser usada na frente das opções que podem levar a perguntas sim/não.

-z NÚMERO

Define um tamanho mínimo da pilha com NÚMERO.

O tamanho padrão da pilha é 10. Operação de pilha pode ser desativado ao definir o tamanho com 0. Essa opção deve ser usada na frente de qualquer outra operação de pilha (-,+,=). Do contrário, o tamanho da pilha será definido de volta para o padrão 10.

O comando correto é:

    wcd -z 50 -

O novo tamanho de pulha será 50, wcd irá uma diretório para trás. Um comando errado é:

    wcd - -z 50

Wcd vai um diretório para trás, a pilha obtém o tamanho padrão 10. O -z 50 é ignorado.

Adicione essa opção como a primeira opção a seu alias ou função de wcd. Por exemplo, para um shell compatível com POSIX, isso seria:

    wcd ()
    {
        wcd.exe -z 50 "$@"
        . ${WCDHOME:-${HOME}}/bin/wcd.go
    }
-[NÚMERO]

Adiciona diretório NÚMERO de vezes. O padrão é um.

Volta um diretório. O comando wcd - volta apenas um diretório. Para voltar mais diretórios, adicione um número. Por exemplo, o comando wcd -3. A pilha é cíclica.

+[NÚMERO]

Retira diretório NÚMERO de vezes. O padrão é um.

Avança um diretório. O comando wcd + avança apenas um diretório. Para avançar mais diretórios, adicione um número. Por exemplo, o comando wcd +2. A pilha é cíclica.

=

Mostra a pilha.

Use essa opção se você não sabe mais quantas vezes adicionar ou retirar. A pilha é exibida e você pode escolher um número. O lugar atual na pilha é marcado com um asterisco *.

INSTALAÇÃO

O diretório de trabalho atual de um shell do Unix só pode ser mudado pelo comando embarcado cd(1). Portanto, o programa é sempre chamado por uma função ou um alias. A função ou alias serve de fonte para um script shell (go-script) que é gerado pelo programa wcd. Wcd só pode funcionar após a função ou o alias ser definido.

Uma outra influência importante em sua instalação é a definição de variáveis de ambiente HOME e WCDHOME. Veja a seção VARIÁVEIS DE AMBIENTE.

Instalação para shells de tipo POSIX

Para um shell POSIX (ksh, bash, zsh etc.) no Unix, Linux, Cygwin ou MSYS nativo, adicione a seguinte função ao arquivo de inicialização do shell (ex.: Bash usa $HOME/.bashrc):

    wcd ()
    {
        CAMINHO/wcd.exe "$@"
        . ${WCDHOME:-${HOME}}/bin/wcd.go
    }

Substitua CAMINHO com a localização onde o executável wcd foi instalado. Recarregue os arquivos de inicialização do shell ou inicie o novo shell.

A localização do go-script wcd.go se difere por shell.

Wcd para bash de DOS do DJGPP e bash de OS/2 exige uma função diferente. O go-script não é escrito em um diretório bin, e se WCDHOME e HOME não estão definidos, o go-script é escrito no c:/.

Bash de DOS:

    wcd ()
    {
        CAMINHO/wcdbash.exe "$@"
        . ${WCDHOME:-${HOME:-"c:"}}/wcd.go
    }

Bash de OS/2:

    wcd ()
    {
        CAMINHO/wcdos2bash.exe "$@"
        . ${WCDHOME:-${HOME:-"c:"}}/wcd.go
    }

A versão WinZsh do wcd exige uma função um pouco diferente. O go-script nunca vai ser escrito no c:/.

    wcd ()
    {
        CAMINHO/wcdwin32zsh.exe "$@"
        . ${WCDHOME:-${HOME}}/wcd.go
    }

Veja a seção ARQUIVOS para mais informações.

Instalação para shells parecidos com C (csh, tcsh)

Adicione o seguinte alias para o arquivo de inicialização de shell $HOME/.cshrc ou $HOME/.tcshrc :

    if ( ${?WCDHOME} ) then
        alias wcd "CAMINHO/wcd.exe \!* ; source $WCDHOME/bin/wcd.go"
    else
        alias wcd "CAMINHO/wcd.exe \!* ; source $HOME/bin/wcd.go"
    endif

Substitua CAMINHO com a localização onde o executável wcd foi instalado. Recarregue os arquivos de inicialização do shell ou inicie um novo shell.

Versão para Prompt de Comando do Windows

Descompacte o arquivo zip e adicione o diretório bin à sua variável de ambiente PATH.

No Prompt de Comando do Windows, um programa Windows não pode mudar o diretório de trabalho atual, mas um arquivo .bat pode. O script batch wcd.bat executa o programa que gera um novo script batch wcdgo.bat. Então, wcd.bat executa wcdgo.bat que, finalmente, muda o diretório.

Windows VISTA ou maios novo

Em um Prompt de Comando do Windows VISTA, ou mais novo, você pode ter acesso limitado aos diretórios. Para obter acesso a mais diretórios você precisa de permissões administrativas. Você pode obter um Prompt de Comando com permissões administrativas se você clicar com botão direito do mouse no ícone do Prompt de Comando e selecionar Executar como administrador.

Versão para PowerShell do Windows

Adicione a seguinte função a seu perfil de usuário PowerShell. A localização deste perfil é armazenada na variável $profile. É necessário que uma das variáveis de ambiente HOME ou WCDHOME esteja definida.

    function wcd
    {
        CAMINHO\wcdwin32psh.exe $args
        & $env:HOME\wcdgo.ps1
    }

Substitua CAMINHO com a localização na qual o executável wcd foi instalado. Inicie um novo PowerShell. Wcd para PowerShell só oferece suporte ao provedor de sistema de arquivo. A nenhum outro provedor.

Versão de Prompt de Comando do OS/2

Em um Prompt de Comando de OS/2 (cmd.exe), um programa do OS/2 não pode mudar o diretório de trabalho atual. É por isso que o wcd gera um script de comando wcdgo.cmd que deve ser executado no shell atual. O script wcd.cmd primeiro executa wcdos2.exe, o qual cria o script wcdgo.cmd. Então, wcd.cmd executa o script wcdgo.cmd.

LOCALIZAÇÃO

LANG

O idioma principal é selecionado com a variável de ambiente LANG. A variável LANG consiste em diversas partes. A primeira parte está em letras minúsculas do código do idiomas. A segunda é opcional e é o país do código em letras maiúsculas, precedida com um sublinhado. Há também uma terceira parte opcional: codificação de caracteres, precedida com um ponto. Alguns poucos exemplos para shells de tipo padrão POSIX:

    export LANG=nl               Holandês
    export LANG=nl_NL            Holandês, Holanda
    export LANG=nl_BE            Holandês, Bélgica
    export LANG=es_ES            Espanhol, Espanha
    export LANG=es_MX            Espanhol, México
    export LANG=en_US.iso88591   Inglês, EUA, codificação Latin-1

Para uma lista completa de códigos de idioma e país, veja o manual do gettext(1): http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes Em sistemas Unix, você pode usar o comando locale(1) para obter informações específicas de localidade.

LANGUAGE

Coma a variável de ambiente LANGUAGE você pode especificar uma lista de prioridade de idiomas, separada por caracteres de dois pontos. Wcd dá preferência a LANGUAGE sobre LANG. Por exemplo, primeiro holandês e depois alemão: LANGUAGE=nl:de. Você tem que primeiro habilitar a localização, definindo LANG ou LC_ALL para um outro valor além de C, antes que você possa usar uma lista de prioridade de idiomas por meio da variável LANGUAGE. Veja também o manual do gettext (1): http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable

Se você selecionou um idioma que não está disponível, você terá as mensagens padrões em inglês.

WCDLOCALEDIR

Com a variável de ambiente WCDLOCALEDIR, o valor de LOCALEDIR usado durante a compilação e instalação de wcd pode ser sobreposto. LOCALEDIR é usado pelo wcd com suporte nativo a idioma para localizar os arquivos de idioma. O valor padrão do GNU é /usr/local/share/locale. Ao digitar wcd -V, wcd vai exibir o LOCALEDIR que é usado.

Se você instalou o wcd em um diretório diferente do diretório padrão, você pode precisar definir a variável de ambiente WCDLOCALEDIR para apontar para o diretório da localidade.

Um exemplo para cmd do Windows:

    set WCDLOCALEDIR=c:/meu_prefixo/share/locale

Um exemplo para shell POSIX:

    export WCDLOCALEDIR=$HOME/share/locale
LC_COLLATE

Quando há múltiplas correspondências de diretório, wcd apresenta uma lista ordenada. As ordenação de dependências nas configurações de localidade. Se a variável de ambiente LANG foi definida, as correspondências são ordenadas como dicionários ou agendas telefônicas são ordenadas naquele idioma. Por exemplo, pontos e traços são ignorados, ou letras "e" com e sem acento são iguais, ou a diferença entre minúsculo e maiúsculo é ignorada.

A ordenação dá preferência para a variável de ambiente LC_COLLATE sobre LANG. Se você definir LC_COLLATE com valor C ou POSIX, a ordenação de localidade é desativada. Por exemplo, se você deseja o idioma holandês, mas não deseja a ordenação holandesa, você pode fazer algo como isso:

    export LANG=nl_NL
    export LC_COLLATE=C
LC_CTYPE

Em relação à codificação de caracteres, wcd vai dar preferência à variável LC_CTYPE sobre LANG. Por exemplo, para definir a codificação de caracteres para UTF-8, a definição da seguinte variável de ambiente pode ser feita.

    export LC_CTYPE=en_US.UTF-8
LC_ALL

Todas as variáveis de ambiente de localidade que iniciam com LC_ são sobrepostas para variável de ambiente LC_ALL, se estiver definida. Wcd dá preferência a LC_ALL sobre LC_COLLATE e LC_CTYPE.

PÁGINAS DE CÓDIGO DO WINDOWS

Há dois grupos de páginas de códigos: páginas de código DOS (OEM) e páginas de códigos Windows (ANSI). A codificação padrão do Windows, quando configurado com configurações regionais Western, é ANSI CP1252. Programas do Windows, como o bloco de notas, usam essa página de código ANSI padrão do sistema. O console do Windows usa por padrão uma página de código OEM (CP437 ou CP850) para compatibilidade com programas DOS. Se você usa uma versão DOS do wcd em um console Windows, ele vai funcionar por causa da página de código DOS. Mas a versão DOS do wcd carece de suporte a nomes de diretórios longos e unidades de rede no Windows.

A versão Windows do wcd é um programa nativo do Windows e vai usar a página de código ANSI de sistema Windows. Então, em um Windows com região Western, será usada a página de código CP1252 para nomes de diretório e mensagens. Para obter uma saída consistente, independente da página de código ativa, todas as versões Windows do wcd traduzem a saída ANSI para saída Unicode no Prompt de Comando e no PowerShell.

A fonte raster de console só oferece suporte à página de código OEM original instalada com Windows, então você terá que alterar a fonte de console para true type Console Lucida para fazer letras Unicode (e ANSI) aparecerem corretamente.

Versões não Unicode do wcd anterior à versão 5.2.0 usam saída ANSI simples. Para essas versões antigas, a página de código do console tem que ser feita igual à página de código de sistema (alterada para 1252) para fazer wcd para Windows funcionar adequadamente com caracteres especiais como caracteres acentuados ou símbolo de Euro.

A página de código de sistema do Windows pode ser alterada via as opções regionais no Painel de Controle. A página de código de console Windows é alterada com o comando chcp.

Quando você digita wcd -V, a codificação de caracteres usada por wcd é mostrada. Digite o comando chcp para exibir a página de código ativa do console Windows.

UNICODE

Wcd possui suporte opcional a Unicode. Para ver se wcd foi compilado com suporte a Unicode, digite wcd -V. Se seu terminal/console e a fonte oferecem suporte a ele, você deve ver o símbolo de Euro e caracteres chineses.

Wcd foi parcialmente convertido em Unicode. Em seu núcleo, wcd lida com todos os dados como um fluxo de bytes. Apenas nas linhas exibidas na tela são convertidas para caracteres amplos Unicode. Wcd depende completamente das funções libc e não possui um código específico UTF-8. Veja também http://www.cl.cam.ac.uk/~mgk25/unicode.html

Wcd possui suporte opcional a correspondência Unicode com normalização. Para descobrir se wcd possui suporte a normalização, digite wcd -V. Wcd com suporte a normalização Unicode vai corresponder nomes Unicode baseados em equivalência compatível. Sem suporte a normalização Unicode, nomes são correspondidos quando eles são equivalente binário. Veja também http://en.wikipedia.org/wiki/Unicode_normalization

UTF-8 no Unix/Linux

Para ver caracteres UTF-8, seu console/terminal também precisa ter suporte a UTF-8. A versão xterm que vem com o XFree86 4.0 ou mais novo inclui suporte a UTF-8. Para ativá-lo, inicie xterm(1) em uma localidade UTF-8 e use uma fonte com codificação iso10646-1, por exemplo, com

    LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'

Distribuições modernas do GNU/Linux oferecem suporte a UTF-8 por padrão. Outras codificações de caracteres multibyte também devem funcionar, mas isso ainda não foi testado.

Wcd presume que os arquivos de dados de árvore estejam codificados na codificação de caractere de localidade. Não há Marca de Ordem de Bytes (B.O.M.) escrita em arquivos de dados de árvore.

UTF-16 no Windows

No Windows, há suporte a Unicode em todas as versões do PowerShell e no Prompt de Comando do Windows 7 (ou mais novo). Unicode também funciona no Take Command, ou TCC/LE, feito pela JP Software, que pode ser usado em versões mais antigas do Windows (XP/Vista).

No Windows, todos os nomes de diretórios no disco são codificados em Unicode UTF-16. Para programas não Unicode do Windows, os caracteres Unicode são traduzidos para a página de código ANSI padrão. Para caracteres que não são parte da configuração regional, essa tradução não é possível e programas não Unicode exibem uma interrogação ou um caractere errado.

Wcd com suporte a Unicode vai ler os nomes de diretórios codificados em UTF-16 e convertê-los internalmente em UTF-8. Todos os arquivos de dados de árvore são codificados em UTF-8 e não compatível com a versão não Unicode do wcd. Wcd não vai criar um go-script codificado em UTF-8.

Todas as versões do PowerShell do Windows são capazes de executar scripts codificados em UTF-8, a menos que haja um BOM UTF-8 no script.

Desde o Windows 7 é possível no Prompt de Comando do Windows para mudar diretório com um script batch para um diretório com letras Unicode no nome. O nome do diretório precisa ser codificado em UTF-8 e o script batch não podem ter um BOM. A página de código ativo do Prompt de Comando precisa ser definido para 65001 (UTF-8) antes do comando cd. Wcd para Prompt de Comando vai criar um go-script wcdgo.bat. Ele primeiro muda a página de código para 65001, depois muda o diretório e, ao final, define a página de código de volta para a original.

Você precisa definir a fonte para True Type Lucida Console (fonte não raster) quando letras não aparecem corretamente.

A versão não Unicode Windows do wcd pode ler arquivos de dados de árvore Unicode desde a versão 5.2.0, desde que haja uma Marca de Ordem de Bytes (BOM) no arquivo (veja https://pt.wikipedia.org/wiki/Marca_de_ordem_de_byte), mas ele não muda os diretórios com letras Unicode no nome que não são parte da página de código ANSI padrão do sistema. A versão Unicode Windows do wcd escreve um BOM nos arquivos de dados de árvore codificada em UTF-8 desde a versão 5.2.0, o que também os torna legível pelo notepad.

UTF-8 no Cygwin

Cygwin oferece suporte a Unicode desde a versão 1.7. A camada do Cygwin tem o cuidado para que os nomes Unicode UTF-16 do Windows sejam convertidos para UTF-8. Então os programas, como o wcd, não precisam estar cientes disto e podem operar usando codificação UTF-8 como no Unix/Linux. Defina a codificação de caracteres para UTF-8 com a variável de ambiente LANG ou LC_CTYPE. Você pode precisar varrer novamente suas unidades. Você precisa definir a fonte para True Type Lucida Console (fonte não raster) se você usa o console padrão do Cygwin.

A versão Cygwin se comporta exatamente como a versão Unix do wcd. Não há BOM escrito nos arquivos de dados de árvore e ele presume que eles estejam codificados na codificação de caracteres de localidade do Cygwin.

ARQUIVOS

Se a variável de ambiente WCDHOME estiver definido, wcd vai usar WCDHOME em vez de HOME. Todos os arquivos *.wcd são arquivos textos. Eles podem ser editados com um editor de texto. A versão do wcd para Prompt de Comando do Windows se comporta como a versão para DOS. A versão Cygwin do wcd se comporta como a versão Unix.

wcd.exe

O programa. Em shells do Unix, o programa é sempre chamado por uma função ou alias porque o diretório de trabalho atual de um shell do Unix só pode ser mudado pelo comando embarcado cd. Veja também a seção INSTALAÇÃO.

arquivo de dados de árvore padrão

Esse é o arquivo de dados de árvore padrão no qual wcd pesquisa por correspondências. Se ele não for legível, wcd vai criar um novo.

    DOS: \treedata.wcd or %HOME%\treedata.wcd
    Unix: $HOME/.treedata.wcd
arquivo de dados de árvore extra

Um arquivo de dados de árvore extra e opcional. Se ele existir e for legível, wcd vai tentar localizar correspondências também neste arquivo.

    DOS: \extra.wcd or %HOME%\extra.wcd
    Unix: $HOME/.extra.wcd
arquivo de banimento

Neste arquivo opcional o wcd coloca os caminhos banidos. Veja a opção -b. Há suporte a caracteres curingas.

    DOS: \ban.wcd or %HOME%\ban.wcd
    Unix: $HOME/.ban.wcd
arquivos alias

Arquivo opcional com aliases do wcd. Veja a opção -l.

    DOS: \alias.wcd or %HOME%\alias.wcd
    Unix: $HOME/.alias.wcd
arquivo de pilha

Neste arquivo o wcd armazena sua pilha. A letra de unidade pode ser alterada com a opção -d.

    DOS: c:\stack.wcd or %HOME%\stack.wcd
    Unix: $HOME/.stack.wcd

O nome do arquivo de pilha pode ser alterado com a variável de ambiente WCDSTACKFILE. Veja a seção VARIÁVEIS DE AMBIENTE.

go-script

Este é o script shell que wcd cria a cada vez. Ele é carregado por uma função ou um alias. A letra da unidade pode ser alterada com a opção -d. Por motivos históricos, ele é colocado por padrão em $HOME/bin em sistemas Unix. O diretório neste arquivo pode ser alterado com a opção -G.

    bash do DOS: c:/wcd.go ou $HOME/wcd.go
    Prompt de Comando do Windows: c:\wcdgo.bat ou %HOME%\wcdgo.bat
    PowerShell do Windows: $env:HOME\wcdgo.ps1
    WinZsh: $HOME/wcd.go
    Cygwin/MSYS: $HOME/bin/wcd.go
    Prompt de Comando do OS/2: c:\wcdgo.cmd ou %HOME%\wcdgo.cmd
    bash do OS/2: c:/wcd.go ou $HOME/wcd.go
    Unix: $HOME/bin/wcd.go
arquivo de dados de árvore relativos

Arquivo de texto com caminhos relativos a partir de DIR. Veja +S, -n e +n.

    DOS: PATH\rtdata.wcd
    Unix: PATH/.rtdata.wcd

VARIÁVEIS DE AMBIENTE

HOME

Wcd usa por padrão a variável de ambiente HOME para determinar onde deve armazenar seus arquivos. Veja também a seção ARQUIVOS. Isso pode ser sobreposto com a variável de ambiente WCDHOME.

HOME também define por onde deve-se iniciar varrendo o disco quando a opção -s é usada. Isso pode ser sobreposto com a variável de ambiente WCDSCAN.

Para a versão Unix, Cygwin, PowerShell do Windows, WinZsh e MSYS, é exigido que HOME ou WCDHOME esteja definida. Para outras versões do wcd, o uso dessas variáveis é opcional.

Se HOME estiver definido no DOS/Windows, wcd vai colocar todos seus arquivos (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) no diretório HOME. O comportamento do wcd é, então, igual à versão Unix de wcd. Wcd vai varrer o disco padrão a partir de HOME. Unidades não serão automaticamente varridas mudando para elas. Você precisa dizer wcd explicitamente. Ex.:

    wcd -S c: -A d: -A e:

Correspondência de diretórios é agora global por todas as unidades varridas.

WCDHOME

A variável de ambiente WCDHOME pode ser usada para alterar a localização de arquivos do wcd. Se ambas HOME e WCDHOME estiverem definidas, WCDHOME será usada em vez de HOME.

Nas versões wcd antes de 5.1.5, WCDHOME também mudava o diretório padrão de varredura. Isso foi alterado. Desde a versão 5.1.5, WCDHOME não muda o diretório padrão de varredura. Veja a opção -s. A partir da versão 5.1.5, use a variável de ambiente WCDSCAN para sobrepor o diretório padrão de varredura.

Exemplo para Prompt de Comando do DOS, do Windows e do OS/2:

    set WCDHOME=C:\Users\erwin\wcd

Um exemplo para shells de tipo POSIX:

    export WCDHOME="$HOME/.wcd"

Um exemplo para shells de tipo Csh:

    setenv WCDHOME "$HOME/.wcd"
WCDSCAN

Use a variável de ambiente WCDSCAN para sobrepor o diretório padrão de varredura HOME. Defina uma lista separada por dois pontos (Unix) para definir mais de um diretório. No DOS/Windows, separe a lista com ponto e vírgula.

Exemplos para Prompt de Comando do DOS, Windows e OS/2:

    set WCDSCAN=C:\Users\erwin;D:\data

    set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\unidadeprojeto\projetoX

Um exemplo para shells de tipo POSIX:

    export WCDSCAN="$HOME:/unidadeprojeto/projetoX"

Um exemplo para shells de tipo Csh:

    setenv WCDSCAN "$HOME:/unidadeprojeto/projetoX"
WCDFILTER

Especifique filtros com a variável de ambiente WCDFILTER. Todos os diretórios que não correspondem ao(s) filtro(s) são ignorados. Uma lista pode ser especificada separando filtros por meio do separador de caminho do shell. Similar a especificar a variável PATH. A diferenciação entre maiúsculo e minúsculo depende do sistema operacional.

Um exemplo para Prompt de Comando do DOS, Windows e OS/2:

    set WCDFILTER=projetos;doc

Um exemplo para shells de tipo POSIX:

    export WCDFILTER="projetos:doc"

Um exemplo para shells de tipo Csh:

    setenv WCDFILTER "projetos:doc"
WCDBAN

Os caminhos especificados com a variável de ambiente WCDBAN serão banidos pelo wcd. Veja também a opção -b. Especifique uma lista de caminhos separada por separador de PATH do shell.

WCDEXCLUDE

Os caminhos especificados com ambiente WCDEXCLUDE serão excluídos por wcd. Veja também as opções -x e -xf. Especifique uma lista de caminhos separada por separador de PATH do shell.

Um exemplo para Prompt de Comando do DOS, Windows e OS/2:

    set WCDEXCLUDE=*/windows;*/temp;*CVS

Um exemplo para shells de tipo POSIX:

    export WCDEXCLUDE="/dev:/tmp:*CVS"

Um exemplo para shells de tipo Csh:

    setenv WCDEXCLUDE "/dev:/tmp:*CVS"
WCDUSERSHOME

Define a base de diretórios home do usuário. No DOS/Windows, o valor padrão é \\users. No Unix/Cygwin, o valor padrão é /home. Essa variável é usada para varrer arquivos de dados de árvore de outros usuários. Veja também a opção -u e +u. No modo verboso, wcd vai exibir todos os filtros, banimentos e exclusões. Veja a opção -v.

WCDSTACKFILE

Wcd dá preferência a WCDSTACKFILE sobre o nome de arquivo de pilha padrão (veja a seção ARQUIVOS). Com essa variável, cada shell (ou emulador de terminal usado) pode ter sua pilha privada de diretórios usados.

Para usar um tempo único baseado no arquivo YYYYMMDD-HHMMSS para cada shell interativo aberto:

    export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)

Para uma pilha per xterm(1), use a variável de ambiente WINDOWID do xterm:

    export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID

Para o GNU screen(1), para usar pilha por tela:

    export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW
TERMINFO

Se a variável de ambiente TERMINFO for usada, wcd com interface ncurses verifica por uma definição de terminal local antes de verificar no lugar padrão. Isso é útil se as definições de terminal não estiverem um lugar padrão. Lugares padrões geralmente usados são /usr/lib/terminfo e /usr/share/terminfo.

PDC_RESTORE_SCREEN

Wcd com interface PDCurses reconhece a variável de ambiente PDC_RESTORE_SCREEN. Se essa variável de ambiente estiver definida, PDCurses vai levar uma cópia dos conteúdos da tela no momento em que wcd for iniciado; quando wcd sair, a tela será restaurada. Um exemplo para Prompt de Comando do Windows:

    set PDC_RESTORE_SCREEN=1

Windows só permite salvar um buffer pequeno. Então, não é sempre possível restaurar tudo. Alguns dados inúteis podem ser emitidos no console após o wcd sair, se você definir uma largura grande de buffer.

SHELL

Colocar do #!$SHELL na primeira linha do go-script para o shell de tipo POSIX ou shell C é necessário para caracteres de 8 bits. Do contrário, alguns shells pensarão que o go-script é um arquivo binário e não o carregarão. No bash do Cygwin, a variável SHELL deve ser definida usando o comando export; do contrário, wcd não consegue ler a variável.

BASH

Wcd para bash do DOS usa $BASH em vez de $SHELL, pois $SHELL aponta para o shell de comando do DOS. Pode ser necessário definir $BASH com o comando export; do contrário, wcd não consegue ler a variável.

VEJA TAMBÉM

sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1),

AUTORES

Wcd foi escrito por Erwin Waterlander <waterlan@xs4all.nl>

Página do projeto: http://waterlan.home.xs4all.nl/

SourceForge: http://sourceforge.net/projects/wcd/

A formatação de página de manual foi fornecida por Jari Aalto <jari.aalto@cante.net>.

NCD foi escrito originalmente por Brad Kingsbury para "Norton Utilities" do Peter Norton por volta de 1987. Veja também http://www.softpanorama.org/OFM/norton_change_directory_clones.shtml

wcd-6.0.3/src/man/pt_BR/man1/wcd.txt0000644000175500010010000015144513524756534016316 0ustar waterlanGeenNOME wcd - Wherever Change Directory Chdir para Dos e Unix SINOPSE wcd [opções] [diretório] DESCRIÇÃO Visão geral Wcd é um programa de linha de comando para mudar diretório rapidamente. Ele economiza tempo de digitar no teclado. É preciso digitar apenas uma parte de um nome de diretório e wcd vai pular para ele. Wcd possui um método de seleção rápida no caso de múltiplas correspondências e permite apelidamento (aliasing) e banimento de diretórios. Wcd também inclui um navegador de árvore de diretório interativa de tela cheia com pesquisa rápida. Wcd foi modelado com base no Norton Change Directory (NCD). NCD apareceu primeiro em *The Norton Utilities, versão 4*, para DOS em 1987, publicado por Peter Norton. Wcd foi portado para diferentes shells de linha de comando: command.com do DOS, cmd.exe e PowerShell do Windows, cmd.exe do OS/2 e shells do Unix, como os shells Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh) e C (csh) e outros funcionando em qualquer sistema operacional. Wcd oferece suporte a conjuntos de caracteres de 8 bits em todos sistemas e possui suporte opcional a Unicode. Veja a seção LOCALIZAÇÃO. Veja a seção INSTALAÇÃO para como instalar wcd para uso pessoal. Uso básico Por padrão (se nenhum caractere curinga for usado), pesquisas wcd por um diretório com um nome que começa com o nome digitado. Por exemplo, esse comando vai mudar para diretório para o "/home/user/Desktop" do usuário atual: wcd Desk Quando houver múltiplas ocorrências, wcd apresentará ao usuário uma lista de todas as ocorrências. O usuário poderá, então, fazer uma seleção pressionando com poucas teclas (na maioria das vezes, apenas uma). Caracteres curingas Wcd oferece suporte aos seguintes caracteres curingas: * corresponde qualquer sequência de caracteres (zero ou mais) ? corresponde qualquer caractere [SET] corresponde qualquer caractere no conjunto especificado, [!SET] ou [^SET] corresponde qualquer caractere ausente no conjunto. Um conjunto é composto de caracteres ou intervalos; um intervalo se parece com *caractere hífen caractere* como em "0-9" ou "A-Z". O "[0-9a-zA-Z_]" é o conjunto mínimo de caracteres permitidos no construto padrão "[..]". Caracteres internacionais (ex.: caracteres de 8 bits) são permitidos se o sistema oferecer suporte a eles. Para suprimir a significância sintática especial de qualquer um entre "[]*?!^-\" dentro ou fora de um construto "[..]" e corresponder o caractere exato, precede o caractere com um marcador de barra invertida ("\"). O uso de caracteres torna possível um poderosa pesquisa. Por exemplo, isso pesquisa qualquer nome de diretório que termine com "top": wcd *top Corresponde diretórios que tenham "top" em qualquer lugar no nome: wcd *top* Corresponde qualquer nome de diretório que começa com "a", "b" ou "c": wcd [a-c]* Também é possível dar uma parte de um caminho de diretório. Aqui Wcd pesquisa por diretório que começa com "Desk" e cujo caminho corresponda a **me/Desk**. wcd me/Desk É permitido digitar qualquer tipo de expressão com barras e caracteres curingas. Ex.: wcd src*/*1?/a*2 Outros usos Se nenhum caractere curinga é usado e wcd encontra uma correspondência perfeita, wcd vai ignorar todas as correspondências curingas por padrão. Esse comportamento pode se alterado com a opção -w. O navegador interativo de árvore de diretório pode ser iniciado usando a opção -g. wcd -g Wcd gera um arquivo de dados de árvore no qual ele pesquisa o diretório. Em sistemas Unix e Windows, wcd adiciona links simbólicos ao arquivo de dados de árvore ao varrer o disco, mas não os segue. Enquanto segue links, wcd poderia acabar varrendo loops infinitos, ou varrer porções muito grandes de uma rede. Wcd também pode mudar para diretórios que não estejam no arquivo de dados de árvore. Ex.: wcd .. Se wcd encontrou uma correspondência, mas não pode mudar para o diretório, ele tenta removê-lo do arquivo de dados de árvore padrão. Porém, não remove o arquivo de dados de árvore extra. Veja também a opção -k. Wcd mantém uma pilha de diretórios que é armazenada no disco. A pilha possui um tamanho padrão de 10 e é cíclico. Veja as opções -z, -, + e =. Em ambientes multiusuários, a opção -u pode ser usada para alterar para os diretórios de outros usuários. Nos sistemas DOS e Windows, não importa se você usa uma barra ("/") ou uma barra invertida ("\") como separador de diretório. É possível em sistemas DOS e Windows alterar a unidade e diretório de uma só vez precedendo o nome do diretório com o nome da unidade. wcd d:jogos Caminhos UNC do Windows As versões Windows (Command Prompt, PowerShell, MSYS, zsh, cygwin) oferecem suporte a caminhos UNC de rede SMB do Windows sem letra de unidade tal como "\\nomeservidor\nomecompartilhamento". Wcd para Prompt de Comando do Windows faz uso do comando "pushd" para mapear automaticamente um caminho UNC a uma letra de unidade. Em caminhos PowerShell do Windows, MSYS, zsh e Cygwin, há suporte completo a caminhos UNC. O diretório de trabalho atual pode ser um caminho UNC. Redimensionamento de console no Windows Wcd possui suporte ao redimensionamento de console do Windows 10 e no ConEmu (consulte ) desde a versão 6.0.3. O console do Windows 10 não deve estar no modo legado (verifique as propriedades do console). A tela pode não ser atualizada quando a propriedade de layout do console "Ajustar saída de texto ao redimensionar" estiver desabilitado. A tela pode ser atualizada manualmente pressionando a tecla F5. Interfaces Wcd possui três interfaces diferentes para escolher de uma lista de correspondências. A interface pode ser escolhida em tempo de compilação. A primeira interface usa stdin/stdout simples. Uma lista numerada é exibida no terminal. O usuário tem que escolher a partir da lista digitando um número seguido por . Essa interface não fornece funcionalidade de rolagem para cima em caso de uma lista longa. A capacidade de rolagem para cima do terminal/console tem que ser usada. É bem pequena e portátil. A segunda interface é feita com a biblioteca conio. Ela fornece uma capacidade embarcada de rolagem para cima. O usuário é apresentado a uma lista numerada com letras. A escolha de uma lista pode ser feita pressionando apenas uma letra. Essa interface é rápida porque ela economiza pressionamentos de teclas. Se possível, a tela será restaurada após sair. Aquele que preferir digitar números, pode usar a opção -N. A terceira interface é feita com a biblioteca curses. É similar à interface conio. A versão curses do wcd também possui uma interface "gráfica" adicional. Ela permite ao usuário selecionar um diretório por meio de um navegador de árvore de diretório interativa em tela cheia. Ela possui um método de pesquisa de navegação tipo vim(1). Ela pode ser ativada com a opção -g. Ao usar a opção -o, é sempre possível voltar para a interface de stdin/stdout. OPÇÕES -a Adiciona caminho atual ao arquivo de dados de árvore padrão. Use essa opção para adicionar rapidamente o caminho atual para o arquivo de dados de árvore padrão. Nova varredura do disco completo pode levar um longo tempo em alguns casos. -aa Adiciona caminhos atual e seus respectivos pais ao arquivo de dados de árvore padrão. -A CAMINHO Varre a árvore de diretório do *CAMINHO* e anexa ao arquivo de dados de árvore padrão. Exemplos: wcd -A . wcd -A /home -A /etc wcd -A d: -A e: -A \\servidor\compartilhamento No Windows, é possível varrer todos os diretórios compartilhados de um servidor de rede Windows digitando alguma coisa como: "wcd -A \\nomeservidor". Veja também as opções -S, -s e -E. -b Bane o caminho atual. Wcd coloca o caminho atual no arquivo de banimento. Isso significa que o wcd ignora todas as correspondências deste diretório e seus subdiretórios. O arquivo de banimento pode ser editado com um editor de texto. Há suporte ao uso de caracteres curingas e nome são combinados com o caminho absoluto. Caminhos banidos não são excluídos da varredura do disco. Para fazer isso, use a opção -xf. -c, --direct-cd Modo CD direto. Por padrão, wcd funciona da seguinte forma: 1. Procura uma correspondência nos arquivos de dados de árvore 2. Se nada corresponder, tenta abrir o diretório que informado. No modo CD direto, wcd funciona na ordem inversa. 1. Tenta abrir o diretório que você digitou. 2. Se não, tenta uma correspondência no(s) arquivo(s) de dados de árvore. -d UNIDADE Define a unidade para arquivos de empilhamento & ir (DOS apenas). O arquivo de pilha e o go-script são armazenados, por padrão, na unidade C: se a variável de ambiente *HOME* não estiver definida. Use essa opção se a unidade C: for uma unidade somente leitura. Essa opção deve ser usada na frente das opções de pilha -, + e =. -e Adiciona caminho atual ao arquivo de dados de árvore extra. Use essa opção para adicionar rapidamente o caminho atual ao arquivo de dados de árvore extra. -ee Adiciona caminhos atual e todos os pais ao arquivo de dados de árvore padrão. -E CAMINHO Varre a árvore de diretório de *CAMINHO* e anexa ao arquivo de dados de árvore extra. Veja também as opções -A e -S. -f ARQUIVO Lê o arquivo de dados de árvore *ARQUIVO*. Não lê o arquivo de dados de árvore padrão. +f ARQUIVO Lê o arquivo de dados de árvore *ARQUIVO*, além do arquivo de dados de árvore padrão. -g Interface gráfica (apenas na versão com interface curses). Wcd inicia um curses textual baseado em interface "gráfica". O usuário pode selecionar um diretório por um navegador interativo de árvore de diretórios de tela cheia. Ele possui um método e navegação tipo vim(1). Se nenhuma string de pesquisa for dada, wcd apresenta toda a árvore que está no arquivo de dados de árvore padrão e nos arquivos de dados de árvore extras. Se uma string de pesquisa for dada, a lista de correspondência é apresentada como uma árvore de diretório. O layout de árvore padrão é similar ao layout de árvore do NCD original no DOS. A diferença no layout é que no NCD todos os diretórios do mesmo nível de profundidade eram alinhados verticalmente por toda a árvore. Isso era possível no NCD porque a largura máxima de um nome de diretório no DOS era 12 (8,3) caracteres. Em sistemas operacionais modernos, nomes de diretório podem ser muito longos, assim como as diferenças no tamanho podem ser grandes. Portanto, pastas com uma mesma profundidade não são alinhadas verticalmente por toda a árvore no wcd, mas apenas em sub-ramos. Então, há alguns movimentos laterais ao mover para cima ou para baixo de um sub-ramo para outro sub-ramo. O comportamento de navegação no Wcd é exatamente o mesmo que no NCD original. Por exemplo, se você pressionar a tecla de seta para Baixo, você desce para o próximo diretório com o mesmo nível de profundidade, pulando por ramos. Isso permite navegação rápida pela árvore. Veja as opções -Ta, -TC e -Tc para alterar o comportamento de navegação. -gd Despeja os arquivos de dados de árvore como uma árvore para stdout. -G CAMINHO Escreve o go-script no diretório *CAMINHO*. Por exemplo no Unix, "wcd -G CAMINHO" vai escrever um go-script CAMINHO/wcd.go. -GN, --no-go-script Não cria go-script. Essa opção pode ser usada em combinação com a opção -j caso não se deseje que o wcd crie um go-script. -h, --help Mostra a ajuda e sai. -i, --ignore-case Ignora a diferença entre maiúsculo e minúsculo. Versões Dos e Windows do wcd ignoram tal diferença por padrão. Versões Unix/Cygwin levam em consideração a maiúsculo e minúsculo por padrão. +i, --no-ignore-case Considera a diferença entre maiúsculo e minúsculo. Veja também a opção -i. -I, --ignore-diacritics Ignora diacríticos para scripts baseados em Latim. Letras com marcas diacríticas correspondem sua letra base sem marca diacrítica. Há suporte às seguintes codificações Latim: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2 e Unicode Latim-1, Latim Estendido-A e Latim Estendido-B. Veja também +I, --no-ignore-diacritics Considera diacríticos (padrão). Veja também a opção -I. -j, --just-go Modo "just go". Neste modo, wcd não apresentará uma lista quando houver mais de um diretório que corresponde ao diretório dado. Wcd vai apenas mudar para a primeira opção. Quando wcd é invocado novamente com os mesmos argumentos, ele vai mudar para a próxima opção, e por aí vai. Wcd vai imprimir o diretório para ir para stdout. Então, um método de instalação diferente pode ser usado. Pode-se fazer a seguinte função para um shell compatível com POSIX: wcd () { cd "$($HOME/bin/wcd.exe -j $@)" } Quando você está usando um shell antigo que não oferece suporte o comando de substituição "$()", você tem que usar substituição de comando estilo antigo com acento grave ("back-quote"). wcd () { cd "`$HOME/bin/wcd.exe -j $@`" } Em sistemas Windows, se estiver executando shell 4NT, pode-se usar o seguinte alias: alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]` Esse método elimina a necessidade do go-script, então pode-se usar a opção -GN em combinação com -j. -k, --keep-paths Mantém caminhos. Mantém caminhos no arquivo de dados de árvore quando wcd não consegue mudar para eles. O comportamento padrão de wcd é tentar remover caminhos dos dados de árvore quando wcd não puder mudar para eles. Com essa opção, esse comportamento é desativado. -K, --color Usa cores no modo gráfico. -l ALIAS Nome do caminho atual com *ALIAS*. Wcd coloca o caminho atual com alias *ALIAS* no arquivo de alias. Aliases diferenciam maiúsculo de minúsculo. -ls Mostra o nome do arquivo de alias e lista todos os aliases. -m DIR Cria o diretório e adiciona o arquivo de dados de árvore. -L, --license Exibe a licença de distribuição. -M DIR Cria o diretório e adiciona o arquivo de dados de árvore extra. -n CAMINHO Lê o arquivo de dados de árvore relativos a partir de *CAMINHO*. Não lê o arquivo de dados de árvore padrão. O arquivo de dados de árvore relativos já deve ter sido criado usando a opção +S do wcd. *CAMINHO* também pode apontar para um arquivo diretamente. Um exemplo. Suponha que um outro sistema montou no ponto de montagem "/mnt/rede": wcd -n /mnt/rede src Wcd abre o arquivo de dados de árvore relativo em "/mnt/rede/". O arquivo contém os caminhos relativos a partir daquele ponto. +n CAMINHO Lê arquivo de dados de árvore relativos, além do arquivo de dados de árvore padrão. Veja a opção -n. -N, --numbers Usa números em vez de letras. Wcd com um interface baseada no conio ou curses (veja a seção Interfaces) apresenta uma lista de correspondência numerada com letras por padrão. Quando a opção -N é usada, a lista de correspondência é numerada com números. Independente da opção -N, pode-se digitar uma letra ou número para fazer uma seleção a partir da lista de correspondências. -o Usa interface de stdin/stdout. Quando por algum motivo a interface conio ou curses do wcd não funcionar, pode-se usar a interface stdin/stdout do wcd usando a opção -o. -od, --to-stdout Despeja todas as correspondências para a stdout. -q, --quiet Operação mais silenciosa. A exibição da correspondência final é suprimida. -r DIR Remove o diretório e remove o arquivo de dados de árvore. Se o diretório estiver vazio, wcd vai removê-lo e também vai tentar removê-lo do arquivo de dados de árvore. -rmtree DIR Remove recursivamente o diretório e remove o arquivo de dados de árvore. Wcd vai remover o diretório e todos seus subdiretórios e arquivos, e remove os diretórios do arquivo de dados de árvore. -s Varre (novamente) o disco a partir do diretório $HOME. Se *HOME* não estiver definido, o disco é varrido a partir do diretório raiz /. O arquivo de dados de árvore existente é sobrescrito. O diretório de varredura padrão pode ser sobreposto com a variável de ambiente "WCDSCAN". Veja a seção VARIÁVEIS DE AMBIENTE. -S CAMINHO Varre a árvore de diretórios a partir de *CAMINHO* e sobrescreve o arquivo de dados de árvore padrão. Veja também as opções -A, -s e -E. Por exemplo, com a opção -A você pode criar um arquivo de dados de árvore padrão de sua escolha. Exemplos: Unix: wcd -S / wcd -S /home -A /etc -A /usr DOS/Windows: wcd -S c:/ wcd -S c: -A d: -A \\servidor\compartilhamento Com as versões Windows, é possível varrer todos os diretórios compartilhados de um servidor de rede Windows digitando alguma coisa como: "wcd -A \\nomeservidor". +S CAMINHO Varre o disco a partir de *CAMINHO* e coloca caminhos relativos em um arquivo de dados de árvore relativos. Esse arquivo é usado pelas opções -n e +n do wcd. Por exemplo, "wcd -n CAMINHO src". -t Não remove o diretório de montagem temporário "/tmp_mnt" (Unix apenas) Wcd remove por padrão "/tmp_mnt/" da lista de correspondência. O diretório "/tmp_mnt" é usado pelo montador automático. Esse comportamento pode ser desativado com a opção -t. -T, --ascii-tree Desenha a árvore com caracteres ASCII. Use essa opção se os caracteres de desenho de linha não forem exibidos adequadamente em seu terminal. -Ta, --alt-tree-nav Forma alternativa de navegação na árvore gráfica. No layout de árvore de estilo padrão do NCD a opção -Ta desabilita pular para diretórios não relacionados. No modo de árvore compacta, o modo alternativo faz navegação similar à dos gerenciadores de arquivo GUI como o Windows Explorer ou Linux KDE Konqueror. Pressionar Cima e Baixo move a pasta selecionada uma linha para cima ou para baixo. Pressionar Esquerda primeiro dobra as subpastas e o próximo movimento para Esquerda realmente move para esquerda. Você alternar em tempo real entre a navegação padrão e alternativa pressionando . Quando o modo de navegação alternativa estiver ativado, você verá um "A" no canto inferior direito. -TC, --center-tree Visão centralizada na árvore gráfica. O diretório selecionado se mantém no meio da tela. O modo centralizado também pode ser ativado e desativado com a tecla na árvore gráfica. O comportamento padrão não centralizado, que minimiza o movimento de árvore, é o mesmo que no NCD original. -Tc, --compact-tree Por padrão, a árvore "gráfica" é desenhada da mesma forma que o NCD original no DOS. No DOS, um caminho de diretório só poderia ter 66 caracteres no total. Com as estruturas de diretório profundas de hoje, a árvore pode se tornar bem ampla. Para superar isso, wcd pode desenhar a árvore em uma forma compacta, similar a maioria dos gerenciadores de arquivos GUI, com apenas uma pasta por linha. Use a opção -Tc ou alterne em tempo real com a chave . -Td, --cjk-width Fontes CJK (chinês, japonês e coreano) legadas da Ásia Oriental possuem certos caracteres e símbolos de desenho de linha com uma largura de coluna de 2, enquanto a largura normal do Unicode para esses caracteres é 1 coluna. Por exemplo, a fonte raster chinesa CP936 no Windows e a fonte Simsun. Use essa opção para um traçado correto da árvore gráfica quando uma fonte CJK legada é usada. Quando o modo CJK estiver ativado, você verá um "C" no canto inferior direito. -u USUÁRIO Varre o arquivo de dados de árvore de outro usuário baseado em *USUÁRIO* em vez de varrer o próprio arquivo de dados de árvore padrão. Veja também a seção VARIÁVEIS DE AMBIENTE por *WCDUSERSHOME*. No Unix/Cygwin, o diretório base para diretórios home de usuários é presumido ser "/home". Wcd vai procurar por "/home/USUÁRIO/.treedata.wcd" e "/home/USUÁRIO/.wcd/.treedata.wcd", naquela ordem, e lê a primeira que existe e é legível. No DOS/Windows, o diretório base para diretórios home de usuários é presumido ser "\\users", então o wcd tenta ler "\\users\USUÁRIO\treedata.wcd" e "\\users\USUÁRIO\.wcd\treedata.wcd". +u USUÁRIO Lê o arquivo de dados de árvore padrão do USUÁRIO, além do próprio arquivo de dados de árvore. -v, --verbose Exibe mensagens verbosas. Com essa opção, wcd exibe todos os filtros, banimentos e exclusões. -V, --version Exibe informações da versão e sai. -w, --wild-match-only Correspondência curinga, apenas. Trata todas as correspondências como correspondências curingas. -x CAMINHO Exclui *CAMINHO* da varredura. Quando essa opção é usada, wcd vai excluir *CAMINHO* e todos seus subdiretórios quando wcd está varrendo um disco. Há suporte a caracteres curingas, os quais são correspondidos com os caminhos absolutos. A opção -x pode ser usado múltiplas vezes. wcd -x -x -s A opção -x deve ser usada na frente da qualquer opção de varredura (-s, -S, +S, -A, -E). Em sistemas DOS/Windows, deve-se especificar a letra da unidade dependendo de se a variável de ambiente *HOME* ou *WCDHOME* está definida. Se *HOME* ou *WCDHOME* estiver definida, é necessário especificar a letra da unidade. Um exemplo: wcd -x c:/temp -S c: Do contrário, não especifique a letra da unidade. wcd -x /temp -s -xf ARQUIVO Exclui todos caminhos listados no *ARQUIVO* da varredura. Quando essa opção é usada, wcd vai excluir todos os caminhos listados no *ARQUIVO* e todos seus subdiretórios quando o wcd estiver varrendo um disco. Há suporte a caracteres curingas, os quais são correspondidos com os caminhos absolutos; um caminho por linha. Esteja ciente que wcd não vai ignorar espaços em brancos no início ou fim de uma linha, porque eles são caracteres legais em um nome de diretório. A opção -xf pode ser usado múltiplas vezes. Quando se deseja excluir todos os caminhos banidos da varredura, pode-se fazer o seguinte (exemplo para wcd no Unix): wcd -xf ~/.ban.wcd -s Há suporte a caracteres curingas. Por exemplo, para excluir todos os seus diretórios Subversion com arquivos administrativos, adicione uma linha com "*/.svn". A opção -xf deve ser usada na frente da qualquer opção de varredura (-s, -S, +S, -A, -E). -y, --assume-yes Presume "Sim" para todas as perguntas. Wcd não vai consultar o usuário com perguntas de sim/não, mas presume que o usuário responde sim em todas as perguntas. Isso pode ser usado em combinação com a opção -rmtree. Essa opção deve ser usada na frente das opções que podem levar a perguntas sim/não. -z NÚMERO Define um tamanho mínimo da pilha com NÚMERO. O tamanho padrão da pilha é 10. Operação de pilha pode ser desativado ao definir o tamanho com 0. Essa opção deve ser usada na frente de qualquer outra operação de pilha (-,+,=). Do contrário, o tamanho da pilha será definido de volta para o padrão 10. O comando correto é: wcd -z 50 - O novo tamanho de pulha será 50, wcd irá uma diretório para trás. Um comando errado é: wcd - -z 50 Wcd vai um diretório para trás, a pilha obtém o tamanho padrão 10. O -z 50 é ignorado. Adicione essa opção como a primeira opção a seu alias ou função de wcd. Por exemplo, para um shell compatível com POSIX, isso seria: wcd () { wcd.exe -z 50 "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go } -[NÚMERO] Adiciona diretório NÚMERO de vezes. O padrão é um. Volta um diretório. O comando "wcd -" volta apenas um diretório. Para voltar mais diretórios, adicione um número. Por exemplo, o comando "wcd -3". A pilha é cíclica. +[NÚMERO] Retira diretório NÚMERO de vezes. O padrão é um. Avança um diretório. O comando "wcd +" avança apenas um diretório. Para avançar mais diretórios, adicione um número. Por exemplo, o comando "wcd +2". A pilha é cíclica. = Mostra a pilha. Use essa opção se você não sabe mais quantas vezes adicionar ou retirar. A pilha é exibida e você pode escolher um número. O lugar atual na pilha é marcado com um asterisco "*". INSTALAÇÃO O diretório de trabalho atual de um shell do Unix só pode ser mudado pelo comando embarcado cd(1). Portanto, o programa é sempre chamado por uma função ou um alias. A função ou alias serve de fonte para um script shell (go-script) que é gerado pelo programa wcd. Wcd só pode funcionar após a função ou o alias ser definido. Uma outra influência importante em sua instalação é a definição de variáveis de ambiente *HOME* e *WCDHOME*. Veja a seção VARIÁVEIS DE AMBIENTE. Instalação para shells de tipo POSIX Para um shell POSIX (ksh, bash, zsh etc.) no Unix, Linux, Cygwin ou MSYS nativo, adicione a seguinte função ao arquivo de inicialização do shell (ex.: Bash usa "$HOME/.bashrc"): wcd () { CAMINHO/wcd.exe "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go } Substitua *CAMINHO* com a localização onde o executável wcd foi instalado. Recarregue os arquivos de inicialização do shell ou inicie o novo shell. A localização do go-script "wcd.go" se difere por shell. Wcd para bash de DOS do DJGPP e bash de OS/2 exige uma função diferente. O go-script não é escrito em um diretório "bin", e se *WCDHOME* e *HOME* não estão definidos, o go-script é escrito no c:/. Bash de DOS: wcd () { CAMINHO/wcdbash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } Bash de OS/2: wcd () { CAMINHO/wcdos2bash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } A versão WinZsh do wcd exige uma função um pouco diferente. O go-script nunca vai ser escrito no c:/. wcd () { CAMINHO/wcdwin32zsh.exe "$@" . ${WCDHOME:-${HOME}}/wcd.go } Veja a seção ARQUIVOS para mais informações. Instalação para shells parecidos com C (csh, tcsh) Adicione o seguinte alias para o arquivo de inicialização de shell "$HOME/.cshrc" ou "$HOME/.tcshrc" : if ( ${?WCDHOME} ) then alias wcd "CAMINHO/wcd.exe \!* ; source $WCDHOME/bin/wcd.go" else alias wcd "CAMINHO/wcd.exe \!* ; source $HOME/bin/wcd.go" endif Substitua *CAMINHO* com a localização onde o executável wcd foi instalado. Recarregue os arquivos de inicialização do shell ou inicie um novo shell. Versão para Prompt de Comando do Windows Descompacte o arquivo zip e adicione o diretório "bin" à sua variável de ambiente *PATH*. No Prompt de Comando do Windows, um programa Windows não pode mudar o diretório de trabalho atual, mas um arquivo .bat pode. O script batch "wcd.bat" executa o programa que gera um novo script batch "wcdgo.bat". Então, "wcd.bat" executa "wcdgo.bat" que, finalmente, muda o diretório. Windows VISTA ou maios novo Em um Prompt de Comando do Windows VISTA, ou mais novo, você pode ter acesso limitado aos diretórios. Para obter acesso a mais diretórios você precisa de permissões administrativas. Você pode obter um Prompt de Comando com permissões administrativas se você clicar com botão direito do mouse no ícone do Prompt de Comando e selecionar *Executar como administrador*. Versão para PowerShell do Windows Adicione a seguinte função a seu perfil de usuário PowerShell. A localização deste perfil é armazenada na variável $profile. É necessário que uma das variáveis de ambiente *HOME* ou *WCDHOME* esteja definida. function wcd { CAMINHO\wcdwin32psh.exe $args & $env:HOME\wcdgo.ps1 } Substitua *CAMINHO* com a localização na qual o executável wcd foi instalado. Inicie um novo PowerShell. Wcd para PowerShell só oferece suporte ao provedor de sistema de arquivo. A nenhum outro provedor. Versão de Prompt de Comando do OS/2 Em um Prompt de Comando de OS/2 (cmd.exe), um programa do OS/2 não pode mudar o diretório de trabalho atual. É por isso que o wcd gera um script de comando "wcdgo.cmd" que deve ser executado no shell atual. O script "wcd.cmd" primeiro executa "wcdos2.exe", o qual cria o script "wcdgo.cmd". Então, "wcd.cmd" executa o script "wcdgo.cmd". LOCALIZAÇÃO LANG O idioma principal é selecionado com a variável de ambiente *LANG*. A variável *LANG* consiste em diversas partes. A primeira parte está em letras minúsculas do código do idiomas. A segunda é opcional e é o país do código em letras maiúsculas, precedida com um sublinhado. Há também uma terceira parte opcional: codificação de caracteres, precedida com um ponto. Alguns poucos exemplos para shells de tipo padrão POSIX: export LANG=nl Holandês export LANG=nl_NL Holandês, Holanda export LANG=nl_BE Holandês, Bélgica export LANG=es_ES Espanhol, Espanha export LANG=es_MX Espanhol, México export LANG=en_US.iso88591 Inglês, EUA, codificação Latin-1 Para uma lista completa de códigos de idioma e país, veja o manual do gettext(1): Em sistemas Unix, você pode usar o comando locale(1) para obter informações específicas de localidade. LANGUAGE Coma a variável de ambiente *LANGUAGE* você pode especificar uma lista de prioridade de idiomas, separada por caracteres de dois pontos. Wcd dá preferência a *LANGUAGE* sobre *LANG*. Por exemplo, primeiro holandês e depois alemão: "LANGUAGE=nl:de". Você tem que primeiro habilitar a localização, definindo *LANG* ou *LC_ALL* para um outro valor além de *C*, antes que você possa usar uma lista de prioridade de idiomas por meio da variável *LANGUAGE*. Veja também o manual do gettext (1): Se você selecionou um idioma que não está disponível, você terá as mensagens padrões em inglês. WCDLOCALEDIR Com a variável de ambiente *WCDLOCALEDIR*, o valor de *LOCALEDIR* usado durante a compilação e instalação de wcd pode ser sobreposto. *LOCALEDIR* é usado pelo wcd com suporte nativo a idioma para localizar os arquivos de idioma. O valor padrão do GNU é "/usr/local/share/locale". Ao digitar "wcd -V", wcd vai exibir o *LOCALEDIR* que é usado. Se você instalou o wcd em um diretório diferente do diretório padrão, você pode precisar definir a variável de ambiente *WCDLOCALEDIR* para apontar para o diretório da localidade. Um exemplo para cmd do Windows: set WCDLOCALEDIR=c:/meu_prefixo/share/locale Um exemplo para shell POSIX: export WCDLOCALEDIR=$HOME/share/locale LC_COLLATE Quando há múltiplas correspondências de diretório, wcd apresenta uma lista ordenada. As ordenação de dependências nas configurações de localidade. Se a variável de ambiente *LANG* foi definida, as correspondências são ordenadas como dicionários ou agendas telefônicas são ordenadas naquele idioma. Por exemplo, pontos e traços são ignorados, ou letras "e" com e sem acento são iguais, ou a diferença entre minúsculo e maiúsculo é ignorada. A ordenação dá preferência para a variável de ambiente *LC_COLLATE* sobre *LANG*. Se você definir *LC_COLLATE* com valor "C" ou "POSIX", a ordenação de localidade é desativada. Por exemplo, se você deseja o idioma holandês, mas não deseja a ordenação holandesa, você pode fazer algo como isso: export LANG=nl_NL export LC_COLLATE=C LC_CTYPE Em relação à codificação de caracteres, wcd vai dar preferência à variável *LC_CTYPE* sobre *LANG*. Por exemplo, para definir a codificação de caracteres para UTF-8, a definição da seguinte variável de ambiente pode ser feita. export LC_CTYPE=en_US.UTF-8 LC_ALL Todas as variáveis de ambiente de localidade que iniciam com *LC_* são sobrepostas para variável de ambiente *LC_ALL*, se estiver definida. Wcd dá preferência a *LC_ALL* sobre *LC_COLLATE* e *LC_CTYPE*. PÁGINAS DE CÓDIGO DO WINDOWS Há dois grupos de páginas de códigos: páginas de código DOS (OEM) e páginas de códigos Windows (ANSI). A codificação padrão do Windows, quando configurado com configurações regionais Western, é ANSI CP1252. Programas do Windows, como o bloco de notas, usam essa página de código ANSI padrão do sistema. O console do Windows usa por padrão uma página de código OEM (CP437 ou CP850) para compatibilidade com programas DOS. Se você usa uma versão DOS do wcd em um console Windows, ele vai funcionar por causa da página de código DOS. Mas a versão DOS do wcd carece de suporte a nomes de diretórios longos e unidades de rede no Windows. A versão Windows do wcd é um programa nativo do Windows e vai usar a página de código ANSI de sistema Windows. Então, em um Windows com região Western, será usada a página de código CP1252 para nomes de diretório e mensagens. Para obter uma saída consistente, independente da página de código ativa, todas as versões Windows do wcd traduzem a saída ANSI para saída Unicode no Prompt de Comando e no PowerShell. A fonte raster de console só oferece suporte à página de código OEM original instalada com Windows, então você terá que alterar a fonte de console para true type Console Lucida para fazer letras Unicode (e ANSI) aparecerem corretamente. Versões não Unicode do wcd *anterior à versão 5.2.0* usam saída ANSI simples. Para essas versões antigas, a página de código do console tem que ser feita igual à página de código de sistema (alterada para 1252) para fazer wcd para Windows funcionar adequadamente com caracteres especiais como caracteres acentuados ou símbolo de Euro. A página de código de sistema do Windows pode ser alterada via as opções regionais no Painel de Controle. A página de código de console Windows é alterada com o comando "chcp". Quando você digita "wcd -V", a codificação de caracteres usada por wcd é mostrada. Digite o comando "chcp" para exibir a página de código ativa do console Windows. UNICODE Wcd possui suporte opcional a Unicode. Para ver se wcd foi compilado com suporte a Unicode, digite "wcd -V". Se seu terminal/console e a fonte oferecem suporte a ele, você deve ver o símbolo de Euro e caracteres chineses. Wcd foi *parcialmente* convertido em Unicode. Em seu núcleo, wcd lida com todos os dados como um fluxo de bytes. Apenas nas linhas exibidas na tela são convertidas para caracteres amplos Unicode. Wcd depende completamente das funções libc e não possui um código específico UTF-8. Veja também Wcd possui suporte opcional a correspondência Unicode com normalização. Para descobrir se wcd possui suporte a normalização, digite "wcd -V". Wcd com suporte a normalização Unicode vai corresponder nomes Unicode baseados em equivalência *compatível*. Sem suporte a normalização Unicode, nomes são correspondidos quando eles são equivalente binário. Veja também UTF-8 no Unix/Linux Para ver caracteres UTF-8, seu console/terminal também precisa ter suporte a UTF-8. A versão xterm que vem com o XFree86 4.0 ou mais novo inclui suporte a UTF-8. Para ativá-lo, inicie xterm(1) em uma localidade UTF-8 e use uma fonte com codificação iso10646-1, por exemplo, com LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1' Distribuições modernas do GNU/Linux oferecem suporte a UTF-8 por padrão. Outras codificações de caracteres multibyte também devem funcionar, mas isso ainda não foi testado. Wcd presume que os arquivos de dados de árvore estejam codificados na codificação de caractere de localidade. Não há Marca de Ordem de Bytes (B.O.M.) escrita em arquivos de dados de árvore. UTF-16 no Windows No Windows, há suporte a Unicode em todas as versões do PowerShell e no Prompt de Comando do Windows 7 (ou mais novo). Unicode também funciona no Take Command, ou TCC/LE, feito pela JP Software, que pode ser usado em versões mais antigas do Windows (XP/Vista). No Windows, todos os nomes de diretórios no disco são codificados em Unicode UTF-16. Para programas não Unicode do Windows, os caracteres Unicode são traduzidos para a página de código ANSI padrão. Para caracteres que não são parte da configuração regional, essa tradução não é possível e programas não Unicode exibem uma interrogação ou um caractere errado. Wcd com suporte a Unicode vai ler os nomes de diretórios codificados em UTF-16 e convertê-los internalmente em UTF-8. Todos os arquivos de dados de árvore são codificados em UTF-8 e não compatível com a versão não Unicode do wcd. Wcd não vai criar um go-script codificado em UTF-8. Todas as versões do PowerShell do Windows são capazes de executar scripts codificados em UTF-8, a menos que haja um BOM UTF-8 no script. Desde o Windows 7 é possível no Prompt de Comando do Windows para mudar diretório com um script batch para um diretório com letras Unicode no nome. O nome do diretório precisa ser codificado em UTF-8 e o script batch *não* podem ter um BOM. A página de código ativo do Prompt de Comando precisa ser definido para 65001 (UTF-8) antes do comando cd. Wcd para Prompt de Comando vai criar um go-script "wcdgo.bat". Ele primeiro muda a página de código para 65001, depois muda o diretório e, ao final, define a página de código de volta para a original. Você precisa definir a fonte para True Type Lucida Console (fonte não raster) quando letras não aparecem corretamente. A versão não Unicode Windows do wcd pode ler arquivos de dados de árvore Unicode desde a versão 5.2.0, desde que haja uma Marca de Ordem de Bytes (BOM) no arquivo (veja ), mas ele não muda os diretórios com letras Unicode no nome que não são parte da página de código ANSI padrão do sistema. A versão Unicode Windows do wcd escreve um BOM nos arquivos de dados de árvore codificada em UTF-8 desde a versão 5.2.0, o que também os torna legível pelo notepad. UTF-8 no Cygwin Cygwin oferece suporte a Unicode desde a versão 1.7. A camada do Cygwin tem o cuidado para que os nomes Unicode UTF-16 do Windows sejam convertidos para UTF-8. Então os programas, como o wcd, não precisam estar cientes disto e podem operar usando codificação UTF-8 como no Unix/Linux. Defina a codificação de caracteres para UTF-8 com a variável de ambiente *LANG* ou *LC_CTYPE*. Você pode precisar varrer novamente suas unidades. Você precisa definir a fonte para True Type Lucida Console (fonte não raster) se você usa o console padrão do Cygwin. A versão Cygwin se comporta exatamente como a versão Unix do wcd. Não há BOM escrito nos arquivos de dados de árvore e ele presume que eles estejam codificados na codificação de caracteres de localidade do Cygwin. ARQUIVOS Se a variável de ambiente *WCDHOME* estiver definido, wcd vai usar *WCDHOME* em vez de *HOME*. Todos os arquivos "*.wcd" são arquivos textos. Eles podem ser editados com um editor de texto. A versão do wcd para Prompt de Comando do Windows se comporta como a versão para DOS. A versão Cygwin do wcd se comporta como a versão Unix. wcd.exe O programa. Em shells do Unix, o programa é sempre chamado por uma função ou alias porque o diretório de trabalho atual de um shell do Unix só pode ser mudado pelo comando embarcado cd. Veja também a seção INSTALAÇÃO. arquivo de dados de árvore padrão Esse é o arquivo de dados de árvore padrão no qual wcd pesquisa por correspondências. Se ele não for legível, wcd vai criar um novo. DOS: \treedata.wcd or %HOME%\treedata.wcd Unix: $HOME/.treedata.wcd arquivo de dados de árvore extra Um arquivo de dados de árvore extra e opcional. Se ele existir e for legível, wcd vai tentar localizar correspondências também neste arquivo. DOS: \extra.wcd or %HOME%\extra.wcd Unix: $HOME/.extra.wcd arquivo de banimento Neste arquivo opcional o wcd coloca os caminhos banidos. Veja a opção -b. Há suporte a caracteres curingas. DOS: \ban.wcd or %HOME%\ban.wcd Unix: $HOME/.ban.wcd arquivos alias Arquivo opcional com aliases do wcd. Veja a opção -l. DOS: \alias.wcd or %HOME%\alias.wcd Unix: $HOME/.alias.wcd arquivo de pilha Neste arquivo o wcd armazena sua pilha. A letra de unidade pode ser alterada com a opção -d. DOS: c:\stack.wcd or %HOME%\stack.wcd Unix: $HOME/.stack.wcd O nome do arquivo de pilha pode ser alterado com a variável de ambiente *WCDSTACKFILE*. Veja a seção VARIÁVEIS DE AMBIENTE. go-script Este é o script shell que wcd cria a cada vez. Ele é carregado por uma função ou um alias. A letra da unidade pode ser alterada com a opção -d. Por motivos históricos, ele é colocado por padrão em "$HOME/bin" em sistemas Unix. O diretório neste arquivo pode ser alterado com a opção -G. bash do DOS: c:/wcd.go ou $HOME/wcd.go Prompt de Comando do Windows: c:\wcdgo.bat ou %HOME%\wcdgo.bat PowerShell do Windows: $env:HOME\wcdgo.ps1 WinZsh: $HOME/wcd.go Cygwin/MSYS: $HOME/bin/wcd.go Prompt de Comando do OS/2: c:\wcdgo.cmd ou %HOME%\wcdgo.cmd bash do OS/2: c:/wcd.go ou $HOME/wcd.go Unix: $HOME/bin/wcd.go arquivo de dados de árvore relativos Arquivo de texto com caminhos relativos a partir de *DIR*. Veja +S, -n e +n. DOS: PATH\rtdata.wcd Unix: PATH/.rtdata.wcd VARIÁVEIS DE AMBIENTE HOME Wcd usa por padrão a variável de ambiente *HOME* para determinar onde deve armazenar seus arquivos. Veja também a seção ARQUIVOS. Isso pode ser sobreposto com a variável de ambiente *WCDHOME*. *HOME* também define por onde deve-se iniciar varrendo o disco quando a opção -s é usada. Isso pode ser sobreposto com a variável de ambiente *WCDSCAN*. Para a versão Unix, Cygwin, PowerShell do Windows, WinZsh e MSYS, é exigido que *HOME* ou *WCDHOME* esteja definida. Para outras versões do wcd, o uso dessas variáveis é opcional. Se *HOME* estiver definido no DOS/Windows, wcd vai colocar todos seus arquivos (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) no diretório *HOME*. O comportamento do wcd é, então, igual à versão Unix de wcd. Wcd vai varrer o disco padrão a partir de *HOME*. Unidades não serão automaticamente varridas mudando para elas. Você precisa dizer wcd explicitamente. Ex.: wcd -S c: -A d: -A e: Correspondência de diretórios é agora global por todas as unidades varridas. WCDHOME A variável de ambiente *WCDHOME* pode ser usada para alterar a localização de arquivos do wcd. Se ambas *HOME* e *WCDHOME* estiverem definidas, *WCDHOME* será usada em vez de *HOME*. Nas versões wcd antes de 5.1.5, *WCDHOME* também mudava o diretório padrão de varredura. Isso foi alterado. Desde a versão 5.1.5, *WCDHOME* não muda o diretório padrão de varredura. Veja a opção -s. A partir da versão 5.1.5, use a variável de ambiente *WCDSCAN* para sobrepor o diretório padrão de varredura. Exemplo para Prompt de Comando do DOS, do Windows e do OS/2: set WCDHOME=C:\Users\erwin\wcd Um exemplo para shells de tipo POSIX: export WCDHOME="$HOME/.wcd" Um exemplo para shells de tipo Csh: setenv WCDHOME "$HOME/.wcd" WCDSCAN Use a variável de ambiente *WCDSCAN* para sobrepor o diretório padrão de varredura *HOME*. Defina uma lista separada por dois pontos (Unix) para definir mais de um diretório. No DOS/Windows, separe a lista com ponto e vírgula. Exemplos para Prompt de Comando do DOS, Windows e OS/2: set WCDSCAN=C:\Users\erwin;D:\data set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\unidadeprojeto\projetoX Um exemplo para shells de tipo POSIX: export WCDSCAN="$HOME:/unidadeprojeto/projetoX" Um exemplo para shells de tipo Csh: setenv WCDSCAN "$HOME:/unidadeprojeto/projetoX" WCDFILTER Especifique filtros com a variável de ambiente *WCDFILTER*. Todos os diretórios que não correspondem ao(s) filtro(s) são ignorados. Uma lista pode ser especificada separando filtros por meio do separador de caminho do shell. Similar a especificar a variável *PATH*. A diferenciação entre maiúsculo e minúsculo depende do sistema operacional. Um exemplo para Prompt de Comando do DOS, Windows e OS/2: set WCDFILTER=projetos;doc Um exemplo para shells de tipo POSIX: export WCDFILTER="projetos:doc" Um exemplo para shells de tipo Csh: setenv WCDFILTER "projetos:doc" WCDBAN Os caminhos especificados com a variável de ambiente *WCDBAN* serão banidos pelo wcd. Veja também a opção -b. Especifique uma lista de caminhos separada por separador de *PATH* do shell. WCDEXCLUDE Os caminhos especificados com ambiente *WCDEXCLUDE* serão excluídos por wcd. Veja também as opções -x e -xf. Especifique uma lista de caminhos separada por separador de *PATH* do shell. Um exemplo para Prompt de Comando do DOS, Windows e OS/2: set WCDEXCLUDE=*/windows;*/temp;*CVS Um exemplo para shells de tipo POSIX: export WCDEXCLUDE="/dev:/tmp:*CVS" Um exemplo para shells de tipo Csh: setenv WCDEXCLUDE "/dev:/tmp:*CVS" WCDUSERSHOME Define a base de diretórios home do usuário. No DOS/Windows, o valor padrão é "\\users". No Unix/Cygwin, o valor padrão é "/home". Essa variável é usada para varrer arquivos de dados de árvore de outros usuários. Veja também a opção -u e +u. No modo verboso, wcd vai exibir todos os filtros, banimentos e exclusões. Veja a opção -v. WCDSTACKFILE Wcd dá preferência a *WCDSTACKFILE* sobre o nome de arquivo de pilha padrão (veja a seção ARQUIVOS). Com essa variável, cada shell (ou emulador de terminal usado) pode ter sua pilha privada de diretórios usados. Para usar um tempo único baseado no arquivo YYYYMMDD-HHMMSS para cada shell interativo aberto: export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S) Para uma pilha per xterm(1), use a variável de ambiente *WINDOWID* do xterm: export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID Para o GNU screen(1), para usar pilha por tela: export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW TERMINFO Se a variável de ambiente *TERMINFO* for usada, wcd com interface ncurses verifica por uma definição de terminal local antes de verificar no lugar padrão. Isso é útil se as definições de terminal não estiverem um lugar padrão. Lugares padrões geralmente usados são "/usr/lib/terminfo" e "/usr/share/terminfo". PDC_RESTORE_SCREEN Wcd com interface PDCurses reconhece a variável de ambiente *PDC_RESTORE_SCREEN*. Se essa variável de ambiente estiver definida, PDCurses vai levar uma cópia dos conteúdos da tela no momento em que wcd for iniciado; quando wcd sair, a tela será restaurada. Um exemplo para Prompt de Comando do Windows: set PDC_RESTORE_SCREEN=1 Windows só permite salvar um buffer pequeno. Então, não é sempre possível restaurar tudo. Alguns dados inúteis podem ser emitidos no console após o wcd sair, se você definir uma largura grande de buffer. SHELL Colocar do "#!$SHELL" na primeira linha do go-script para o shell de tipo POSIX ou shell C é necessário para caracteres de 8 bits. Do contrário, alguns shells pensarão que o go-script é um arquivo binário e não o carregarão. No bash do Cygwin, a variável *SHELL* deve ser definida usando o comando "export"; do contrário, wcd não consegue ler a variável. BASH Wcd para bash do DOS usa $BASH em vez de $SHELL, pois $SHELL aponta para o shell de comando do DOS. Pode ser necessário definir $BASH com o comando "export"; do contrário, wcd não consegue ler a variável. VEJA TAMBÉM sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1), AUTORES Wcd foi escrito por Erwin Waterlander Página do projeto: SourceForge: A formatação de página de manual foi fornecida por Jari Aalto . NCD foi escrito originalmente por Brad Kingsbury para "Norton Utilities" do Peter Norton por volta de 1987. Veja também wcd-6.0.3/src/man/uk/0000755000175500010010000000000013524756530013537 5ustar waterlanGeenwcd-6.0.3/src/man/uk/man1/0000755000175500010010000000000013524756540014374 5ustar waterlanGeenwcd-6.0.3/src/man/uk/man1/wcd.10000644000175500010010000027731413524756531015251 0ustar waterlanGeen.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "wcd 1" .TH wcd 1 "2019-08-14" "wcd" "2019-08-14" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "НАЗВА" .IX Header "НАЗВА" wcd \- довільна зміна каталогу (Wherever Change Directory) .PP засіб для зміни каталогу (chdir) у \s-1DOS\s0 та Unix .SH "КОРОТКИЙ ОПИС" .IX Header "КОРОТКИЙ ОПИС" .Vb 1 \& wcd [параметри] [каталог] .Ve .SH "ОПИС" .IX Header "ОПИС" .SS "Огляд" .IX Subsection "Огляд" Wcd — програма, що керується з командного рядка і надає змогу швидко змінювати каталоги. Вона економить час на введенні даних з клавіатури. Достатньо ввести лише частину назву каталогу і wcd перейде до цього каталогу. У wcd передбачено можливості пришвидшення вибору потрібного варіанта з декількох, створення альтернативних назв каталогів та блокування каталогів. Крім того, у wcd ви зможете скористатися повноекранною інтерактивною навігацією деревом каталогів з швидким пошуком. .PP Ідеї wcd часткового запозичено з Norton Change Directory (\s-1NCD\s0). Першу версію \&\s-1NCD\s0 у \fIThe Norton Utilities, Release 4\fR для \s-1DOS\s0 було випущено 1987 року компанією Пітера Нортона (Peter Norton). .PP Wcd було портовано на різні командні оболонки: command.com для \s-1DOS,\s0 cmd.exe та PowerShell для Windows, cmd.exe для \s-1OS/2\s0 і командні оболонки Unix, зокрема Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh) та C (csh), а також інші оболонки, що працюють у будь\-якій операційній системі. .PP У Wcd передбачено підтримку 8\-бітових наборів символів на усіх системах та додаткову підтримку Unicode. Докладніше про це у розділі «ЛОКАЛІЗАЦІЯ». .PP Щоб дізнатися більше про налаштовування wcd для особистого користування, зверніться до розділу «ВСТАНОВЛЕННЯ». .SS "Основні прийоми використання" .IX Subsection "Основні прийоми використання" Типово (якщо не використано символів\-замінників), wcd шукає каталог, назва якого починається з введених вами символів. .PP Наприклад, вказана нижче команда змінить каталог на каталог поточного користувача \f(CW\*(C`/home/user/Desktop\*(C'\fR: .PP .Vb 1 \& wcd Desk .Ve .PP Якщо буде виявлено декілька відповідників, wcd покаже користувачеві список цих відповідників. Після цього користувач зможе вибрати потрібний варіант декількома натисканнями клавіш (найчастіше, достатньо одного натискання). .SS "Шаблони\-замінники" .IX Subsection "Шаблони-замінники" У wcd передбачено підтримку таких символів\-замінників: .PP .Vb 4 \& * відповідає будь\-якій послідовності символів (нульової або більшої довжини) \& ? відповідає довільному символу \& [НАБІР] відповідає довільному символу з вказаного набору, \& [!НАБІР] або [^НАБІР] відповідає будь\-якому символу, що не належить до вказаного набору. .Ve .PP Набір символів може складатися з окремих символів або діапазонів символів. Діапазон слід вказувати так: \fIсимвол дефіс символ\fR, наприклад, \&\f(CW\*(C`0\-9\*(C'\fR або \f(CW\*(C`A\-Z\*(C'\fR. Мінімальним набором символів у конструкції \f(CW\*(C`[..]\*(C'\fR є \&\f(CW\*(C`[0\-9a\-zA\-Z_]\*(C'\fR. Можна використовувати символи з розширеного набору (тобто 8\-бітові символи), якщо у системі передбачено підтримку цих символів. Щоб придушити використання символів з набору \f(CW\*(C`[]*?!^\-\e\*(C'\fR для побудови синтаксичних лексем у межах конструкцій \f(CW\*(C`[..]\*(C'\fR тобто їхнього буквального використання, додавайте перед цими символами символ зворотної риски (\f(CW\*(C`\e\*(C'\fR). .PP Використання символів\-замінників надає доступ до досить потужних можливостей з пошуку. Наприклад, за допомогою вказаного нижче виразу можна знайти будь\-який каталог, назва якого завершується на «top»: .PP .Vb 1 \& wcd *top .Ve .PP Знайти каталоги, у назві яких будь\-де міститься частина «top»: .PP .Vb 1 \& wcd *top* .Ve .PP Знайти будь\-який каталог, назва якого починається з «a», «b» або «c»: .PP .Vb 1 \& wcd [a\-c]* .Ve .PP Крім того, можна вказати частину шляху до каталогу. У наведеному нижче прикладі wcd шукатиме каталог, назва якого починається з «Desk», шлях якого відповідає шаблону \fI*me/Desk*\fR. .PP .Vb 1 \& wcd me/Desk .Ve .PP Можна використовувати будь\-який вираз, що містить риски та символи замінники. Приклад: .PP .Vb 1 \& wcd src*/*1?/a*2 .Ve .SS "Інші варіанти використання" .IX Subsection "Інші варіанти використання" Якщо у виразі не використано символів\-замінників, а wcd знаходить повний відповідник з вказаним шляхом і назвою, wcd типово проігнорує усі відповідники, які могло б бути знайдено з використанням символів\-замінників. Типову поведінку програми можна змінити за допомогою параметра \fB\-w\fR. .PP Інтерактивний навігатор ієрархією каталогів можна запустити за допомогою параметра \fB\-g\fR. .PP .Vb 1 \& wcd \-g .Ve .PP Wcd створює файл даних ієрархії (treedata) у каталогах, звідки виконується пошук. У системах Unix та Windows wcd додає символічні посилання на файл treedata під час сканування диска, але не переходить за створеними посиланнями. Перехід за посиланнями може призвести до зациклювання wcd у ієрархії каталогів або сканування великих масивів каталогів у мережі. .PP Крім того, wcd може переходити до каталогів, яких немає у файлі treedata. Приклад: .PP .Vb 1 \& wcd .. .Ve .PP Якщо wcd буде виявлено відповідник критерію пошуку, але програма не зможе перейти до цього каталогу, буде виконано спробу вилучення каталогу з типового файла treedata, але не з додаткового файла treedata. Див. також параметр \fB\-k\fR. .PP Wcd зберігає на диску стос переходів за каталогами. Типовим обсягом стосу є 10. Перехід стосом здійснюється циклічно. Див. параметри \fB\-z\fR, \fB\-\fR, \fB+\fR та \fB=\fR. .PP У середовищах з декількома користувачами для переходу до каталогів, що належать іншим користувачам, можна скористатися параметром \fB\-u\fR. .PP У операційних системах \s-1DOS\s0 і Windows можна використовувати як роздільник між каталогами як символ «/», так і символ «\e». .PP У системах \s-1DOS\s0 та Windows передбачено можливість переходу до каталогу на іншому диску. Для цього достатньо перед назвою каталогу на диску вказати назву диска. .PP .Vb 1 \& wcd d:games .Ve .SS "Шляхи \s-1UNC\s0 Windows" .IX Subsection "Шляхи UNC Windows" У версіях для Windows (для командного рядка, PowerShell, \s-1MSYS,\s0 zsh, cygwin) передбачено підтримку шляхів \s-1UNC LAN\s0 Windows для \s-1SMB\s0 без літер дисків, наприклад \f(CW\*(C`\e\eназва_сервера\eназва_ресурсу\*(C'\fR. У wcd для командного рядка Windows для автоматичного прив’язування шляху \s-1UNC\s0 до літери диска використовується команда «pushd». У In Windows PowerShell, \s-1MSYS,\s0 zsh та Cygwin передбачено повноцінну підтримку шляхів \s-1UNC.\s0 Шлях \s-1UNC\s0 може бути поточним робочим каталогом. .SS "Зміна розмірів вікна консолі у Windows" .IX Subsection "Зміна розмірів вікна консолі у Windows" У wcd передбачено можливість зміни розмірів вікна консолі у Windows 10 і ConEmu (див. ), починаючи з версії 6.0.3. Консоль Windows 10 має бути запущено не у застарілому режимі (перевірте це у властивостях консолі). Якщо властивість компонування вікна «Переносити текстове виведення при зміні розмірів» не увімкнено, вміст вікна може не оновлюватися. Оновити вміст вікна можна вручну натисканням клавіші F5. .SS "Інтерфейси" .IX Subsection "Інтерфейси" У wcd передбачено три різні інтерфейси вибору потрібного варіанта зі списку відповідників. Інтерфейс можна вибрати під час збирання програми. .PP Першим інтерфейсом є звичайні інтерфейси введення та виведення (stdin/stdout). До термінала буде виведено нумерований список варіантів. Користувач зможе вибрати відповідний варіант введенням його номера з наступним натисканням клавіші . У цьому інтерфейсі не передбачено можливостей гортання для довгих списків. Для цього доведеться користуватися можливостями з гортання термінала або консолі. Код цього інтерфейсу доволі малий і портований. .PP Другий інтерфейс побудовано на основі бібліотеки conio. У ньому передбачено можливості гортання. Користувачу буде показано список з літерним позначенням пунктів. Для вибору пункту у списку достатньо натиснути клавішу з відповідною літерою. Цей інтерфейс працює швидше, оскільки треба натискати менше клавіш. Після вибору варіанта, якщо це можливо, зображення на екрані буде відновлено до стану перед показом варіантів. Якщо користувач надає перевагу цифровому позначенню пунктів, можна скористатися параметром \fB\-N\fR. .PP Третій інтерфейс побудовано на основі бібліотеки curses. Він подібний до інтерфейсу на основі conio. Версія wcd на основі curses має додатковий «графічний» інтерфейс. За його допомогою користувач зможе вибрати каталог у повноекранному інтерактивному навігаторі ієрархією каталогів. Передбачено навігацію та пошук у стилі \fIvim\fR\|(1). Задіяти цей інтерфейс можна за допомогою параметра \fB\-g\fR. .PP За допомогою параметра командного рядка \fB\-o\fR програму можна завжди перевести до стандартного інтерфейсу stdin/stdout. .SH "ПАРАМЕТРИ" .IX Header "ПАРАМЕТРИ" .IP "\fB\-a\fR" 4 .IX Item "-a" Додати поточний шлях до типового файла ієрархії. .Sp За допомогою цього параметра можна швидко додати поточний шлях до типового файла ієрархії каталогів. Повторне сканування усього диска у певних випадках може бути досить тривалою справою. .IP "\fB\-aa\fR" 4 .IX Item "-aa" Додати поточний і усі батьківські шляхи до типового файла ієрархії каталогів (treedata). .IP "\fB\-A ШЛЯХ\fR" 4 .IX Item "-A ШЛЯХ" Сканувати ієрархію каталогів, починаючи з каталогу \fIШЛЯХ\fR, і дописати усі виявлені каталоги до файла ієрархії каталогів (treedata). Приклади: .Sp .Vb 3 \& wcd \-A . \& wcd \-A /home \-A /etc \& wcd \-A d: \-A e: \-A \e\eserver\eshare .Ve .Sp У Windows можна виконати сканування усіх каталогів спільного використання на сервері локальної мережі Windows за допомогою такої команди: \f(CW\*(C`wcd \-A \&\e\eназва_сервера\*(C'\fR. .Sp Див. також параметри \fB\-S\fR, \fB\-s\fR та \fB\-E\fR. .IP "\fB\-b\fR" 4 .IX Item "-b" Заблокувати поточний шлях. .Sp Wcd додає поточний шлях до файла блокування. Це означає, що wcd ігноруватиме усі відповідники з поточного каталогу і усіх його підкаталогів. .Sp Файл блокувань (ban) можна редагувати у текстовому редакторі. Передбачено підтримку символів\-замінників. Відповідність назв встановлюється за абсолютними шляхами. .Sp Заблоковані шляхи не виключаються зі шляхів сканування диска. Щоб виключити заблоковані шляхи, скористайтеся параметром \fB\-xf\fR. .IP "\fB\-c, \-\-direct\-cd\fR" 4 .IX Item "-c, --direct-cd" Безпосередній режим \s-1CD.\s0 Типово, wcd працює так: .Sp .Vb 2 \& 1. Спробувати знайти відповідник у файлах ієрархії (treedata). \& 2. Якщо нічого не знайдено, спробувати відкрити каталог, назву якого було введено. .Ve .Sp У безпосередньому режимі \s-1CD\s0 wcd виконує обробку запиту у зворотному порядку. .Sp .Vb 2 \& 1. Cпробувати відкрити каталог, назву якого було введено. \& 2. Якщо не вдалося, знайти відповідник у файлах ієрархії (treedata). .Ve .IP "\fB\-d ДИСК\fR" 4 .IX Item "-d ДИСК" Встановити диск для файла стосу і переходу (лише для \s-1DOS\s0). .Sp Типово, файл стосу та скрипт переходу зберігаються на диску C:, якщо не встановлено значення змінної середовища \fI\s-1HOME\s0\fR. Цим параметром можна скористатися, якщо диск C: захищено від запису. Цей параметр слід вказувати перед параметрами роботи зі стосом \fB\-\fR, \fB+\fR та \fB=\fR. .IP "\fB\-e\fR" 4 .IX Item "-e" Додати поточний шлях до додаткового файла ієрархії. .Sp За допомогою цього параметр можна швидко додати поточний шлях до додаткового файла ієрархії. .IP "\fB\-ee\fR" 4 .IX Item "-ee" Додати поточний і усі батьківські шляхи до додаткового файла ієрархії каталогів (treedata). .IP "\fB\-E ШЛЯХ\fR" 4 .IX Item "-E ШЛЯХ" Сканувати ієрархію каталогів, починаючи з каталогу \fIШЛЯХ\fR, і дописати усі виявлені каталоги до додаткового файла ієрархії каталогів (treedata). Див. також параметри \fB\-A\fR та \fB\-S\fR. .IP "\fB\-f ФАЙЛ\fR" 4 .IX Item "-f ФАЙЛ" Прочитати файл даних ієрархії каталогів \fIФАЙЛ\fR. Не виконувати читання з типового файла ієрархії каталогів. .IP "\fB+f ФАЙЛ\fR" 4 .IX Item "+f ФАЙЛ" Прочитати дані з файла ієрархії каталогів \fIФАЙЛ\fR на додачу до даних з типового файла даних ієрархії каталогів. .IP "\fB\-g\fR" 4 .IX Item "-g" Графічний інтерфейс (лише у версії з інтерфейсом на основі curses). .Sp Wcd запускає текстовий «графічний» інтерфейс на основі curses. Користувач може вибрати каталог за допомогою повноекранного інтерактивного навігатора ієрархією каталогів. Передбачено навігацію і пошук у стилі \fIvim\fR\|(1). .Sp Якщо рядок пошуку не вказано, wcd показує усю ієрархію каталогів з типового та додаткового файлів даних ієрархії. .Sp Якщо рядок пошуку вказано, список відповідників буде показано як ієрархію каталогів. .Sp Типове компонування ієрархії подібне до компонування каталогів у початковій версії \s-1NCD\s0 у \s-1DOS.\s0 Різниця у компонуванні полягає у тому, що у \s-1NCD\s0 усі каталоги одного рівня було вирівняно однаковим відступом у всьому дереві. Це було можливим у \s-1NCD,\s0 оскільки максимальна довжина назви каталогу у \s-1DOS\s0 дорівнювала 12 (8.3) символам. У сучасних операційних системах назви каталогів можуть бути дуже довгими і різниця у довжинах може бути дуже великою. Тому теки однакового рівня вкладеності не вирівняно за однією лінією за усією ієрархією каталогів у wcd, а лише за гілками ієрархії. Отже, під час руху вгору\-вниз ієрархією каталогів користувач спостерігатиме за зсувами списку у різні боки. .Sp Навігаційна поведінка у wcd абсолютно збігається з початковою версією \&\s-1NCD.\s0 Наприклад, якщо ви натиснете клавішу зі стрілкою вниз, ви перейдете до наступного каталогу з тим самим рівнем вкладеності, переходячи гілками ієрархії. Це пришвидшує навігацію ієрархією каталогів. .Sp Поведінку засобу навігації можна змінити за допомогою параметрів \fB\-Ta\fR, \&\fB\-TC\fR та \fB\-Tc\fR. .IP "\fB\-gd\fR" 4 .IX Item "-gd" Створити дамп файлів ієрархії каталогів (treedata) і вивести дані до стандартного виведення (stdout). .IP "\fB\-G ШЛЯХ\fR" 4 .IX Item "-G ШЛЯХ" Записати скрипт переходу у каталозі \fIШЛЯХ\fR. Наприклад, у Unix, \f(CW\*(C`wcd \-G ШЛЯХ\*(C'\fR призведе до запису скрипту переходу до \fBШЛЯХ/wcd.go\fR. .IP "\fB\-GN, \-\-no\-go\-script\fR" 4 .IX Item "-GN, --no-go-script" Не створювати скрипт переходу. Цим параметром можна скористатися у поєднанні з параметром \fB\-j\fR, якщо з якихось причин створення wcd скрипту переходу є небажаним. .IP "\fB\-h, \-\-help\fR" 4 .IX Item "-h, --help" Показати довідку щодо використання і завершити роботу. .IP "\fB\-i, \-\-ignore\-case\fR" 4 .IX Item "-i, --ignore-case" Ігнорувати регістр символів. У версіях wcd для \s-1DOS\s0 та Windows така поведінка є типовою. У версіях для Unix/Cygwin регістр типово враховується. .IP "\fB+i, \-\-no\-ignore\-case\fR" 4 .IX Item "+i, --no-ignore-case" Брати до уваги регістр символів. Див. також параметр \fB\-i\fR. .IP "\fB\-I, \-\-ignore\-diacritics\fR" 4 .IX Item "-I, --ignore-diacritics" Ігнорувати діакритичні знаки для писемностей на основі латиниці. Програма вважатиме літери з діакритичними знаками еквівалентними до їхніх відповідників без діакритичних знаків. Передбачено підтримку таких кодувань латиниці: \s-1CP437, CP850, CP852, CP1250, CP1252, ISO\-8859\-1, ISO\-8859\-2\s0 та Unicode Latin\-1, Latin Extended-A, а також Latin Extended-B. Див. також .IP "\fB+I, \-\-no\-ignore\-diacritics\fR" 4 .IX Item "+I, --no-ignore-diacritics" Брати до уваги діакритичні позначки (типово). Див. також параметр \fB\-I\fR. .IP "\fB\-j, \-\-just\-go\fR" 4 .IX Item "-j, --just-go" Режим простого переходу. .Sp У цьому режимі wcd не показуватиме списку, якщо для вказаної назви буде знайдено декілька відповідників. Wcd просто перейде до першого ж відповідника. Якщо wcd буде викликано знову з тими самими аргументами, програма змінить каталог на наступний пункт у списку тощо. .Sp Wcd виведе назву каталогу, що якого переходитиме до стандартного виведення (stdout). Отже можна скористатися декількома способами встановлення. Можна створити таку функцію для сумісної з \s-1POSIX\s0 командної оболонки: .Sp .Vb 4 \& wcd () \& { \& cd "$($HOME/bin/wcd.exe \-j $@)" \& } .Ve .Sp Якщо ви користуєтеся застарілою командною оболонкою, у якій не передбачено підтримки заміни команди «$()», вам доведеться скористатися підставлянням команди у застарілому стилі з одинарними відкривними лапками. .Sp .Vb 4 \& wcd () \& { \& cd "\`$HOME/bin/wcd.exe \-j $@\`" \& } .Ve .Sp У системах Windows, якщо використано командну оболонку 4NT, можна створити такі альтернативні назви: .Sp .Vb 1 \& alias wcd \`cd %@execstr[wcdwin32.exe \-z 0 \-j %1]\` .Ve .Sp Подібний метод усуває потребу у скрипті переходу, отже, параметр \fB\-j\fR можна використати у поєднанні з параметром \fB\-GN\fR. .IP "\fB\-k, \-\-keep\-paths\fR" 4 .IX Item "-k, --keep-paths" Зберігати шляхи. .Sp Зберігати шляхи до файла даних ієрархії каталогів, якщо wcd не може перейти до відповідного каталогу. Типовою поведінкою програми є вилучення шляхів з файла даних ієрархії, якщо wcd не може перейти до відповідного каталогу. Якщо буде використано цей параметр, програма не вилучатиме відповідних записів каталогів. .IP "\fB\-K, \-\-color\fR" 4 .IX Item "-K, --color" Використовувати кольори у графічному режимі. .IP "\fB\-l АЛЬТЕРНАТИВНА НАЗВА\fR" 4 .IX Item "-l АЛЬТЕРНАТИВНА НАЗВА" Надати поточному шляху альтернативну назву \fIАЛЬТЕРНАТИВНА НАЗВА\fR. Wcd запише поточний шлях з його альтернативною назвою до файла альтернативних назв. Альтернативні назви з різним регістром символів вважаються різними. .IP "\fB\-ls\fR" 4 .IX Item "-ls" Показати назву файла псевдонімів і вивести список усіх альтернативних назв (псевдонімів). .IP "\fB\-m КАТАЛОГ\fR" 4 .IX Item "-m КАТАЛОГ" Створити каталог і додати його до файла даних ієрархії. .IP "\fB\-L, \-\-license\fR" 4 .IX Item "-L, --license" Вивести дані щодо умов ліцензування. .IP "\fB\-M КАТАЛОГ\fR" 4 .IX Item "-M КАТАЛОГ" Створити каталог і додати його до додаткового файла даних ієрархії. .IP "\fB\-n ШЛЯХ\fR" 4 .IX Item "-n ШЛЯХ" Прочитати відносний файл даних ієрархії каталогів з каталогу \fIШЛЯХ\fR. .Sp Не виконувати читання з типового файла даних ієрархії каталогів. Файл даних відносних шляхів до каталогів має бути вже створено за допомогою параметра wcd \fB+S\fR. Крім того, \fIШЛЯХ\fR може безпосередньо вказувати на файл. .Sp Приклад. Припустімо, що іншу систему змонтовано до точки монтування \&\f(CW\*(C`/mnt/network\*(C'\fR: .Sp .Vb 1 \& wcd \-n /mnt/network src .Ve .Sp Wcd відкриває файл даних відносних шляхів до каталогів у \f(CW\*(C`/mnt/network/\*(C'\fR. У цьому файлі містяться шляхи відносно відповідного каталогу. .IP "\fB+n ШЛЯХ\fR" 4 .IX Item "+n ШЛЯХ" Прочитати дані з файла даних відносної ієрархії каталогів на додачу до даних з типового файла даних ієрархії каталогів. Див. параметр \fB\-n\fR. .IP "\fB\-N, \-\-numbers\fR" 4 .IX Item "-N, --numbers" Використовувати числа замість літер. .Sp Wcd з інтерфейсом на основі conio або curses (див. розділ щодо інтерфейсів) типово показує список варіантів з пунктами, позначеними літерами. Якщо використано параметр \fB\-N\fR, пункти у списку буде пронумеровано. Незалежно дві параметра \fB\-N\fR, користувач може натиснути клавішу з літерою або номером для вибору пункту зі списку відповідників. .IP "\fB\-o\fR" 4 .IX Item "-o" Використовувати інтерфейс stdin/stdout. .Sp Якщо з певних причин інтерфейсом на основі conio або curses у wcd не можна або не бажано користуватися, користувач може перемкнути програму на інтерфейс stdin/stdout за допомогою параметра \fB\-o\fR. .IP "\fB\-od, \-\-to\-stdout\fR" 4 .IX Item "-od, --to-stdout" Вивести усі відповідники до stdout. .IP "\fB\-q, \-\-quiet\fR" 4 .IX Item "-q, --quiet" Менше повідомлень. Останній відповідник не виводиться до консолі. .IP "\fB\-r КАТАЛОГ\fR" 4 .IX Item "-r КАТАЛОГ" Вилучити каталог і відповідний запис з файла даних ієрархії каталогів. .Sp Якщо каталог є порожнім, wcd вилучить його і спробує вилучити відповідний запис з файла даних ієрархії каталогів. .IP "\fB\-rmtree КАТАЛОГ\fR" 4 .IX Item "-rmtree КАТАЛОГ" Рекурсивно вилучити каталог і відповідні записи з файла даних ієрархії каталогів. .Sp Wcd вилучить каталог та усі його підкаталоги та файли і витре записи відповідних каталогів з файла даних ієрархії каталогів. .IP "\fB\-s\fR" 4 .IX Item "-s" Виконати сканування або повторне сканування диска, починаючи з каталогу \&\fI\f(CI$HOME\fI\fR. Якщо значення змінної \s-1HOME\s0 не визначено, сканування диска виконуватиметься, починаючи з кореневого каталогу, /. .Sp Наявний типовий файл даних ієрархії каталогів буде перезаписано. .Sp Типовий каталог сканування можна перевизначити за допомогою змінної середовища \f(CW\*(C`WCDSCAN\*(C'\fR. Див. розділ «ЗМІННІ СЕРЕДОВИЩА». .IP "\fB\-S ШЛЯХ\fR" 4 .IX Item "-S ШЛЯХ" Виконати сканування ієрархії каталогів, починаючи з каталогу \fIШЛЯХ\fR, і перезаписати типовий файл даних ієрархії каталогів. Див. також параметри \&\fB\-A\fR, \fB\-s\fR та \fB\-E\fR. Наприклад, з параметром \fB\-A\fR ви можете створити типовий файл даних ієрархії каталогів за вашим вибором. Приклади: .Sp Unix: .Sp .Vb 2 \& wcd \-S / \& wcd \-S /home \-A /etc \-A /usr .Ve .Sp DOS/Windows: .Sp .Vb 2 \& wcd \-S c:/ \& wcd \-S c: \-A d: \-A \e\eserver\eshare .Ve .Sp У версіях для Windows можна виконати сканування усіх каталогів спільного використання на сервері локальної мережі Windows за допомогою такої команди: \&\f(CW\*(C`wcd \-S \e\eназва_сервера\*(C'\fR. .IP "\fB+S ШЛЯХ\fR" 4 .IX Item "+S ШЛЯХ" Сканувати диск, починаючи з каталогу \fIШЛЯХ\fR, і замінити відносні шляхи у файлі даних відносної ієрархії каталогів. Цей файл використовується, якщо додано параметри \fB\-n\fR і \fB+n\fR. Приклад: \f(CW\*(C`wcd \-n ШЛЯХ джерело\*(C'\fR. .IP "\fB\-t\fR" 4 .IX Item "-t" Не вилучати із записів рядок тимчасового каталогу монтування, \f(CW\*(C`/tmp_mnt\*(C'\fR (лише у Unix) .Sp Типово, wcd вилучає \f(CW\*(C`/tmp_mnt/\*(C'\fR з відповідників. Каталог \f(CW\*(C`/tmp_mnt\*(C'\fR використовується засобом автоматичного монтування. Таку обробку можна вимкнути за допомогою параметра \fB\-t\fR. .IP "\fB\-T, \-\-ascii\-tree\fR" 4 .IX Item "-T, --ascii-tree" Малювати ієрархію за допомогою символів \s-1ASCII.\s0 Скористайтеся цим параметром, якщо символи малювання ліній у терміналі буде показано з помилками. .IP "\fB\-Ta, \-\-alt\-tree\-nav\fR" 4 .IX Item "-Ta, --alt-tree-nav" Альтернативний режим навігації у форматі графічної ієрархії каталогів. .Sp У типовому режимі компонування ієрархії у стилі \s-1NCD\s0 параметр \fB\-Ta\fR вимикає перехід до непов’язаних каталогів. .Sp У режимі компактної ієрархії альтернативний режим робить навігацію подібною до навігації у програмах для керування файлами з графічним інтерфейсом, зокрема Провіднику Windows або \s-1KDE\s0 Konqueror у Linux. Натискання клавіш зі стрілками вгору і вниз пересуває позначення теки на один рядок вгору або вниз. Першим натисканням клавіші зі стрілкою ліворуч можна згорнути підтеки, наступне натискання — перехід ліворуч. .Sp Перемкнутися між режимами типової і альтернативної навігації без перезапуску програми можна за допомогою натискання комбінації клавіш Shift-A. .Sp Якщо увімкнено режим альтернативної навігації, у нижньому правому куті екрана ви побачите літеру «A». .IP "\fB\-TC, \-\-center\-tree\fR" 4 .IX Item "-TC, --center-tree" Центрований режим перегляду у графічній ієрархії. Позначений каталог залишається посередині екрана. Центрований режим можна увімкнути або вимкнути за допомогою натискання клавіші «t» у режимі графічної ієрархії. .Sp Стандартний нецентрований режим, який мінімізує рух самої ієрархії на екрані, аналогічний до оригінального режиму \s-1NCD.\s0 .IP "\fB\-Tc, \-\-compact\-tree\fR" 4 .IX Item "-Tc, --compact-tree" Типово, «графічну» ієрархію буде намальовано у той самий спосіб, як це робила початкова версія \s-1NCD\s0 для \s-1DOS.\s0 У \s-1DOS\s0 шлях до каталогу може складатися не більше ніж з 66 символів. Використання сучасної структури каталогів, без обмежень на довжину шляхів, може призвести до значного перевищення ширини ієрархії. Щоб подолати ці труднощі, wcd може малювати ієрархію каталогів у компактному форматі, подібному до формату більшості програм для керування файлами з графічним інтерфейсом, по одній теці на рядок. Увімкнути відповідний режим можна за допомогою параметра \fB\-Tc\fR або перемикання натисканням клавіші «m». .IP "\fB\-Td, \-\-cjk\-width\fR" 4 .IX Item "-Td, --cjk-width" У застарілих шрифтах для показу ієрогліфів східноазійських мов (китайської, японської та корейської) частина символів ієрогліфів та символів малювання ліній займають дві позиції замість звичайної для Unicode ширини цих символів у одну позицію. Прикладами таких шрифтів є растровий шрифт Chinese \s-1CP936\s0 для Windows та шрифт Simsun. За допомогою цього параметра можна забезпечити правильний показ графічної ієрархії каталогів з використанням застарілих шрифтів з ієрогліфами. .Sp Якщо увімкнено режим ієрогліфів, у нижньому правому куті екрана ви побачите літеру «C». .IP "\fB\-u КОРИСТУВАЧ\fR" 4 .IX Item "-u КОРИСТУВАЧ" Сканувати файл даних ієрархії іншого користувача, \fIКОРИСТУВАЧ\fR, не сканувати типовий файл ієрархії поточного користувача. Див. також розділ ЗМІННІ СЕРЕДОВИЩА, а саме запис щодо змінної \fI\s-1WCDUSERSHOME\s0\fR. .Sp У Unix/Cygwin базовим каталогом для домашніх каталогів користувачів вважається \f(CW\*(C`/home\*(C'\fR. Wcd шукатиме файли \f(CW\*(C`/home/USER/.treedata.wcd\*(C'\fR та \&\f(CW\*(C`/home/USER/.wcd/.treedata.wcd\*(C'\fR, саме у цьому порядку, і читатиме дані з першого ж із цих файлів, який буде знайдено і який виявиться придатним до читання. У DOS/Windows базовим каталогом для домашніх каталогів користувачів вважається \f(CW\*(C`\e\eusers\*(C'\fR, отже, wcd намагається прочитати дані з файлів \&\f(CW\*(C`\e\eusers\eUSER\etreedata.wcd\*(C'\fR та \f(CW\*(C`\e\eusers\eUSER\e.wcd\etreedata.wcd\*(C'\fR. .IP "\fB+u КОРИСТУВАЧ\fR" 4 .IX Item "+u КОРИСТУВАЧ" Прочитати дані з типового файла ієрархії каталогів користувача КОРИСТУВАЧ на додачу до даних з типового файла даних ієрархії каталогів вашого користувача. .IP "\fB\-v, \-\-verbose\fR" 4 .IX Item "-v, --verbose" Показувати докладні повідомлення. З цим параметром wcd виводитиме усі фільтри, блокування та виключення. .IP "\fB\-V, \-\-version\fR" 4 .IX Item "-V, --version" Показати дані щодо версії і завершити роботу. .IP "\fB\-w, \-\-wild\-match\-only\fR" 4 .IX Item "-w, --wild-match-only" Встановлення відповідність для неточних відповідників, лише якщо використано символи\-замінники. .IP "\fB\-x ШЛЯХ\fR" 4 .IX Item "-x ШЛЯХ" Виключити \fIШЛЯХ\fR зі сканування. .Sp Якщо буде використано цей параметр, wcd виключить шлях з назвою \fIШЛЯХ\fR та усі його підкаталоги з переліку шляхів для сканування диска. Передбачено підтримку символів\-замінників та встановлення відповідності за абсолютними шляхами. Параметр \fB\-x\fR у команді можна використовувати декілька разів. .Sp .Vb 1 \& wcd \-x <шлях1> \-x <шлях2> \-s .Ve .Sp Параметр \fB\-x\fR слід вказувати до усіх параметрів сканування (\fB\-s\fR, \fB\-S\fR, \&\fB+S\fR, \fB\-A\fR, \fB\-E\fR). .Sp У системах DOS/Windows слід вказати літеру диска, якщо не визначено змінної середовища \fI\s-1HOME\s0\fR або \fI\s-1WCDHOME\s0\fR. Приклад: .Sp .Vb 1 \& wcd \-x c:/temp \-S c: .Ve .Sp У інших випадках літеру диска не слід вказувати. .Sp .Vb 1 \& wcd \-x /temp \-s .Ve .IP "\fB\-xf ФАЙЛ\fR" 4 .IX Item "-xf ФАЙЛ" Виключити зі сканування усі шляхи, вказані у файлі \fIФАЙЛ\fR. .Sp Якщо використано цей параметр, wcd виключить усі шляхи зі списку у файлі \&\fIФАЙЛ\fR та усі підкаталоги цих шляхів зі сканування диска. Передбачено підтримку символів\-замінників та встановлення відповідності за абсолютними шляхами. Шляхи має бути вказано по одному на рядок. Слід пам’ятати, що wcd ігноруватиме початкові та завершальні пробіли у рядку, оскільки такі пробіли є некоректними символами у назвах каталогів. Параметр \fB\-xf\fR можна вказувати декілька разів. Якщо ви хочете виключити усі заблоковані шляхи зі сканування, можна зробити так (приклад для wcd у unix): .Sp .Vb 1 \& wcd \-xf ~/.ban.wcd \-s .Ve .Sp Передбачено підтримку символів\-замінників. Наприклад, щоб виключити усі каталоги Subversion з файлами, призначеними для адміністрування копії сховища, додайте рядок \f(CW\*(C`*/.svn\*(C'\fR. .Sp Параметр \fB\-xf\fR слід вказувати до усіх параметрів сканування (\fB\-s\fR, \fB\-S\fR, \&\fB+S\fR, \fB\-A\fR, \fB\-E\fR). .IP "\fB\-y, \-\-assume\-yes\fR" 4 .IX Item "-y, --assume-yes" Вважати відповіддю на всі питання «так». .Sp Wcd не проситиме користувача підтвердити дію відповіддю «так» або «ні», відповіддю завжди вважається «так». Цей параметр можна поєднати з параметром \&\fB\-rmtree\fR. Параметр слід вказувати до параметрів, використання яких може призвести до появи питань, на які має відповідати користувач. .IP "\fB\-z ЧИСЛО\fR" 4 .IX Item "-z ЧИСЛО" Встановити для максимального розміру стосу значення ЧИСЛО. .Sp Типовим розміром стосу є 10. Дії зі стосом можна вимкнути встановленням значення 0. Цей параметр слід використовувати перед будь\-якими іншими параметрами, що призводять до дій зі стосом (\fB\-\fR,\fB+\fR,\fB=\fR). Якщо цього не зробити, стосу буде повернуто типовий розмір 10. .Sp Правильна команда: .Sp .Vb 1 \& wcd \-z 50 \- .Ve .Sp Новим розміром стосу буде 50, wcd перейде на один крок назад у стосі. Помилковою була б така команда: .Sp .Vb 1 \& wcd \- \-z 50 .Ve .Sp Wcd повернеться на один каталог назад у стосі, розміру ж стосу буде повернуто типове значення 10. Параметр \fB\-z 50\fR буде проігноровано. .Sp Додайте цей параметр як перший параметр до альтернативної команди wcd або функції, де ця програма використовується. Приклад для сумісних з \s-1POSIX\s0 командних оболонок: .Sp .Vb 5 \& wcd () \& { \& wcd.exe \-z 50 "$@" \& . ${WCDHOME:\-${HOME}}/bin/wcd.go \& } .Ve .IP "\fB\-[ЧИСЛО]\fR" 4 .IX Item "-[ЧИСЛО]" Повернутися на ЧИСЛО пунктів назад у стосі. Типовим є значення у один пункт. .Sp Повернутися на один каталог назад. Команда \f(CW\*(C`wcd \-\*(C'\fR поверне вас на один каталог назад. Щоб повернутися на більшу кількість кроків, додайте до неї кількість кроків. Приклад: \f(CW\*(C`wcd \-3\*(C'\fR. Перехід стосом каталогів є циклічним. .IP "\fB+[ЧИСЛО]\fR" 4 .IX Item "+[ЧИСЛО]" Перейти вперед на ЧИСЛО пунктів у стосі. Типовим є значення у один пункт. .Sp Перейти вперед на один каталог. Команда \f(CW\*(C`wcd +\*(C'\fR призведе до переходу на один каталог вперед. Щоб повернутися на більшу кількість кроків, додайте до неї кількість кроків. Приклад: \f(CW\*(C`wcd +2\*(C'\fR. Перехід стосом каталогів є циклічним. .IP "\fB=\fR" 4 .IX Item "=" Показати стос. .Sp Скористайтеся цим параметром, якщо ви призабули скільки пунктів залишилося попереду і позаду у стосі. У відповідь на команду з цим параметром програма виведе вміст стосу для наступного вибору номера пункту. Поточне місце у стосі буде позначено зірочкою, \f(CW\*(C`*\*(C'\fR. .SH "ВСТАНОВЛЕННЯ" .IX Header "ВСТАНОВЛЕННЯ" Поточний робочий каталог командної оболонки Unix можна змінити лише за допомогою вбудованої команди \fIcd\fR\|(1). Тому програму завжди викликають функцією або за альтернативною назвою. Ця функція або альтернативна назва зберігається у скрипті командної оболонки (скрипті переходу), який створюється програмою wcd. Wcd може працювати лише після визначення функції або альтернативної назви. .PP Іншим варіантом внесення змін до поведінки встановленої вами програми є визначення значень змінних середовища \fI\s-1HOME\s0\fR та \fI\s-1WCDHOME\s0\fR. Див. розділ ЗМІННІ СЕРЕДОВИЩА. .SS "Встановлення для командних оболонок типу \s-1POSIX\s0" .IX Subsection "Встановлення для командних оболонок типу POSIX" Для командних оболонок \s-1POSIX\s0 (ksh, bash, zsh, etc.) у Unix, Linux, Cygwin або типовій оболонці \s-1MSYS\s0 додайте таку функцію до файла запуску оболонки (наприклад, у Bash використовується файл \f(CW\*(C`$HOME/.bashrc\*(C'\fR): .PP .Vb 5 \& wcd () \& { \& PATH/wcd.exe "$@" \& . ${WCDHOME:\-${HOME}}/bin/wcd.go \& } .Ve .PP Замініть \fIШЛЯХ\fR на адресу каталогу, до якого встановлено виконуваний файл wcd. Перезавантажте файли ініціалізації оболонки або запустіть нову оболонку. .PP Розташування скрипту переходу, \f(CW\*(C`wcd.go\*(C'\fR, є різним для різних оболонок. .PP Wcd для bash у \s-1DJGPP DOS\s0 bash та \s-1OS/2\s0 bash потрібна інша функція. Скрипт переходу не буде записано до каталогу \f(CW\*(C`bin\*(C'\fR і, якщо одночасно визначено \&\fI\s-1WCDHOME\s0\fR та \fI\s-1HOME\s0\fR, скрипт переходу буде записано до c:/. .PP \&\s-1DOS\s0 bash: .PP .Vb 5 \& wcd () \& { \& PATH/wcdbash.exe "$@" \& . ${WCDHOME:\-${HOME:\-"c:"}}/wcd.go \& } .Ve .PP \&\s-1OS/2\s0 bash: .PP .Vb 5 \& wcd () \& { \& PATH/wcdos2bash.exe "$@" \& . ${WCDHOME:\-${HOME:\-"c:"}}/wcd.go \& } .Ve .PP Версія wcd для WinZsh потребує трохи іншої функції. Скрипт go ніколи не буде записано до c:/. .PP .Vb 5 \& wcd () \& { \& PATH/wcdwin32zsh.exe "$@" \& . ${WCDHOME:\-${HOME}}/wcd.go \& } .Ve .PP Докладніший опис можна знайти у розділі «ФАЙЛИ». .SS "Встановлення для C\-подібних командних оболонок (csh, tcsh)" .IX Subsection "Встановлення для C-подібних командних оболонок (csh, tcsh)" Додайте такі альтернативні назви до файла запуску оболонки, \f(CW\*(C`$HOME/.cshrc\*(C'\fR або \f(CW\*(C`$HOME/.tcshrc\*(C'\fR : .PP .Vb 5 \& if ( ${?WCDHOME} ) then \& alias wcd "PATH/wcd.exe \e!* ; source $WCDHOME/bin/wcd.go" \& else \& alias wcd "PATH/wcd.exe \e!* ; source $HOME/bin/wcd.go" \& endif .Ve .PP Замініть \fIШЛЯХ\fR на адресу каталогу, до якого встановлено виконуваний файл wcd. Перезавантажте файли ініціалізації оболонки або запустіть нову оболонку. .SS "Версія для командного рядка Windows" .IX Subsection "Версія для командного рядка Windows" Розпакуйте архів zip і додайте каталог \f(CW\*(C`bin\*(C'\fR до вашої змінної середовища \&\fI\s-1PATH\s0\fR. .PP Програма для Windows, що працює у вікні командної оболонки Windows (Command Prompt) не може змінити поточного каталогу, але це може зробити скрипт \&.bat. Пакетний скрипт \f(CW\*(C`wcd.ba\*(C'\fR» запускає програму wcd, яка створює новий пакетний скрипт, \f(CW\*(C`wcdgo.bat\*(C'\fR. Після цього \f(CW\*(C`wcd.bat\*(C'\fR запускає скрипт \&\f(CW\*(C`wcdgo.bat\*(C'\fR, який здійснює зміну каталогу. .SS "Windows \s-1VISTA\s0 та новіші версії" .IX Subsection "Windows VISTA та новіші версії" У командній оболонці Windows \s-1VISTA\s0 та новіших версій користувачі мають обмежений доступ до каталогів. Що отримати доступ до усіх каталогів, вам знадобляться права доступу адміністратора. Запустити командну оболонку з правами адміністратора можна так: наведіть вказівник миші на піктограму командної оболонки, клацніть правою кнопкою миші і виберіть у контекстному меню пункт \fIЗапуск від імені адміністратора\fR. .SS "Версія для Windows PowerShell" .IX Subsection "Версія для Windows PowerShell" Додайте вказану нижче функцію до вашого профілю користувача PowerShell. Дані щодо місця зберігання цього профілю зберігаються у змінній \f(CW$profile\fR. Слід також визначити змінну середовища \fI\s-1HOME\s0\fR або \fI\s-1WCDHOME\s0\fR. .PP .Vb 5 \& function wcd \& { \& PATH\ewcdwin32psh.exe $args \& & $env:HOME\ewcdgo.ps1 \& } .Ve .PP Замініть \fIШЛЯХ\fR на адресу каталогу, до якого встановлено виконуваний файл wcd. Запустіть новий сеанс роботи у PowerShell. У Wcd для PowerShell передбачено роботу лише з файловими системами. Забезпечення роботи з іншими джерелами файлових даних не передбачено. .SS "Версія для командного рядка \s-1OS/2\s0" .IX Subsection "Версія для командного рядка OS/2" У командній оболонці \s-1OS/2\s0 (cmd.exe) програма \s-1OS/2\s0 не може змінювати робочого каталогу. Ось чому wcd створює командний скрипт (\f(CW\*(C`wcdgo.cmd\*(C'\fR), який має бути виконано у поточній оболонці. Скрипт \f(CW\*(C`wcd.cmd\*(C'\fR спочатку запускає програму \f(CW\*(C`wcdos2.exe\*(C'\fR, яка створює скрипт \f(CW\*(C`wcdgo.cmd\*(C'\fR. Після цього \&\f(CW\*(C`wcd.cmd\*(C'\fR запускає скрипт wcdgo.cmd. .SH "ЛОКАЛІЗАЦІЯ" .IX Header "ЛОКАЛІЗАЦІЯ" .IP "\fB\s-1LANG\s0\fR" 4 .IX Item "LANG" Основна мова визначається за допомогою змінної середовища \fI\s-1LANG\s0\fR. Значення змінної \fI\s-1LANG\s0\fR складається з декількох частин. Перша частина записується малими літерами і визначає код мови. Друга частина є необов’язковою, визначає код країни і записується прописними літерами, відокремлюється від першої частини символом підкреслювання. Передбачено також необов’язкову третю частину: кодування. Ця частина відокремлюється від другої частини крапкою. Ось декілька прикладів для командних оболонок стандартного типу \&\s-1POSIX:\s0 .Sp .Vb 6 \& export LANG=uk українська \& export LANG=uk_UA українська, Україна \& export LANG=ru_UA російська, Україна \& export LANG=es_ES іспанська, Іспанія \& export LANG=es_MX іспанська, Мексика \& export LANG=en_USiso88591 англійська, США, кодування Latin\-1 .Ve .Sp Повний список мов та кодів краї наведено у підручнику з \fIgettext\fR\|(1): . У системах Unix для отримання даних щодо локалі можна скористатися командою \&\fIlocale\fR\|(1). .IP "\fB\s-1LANGUAGE\s0\fR" 4 .IX Item "LANGUAGE" За допомогою змінної середовища \fI\s-1LANGUAGE\s0\fR ви можете вказати список пріоритетності мов. Записи у списку слід відокремлювати двокрапками. Програма wcd надає перевагу \fI\s-1LANGUAGE\s0\fR над \fI\s-1LANG\s0\fR. Наприклад, перша голландська, далі німецька: \f(CW\*(C`LANGUAGE=nl:de\*(C'\fR. Спочатку вам слід увімкнути локалізацію, встановивши для змінної \fI\s-1LANG\s0\fR (або \fI\s-1LC_ALL\s0\fR) значення, відмінне від \fIC\fR. Далі ви зможете використовувати список пріоритетності мов за допомогою змінної \fI\s-1LANGUAGE\s0\fR. Додаткові відомості можна знайти у підручнику з gettext: .Sp Якщо вами буде вибрано мову, перекладу якою немає, буде показано стандартні повідомлення англійською мовою. .IP "\fB\s-1WCDLOCALEDIR\s0\fR" 4 .IX Item "WCDLOCALEDIR" За допомогою визначення змінної середовища \fI\s-1WCDLOCALEDIR\s0\fR можна перевизначити значення \fI\s-1LOCALEDIR\s0\fR, вказане під час збирання та встановлення програми. Змінна \fI\s-1LOCALEDIR\s0\fR використовується wcd з підтримкою перекладів для пошуку файлів перекладів. Типовим значенням для системи \s-1GNU\s0 є \&\f(CW\*(C`/usr/local/share/locale\*(C'\fR. Дізнатися про поточне значення змінної \&\fI\s-1LOCALEDIR\s0\fR можна за допомогою команди \f(CW\*(C`wcd \-V\*(C'\fR. .Sp Якщо ви встановили wcd до каталогу, відмінного від типового, вам варто встановити значення змінної середовища \fI\s-1WCDLOCALEDIR\s0\fR так, щоб вона вказувала на каталог з файлами перекладів. .Sp Приклад для cmd у Windows: .Sp .Vb 1 \& set WCDLOCALEDIR=c:/my_prefix/share/locale .Ve .Sp Приклад для оболонки \s-1POSIX:\s0 .Sp .Vb 1 \& export WCDLOCALEDIR=$HOME/share/locale .Ve .IP "\fB\s-1LC_COLLATE\s0\fR" 4 .IX Item "LC_COLLATE" Якщо wcd вдасться знайти декілька відповідників вказаного користувачем каталогу, програма покаже упорядкований список варіантів. Спосіб упорядковування залежить від параметрів локалі. Якщо у середовищі встановлено значення змінної \fI\s-1LANG\s0\fR, відповідники буде упорядковано відповідно до порядку, який використовується у словниках або телефонних книгах відповідною мовою. Наприклад, буде проігноровано крапки і дефіси, літери з акцентами вважатимуться еквівалентними до літер без акцентів, ігноруватимуться відмінності у написанні великими чи малими літерами. .Sp Під час визначення параметрів упорядковування перевага надається змінній середовища \fI\s-1LC_COLLATE\s0\fR, а не змінній \fI\s-1LANG\s0\fR. Якщо ви вкажете для \&\fI\s-1LC_COLLATE\s0\fR значення \f(CW\*(C`C\*(C'\fR або \f(CW\*(C`POSIX\*(C'\fR, упорядковування за параметрами локалі буде вимкнено. Наприклад, якщо ви хочете скористатися українською мовою інтерфейсу, але не хочете використовувати українські параметри упорядковування, ви можете зробити так: .Sp .Vb 2 \& export LANG=uk_UA \& export LC_COLLATE=C .Ve .IP "\fB\s-1LC_CTYPE\s0\fR" 4 .IX Item "LC_CTYPE" Під час визначення параметрів кодування у wcd надається перевага змінній \&\fI\s-1LC_CTYPE\s0\fR, а не \fI\s-1LANG\s0\fR. Наприклад, щоб встановити кодування символів \&\s-1UTF\-8,\s0 слід скористатися такою командою: .Sp .Vb 1 \& export LC_CTYPE=en_US.UTF\-8 .Ve .IP "\fB\s-1LC_ALL\s0\fR" 4 .IX Item "LC_ALL" Усі змінні середовища, пов’язані з локаллю, назви яких починаються з \fI\s-1LC_\s0\fR, можна перевизначити за допомогою змінної середовища \fI\s-1LC_ALL\s0\fR. Wcd надає перевагу значенню \fI\s-1LC_ALL\s0\fR над значеннями \fI\s-1LC_COLLATE\s0\fR та \fI\s-1LC_CTYPE\s0\fR. .SS "ТАБЛИЦІ КОДУВАНЬ \s-1WINDOWS\s0" .IX Subsection "ТАБЛИЦІ КОДУВАНЬ WINDOWS" Існує дві групи кодових сторінок: кодові сторінки \s-1DOS\s0 (\s-1OEM\s0) та кодові сторінки Windows (\s-1ANSI\s0). Типовим кодуванням для Windows, якщо систему налаштовано на західноєвропейські параметри регіону, є \s-1ANSI CP1252.\s0 У програмах Windows, наприклад у notepad, використовується ця типова загальносистемна кодова сторінка \s-1ANSI.\s0 У консолі Windows типово використовується кодова сторінка \s-1OEM\s0 (\s-1CP437\s0 або \s-1CP850\s0) для сумісності з програмами \s-1DOS.\s0 Якщо ви використовуєте версію wcd для \s-1DOS\s0 у консолі Windows, програма не працюватиме, оскільки у ній використовується кодова сторінка \&\s-1DOS.\s0 Але у версії wcd для \s-1DOS\s0 не передбачено підтримку довгих назв каталогів та мережевих дисків у Windows. .PP Версія wcd для Windows є типовою програмою Windows, вона використовуватиме загальносистемну кодову сторінку \s-1ANSI\s0 Windows. Отже, у західноєвропейській локалізації Windows програма використовуватиме кодову сторінку \s-1CP1252\s0 для назв каталогів та повідомлень. З метою забезпечення однорідності виведення даних, незалежно від активної кодової сторінки, усі версії wcd для Windows перетворюють виведені дані у форматі \s-1ANSI\s0 у формат Unicode у командній оболонці та PowerShell. .PP У консольних растрових шрифтах передбачено оригінальну кодову сторінку \s-1OEM,\s0 що встановлюється разом з Windows, отже, вам слід змінити шрифт консолі на Lucida Console, щоб літери з Unicode (та \s-1ANSI\s0) було показано належним чином. .PP Версії wcd без підтримки Unicode \fIдо версії 5.2.0\fR виводять дані у форматі \&\s-1ANSI.\s0 Для цих застарілих версій кодову сторінку консолі слід зробити еквівалентною до загальносистемної кодової сторінки (змінюється на 1252), щоб забезпечити належну роботу wcd для Windows зі спеціальними символами, зокрема символами з акцентами, символами кирилиці та символом євро. .PP Загальносистемну кодову сторінку Windows можна змінити за допомогою регіональних параметрів «Панелі керування». Кодову сторінку консолі Windows можна змінити за допомогою команди \f(CW\*(C`chcp\*(C'\fR. .PP Програма виводить дані щодо справжнього кодування символів у відповідь на команду \f(CW\*(C`wcd \-V\*(C'\fR. Щоб визначити активну кодову сторінку консолі Windows, введіть команду \f(CW\*(C`chcp\*(C'\fR. .SS "\s-1UNICODE\s0" .IX Subsection "UNICODE" У wcd може бути передбачено підтримку Unicode. Щоб визначити, чи було зібрано wcd з підтримкою Unicode, скористайтеся командою \f(CW\*(C`wcd \-V\*(C'\fR. Якщо у вашому терміналі або консолі та шрифті передбачено підтримку, ви зможете бачити символ євро та китайські ієрогліфи. .PP Перетворення у Unicode у wcd виконується \fIпрограмно\fR. У ядрі програми усі дані обробляються як потік даних. У широкі символи Unicode перетворюються лише рядки, що виводяться на екран. Wcd повністю покладається на функції libc і не містить специфічного для \s-1UTF\-8\s0 коду. Див. також .PP У wcd передбачено необов’язкову підтримку встановлення відповідності за Unicode з нормалізацією. Щоб визначити, чи передбачено у wcd підтримку нормалізації, скористайтеся командою \f(CW\*(C`wcd \-V\*(C'\fR. У wcd з підтримкою нормалізації Unicode відповідність назв Unicode виконується на основі \&\fIсумісної\fR еквівалентності. Без підтримки нормалізації Unicode відповідність назв встановлюється за двійковою еквівалентністю. Див. також .PP \fI\s-1UTF\-8\s0 у Unix/Linux\fR .IX Subsection "UTF-8 у Unix/Linux" .PP Щоб у вашій консолі або терміналі можна було переглядати символи \s-1UTF\-8,\s0 у консолі і терміналі також має бути передбачено підтримку \s-1UTF\-8.\s0 У версії xterm, яка постачається разом з XFree86 4.0 або наступними версіями, передбачено підтримку \s-1UTF\-8.\s0 Щоб задіяти цю підтримку, запустіть \fIxterm\fR\|(1) у локалі \s-1UTF\-8\s0 і скористайтеся шрифтом з кодуванням iso10646\-1, наприклад за допомогою такої команди: .PP .Vb 1 \& LC_CTYPE=en_GB.UTF\-8 xterm \-u8 \-fn \*(Aq\-Misc\-Fixed\-Medium\-R\-SemiCondensed\-\-13\-120\-75\-75\-C\-60\-ISO10646\-1\*(Aq .Ve .PP У сучасних дистрибутивах GNU/Linux типовою використовується кодування \&\s-1UTF\-8.\s0 Можна працювати і з іншими багатобайтовими кодуваннями символів, але належного тестування працездатності з цими кодуванням не виконувалося. .PP У wcd припускається, що кодуванням файлів даних ієрархії каталогів є кодування символів поточної локалі. До файлів даних ієрархії каталогів символ позначки порядку байтів (\s-1BOM\s0) не записується. .PP \fI\s-1UTF\-16\s0 у Windows\fR .IX Subsection "UTF-16 у Windows" .PP У Windows підтримку Unicode передбачено у всіх версіях PowerShell та у командній оболонці Windows у Windows 7 (та новіших версіях). Unicode також працює у Take Command або \s-1TCC/LE\s0 створених \s-1JP\s0 Software, якими можна скористатися у старіших версіях Windows (XP/Vista). .PP У Windows усі назви каталогів на диску кодуються за допомогою \s-1UTF\-16.\s0 У програмах Windows без підтримки Unicode символи Unicode перетворюються у символи типової кодової сторінки \s-1ANSI.\s0 Для символів, які не є частиною регіонального кодування, це перетворення є неможливим, отже програми без підтримки Unicode виводитимуть замість них символ знаку питання або помилковий символ. .PP Wcd з підтримкою Unicode читатиме закодовані у \s-1UTF\-16\s0 назви каталогів і перетворюватиме дані до \s-1UTF\-8\s0 у внутрішньому коді. Усі дані файлів ієрархії каталогів буде закодовано у \s-1UTF\-8.\s0 Ці дані є несумісними з версіями wcd без підтримки Unicode. Wcd створить скрипт переходу у кодуванні \s-1UTF\-8.\s0 .PP Усі версії Windows PowerShell можуть запускати скрипти у кодуванні \s-1UTF\-8,\s0 якщо у скрипті є символ \s-1BOM UTF\-8.\s0 .PP Починаючи з Windows 7, у командній оболонці Windows передбачено можливість змінити за допомогою пакетного скрипту каталог на каталог з літерами Unicode у назві. Кодуванням назви каталогу має бути \s-1UTF\-8,\s0 а \fIпакетний скрипт\fR не повинен містити позначки порядку байтів (\s-1BOM\s0). Слід змінити активну кодову сторінку командної оболонки на 65001 (\s-1UTF\-8\s0) до виконання команди cd. Wcd для командної оболонки створити такий скрипт переходу (\f(CW\*(C`wcdgo.bat\*(C'\fR). Цей скрипти спочатку змінюватиме кодову сторінку на 65001, потім змінюватиме каталог, і нарешті, повертатиме початкове значення параметрів кодової сторінки. .PP Якщо літери буде показано не так, як слід, вам слід встановити шрифт True Type Lucida Console (не растровий шрифт). .PP Версія wcd для Windows без підтримки Unicode може читати файли даних ієрархії каталогів у кодуванні Unicode, починаючи з версії 5.2.0, якщо у файлі є позначка порядку байтів (\s-1BOM\s0) (див. ), але не може змінювати каталоги на каталоги з тими літерами Unicode у назві, які не є частиною типової кодової сторінки \s-1ANSI\s0 системи. Версія wcd для Windows з підтримкою Unicode записує \s-1BOM\s0 до файлів ієрархії каталогів у кодуванні \&\s-1UTF\-8,\s0 починаючи з версії 5.2.0, отже, ці файли можна читати за допомогою notepad. .PP \fI\s-1UTF\-8\s0 у Cygwin\fR .IX Subsection "UTF-8 у Cygwin" .PP У Cygwin передбачено підтримку Unicode, починаючи з версії 1.7. Шар обробки Cygwin виконує перетворення назв каталогів Windows у \s-1UTF\-16\s0 до \s-1UTF\-8.\s0 Отже, програми, зокрема wcd, не потрібно перейматися процедурами перетворення, вони можуть обробляти дані у кодуванні \s-1UTF\-8,\s0 як це робиться у Unix/Linux. Встановити кодування символів \s-1UTF\-8\s0 можна за допомогою змінної середовища \fI\s-1LANG\s0\fR або \fI\s-1LC_CTYPE\s0\fR. Ймовірно, вам доведеться пересканувати ваші диски. Якщо ви користуєтеся типовою консоллю Cygwin, вам слід встановити для неї шрифт True Type Lucida Console (не растровий шрифт). .PP Версія wcd для Cygwin поводиться точно так само, як версія wcd для Unix. Мітка порядку байтів (\s-1BOM\s0) не записується до файлів даних ієрархії каталогів. Кодуванням файлів вважається кодування символів локалі \fBCygwin\fR. .SH "ФАЙЛИ" .IX Header "ФАЙЛИ" Якщо встановлено змінну середовища \fI\s-1WCDHOME\s0\fR, використовуватиме \fI\s-1WCDHOME\s0\fR замість \fI\s-1HOME\s0\fR. Усі файли \f(CW\*(C`*.wcd\*(C'\fR є текстовими файлами. Їх можна редагувати у звичайному текстовому редакторі. Версія wcd для командної оболонки Windows поводиться так само, як версія для \s-1DOS.\s0 Версія wcd для Cygwin поводиться як версія для Unix. .IP "\fBwcd.exe\fR" 4 .IX Item "wcd.exe" Сама програма. У оболонках Unix програма завжди викликається функцією або альтернативною командою, оскільки поточний робочий каталог у оболонці Unix можна змінювати лише за допомогою вбудованої команди cd. Див. також розділ «ВСТАНОВЛЕННЯ». .IP "\fBтиповий файл даних ієрархії каталогів\fR" 4 .IX Item "типовий файл даних ієрархії каталогів" Це типовий файл даних ієрархії каталогів, де wcd шукає відповідники. Якщо цей файл непридатний до читання, wcd створить новий. .Sp .Vb 2 \& DOS: \etreedata.wcd або %HOME%\etreedata.wcd \& Unix: $HOME/.treedata.wcd .Ve .IP "\fBдодатковий файл даних ієрархії каталогів\fR" 4 .IX Item "додатковий файл даних ієрархії каталогів" Необов’язковий додатковий файл даних ієрархії каталогів. Якщо такий файл існує і є придатним до читання, wcd спробує знайти відповідники і у цьому файлі. .Sp .Vb 2 \& DOS: \eextra.wcd або %HOME%\eextra.wcd \& Unix: $HOME/.extra.wcd .Ve .IP "\fBфайл блокувань\fR" 4 .IX Item "файл блокувань" До цього додаткового файла wcd записує заблоковані шляхи. Див. параметр \&\fB\-b\fR. Передбачено підтримку символів\-замінників. .Sp .Vb 2 \& DOS: \eban.wcd або %HOME%\eban.wcd \& Unix: $HOME/.ban.wcd .Ve .IP "\fBфайл альтернативних назв\fR" 4 .IX Item "файл альтернативних назв" Необов’язковий файл із записами альтернативних назв wcd. Див. параметр \&\fB\-l\fR. .Sp .Vb 2 \& DOS: \ealias.wcd або %HOME%\ealias.wcd \& Unix: $HOME/.alias.wcd .Ve .IP "\fBфайл stack\fR" 4 .IX Item "файл stack" У цьому файлі зберігається стос каталогів wcd. Літеру диска можна змінити за допомогою параметра \fB\-d\fR. .Sp .Vb 2 \& DOS: c:\estack.wcd або %HOME%\estack.wcd \& Unix: $HOME/.stack.wcd .Ve .Sp Назву файла стосу можна змінити за допомогою змінної середовища \&\fI\s-1WCDSTACKFILE\s0\fR. Див. розділ «ЗМІННІ СЕРЕДОВИЩА». .IP "\fBскрипт go\fR" 4 .IX Item "скрипт go" Це скрипт командної оболонки, який wcd.exe створює під час кожного запуску. Від використовується функцією або альтернативною командою. Літеру диска можна змінити за допомогою параметра \fB\-d\fR. З історичних міркувань у системах Unix цей файл типово зберігається у \f(CW\*(C`$HOME/bin\*(C'\fR. Каталог цього файла можна змінити за допомогою параметра \fB\-G\fR. .Sp .Vb 8 \& bash для DOS: c:/wcd.go або $HOME/wcd.go \& командна оболонка Windows: c:\ewcdgo.bat або %HOME%\ewcdgo.bat \& Windows PowerShell: $env:HOME\ewcdgo.ps1 \& WinZsh: $HOME/wcd.go \& Cygwin/MSYS: $HOME/bin/wcd.go \& командна оболонка OS/2: c:\ewcdgo.cmd або %HOME%\ewcdgo.cmd \& OS/2 bash: c:/wcd.go або $HOME/wcd.go \& Unix: $HOME/bin/wcd.go .Ve .IP "\fBфайл відносних шляхів у ієрархії каталогів\fR" 4 .IX Item "файл відносних шляхів у ієрархії каталогів" Текстовий файл з відносними шляхами щодо каталогу \fIКАТАЛОГ\fR. Див. параметри \&\fB+S\fR, \fB\-n\fR та \fB+n\fR. .Sp .Vb 2 \& DOS: PATH\ertdata.wcd \& Unix: PATH/.rtdata.wcd .Ve .SH "ЗМІННІ СЕРЕДОВИЩА" .IX Header "ЗМІННІ СЕРЕДОВИЩА" .IP "\fB\s-1HOME\s0\fR" 4 .IX Item "HOME" Типово, wcd використовує змінну середовища \fI\s-1HOME\s0\fR для визначення місця, де зберігатимуться файли програми. Див. також розділ «ФАЙЛИ». Перевизначити каталог можна за допомогою змінної середовища \fI\s-1WCDHOME\s0\fR. .Sp \&\fI\s-1HOME\s0\fR також визначає місце, звідки слід розпочинати сканування диска, якщо використано параметр \fB\-s\fR. Перевизначити це місце можна за допомогою змінної середовища \fI\s-1WCDSCAN\s0\fR. .Sp У версіях для Unix, Cygwin, Windows PowerShell, WinZsh та \s-1MSYS\s0 слід встановити значення \fI\s-1HOME\s0\fR або \fI\s-1WCDHOME\s0\fR. Для інших версій wcd використання цих змінних є необов’язковим. .Sp Якщо змінну \fI\s-1HOME\s0\fR встановлено у DOS/Windows, wcd розташує свої файли (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) у каталозі \&\fI\s-1HOME\s0\fR. Після встановлення змінної поведінка wcd стає еквівалентною до версії wcd для Unix. Типово, wcd скануватиме диск, починаючи з \&\fI\s-1HOME\s0\fR. Сканування дисків не виконуватиметься у автоматичному режимі після зміни диска. Про потребу у скануванні слід повідомити явно. Приклад: .Sp .Vb 1 \& wcd \-S c: \-A d: \-A e: .Ve .Sp Після цього встановлення відповідності каталогів буде загальним на усіх сканованих дисках. .IP "\fB\s-1WCDHOME\s0\fR" 4 .IX Item "WCDHOME" Для зміни місця зберігання файлів wcd слід використовувати змінну середовища \&\fI\s-1WCDHOME\s0\fR. Якщо встановлено одразу \fI\s-1HOME\s0\fR і \fI\s-1WCDHOME\s0\fR, замість \fI\s-1HOME\s0\fR буде використано \fI\s-1WCDHOME\s0\fR. .Sp З версіях wcd до версії 5.1.5 типовий каталог сканування можна змінити також за допомогою змінної \fI\s-1WCDHOME\s0\fR. У наступних версіях таку поведінку було змінено. Починаючи з версії 5.1.5, \fI\s-1WCDHOME\s0\fR не змінює типового каталогу сканування. Див. параметр \fB\-s\fR. Починаючи з версії 5.1.5, для перевизначення типового каталогу сканування слід використовувати змінну середовища \fI\s-1WCDSCAN\s0\fR. .Sp Приклад для командних оболонок \s-1DOS,\s0 Windows, \s-1OS/2:\s0 .Sp .Vb 1 \& set WCDHOME=C:\eUsers\eerwin\ewcd .Ve .Sp Приклад для командних оболонок типу \s-1POSIX:\s0 .Sp .Vb 1 \& export WCDHOME="$HOME/.wcd" .Ve .Sp Приклад для командних оболонок типу Csh: .Sp .Vb 1 \& setenv WCDHOME "$HOME/.wcd" .Ve .IP "\fB\s-1WCDSCAN\s0\fR" 4 .IX Item "WCDSCAN" Для перевизначення встановленого за допомогою змінної середовища \fI\s-1HOME\s0\fR типового каталогу сканування скористайтеся змінною середовища \&\fI\s-1WCDSCAN\s0\fR. Щоб визначити декілька каталогів, скористайтеся списком каталогів, відокремлених двокрапкою (Unix). У \s-1DOS\s0 або Windows записи у списку слід відокремлювати крапкою з комою. .Sp Приклади для командних оболонок \s-1DOS,\s0 Windows, \s-1OS/2:\s0 .Sp .Vb 1 \& set WCDSCAN=C:\eUsers\eerwin;D:\edata \& \& set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\e\eprojectdrive\eprojectX .Ve .Sp Приклад для командних оболонок типу \s-1POSIX:\s0 .Sp .Vb 1 \& export WCDSCAN="$HOME:/projectdisk/projectX" .Ve .Sp Приклад для командних оболонок типу Csh: .Sp .Vb 1 \& setenv WCDSCAN "$HOME:/projectdisk/projectX" .Ve .IP "\fB\s-1WCDFILTER\s0\fR" 4 .IX Item "WCDFILTER" Фільтри можна вказати за допомогою змінної середовища \fI\s-1WCDFILTER\s0\fR. Усі каталоги, які не відповідають цим фільтрам, буде проігноровано. Записи у списку слід відокремлювати типовим роздільником каталогів у шляхах командної оболонки. Це щось подібне до визначення змінної середовища \fI\s-1PATH\s0\fR. Те, чи буде враховано регістр символів, визначається параметрами операційної системи. .Sp Приклад для командних оболонок \s-1DOS,\s0 Windows, \s-1OS/2:\s0 .Sp .Vb 1 \& set WCDFILTER=projects;doc .Ve .Sp Приклад для командних оболонок типу \s-1POSIX:\s0 .Sp .Vb 1 \& export WCDFILTER="projects:doc" .Ve .Sp Приклад для командних оболонок типу Csh: .Sp .Vb 1 \& setenv WCDFILTER "projects:doc" .Ve .IP "\fB\s-1WCDBAN\s0\fR" 4 .IX Item "WCDBAN" Шляхи, вказані за допомогою змінної середовища \fI\s-1WCDBAN\s0\fR, вважатимуться заблокованими для wcd. Див. також параметр \fB\-b\fR. Записи у списку шляхів слід відокремлювати типовим роздільником змінної \fI\s-1PATH\s0\fR командної оболонки. .IP "\fB\s-1WCDEXCLUDE\s0\fR" 4 .IX Item "WCDEXCLUDE" Шляхи, вказані за допомогою змінної середовища \fI\s-1WCDEXCLUDE\s0\fR, вважатимуться виключеними для wcd. Див. також параметри \fB\-x\fR та \fB\-xf\fR. Записи у списку шляхів слід відокремлювати типовим роздільником змінної \fI\s-1PATH\s0\fR командної оболонки. .Sp Приклад для командних оболонок \s-1DOS,\s0 Windows, \s-1OS/2:\s0 .Sp .Vb 1 \& set WCDEXCLUDE=*/windows;*/temp;*CVS .Ve .Sp Приклад для командних оболонок типу \s-1POSIX:\s0 .Sp .Vb 1 \& export WCDEXCLUDE="/dev:/tmp:*CVS" .Ve .Sp Приклад для командних оболонок типу Csh: .Sp .Vb 1 \& setenv WCDEXCLUDE "/dev:/tmp:*CVS" .Ve .IP "\fB\s-1WCDUSERSHOME\s0\fR" 4 .IX Item "WCDUSERSHOME" Встановлює основний каталог для домашніх каталогів користувачів. У \s-1DOS\s0 або Windows типовим значенням змінної є \f(CW\*(C`\e\eusers\*(C'\fR. У Unix або Cygwin типовим значенням є \f(CW\*(C`/home\*(C'\fR. Ця змінна середовища використовується для сканування файлів даних ієрархії каталогів інших користувачів. Див. також параметри \&\fB\-u\fR та \fB+u\fR. У докладному режимі wcd виводитиме усі фільтри, блокування та виключення. Див. параметр \fB\-v\fR. .IP "\fB\s-1WCDSTACKFILE\s0\fR" 4 .IX Item "WCDSTACKFILE" Wcd надає перевагу значенню змінної \fI\s-1WCDSTACKFILE\s0\fR над типовою назвою файла стосу (див. розділ «ФАЙЛИ»). За допомогою цієї змінної можна визначити окремий стос використаних каталогів для декількох різних командних оболонок (або використаних емуляторів термінала). .Sp Використання файла з унікальною назвою на основі поточного часу у форматі РРРММДД\-ГГХХСС для кожної відкритої інтерактивної командної оболонки: .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d\-%H%M%S) .Ve .Sp Для окремого стосу на кожний екземпляр \fIxterm\fR\|(1) скористайтеся змінної середовища \fI\s-1WINDOWID\s0\fR для xterm: .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID .Ve .Sp Для \s-1GNU\s0 \fIscreen\fR\|(1), використання окремого стосу на екземпляр screen: .Sp .Vb 1 \& export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW .Ve .IP "\fB\s-1TERMINFO\s0\fR" 4 .IX Item "TERMINFO" Якщо визначено змінну середовища \fI\s-1TERMINFO\s0\fR, wcd з інтерфейсом на основі ncurses шукатиме локальні визначення термінала до виконання пошуку у стандартному місці. Це корисно, якщо визначення термінала зберігаються у нестандартному місці. Часто використовуються стандартні місця \&\f(CW\*(C`/usr/lib/terminfo\*(C'\fR та \f(CW\*(C`/usr/share/terminfo\*(C'\fR. .IP "\fB\s-1PDC_RESTORE_SCREEN\s0\fR" 4 .IX Item "PDC_RESTORE_SCREEN" Wcd з інтерфейсом на основі PDCurses розпізнає змінну середовища \&\fI\s-1PDC_RESTORE_SCREEN\s0\fR. Якщо встановлено цю змінну середовища, PDCurses скопіює вміст екрана на час запуску wcd; після завершення роботи wcd вміст екрана буде відновлено. Приклад для командної оболонки Windows: .Sp .Vb 1 \& set PDC_RESTORE_SCREEN=1 .Ve .Sp У Windows передбачено можливість зберігання лише буфера незначного обсягу. Тому повне відновлення не завжди можливе. Якщо вміст буфера є доволі значним, до консолі після виходу з wcd буде виведено випадкові символи. .IP "\fB\s-1SHELL\s0\fR" 4 .IX Item "SHELL" Для виведення 8\-бітових символів у скриптах переходу для командних оболонок типу \s-1POSIX\s0 та C слід вказати \f(CW\*(C`#!$SHELL\*(C'\fR у першому рядку. Якщо цього не зробити, у деяких оболонках скрипт переходу вважатиметься бінарним файлом і не використовуватиметься. У bash Cygwin у середовищі має бути визначено змінну \fI\s-1SHELL\s0\fR за допомогою команди \f(CW\*(C`export\*(C'\fR, інакше wcd не зможе прочитати змінну. .IP "\fB\s-1BASH\s0\fR" 4 .IX Item "BASH" Wcd для bash \s-1DOS\s0 використовується \f(CW$BASH\fR замість \f(CW$SHELL\fR, оскільки \&\f(CW$SHELL\fR вказує на командну оболонку \s-1DOS.\s0 Можливо, слід визначити змінну \&\f(CW$BASH\fR за допомогою команди \f(CW\*(C`export\*(C'\fR, інакше wcd не зможе прочитати змінну. .SH "ТАКОЖ ПЕРЕГЛЯНЬТЕ" .IX Header "ТАКОЖ ПЕРЕГЛЯНЬТЕ" \&\fIsh\fR\|(1), \fIbash\fR\|(1), \fIcsh\fR\|(1), \fIksh\fR\|(1), \fIzsh\fR\|(1), \fIlocale\fR\|(1), \fIncurses\fR\|(1), .SH "АВТОРИ" .IX Header "АВТОРИ" Wcd створено Erwin Waterlander .PP Домашня сторінка проекту: .PP SourceForge: .PP Форматування сторінки підручника було виконано Jari Aalto . .PP Початкову версію \s-1NCD\s0 було створено Brad Kingsbury для пакунка \*(L"Norton Utilities\*(R" Пітера Нортона близько 1987 року. Див. також wcd-6.0.3/src/man/uk/man1/wcd.htm0000644000175500010010000102164413524756535015677 0ustar waterlanGeen wcd 6.0.3 - довільна зміна каталогу (Wherever Change Directory)

НАЗВА

wcd - довільна зміна каталогу (Wherever Change Directory)

засіб для зміни каталогу (chdir) у DOS та Unix

КОРОТКИЙ ОПИС

    wcd [параметри] [каталог]

ОПИС

Огляд

Wcd — програма, що керується з командного рядка і надає змогу швидко змінювати каталоги. Вона економить час на введенні даних з клавіатури. Достатньо ввести лише частину назву каталогу і wcd перейде до цього каталогу. У wcd передбачено можливості пришвидшення вибору потрібного варіанта з декількох, створення альтернативних назв каталогів та блокування каталогів. Крім того, у wcd ви зможете скористатися повноекранною інтерактивною навігацією деревом каталогів з швидким пошуком.

Ідеї wcd часткового запозичено з Norton Change Directory (NCD). Першу версію NCD у The Norton Utilities, Release 4 для DOS було випущено 1987 року компанією Пітера Нортона (Peter Norton).

Wcd було портовано на різні командні оболонки: command.com для DOS, cmd.exe та PowerShell для Windows, cmd.exe для OS/2 і командні оболонки Unix, зокрема Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh) та C (csh), а також інші оболонки, що працюють у будь-якій операційній системі.

У Wcd передбачено підтримку 8-бітових наборів символів на усіх системах та додаткову підтримку Unicode. Докладніше про це у розділі «ЛОКАЛІЗАЦІЯ».

Щоб дізнатися більше про налаштовування wcd для особистого користування, зверніться до розділу «ВСТАНОВЛЕННЯ».

Основні прийоми використання

Типово (якщо не використано символів-замінників), wcd шукає каталог, назва якого починається з введених вами символів.

Наприклад, вказана нижче команда змінить каталог на каталог поточного користувача /home/user/Desktop:

    wcd Desk

Якщо буде виявлено декілька відповідників, wcd покаже користувачеві список цих відповідників. Після цього користувач зможе вибрати потрібний варіант декількома натисканнями клавіш (найчастіше, достатньо одного натискання).

Шаблони-замінники

У wcd передбачено підтримку таких символів-замінників:

    *       відповідає будь-якій послідовності символів (нульової або більшої довжини)
    ?       відповідає довільному символу
    [НАБІР] відповідає довільному символу з вказаного набору,
    [!НАБІР] або [^НАБІР] відповідає будь-якому символу, що не належить до вказаного набору.

Набір символів може складатися з окремих символів або діапазонів символів. Діапазон слід вказувати так: символ дефіс символ, наприклад, 0-9 або A-Z. Мінімальним набором символів у конструкції [..] є [0-9a-zA-Z_]. Можна використовувати символи з розширеного набору (тобто 8-бітові символи), якщо у системі передбачено підтримку цих символів. Щоб придушити використання символів з набору []*?!^-\ для побудови синтаксичних лексем у межах конструкцій [..] тобто їхнього буквального використання, додавайте перед цими символами символ зворотної риски (\).

Використання символів-замінників надає доступ до досить потужних можливостей з пошуку. Наприклад, за допомогою вказаного нижче виразу можна знайти будь-який каталог, назва якого завершується на «top»:

    wcd *top

Знайти каталоги, у назві яких будь-де міститься частина «top»:

    wcd *top*

Знайти будь-який каталог, назва якого починається з «a», «b» або «c»:

    wcd [a-c]*

Крім того, можна вказати частину шляху до каталогу. У наведеному нижче прикладі wcd шукатиме каталог, назва якого починається з «Desk», шлях якого відповідає шаблону *me/Desk*.

    wcd me/Desk

Можна використовувати будь-який вираз, що містить риски та символи замінники. Приклад:

    wcd src*/*1?/a*2

Інші варіанти використання

Якщо у виразі не використано символів-замінників, а wcd знаходить повний відповідник з вказаним шляхом і назвою, wcd типово проігнорує усі відповідники, які могло б бути знайдено з використанням символів-замінників. Типову поведінку програми можна змінити за допомогою параметра -w.

Інтерактивний навігатор ієрархією каталогів можна запустити за допомогою параметра -g.

    wcd -g

Wcd створює файл даних ієрархії (treedata) у каталогах, звідки виконується пошук. У системах Unix та Windows wcd додає символічні посилання на файл treedata під час сканування диска, але не переходить за створеними посиланнями. Перехід за посиланнями може призвести до зациклювання wcd у ієрархії каталогів або сканування великих масивів каталогів у мережі.

Крім того, wcd може переходити до каталогів, яких немає у файлі treedata. Приклад:

    wcd ..

Якщо wcd буде виявлено відповідник критерію пошуку, але програма не зможе перейти до цього каталогу, буде виконано спробу вилучення каталогу з типового файла treedata, але не з додаткового файла treedata. Див. також параметр -k.

Wcd зберігає на диску стос переходів за каталогами. Типовим обсягом стосу є 10. Перехід стосом здійснюється циклічно. Див. параметри -z, -, + та =.

У середовищах з декількома користувачами для переходу до каталогів, що належать іншим користувачам, можна скористатися параметром -u.

У операційних системах DOS і Windows можна використовувати як роздільник між каталогами як символ «/», так і символ «\».

У системах DOS та Windows передбачено можливість переходу до каталогу на іншому диску. Для цього достатньо перед назвою каталогу на диску вказати назву диска.

    wcd d:games

Шляхи UNC Windows

У версіях для Windows (для командного рядка, PowerShell, MSYS, zsh, cygwin) передбачено підтримку шляхів UNC LAN Windows для SMB без літер дисків, наприклад \\назва_сервера\назва_ресурсу. У wcd для командного рядка Windows для автоматичного прив’язування шляху UNC до літери диска використовується команда «pushd». У In Windows PowerShell, MSYS, zsh та Cygwin передбачено повноцінну підтримку шляхів UNC. Шлях UNC може бути поточним робочим каталогом.

Зміна розмірів вікна консолі у Windows

У wcd передбачено можливість зміни розмірів вікна консолі у Windows 10 і ConEmu (див. https://conemu.github.io/), починаючи з версії 6.0.3. Консоль Windows 10 має бути запущено не у застарілому режимі (перевірте це у властивостях консолі). Якщо властивість компонування вікна «Переносити текстове виведення при зміні розмірів» не увімкнено, вміст вікна може не оновлюватися. Оновити вміст вікна можна вручну натисканням клавіші F5.

Інтерфейси

У wcd передбачено три різні інтерфейси вибору потрібного варіанта зі списку відповідників. Інтерфейс можна вибрати під час збирання програми.

Першим інтерфейсом є звичайні інтерфейси введення та виведення (stdin/stdout). До термінала буде виведено нумерований список варіантів. Користувач зможе вибрати відповідний варіант введенням його номера з наступним натисканням клавіші <Enter>. У цьому інтерфейсі не передбачено можливостей гортання для довгих списків. Для цього доведеться користуватися можливостями з гортання термінала або консолі. Код цього інтерфейсу доволі малий і портований.

Другий інтерфейс побудовано на основі бібліотеки conio. У ньому передбачено можливості гортання. Користувачу буде показано список з літерним позначенням пунктів. Для вибору пункту у списку достатньо натиснути клавішу з відповідною літерою. Цей інтерфейс працює швидше, оскільки треба натискати менше клавіш. Після вибору варіанта, якщо це можливо, зображення на екрані буде відновлено до стану перед показом варіантів. Якщо користувач надає перевагу цифровому позначенню пунктів, можна скористатися параметром -N.

Третій інтерфейс побудовано на основі бібліотеки curses. Він подібний до інтерфейсу на основі conio. Версія wcd на основі curses має додатковий «графічний» інтерфейс. За його допомогою користувач зможе вибрати каталог у повноекранному інтерактивному навігаторі ієрархією каталогів. Передбачено навігацію та пошук у стилі vim(1). Задіяти цей інтерфейс можна за допомогою параметра -g.

За допомогою параметра командного рядка -o програму можна завжди перевести до стандартного інтерфейсу stdin/stdout.

ПАРАМЕТРИ

-a

Додати поточний шлях до типового файла ієрархії.

За допомогою цього параметра можна швидко додати поточний шлях до типового файла ієрархії каталогів. Повторне сканування усього диска у певних випадках може бути досить тривалою справою.

-aa

Додати поточний і усі батьківські шляхи до типового файла ієрархії каталогів (treedata).

-A ШЛЯХ

Сканувати ієрархію каталогів, починаючи з каталогу ШЛЯХ, і дописати усі виявлені каталоги до файла ієрархії каталогів (treedata). Приклади:

    wcd -A .
    wcd -A /home -A /etc
    wcd -A d: -A e: -A \\server\share

У Windows можна виконати сканування усіх каталогів спільного використання на сервері локальної мережі Windows за допомогою такої команди: wcd -A \\назва_сервера.

Див. також параметри -S, -s та -E.

-b

Заблокувати поточний шлях.

Wcd додає поточний шлях до файла блокування. Це означає, що wcd ігноруватиме усі відповідники з поточного каталогу і усіх його підкаталогів.

Файл блокувань (ban) можна редагувати у текстовому редакторі. Передбачено підтримку символів-замінників. Відповідність назв встановлюється за абсолютними шляхами.

Заблоковані шляхи не виключаються зі шляхів сканування диска. Щоб виключити заблоковані шляхи, скористайтеся параметром -xf.

-c, --direct-cd

Безпосередній режим CD. Типово, wcd працює так:

    1. Спробувати знайти відповідник у файлах ієрархії (treedata).
    2. Якщо нічого не знайдено, спробувати відкрити каталог, назву якого було введено.

У безпосередньому режимі CD wcd виконує обробку запиту у зворотному порядку.

    1. Cпробувати відкрити каталог, назву якого було введено.
    2. Якщо не вдалося, знайти відповідник у файлах ієрархії (treedata).
-d ДИСК

Встановити диск для файла стосу і переходу (лише для DOS).

Типово, файл стосу та скрипт переходу зберігаються на диску C:, якщо не встановлено значення змінної середовища HOME. Цим параметром можна скористатися, якщо диск C: захищено від запису. Цей параметр слід вказувати перед параметрами роботи зі стосом -, + та =.

-e

Додати поточний шлях до додаткового файла ієрархії.

За допомогою цього параметр можна швидко додати поточний шлях до додаткового файла ієрархії.

-ee

Додати поточний і усі батьківські шляхи до додаткового файла ієрархії каталогів (treedata).

-E ШЛЯХ

Сканувати ієрархію каталогів, починаючи з каталогу ШЛЯХ, і дописати усі виявлені каталоги до додаткового файла ієрархії каталогів (treedata). Див. також параметри -A та -S.

-f ФАЙЛ

Прочитати файл даних ієрархії каталогів ФАЙЛ. Не виконувати читання з типового файла ієрархії каталогів.

+f ФАЙЛ

Прочитати дані з файла ієрархії каталогів ФАЙЛ на додачу до даних з типового файла даних ієрархії каталогів.

-g

Графічний інтерфейс (лише у версії з інтерфейсом на основі curses).

Wcd запускає текстовий «графічний» інтерфейс на основі curses. Користувач може вибрати каталог за допомогою повноекранного інтерактивного навігатора ієрархією каталогів. Передбачено навігацію і пошук у стилі vim(1).

Якщо рядок пошуку не вказано, wcd показує усю ієрархію каталогів з типового та додаткового файлів даних ієрархії.

Якщо рядок пошуку вказано, список відповідників буде показано як ієрархію каталогів.

Типове компонування ієрархії подібне до компонування каталогів у початковій версії NCD у DOS. Різниця у компонуванні полягає у тому, що у NCD усі каталоги одного рівня було вирівняно однаковим відступом у всьому дереві. Це було можливим у NCD, оскільки максимальна довжина назви каталогу у DOS дорівнювала 12 (8.3) символам. У сучасних операційних системах назви каталогів можуть бути дуже довгими і різниця у довжинах може бути дуже великою. Тому теки однакового рівня вкладеності не вирівняно за однією лінією за усією ієрархією каталогів у wcd, а лише за гілками ієрархії. Отже, під час руху вгору-вниз ієрархією каталогів користувач спостерігатиме за зсувами списку у різні боки.

Навігаційна поведінка у wcd абсолютно збігається з початковою версією NCD. Наприклад, якщо ви натиснете клавішу зі стрілкою вниз, ви перейдете до наступного каталогу з тим самим рівнем вкладеності, переходячи гілками ієрархії. Це пришвидшує навігацію ієрархією каталогів.

Поведінку засобу навігації можна змінити за допомогою параметрів -Ta, -TC та -Tc.

-gd

Створити дамп файлів ієрархії каталогів (treedata) і вивести дані до стандартного виведення (stdout).

-G ШЛЯХ

Записати скрипт переходу у каталозі ШЛЯХ. Наприклад, у Unix, wcd -G ШЛЯХ призведе до запису скрипту переходу до ШЛЯХ/wcd.go.

-GN, --no-go-script

Не створювати скрипт переходу. Цим параметром можна скористатися у поєднанні з параметром -j, якщо з якихось причин створення wcd скрипту переходу є небажаним.

-h, --help

Показати довідку щодо використання і завершити роботу.

-i, --ignore-case

Ігнорувати регістр символів. У версіях wcd для DOS та Windows така поведінка є типовою. У версіях для Unix/Cygwin регістр типово враховується.

+i, --no-ignore-case

Брати до уваги регістр символів. Див. також параметр -i.

-I, --ignore-diacritics

Ігнорувати діакритичні знаки для писемностей на основі латиниці. Програма вважатиме літери з діакритичними знаками еквівалентними до їхніх відповідників без діакритичних знаків. Передбачено підтримку таких кодувань латиниці: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2 та Unicode Latin-1, Latin Extended-A, а також Latin Extended-B. Див. також https://uk.wikipedia.org/wiki/Діакритичний_знак

+I, --no-ignore-diacritics

Брати до уваги діакритичні позначки (типово). Див. також параметр -I.

-j, --just-go

Режим простого переходу.

У цьому режимі wcd не показуватиме списку, якщо для вказаної назви буде знайдено декілька відповідників. Wcd просто перейде до першого ж відповідника. Якщо wcd буде викликано знову з тими самими аргументами, програма змінить каталог на наступний пункт у списку тощо.

Wcd виведе назву каталогу, що якого переходитиме до стандартного виведення (stdout). Отже можна скористатися декількома способами встановлення. Можна створити таку функцію для сумісної з POSIX командної оболонки:

    wcd ()
    {
        cd "$($HOME/bin/wcd.exe -j $@)"
    }

Якщо ви користуєтеся застарілою командною оболонкою, у якій не передбачено підтримки заміни команди «$()», вам доведеться скористатися підставлянням команди у застарілому стилі з одинарними відкривними лапками.

    wcd ()
    {
        cd "`$HOME/bin/wcd.exe -j $@`"
    }

У системах Windows, якщо використано командну оболонку 4NT, можна створити такі альтернативні назви:

    alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`

Подібний метод усуває потребу у скрипті переходу, отже, параметр -j можна використати у поєднанні з параметром -GN.

-k, --keep-paths

Зберігати шляхи.

Зберігати шляхи до файла даних ієрархії каталогів, якщо wcd не може перейти до відповідного каталогу. Типовою поведінкою програми є вилучення шляхів з файла даних ієрархії, якщо wcd не може перейти до відповідного каталогу. Якщо буде використано цей параметр, програма не вилучатиме відповідних записів каталогів.

-K, --color

Використовувати кольори у графічному режимі.

-l АЛЬТЕРНАТИВНА НАЗВА

Надати поточному шляху альтернативну назву АЛЬТЕРНАТИВНА НАЗВА. Wcd запише поточний шлях з його альтернативною назвою до файла альтернативних назв. Альтернативні назви з різним регістром символів вважаються різними.

-ls

Показати назву файла псевдонімів і вивести список усіх альтернативних назв (псевдонімів).

-m КАТАЛОГ

Створити каталог і додати його до файла даних ієрархії.

-L, --license

Вивести дані щодо умов ліцензування.

-M КАТАЛОГ

Створити каталог і додати його до додаткового файла даних ієрархії.

-n ШЛЯХ

Прочитати відносний файл даних ієрархії каталогів з каталогу ШЛЯХ.

Не виконувати читання з типового файла даних ієрархії каталогів. Файл даних відносних шляхів до каталогів має бути вже створено за допомогою параметра wcd +S. Крім того, ШЛЯХ може безпосередньо вказувати на файл.

Приклад. Припустімо, що іншу систему змонтовано до точки монтування /mnt/network:

    wcd -n /mnt/network src

Wcd відкриває файл даних відносних шляхів до каталогів у /mnt/network/. У цьому файлі містяться шляхи відносно відповідного каталогу.

+n ШЛЯХ

Прочитати дані з файла даних відносної ієрархії каталогів на додачу до даних з типового файла даних ієрархії каталогів. Див. параметр -n.

-N, --numbers

Використовувати числа замість літер.

Wcd з інтерфейсом на основі conio або curses (див. розділ щодо інтерфейсів) типово показує список варіантів з пунктами, позначеними літерами. Якщо використано параметр -N, пункти у списку буде пронумеровано. Незалежно дві параметра -N, користувач може натиснути клавішу з літерою або номером для вибору пункту зі списку відповідників.

-o

Використовувати інтерфейс stdin/stdout.

Якщо з певних причин інтерфейсом на основі conio або curses у wcd не можна або не бажано користуватися, користувач може перемкнути програму на інтерфейс stdin/stdout за допомогою параметра -o.

-od, --to-stdout

Вивести усі відповідники до stdout.

-q, --quiet

Менше повідомлень. Останній відповідник не виводиться до консолі.

-r КАТАЛОГ

Вилучити каталог і відповідний запис з файла даних ієрархії каталогів.

Якщо каталог є порожнім, wcd вилучить його і спробує вилучити відповідний запис з файла даних ієрархії каталогів.

-rmtree КАТАЛОГ

Рекурсивно вилучити каталог і відповідні записи з файла даних ієрархії каталогів.

Wcd вилучить каталог та усі його підкаталоги та файли і витре записи відповідних каталогів з файла даних ієрархії каталогів.

-s

Виконати сканування або повторне сканування диска, починаючи з каталогу $HOME. Якщо значення змінної HOME не визначено, сканування диска виконуватиметься, починаючи з кореневого каталогу, /.

Наявний типовий файл даних ієрархії каталогів буде перезаписано.

Типовий каталог сканування можна перевизначити за допомогою змінної середовища WCDSCAN. Див. розділ «ЗМІННІ СЕРЕДОВИЩА».

-S ШЛЯХ

Виконати сканування ієрархії каталогів, починаючи з каталогу ШЛЯХ, і перезаписати типовий файл даних ієрархії каталогів. Див. також параметри -A, -s та -E. Наприклад, з параметром -A ви можете створити типовий файл даних ієрархії каталогів за вашим вибором. Приклади:

Unix:

    wcd -S /
    wcd -S /home -A /etc -A /usr

DOS/Windows:

    wcd -S c:/
    wcd -S c: -A d: -A \\server\share

У версіях для Windows можна виконати сканування усіх каталогів спільного використання на сервері локальної мережі Windows за допомогою такої команди: wcd -S \\назва_сервера.

+S ШЛЯХ

Сканувати диск, починаючи з каталогу ШЛЯХ, і замінити відносні шляхи у файлі даних відносної ієрархії каталогів. Цей файл використовується, якщо додано параметри -n і +n. Приклад: wcd -n ШЛЯХ джерело.

-t

Не вилучати із записів рядок тимчасового каталогу монтування, /tmp_mnt (лише у Unix)

Типово, wcd вилучає /tmp_mnt/ з відповідників. Каталог /tmp_mnt використовується засобом автоматичного монтування. Таку обробку можна вимкнути за допомогою параметра -t.

-T, --ascii-tree

Малювати ієрархію за допомогою символів ASCII. Скористайтеся цим параметром, якщо символи малювання ліній у терміналі буде показано з помилками.

-Ta, --alt-tree-nav

Альтернативний режим навігації у форматі графічної ієрархії каталогів.

У типовому режимі компонування ієрархії у стилі NCD параметр -Ta вимикає перехід до непов’язаних каталогів.

У режимі компактної ієрархії альтернативний режим робить навігацію подібною до навігації у програмах для керування файлами з графічним інтерфейсом, зокрема Провіднику Windows або KDE Konqueror у Linux. Натискання клавіш зі стрілками вгору і вниз пересуває позначення теки на один рядок вгору або вниз. Першим натисканням клавіші зі стрілкою ліворуч можна згорнути підтеки, наступне натискання — перехід ліворуч.

Перемкнутися між режимами типової і альтернативної навігації без перезапуску програми можна за допомогою натискання комбінації клавіш Shift-A.

Якщо увімкнено режим альтернативної навігації, у нижньому правому куті екрана ви побачите літеру «A».

-TC, --center-tree

Центрований режим перегляду у графічній ієрархії. Позначений каталог залишається посередині екрана. Центрований режим можна увімкнути або вимкнути за допомогою натискання клавіші «t» у режимі графічної ієрархії.

Стандартний нецентрований режим, який мінімізує рух самої ієрархії на екрані, аналогічний до оригінального режиму NCD.

-Tc, --compact-tree

Типово, «графічну» ієрархію буде намальовано у той самий спосіб, як це робила початкова версія NCD для DOS. У DOS шлях до каталогу може складатися не більше ніж з 66 символів. Використання сучасної структури каталогів, без обмежень на довжину шляхів, може призвести до значного перевищення ширини ієрархії. Щоб подолати ці труднощі, wcd може малювати ієрархію каталогів у компактному форматі, подібному до формату більшості програм для керування файлами з графічним інтерфейсом, по одній теці на рядок. Увімкнути відповідний режим можна за допомогою параметра -Tc або перемикання натисканням клавіші «m».

-Td, --cjk-width

У застарілих шрифтах для показу ієрогліфів східноазійських мов (китайської, японської та корейської) частина символів ієрогліфів та символів малювання ліній займають дві позиції замість звичайної для Unicode ширини цих символів у одну позицію. Прикладами таких шрифтів є растровий шрифт Chinese CP936 для Windows та шрифт Simsun. За допомогою цього параметра можна забезпечити правильний показ графічної ієрархії каталогів з використанням застарілих шрифтів з ієрогліфами.

Якщо увімкнено режим ієрогліфів, у нижньому правому куті екрана ви побачите літеру «C».

-u КОРИСТУВАЧ

Сканувати файл даних ієрархії іншого користувача, КОРИСТУВАЧ, не сканувати типовий файл ієрархії поточного користувача. Див. також розділ ЗМІННІ СЕРЕДОВИЩА, а саме запис щодо змінної WCDUSERSHOME.

У Unix/Cygwin базовим каталогом для домашніх каталогів користувачів вважається /home. Wcd шукатиме файли /home/USER/.treedata.wcd та /home/USER/.wcd/.treedata.wcd, саме у цьому порядку, і читатиме дані з першого ж із цих файлів, який буде знайдено і який виявиться придатним до читання. У DOS/Windows базовим каталогом для домашніх каталогів користувачів вважається \\users, отже, wcd намагається прочитати дані з файлів \\users\USER\treedata.wcd та \\users\USER\.wcd\treedata.wcd.

+u КОРИСТУВАЧ

Прочитати дані з типового файла ієрархії каталогів користувача КОРИСТУВАЧ на додачу до даних з типового файла даних ієрархії каталогів вашого користувача.

-v, --verbose

Показувати докладні повідомлення. З цим параметром wcd виводитиме усі фільтри, блокування та виключення.

-V, --version

Показати дані щодо версії і завершити роботу.

-w, --wild-match-only

Встановлення відповідність для неточних відповідників, лише якщо використано символи-замінники.

-x ШЛЯХ

Виключити ШЛЯХ зі сканування.

Якщо буде використано цей параметр, wcd виключить шлях з назвою ШЛЯХ та усі його підкаталоги з переліку шляхів для сканування диска. Передбачено підтримку символів-замінників та встановлення відповідності за абсолютними шляхами. Параметр -x у команді можна використовувати декілька разів.

    wcd -x <шлях1> -x <шлях2> -s

Параметр -x слід вказувати до усіх параметрів сканування (-s, -S, +S, -A, -E).

У системах DOS/Windows слід вказати літеру диска, якщо не визначено змінної середовища HOME або WCDHOME. Приклад:

    wcd -x c:/temp -S c:

У інших випадках літеру диска не слід вказувати.

    wcd -x /temp -s
-xf ФАЙЛ

Виключити зі сканування усі шляхи, вказані у файлі ФАЙЛ.

Якщо використано цей параметр, wcd виключить усі шляхи зі списку у файлі ФАЙЛ та усі підкаталоги цих шляхів зі сканування диска. Передбачено підтримку символів-замінників та встановлення відповідності за абсолютними шляхами. Шляхи має бути вказано по одному на рядок. Слід пам’ятати, що wcd ігноруватиме початкові та завершальні пробіли у рядку, оскільки такі пробіли є некоректними символами у назвах каталогів. Параметр -xf можна вказувати декілька разів. Якщо ви хочете виключити усі заблоковані шляхи зі сканування, можна зробити так (приклад для wcd у unix):

    wcd -xf ~/.ban.wcd -s

Передбачено підтримку символів-замінників. Наприклад, щоб виключити усі каталоги Subversion з файлами, призначеними для адміністрування копії сховища, додайте рядок */.svn.

Параметр -xf слід вказувати до усіх параметрів сканування (-s, -S, +S, -A, -E).

-y, --assume-yes

Вважати відповіддю на всі питання «так».

Wcd не проситиме користувача підтвердити дію відповіддю «так» або «ні», відповіддю завжди вважається «так». Цей параметр можна поєднати з параметром -rmtree. Параметр слід вказувати до параметрів, використання яких може призвести до появи питань, на які має відповідати користувач.

-z ЧИСЛО

Встановити для максимального розміру стосу значення ЧИСЛО.

Типовим розміром стосу є 10. Дії зі стосом можна вимкнути встановленням значення 0. Цей параметр слід використовувати перед будь-якими іншими параметрами, що призводять до дій зі стосом (-,+,=). Якщо цього не зробити, стосу буде повернуто типовий розмір 10.

Правильна команда:

    wcd -z 50 -

Новим розміром стосу буде 50, wcd перейде на один крок назад у стосі. Помилковою була б така команда:

    wcd - -z 50

Wcd повернеться на один каталог назад у стосі, розміру ж стосу буде повернуто типове значення 10. Параметр -z 50 буде проігноровано.

Додайте цей параметр як перший параметр до альтернативної команди wcd або функції, де ця програма використовується. Приклад для сумісних з POSIX командних оболонок:

    wcd ()
    {
        wcd.exe -z 50 "$@"
        . ${WCDHOME:-${HOME}}/bin/wcd.go
    }
-[ЧИСЛО]

Повернутися на ЧИСЛО пунктів назад у стосі. Типовим є значення у один пункт.

Повернутися на один каталог назад. Команда wcd - поверне вас на один каталог назад. Щоб повернутися на більшу кількість кроків, додайте до неї кількість кроків. Приклад: wcd -3. Перехід стосом каталогів є циклічним.

+[ЧИСЛО]

Перейти вперед на ЧИСЛО пунктів у стосі. Типовим є значення у один пункт.

Перейти вперед на один каталог. Команда wcd + призведе до переходу на один каталог вперед. Щоб повернутися на більшу кількість кроків, додайте до неї кількість кроків. Приклад: wcd +2. Перехід стосом каталогів є циклічним.

=

Показати стос.

Скористайтеся цим параметром, якщо ви призабули скільки пунктів залишилося попереду і позаду у стосі. У відповідь на команду з цим параметром програма виведе вміст стосу для наступного вибору номера пункту. Поточне місце у стосі буде позначено зірочкою, *.

ВСТАНОВЛЕННЯ

Поточний робочий каталог командної оболонки Unix можна змінити лише за допомогою вбудованої команди cd(1). Тому програму завжди викликають функцією або за альтернативною назвою. Ця функція або альтернативна назва зберігається у скрипті командної оболонки (скрипті переходу), який створюється програмою wcd. Wcd може працювати лише після визначення функції або альтернативної назви.

Іншим варіантом внесення змін до поведінки встановленої вами програми є визначення значень змінних середовища HOME та WCDHOME. Див. розділ ЗМІННІ СЕРЕДОВИЩА.

Встановлення для командних оболонок типу POSIX

Для командних оболонок POSIX (ksh, bash, zsh, etc.) у Unix, Linux, Cygwin або типовій оболонці MSYS додайте таку функцію до файла запуску оболонки (наприклад, у Bash використовується файл $HOME/.bashrc):

    wcd ()
    {
        PATH/wcd.exe "$@"
        . ${WCDHOME:-${HOME}}/bin/wcd.go
    }

Замініть ШЛЯХ на адресу каталогу, до якого встановлено виконуваний файл wcd. Перезавантажте файли ініціалізації оболонки або запустіть нову оболонку.

Розташування скрипту переходу, wcd.go, є різним для різних оболонок.

Wcd для bash у DJGPP DOS bash та OS/2 bash потрібна інша функція. Скрипт переходу не буде записано до каталогу bin і, якщо одночасно визначено WCDHOME та HOME, скрипт переходу буде записано до c:/.

DOS bash:

    wcd ()
    {
        PATH/wcdbash.exe "$@"
        . ${WCDHOME:-${HOME:-"c:"}}/wcd.go
    }

OS/2 bash:

    wcd ()
    {
        PATH/wcdos2bash.exe "$@"
        . ${WCDHOME:-${HOME:-"c:"}}/wcd.go
    }

Версія wcd для WinZsh потребує трохи іншої функції. Скрипт go ніколи не буде записано до c:/.

    wcd ()
    {
        PATH/wcdwin32zsh.exe "$@"
        . ${WCDHOME:-${HOME}}/wcd.go
    }

Докладніший опис можна знайти у розділі «ФАЙЛИ».

Встановлення для C-подібних командних оболонок (csh, tcsh)

Додайте такі альтернативні назви до файла запуску оболонки, $HOME/.cshrc або $HOME/.tcshrc :

    if ( ${?WCDHOME} ) then
        alias wcd "PATH/wcd.exe \!* ; source $WCDHOME/bin/wcd.go"
    else
        alias wcd "PATH/wcd.exe \!* ; source $HOME/bin/wcd.go"
    endif

Замініть ШЛЯХ на адресу каталогу, до якого встановлено виконуваний файл wcd. Перезавантажте файли ініціалізації оболонки або запустіть нову оболонку.

Версія для командного рядка Windows

Розпакуйте архів zip і додайте каталог bin до вашої змінної середовища PATH.

Програма для Windows, що працює у вікні командної оболонки Windows (Command Prompt) не може змінити поточного каталогу, але це може зробити скрипт .bat. Пакетний скрипт wcd.ba» запускає програму wcd, яка створює новий пакетний скрипт, wcdgo.bat. Після цього wcd.bat запускає скрипт wcdgo.bat, який здійснює зміну каталогу.

Windows VISTA та новіші версії

У командній оболонці Windows VISTA та новіших версій користувачі мають обмежений доступ до каталогів. Що отримати доступ до усіх каталогів, вам знадобляться права доступу адміністратора. Запустити командну оболонку з правами адміністратора можна так: наведіть вказівник миші на піктограму командної оболонки, клацніть правою кнопкою миші і виберіть у контекстному меню пункт Запуск від імені адміністратора.

Версія для Windows PowerShell

Додайте вказану нижче функцію до вашого профілю користувача PowerShell. Дані щодо місця зберігання цього профілю зберігаються у змінній $profile. Слід також визначити змінну середовища HOME або WCDHOME.

    function wcd
    {
        PATH\wcdwin32psh.exe $args
        & $env:HOME\wcdgo.ps1
    }

Замініть ШЛЯХ на адресу каталогу, до якого встановлено виконуваний файл wcd. Запустіть новий сеанс роботи у PowerShell. У Wcd для PowerShell передбачено роботу лише з файловими системами. Забезпечення роботи з іншими джерелами файлових даних не передбачено.

Версія для командного рядка OS/2

У командній оболонці OS/2 (cmd.exe) програма OS/2 не може змінювати робочого каталогу. Ось чому wcd створює командний скрипт (wcdgo.cmd), який має бути виконано у поточній оболонці. Скрипт wcd.cmd спочатку запускає програму wcdos2.exe, яка створює скрипт wcdgo.cmd. Після цього wcd.cmd запускає скрипт wcdgo.cmd.

ЛОКАЛІЗАЦІЯ

LANG

Основна мова визначається за допомогою змінної середовища LANG. Значення змінної LANG складається з декількох частин. Перша частина записується малими літерами і визначає код мови. Друга частина є необов’язковою, визначає код країни і записується прописними літерами, відокремлюється від першої частини символом підкреслювання. Передбачено також необов’язкову третю частину: кодування. Ця частина відокремлюється від другої частини крапкою. Ось декілька прикладів для командних оболонок стандартного типу POSIX:

    export LANG=uk               українська
    export LANG=uk_UA            українська, Україна
    export LANG=ru_UA            російська, Україна
    export LANG=es_ES            іспанська, Іспанія
    export LANG=es_MX            іспанська, Мексика
    export LANG=en_USiso88591    англійська, США, кодування Latin-1

Повний список мов та кодів краї наведено у підручнику з gettext(1): http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes. У системах Unix для отримання даних щодо локалі можна скористатися командою locale(1).

LANGUAGE

За допомогою змінної середовища LANGUAGE ви можете вказати список пріоритетності мов. Записи у списку слід відокремлювати двокрапками. Програма wcd надає перевагу LANGUAGE над LANG. Наприклад, перша голландська, далі німецька: LANGUAGE=nl:de. Спочатку вам слід увімкнути локалізацію, встановивши для змінної LANG (або LC_ALL) значення, відмінне від C. Далі ви зможете використовувати список пріоритетності мов за допомогою змінної LANGUAGE. Додаткові відомості можна знайти у підручнику з gettext: http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable

Якщо вами буде вибрано мову, перекладу якою немає, буде показано стандартні повідомлення англійською мовою.

WCDLOCALEDIR

За допомогою визначення змінної середовища WCDLOCALEDIR можна перевизначити значення LOCALEDIR, вказане під час збирання та встановлення програми. Змінна LOCALEDIR використовується wcd з підтримкою перекладів для пошуку файлів перекладів. Типовим значенням для системи GNU є /usr/local/share/locale. Дізнатися про поточне значення змінної LOCALEDIR можна за допомогою команди wcd -V.

Якщо ви встановили wcd до каталогу, відмінного від типового, вам варто встановити значення змінної середовища WCDLOCALEDIR так, щоб вона вказувала на каталог з файлами перекладів.

Приклад для cmd у Windows:

    set WCDLOCALEDIR=c:/my_prefix/share/locale

Приклад для оболонки POSIX:

    export WCDLOCALEDIR=$HOME/share/locale
LC_COLLATE

Якщо wcd вдасться знайти декілька відповідників вказаного користувачем каталогу, програма покаже упорядкований список варіантів. Спосіб упорядковування залежить від параметрів локалі. Якщо у середовищі встановлено значення змінної LANG, відповідники буде упорядковано відповідно до порядку, який використовується у словниках або телефонних книгах відповідною мовою. Наприклад, буде проігноровано крапки і дефіси, літери з акцентами вважатимуться еквівалентними до літер без акцентів, ігноруватимуться відмінності у написанні великими чи малими літерами.

Під час визначення параметрів упорядковування перевага надається змінній середовища LC_COLLATE, а не змінній LANG. Якщо ви вкажете для LC_COLLATE значення C або POSIX, упорядковування за параметрами локалі буде вимкнено. Наприклад, якщо ви хочете скористатися українською мовою інтерфейсу, але не хочете використовувати українські параметри упорядковування, ви можете зробити так:

    export LANG=uk_UA
    export LC_COLLATE=C
LC_CTYPE

Під час визначення параметрів кодування у wcd надається перевага змінній LC_CTYPE, а не LANG. Наприклад, щоб встановити кодування символів UTF-8, слід скористатися такою командою:

    export LC_CTYPE=en_US.UTF-8
LC_ALL

Усі змінні середовища, пов’язані з локаллю, назви яких починаються з LC_, можна перевизначити за допомогою змінної середовища LC_ALL. Wcd надає перевагу значенню LC_ALL над значеннями LC_COLLATE та LC_CTYPE.

ТАБЛИЦІ КОДУВАНЬ WINDOWS

Існує дві групи кодових сторінок: кодові сторінки DOS (OEM) та кодові сторінки Windows (ANSI). Типовим кодуванням для Windows, якщо систему налаштовано на західноєвропейські параметри регіону, є ANSI CP1252. У програмах Windows, наприклад у notepad, використовується ця типова загальносистемна кодова сторінка ANSI. У консолі Windows типово використовується кодова сторінка OEM (CP437 або CP850) для сумісності з програмами DOS. Якщо ви використовуєте версію wcd для DOS у консолі Windows, програма не працюватиме, оскільки у ній використовується кодова сторінка DOS. Але у версії wcd для DOS не передбачено підтримку довгих назв каталогів та мережевих дисків у Windows.

Версія wcd для Windows є типовою програмою Windows, вона використовуватиме загальносистемну кодову сторінку ANSI Windows. Отже, у західноєвропейській локалізації Windows програма використовуватиме кодову сторінку CP1252 для назв каталогів та повідомлень. З метою забезпечення однорідності виведення даних, незалежно від активної кодової сторінки, усі версії wcd для Windows перетворюють виведені дані у форматі ANSI у формат Unicode у командній оболонці та PowerShell.

У консольних растрових шрифтах передбачено оригінальну кодову сторінку OEM, що встановлюється разом з Windows, отже, вам слід змінити шрифт консолі на Lucida Console, щоб літери з Unicode (та ANSI) було показано належним чином.

Версії wcd без підтримки Unicode до версії 5.2.0 виводять дані у форматі ANSI. Для цих застарілих версій кодову сторінку консолі слід зробити еквівалентною до загальносистемної кодової сторінки (змінюється на 1252), щоб забезпечити належну роботу wcd для Windows зі спеціальними символами, зокрема символами з акцентами, символами кирилиці та символом євро.

Загальносистемну кодову сторінку Windows можна змінити за допомогою регіональних параметрів «Панелі керування». Кодову сторінку консолі Windows можна змінити за допомогою команди chcp.

Програма виводить дані щодо справжнього кодування символів у відповідь на команду wcd -V. Щоб визначити активну кодову сторінку консолі Windows, введіть команду chcp.

UNICODE

У wcd може бути передбачено підтримку Unicode. Щоб визначити, чи було зібрано wcd з підтримкою Unicode, скористайтеся командою wcd -V. Якщо у вашому терміналі або консолі та шрифті передбачено підтримку, ви зможете бачити символ євро та китайські ієрогліфи.

Перетворення у Unicode у wcd виконується програмно. У ядрі програми усі дані обробляються як потік даних. У широкі символи Unicode перетворюються лише рядки, що виводяться на екран. Wcd повністю покладається на функції libc і не містить специфічного для UTF-8 коду. Див. також http://www.cl.cam.ac.uk/~mgk25/unicode.html

У wcd передбачено необов’язкову підтримку встановлення відповідності за Unicode з нормалізацією. Щоб визначити, чи передбачено у wcd підтримку нормалізації, скористайтеся командою wcd -V. У wcd з підтримкою нормалізації Unicode відповідність назв Unicode виконується на основі сумісної еквівалентності. Без підтримки нормалізації Unicode відповідність назв встановлюється за двійковою еквівалентністю. Див. також http://en.wikipedia.org/wiki/Unicode_normalization

UTF-8 у Unix/Linux

Щоб у вашій консолі або терміналі можна було переглядати символи UTF-8, у консолі і терміналі також має бути передбачено підтримку UTF-8. У версії xterm, яка постачається разом з XFree86 4.0 або наступними версіями, передбачено підтримку UTF-8. Щоб задіяти цю підтримку, запустіть xterm(1) у локалі UTF-8 і скористайтеся шрифтом з кодуванням iso10646-1, наприклад за допомогою такої команди:

    LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'

У сучасних дистрибутивах GNU/Linux типовою використовується кодування UTF-8. Можна працювати і з іншими багатобайтовими кодуваннями символів, але належного тестування працездатності з цими кодуванням не виконувалося.

У wcd припускається, що кодуванням файлів даних ієрархії каталогів є кодування символів поточної локалі. До файлів даних ієрархії каталогів символ позначки порядку байтів (BOM) не записується.

UTF-16 у Windows

У Windows підтримку Unicode передбачено у всіх версіях PowerShell та у командній оболонці Windows у Windows 7 (та новіших версіях). Unicode також працює у Take Command або TCC/LE створених JP Software, якими можна скористатися у старіших версіях Windows (XP/Vista).

У Windows усі назви каталогів на диску кодуються за допомогою UTF-16. У програмах Windows без підтримки Unicode символи Unicode перетворюються у символи типової кодової сторінки ANSI. Для символів, які не є частиною регіонального кодування, це перетворення є неможливим, отже програми без підтримки Unicode виводитимуть замість них символ знаку питання або помилковий символ.

Wcd з підтримкою Unicode читатиме закодовані у UTF-16 назви каталогів і перетворюватиме дані до UTF-8 у внутрішньому коді. Усі дані файлів ієрархії каталогів буде закодовано у UTF-8. Ці дані є несумісними з версіями wcd без підтримки Unicode. Wcd створить скрипт переходу у кодуванні UTF-8.

Усі версії Windows PowerShell можуть запускати скрипти у кодуванні UTF-8, якщо у скрипті є символ BOM UTF-8.

Починаючи з Windows 7, у командній оболонці Windows передбачено можливість змінити за допомогою пакетного скрипту каталог на каталог з літерами Unicode у назві. Кодуванням назви каталогу має бути UTF-8, а пакетний скрипт не повинен містити позначки порядку байтів (BOM). Слід змінити активну кодову сторінку командної оболонки на 65001 (UTF-8) до виконання команди cd. Wcd для командної оболонки створити такий скрипт переходу (wcdgo.bat). Цей скрипти спочатку змінюватиме кодову сторінку на 65001, потім змінюватиме каталог, і нарешті, повертатиме початкове значення параметрів кодової сторінки.

Якщо літери буде показано не так, як слід, вам слід встановити шрифт True Type Lucida Console (не растровий шрифт).

Версія wcd для Windows без підтримки Unicode може читати файли даних ієрархії каталогів у кодуванні Unicode, починаючи з версії 5.2.0, якщо у файлі є позначка порядку байтів (BOM) (див. http://en.wikipedia.org/wiki/Byte_order_mark), але не може змінювати каталоги на каталоги з тими літерами Unicode у назві, які не є частиною типової кодової сторінки ANSI системи. Версія wcd для Windows з підтримкою Unicode записує BOM до файлів ієрархії каталогів у кодуванні UTF-8, починаючи з версії 5.2.0, отже, ці файли можна читати за допомогою notepad.

UTF-8 у Cygwin

У Cygwin передбачено підтримку Unicode, починаючи з версії 1.7. Шар обробки Cygwin виконує перетворення назв каталогів Windows у UTF-16 до UTF-8. Отже, програми, зокрема wcd, не потрібно перейматися процедурами перетворення, вони можуть обробляти дані у кодуванні UTF-8, як це робиться у Unix/Linux. Встановити кодування символів UTF-8 можна за допомогою змінної середовища LANG або LC_CTYPE. Ймовірно, вам доведеться пересканувати ваші диски. Якщо ви користуєтеся типовою консоллю Cygwin, вам слід встановити для неї шрифт True Type Lucida Console (не растровий шрифт).

Версія wcd для Cygwin поводиться точно так само, як версія wcd для Unix. Мітка порядку байтів (BOM) не записується до файлів даних ієрархії каталогів. Кодуванням файлів вважається кодування символів локалі Cygwin.

ФАЙЛИ

Якщо встановлено змінну середовища WCDHOME, використовуватиме WCDHOME замість HOME. Усі файли *.wcd є текстовими файлами. Їх можна редагувати у звичайному текстовому редакторі. Версія wcd для командної оболонки Windows поводиться так само, як версія для DOS. Версія wcd для Cygwin поводиться як версія для Unix.

wcd.exe

Сама програма. У оболонках Unix програма завжди викликається функцією або альтернативною командою, оскільки поточний робочий каталог у оболонці Unix можна змінювати лише за допомогою вбудованої команди cd. Див. також розділ «ВСТАНОВЛЕННЯ».

типовий файл даних ієрархії каталогів

Це типовий файл даних ієрархії каталогів, де wcd шукає відповідники. Якщо цей файл непридатний до читання, wcd створить новий.

    DOS: \treedata.wcd або %HOME%\treedata.wcd
    Unix: $HOME/.treedata.wcd
додатковий файл даних ієрархії каталогів

Необов’язковий додатковий файл даних ієрархії каталогів. Якщо такий файл існує і є придатним до читання, wcd спробує знайти відповідники і у цьому файлі.

    DOS: \extra.wcd або %HOME%\extra.wcd
    Unix: $HOME/.extra.wcd
файл блокувань

До цього додаткового файла wcd записує заблоковані шляхи. Див. параметр -b. Передбачено підтримку символів-замінників.

    DOS: \ban.wcd або %HOME%\ban.wcd
    Unix: $HOME/.ban.wcd
файл альтернативних назв

Необов’язковий файл із записами альтернативних назв wcd. Див. параметр -l.

    DOS: \alias.wcd або %HOME%\alias.wcd
    Unix: $HOME/.alias.wcd
файл stack

У цьому файлі зберігається стос каталогів wcd. Літеру диска можна змінити за допомогою параметра -d.

    DOS: c:\stack.wcd або %HOME%\stack.wcd
    Unix: $HOME/.stack.wcd

Назву файла стосу можна змінити за допомогою змінної середовища WCDSTACKFILE. Див. розділ «ЗМІННІ СЕРЕДОВИЩА».

скрипт go

Це скрипт командної оболонки, який wcd.exe створює під час кожного запуску. Від використовується функцією або альтернативною командою. Літеру диска можна змінити за допомогою параметра -d. З історичних міркувань у системах Unix цей файл типово зберігається у $HOME/bin. Каталог цього файла можна змінити за допомогою параметра -G.

    bash для DOS: c:/wcd.go або $HOME/wcd.go
    командна оболонка Windows: c:\wcdgo.bat або %HOME%\wcdgo.bat
    Windows PowerShell: $env:HOME\wcdgo.ps1
    WinZsh: $HOME/wcd.go
    Cygwin/MSYS: $HOME/bin/wcd.go
    командна оболонка OS/2: c:\wcdgo.cmd або %HOME%\wcdgo.cmd
    OS/2 bash: c:/wcd.go або $HOME/wcd.go
    Unix: $HOME/bin/wcd.go
файл відносних шляхів у ієрархії каталогів

Текстовий файл з відносними шляхами щодо каталогу КАТАЛОГ. Див. параметри +S, -n та +n.

    DOS: PATH\rtdata.wcd
    Unix: PATH/.rtdata.wcd

ЗМІННІ СЕРЕДОВИЩА

HOME

Типово, wcd використовує змінну середовища HOME для визначення місця, де зберігатимуться файли програми. Див. також розділ «ФАЙЛИ». Перевизначити каталог можна за допомогою змінної середовища WCDHOME.

HOME також визначає місце, звідки слід розпочинати сканування диска, якщо використано параметр -s. Перевизначити це місце можна за допомогою змінної середовища WCDSCAN.

У версіях для Unix, Cygwin, Windows PowerShell, WinZsh та MSYS слід встановити значення HOME або WCDHOME. Для інших версій wcd використання цих змінних є необов’язковим.

Якщо змінну HOME встановлено у DOS/Windows, wcd розташує свої файли (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) у каталозі HOME. Після встановлення змінної поведінка wcd стає еквівалентною до версії wcd для Unix. Типово, wcd скануватиме диск, починаючи з HOME. Сканування дисків не виконуватиметься у автоматичному режимі після зміни диска. Про потребу у скануванні слід повідомити явно. Приклад:

    wcd -S c: -A d: -A e:

Після цього встановлення відповідності каталогів буде загальним на усіх сканованих дисках.

WCDHOME

Для зміни місця зберігання файлів wcd слід використовувати змінну середовища WCDHOME. Якщо встановлено одразу HOME і WCDHOME, замість HOME буде використано WCDHOME.

З версіях wcd до версії 5.1.5 типовий каталог сканування можна змінити також за допомогою змінної WCDHOME. У наступних версіях таку поведінку було змінено. Починаючи з версії 5.1.5, WCDHOME не змінює типового каталогу сканування. Див. параметр -s. Починаючи з версії 5.1.5, для перевизначення типового каталогу сканування слід використовувати змінну середовища WCDSCAN.

Приклад для командних оболонок DOS, Windows, OS/2:

    set WCDHOME=C:\Users\erwin\wcd

Приклад для командних оболонок типу POSIX:

    export WCDHOME="$HOME/.wcd"

Приклад для командних оболонок типу Csh:

    setenv WCDHOME "$HOME/.wcd"
WCDSCAN

Для перевизначення встановленого за допомогою змінної середовища HOME типового каталогу сканування скористайтеся змінною середовища WCDSCAN. Щоб визначити декілька каталогів, скористайтеся списком каталогів, відокремлених двокрапкою (Unix). У DOS або Windows записи у списку слід відокремлювати крапкою з комою.

Приклади для командних оболонок DOS, Windows, OS/2:

    set WCDSCAN=C:\Users\erwin;D:\data

    set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\projectdrive\projectX

Приклад для командних оболонок типу POSIX:

    export WCDSCAN="$HOME:/projectdisk/projectX"

Приклад для командних оболонок типу Csh:

    setenv WCDSCAN "$HOME:/projectdisk/projectX"
WCDFILTER

Фільтри можна вказати за допомогою змінної середовища WCDFILTER. Усі каталоги, які не відповідають цим фільтрам, буде проігноровано. Записи у списку слід відокремлювати типовим роздільником каталогів у шляхах командної оболонки. Це щось подібне до визначення змінної середовища PATH. Те, чи буде враховано регістр символів, визначається параметрами операційної системи.

Приклад для командних оболонок DOS, Windows, OS/2:

    set WCDFILTER=projects;doc

Приклад для командних оболонок типу POSIX:

    export WCDFILTER="projects:doc"

Приклад для командних оболонок типу Csh:

    setenv WCDFILTER "projects:doc"
WCDBAN

Шляхи, вказані за допомогою змінної середовища WCDBAN, вважатимуться заблокованими для wcd. Див. також параметр -b. Записи у списку шляхів слід відокремлювати типовим роздільником змінної PATH командної оболонки.

WCDEXCLUDE

Шляхи, вказані за допомогою змінної середовища WCDEXCLUDE, вважатимуться виключеними для wcd. Див. також параметри -x та -xf. Записи у списку шляхів слід відокремлювати типовим роздільником змінної PATH командної оболонки.

Приклад для командних оболонок DOS, Windows, OS/2:

    set WCDEXCLUDE=*/windows;*/temp;*CVS

Приклад для командних оболонок типу POSIX:

    export WCDEXCLUDE="/dev:/tmp:*CVS"

Приклад для командних оболонок типу Csh:

    setenv WCDEXCLUDE "/dev:/tmp:*CVS"
WCDUSERSHOME

Встановлює основний каталог для домашніх каталогів користувачів. У DOS або Windows типовим значенням змінної є \\users. У Unix або Cygwin типовим значенням є /home. Ця змінна середовища використовується для сканування файлів даних ієрархії каталогів інших користувачів. Див. також параметри -u та +u. У докладному режимі wcd виводитиме усі фільтри, блокування та виключення. Див. параметр -v.

WCDSTACKFILE

Wcd надає перевагу значенню змінної WCDSTACKFILE над типовою назвою файла стосу (див. розділ «ФАЙЛИ»). За допомогою цієї змінної можна визначити окремий стос використаних каталогів для декількох різних командних оболонок (або використаних емуляторів термінала).

Використання файла з унікальною назвою на основі поточного часу у форматі РРРММДД-ГГХХСС для кожної відкритої інтерактивної командної оболонки:

    export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)

Для окремого стосу на кожний екземпляр xterm(1) скористайтеся змінної середовища WINDOWID для xterm:

    export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID

Для GNU screen(1), використання окремого стосу на екземпляр screen:

    export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW
TERMINFO

Якщо визначено змінну середовища TERMINFO, wcd з інтерфейсом на основі ncurses шукатиме локальні визначення термінала до виконання пошуку у стандартному місці. Це корисно, якщо визначення термінала зберігаються у нестандартному місці. Часто використовуються стандартні місця /usr/lib/terminfo та /usr/share/terminfo.

PDC_RESTORE_SCREEN

Wcd з інтерфейсом на основі PDCurses розпізнає змінну середовища PDC_RESTORE_SCREEN. Якщо встановлено цю змінну середовища, PDCurses скопіює вміст екрана на час запуску wcd; після завершення роботи wcd вміст екрана буде відновлено. Приклад для командної оболонки Windows:

    set PDC_RESTORE_SCREEN=1

У Windows передбачено можливість зберігання лише буфера незначного обсягу. Тому повне відновлення не завжди можливе. Якщо вміст буфера є доволі значним, до консолі після виходу з wcd буде виведено випадкові символи.

SHELL

Для виведення 8-бітових символів у скриптах переходу для командних оболонок типу POSIX та C слід вказати #!$SHELL у першому рядку. Якщо цього не зробити, у деяких оболонках скрипт переходу вважатиметься бінарним файлом і не використовуватиметься. У bash Cygwin у середовищі має бути визначено змінну SHELL за допомогою команди export, інакше wcd не зможе прочитати змінну.

BASH

Wcd для bash DOS використовується $BASH замість $SHELL, оскільки $SHELL вказує на командну оболонку DOS. Можливо, слід визначити змінну $BASH за допомогою команди export, інакше wcd не зможе прочитати змінну.

ТАКОЖ ПЕРЕГЛЯНЬТЕ

sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1),

АВТОРИ

Wcd створено Erwin Waterlander <waterlan@xs4all.nl>

Домашня сторінка проекту: http://waterlan.home.xs4all.nl/

SourceForge: http://sourceforge.net/projects/wcd/

Форматування сторінки підручника було виконано Jari Aalto <jari.aalto@cante.net>.

Початкову версію NCD було створено Brad Kingsbury для пакунка "Norton Utilities" Пітера Нортона близько 1987 року. Див. також http://www.softpanorama.org/OFM/norton_change_directory_clones.shtml

wcd-6.0.3/src/man/uk/man1/wcd.pod0000644000175500010010000025310313524756531015661 0ustar waterlanGeen ***************************************************** * GENERATED FILE, DO NOT EDIT * * THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION * ***************************************************** This file was generated by po4a(7). Do not store it (in VCS, for example), but store the PO file used as source file by po4a-translate. In fact, consider this as a binary, and the PO file as a regular .c file: If the PO get lost, keeping this translation up-to-date will be harder. =pod =encoding UTF-8 =head1 НАЗВА wcd - довільна зміна каталогу (Wherever Change Directory) засіб для зміни каталогу (chdir) у DOS та Unix =head1 КОРОТКИЙ ОПИС wcd [параметри] [каталог] =head1 ОПИС =head2 Огляд Wcd — програма, що керується з командного рядка і надає змогу швидко змінювати каталоги. Вона економить час на введенні даних з клавіатури. Достатньо ввести лише частину назву каталогу і wcd перейде до цього каталогу. У wcd передбачено можливості пришвидшення вибору потрібного варіанта з декількох, створення альтернативних назв каталогів та блокування каталогів. Крім того, у wcd ви зможете скористатися повноекранною інтерактивною навігацією деревом каталогів з швидким пошуком. Ідеї wcd часткового запозичено з Norton Change Directory (NCD). Першу версію NCD у I для DOS було випущено 1987 року компанією Пітера Нортона (Peter Norton). Wcd було портовано на різні командні оболонки: command.com для DOS, cmd.exe та PowerShell для Windows, cmd.exe для OS/2 і командні оболонки Unix, зокрема Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh) та C (csh), а також інші оболонки, що працюють у будь-якій операційній системі. У Wcd передбачено підтримку 8-бітових наборів символів на усіх системах та додаткову підтримку Unicode. Докладніше про це у розділі «ЛОКАЛІЗАЦІЯ». Щоб дізнатися більше про налаштовування wcd для особистого користування, зверніться до розділу «ВСТАНОВЛЕННЯ». =head2 Основні прийоми використання Типово (якщо не використано символів-замінників), wcd шукає каталог, назва якого починається з введених вами символів. Наприклад, вказана нижче команда змінить каталог на каталог поточного користувача C
: wcd Desk Якщо буде виявлено декілька відповідників, wcd покаже користувачеві список цих відповідників. Після цього користувач зможе вибрати потрібний варіант декількома натисканнями клавіш (найчастіше, достатньо одного натискання). =head2 Шаблони-замінники У wcd передбачено підтримку таких символів-замінників: * відповідає будь-якій послідовності символів (нульової або більшої довжини) ? відповідає довільному символу [НАБІР] відповідає довільному символу з вказаного набору, [!НАБІР] або [^НАБІР] відповідає будь-якому символу, що не належить до вказаного набору. Набір символів може складатися з окремих символів або діапазонів символів. Діапазон слід вказувати так: I<символ дефіс символ>, наприклад, C<0-9> або C. Мінімальним набором символів у конструкції C<[..]> є C<[0-9a-zA-Z_]>. Можна використовувати символи з розширеного набору (тобто 8-бітові символи), якщо у системі передбачено підтримку цих символів. Щоб придушити використання символів з набору C<[]*?!^-\> для побудови синтаксичних лексем у межах конструкцій C<[..]> тобто їхнього буквального використання, додавайте перед цими символами символ зворотної риски (C<\>). Використання символів-замінників надає доступ до досить потужних можливостей з пошуку. Наприклад, за допомогою вказаного нижче виразу можна знайти будь-який каталог, назва якого завершується на «top»: wcd *top Знайти каталоги, у назві яких будь-де міститься частина «top»: wcd *top* Знайти будь-який каталог, назва якого починається з «a», «b» або «c»: wcd [a-c]* Крім того, можна вказати частину шляху до каталогу. У наведеному нижче прикладі wcd шукатиме каталог, назва якого починається з «Desk», шлях якого відповідає шаблону I<*me/Desk*>. wcd me/Desk Можна використовувати будь-який вираз, що містить риски та символи замінники. Приклад: wcd src*/*1?/a*2 =head2 Інші варіанти використання Якщо у виразі не використано символів-замінників, а wcd знаходить повний відповідник з вказаним шляхом і назвою, wcd типово проігнорує усі відповідники, які могло б бути знайдено з використанням символів-замінників. Типову поведінку програми можна змінити за допомогою параметра B<-w>. Інтерактивний навігатор ієрархією каталогів можна запустити за допомогою параметра B<-g>. wcd -g Wcd створює файл даних ієрархії (treedata) у каталогах, звідки виконується пошук. У системах Unix та Windows wcd додає символічні посилання на файл treedata під час сканування диска, але не переходить за створеними посиланнями. Перехід за посиланнями може призвести до зациклювання wcd у ієрархії каталогів або сканування великих масивів каталогів у мережі. Крім того, wcd може переходити до каталогів, яких немає у файлі treedata. Приклад: wcd .. Якщо wcd буде виявлено відповідник критерію пошуку, але програма не зможе перейти до цього каталогу, буде виконано спробу вилучення каталогу з типового файла treedata, але не з додаткового файла treedata. Див. також параметр B<-k>. Wcd зберігає на диску стос переходів за каталогами. Типовим обсягом стосу є 10. Перехід стосом здійснюється циклічно. Див. параметри B<-z>, B<->, B<+> та B<=>. У середовищах з декількома користувачами для переходу до каталогів, що належать іншим користувачам, можна скористатися параметром B<-u>. У операційних системах DOS і Windows можна використовувати як роздільник між каталогами як символ «/», так і символ «\». У системах DOS та Windows передбачено можливість переходу до каталогу на іншому диску. Для цього достатньо перед назвою каталогу на диску вказати назву диска. wcd d:games =head2 Шляхи UNC Windows У версіях для Windows (для командного рядка, PowerShell, MSYS, zsh, cygwin) передбачено підтримку шляхів UNC LAN Windows для SMB без літер дисків, наприклад C<\\назва_сервера\назва_ресурсу>. У wcd для командного рядка Windows для автоматичного прив’язування шляху UNC до літери диска використовується команда «pushd». У In Windows PowerShell, MSYS, zsh та Cygwin передбачено повноцінну підтримку шляхів UNC. Шлях UNC може бути поточним робочим каталогом. =head2 Зміна розмірів вікна консолі у Windows У wcd передбачено можливість зміни розмірів вікна консолі у Windows 10 і ConEmu (див. L), починаючи з версії 6.0.3. Консоль Windows 10 має бути запущено не у застарілому режимі (перевірте це у властивостях консолі). Якщо властивість компонування вікна «Переносити текстове виведення при зміні розмірів» не увімкнено, вміст вікна може не оновлюватися. Оновити вміст вікна можна вручну натисканням клавіші F5. =head2 Інтерфейси У wcd передбачено три різні інтерфейси вибору потрібного варіанта зі списку відповідників. Інтерфейс можна вибрати під час збирання програми. Першим інтерфейсом є звичайні інтерфейси введення та виведення (stdin/stdout). До термінала буде виведено нумерований список варіантів. Користувач зможе вибрати відповідний варіант введенням його номера з наступним натисканням клавіші . У цьому інтерфейсі не передбачено можливостей гортання для довгих списків. Для цього доведеться користуватися можливостями з гортання термінала або консолі. Код цього інтерфейсу доволі малий і портований. Другий інтерфейс побудовано на основі бібліотеки conio. У ньому передбачено можливості гортання. Користувачу буде показано список з літерним позначенням пунктів. Для вибору пункту у списку достатньо натиснути клавішу з відповідною літерою. Цей інтерфейс працює швидше, оскільки треба натискати менше клавіш. Після вибору варіанта, якщо це можливо, зображення на екрані буде відновлено до стану перед показом варіантів. Якщо користувач надає перевагу цифровому позначенню пунктів, можна скористатися параметром B<-N>. Третій інтерфейс побудовано на основі бібліотеки curses. Він подібний до інтерфейсу на основі conio. Версія wcd на основі curses має додатковий «графічний» інтерфейс. За його допомогою користувач зможе вибрати каталог у повноекранному інтерактивному навігаторі ієрархією каталогів. Передбачено навігацію та пошук у стилі vim(1). Задіяти цей інтерфейс можна за допомогою параметра B<-g>. За допомогою параметра командного рядка B<-o> програму можна завжди перевести до стандартного інтерфейсу stdin/stdout. =head1 ПАРАМЕТРИ =over 4 =item B<-a> Додати поточний шлях до типового файла ієрархії. За допомогою цього параметра можна швидко додати поточний шлях до типового файла ієрархії каталогів. Повторне сканування усього диска у певних випадках може бути досить тривалою справою. =item B<-aa> Додати поточний і усі батьківські шляхи до типового файла ієрархії каталогів (treedata). =item B<-A ШЛЯХ> Сканувати ієрархію каталогів, починаючи з каталогу I<ШЛЯХ>, і дописати усі виявлені каталоги до файла ієрархії каталогів (treedata). Приклади: wcd -A . wcd -A /home -A /etc wcd -A d: -A e: -A \\server\share У Windows можна виконати сканування усіх каталогів спільного використання на сервері локальної мережі Windows за допомогою такої команди: C. Див. також параметри B<-S>, B<-s> та B<-E>. =item B<-b> Заблокувати поточний шлях. Wcd додає поточний шлях до файла блокування. Це означає, що wcd ігноруватиме усі відповідники з поточного каталогу і усіх його підкаталогів. Файл блокувань (ban) можна редагувати у текстовому редакторі. Передбачено підтримку символів-замінників. Відповідність назв встановлюється за абсолютними шляхами. Заблоковані шляхи не виключаються зі шляхів сканування диска. Щоб виключити заблоковані шляхи, скористайтеся параметром B<-xf>. =item B<-c, --direct-cd> Безпосередній режим CD. Типово, wcd працює так: 1. Спробувати знайти відповідник у файлах ієрархії (treedata). 2. Якщо нічого не знайдено, спробувати відкрити каталог, назву якого було введено. У безпосередньому режимі CD wcd виконує обробку запиту у зворотному порядку. 1. Cпробувати відкрити каталог, назву якого було введено. 2. Якщо не вдалося, знайти відповідник у файлах ієрархії (treedata). =item B<-d ДИСК> Встановити диск для файла стосу і переходу (лише для DOS). Типово, файл стосу та скрипт переходу зберігаються на диску C:, якщо не встановлено значення змінної середовища I. Цим параметром можна скористатися, якщо диск C: захищено від запису. Цей параметр слід вказувати перед параметрами роботи зі стосом B<->, B<+> та B<=>. =item B<-e> Додати поточний шлях до додаткового файла ієрархії. За допомогою цього параметр можна швидко додати поточний шлях до додаткового файла ієрархії. =item B<-ee> Додати поточний і усі батьківські шляхи до додаткового файла ієрархії каталогів (treedata). =item B<-E ШЛЯХ> Сканувати ієрархію каталогів, починаючи з каталогу I<ШЛЯХ>, і дописати усі виявлені каталоги до додаткового файла ієрархії каталогів (treedata). Див. також параметри B<-A> та B<-S>. =item B<-f ФАЙЛ> Прочитати файл даних ієрархії каталогів I<ФАЙЛ>. Не виконувати читання з типового файла ієрархії каталогів. =item B<+f ФАЙЛ> Прочитати дані з файла ієрархії каталогів I<ФАЙЛ> на додачу до даних з типового файла даних ієрархії каталогів. =item B<-g> Графічний інтерфейс (лише у версії з інтерфейсом на основі curses). Wcd запускає текстовий «графічний» інтерфейс на основі curses. Користувач може вибрати каталог за допомогою повноекранного інтерактивного навігатора ієрархією каталогів. Передбачено навігацію і пошук у стилі vim(1). Якщо рядок пошуку не вказано, wcd показує усю ієрархію каталогів з типового та додаткового файлів даних ієрархії. Якщо рядок пошуку вказано, список відповідників буде показано як ієрархію каталогів. Типове компонування ієрархії подібне до компонування каталогів у початковій версії NCD у DOS. Різниця у компонуванні полягає у тому, що у NCD усі каталоги одного рівня було вирівняно однаковим відступом у всьому дереві. Це було можливим у NCD, оскільки максимальна довжина назви каталогу у DOS дорівнювала 12 (8.3) символам. У сучасних операційних системах назви каталогів можуть бути дуже довгими і різниця у довжинах може бути дуже великою. Тому теки однакового рівня вкладеності не вирівняно за однією лінією за усією ієрархією каталогів у wcd, а лише за гілками ієрархії. Отже, під час руху вгору-вниз ієрархією каталогів користувач спостерігатиме за зсувами списку у різні боки. Навігаційна поведінка у wcd абсолютно збігається з початковою версією NCD. Наприклад, якщо ви натиснете клавішу зі стрілкою вниз, ви перейдете до наступного каталогу з тим самим рівнем вкладеності, переходячи гілками ієрархії. Це пришвидшує навігацію ієрархією каталогів. Поведінку засобу навігації можна змінити за допомогою параметрів B<-Ta>, B<-TC> та B<-Tc>. =item B<-gd> Створити дамп файлів ієрархії каталогів (treedata) і вивести дані до стандартного виведення (stdout). =item B<-G ШЛЯХ> Записати скрипт переходу у каталозі I<ШЛЯХ>. Наприклад, у Unix, C призведе до запису скрипту переходу до B<ШЛЯХ/wcd.go>. =item B<-GN, --no-go-script> Не створювати скрипт переходу. Цим параметром можна скористатися у поєднанні з параметром B<-j>, якщо з якихось причин створення wcd скрипту переходу є небажаним. =item B<-h, --help> Показати довідку щодо використання і завершити роботу. =item B<-i, --ignore-case> Ігнорувати регістр символів. У версіях wcd для DOS та Windows така поведінка є типовою. У версіях для Unix/Cygwin регістр типово враховується. =item B<+i, --no-ignore-case> Брати до уваги регістр символів. Див. також параметр B<-i>. =item B<-I, --ignore-diacritics> Ігнорувати діакритичні знаки для писемностей на основі латиниці. Програма вважатиме літери з діакритичними знаками еквівалентними до їхніх відповідників без діакритичних знаків. Передбачено підтримку таких кодувань латиниці: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2 та Unicode Latin-1, Latin Extended-A, а також Latin Extended-B. Див. також L =item B<+I, --no-ignore-diacritics> Брати до уваги діакритичні позначки (типово). Див. також параметр B<-I>. =item B<-j, --just-go> Режим простого переходу. У цьому режимі wcd не показуватиме списку, якщо для вказаної назви буде знайдено декілька відповідників. Wcd просто перейде до першого ж відповідника. Якщо wcd буде викликано знову з тими самими аргументами, програма змінить каталог на наступний пункт у списку тощо. Wcd виведе назву каталогу, що якого переходитиме до стандартного виведення (stdout). Отже можна скористатися декількома способами встановлення. Можна створити таку функцію для сумісної з POSIX командної оболонки: wcd () { cd "$($HOME/bin/wcd.exe -j $@)" } Якщо ви користуєтеся застарілою командною оболонкою, у якій не передбачено підтримки заміни команди «$()», вам доведеться скористатися підставлянням команди у застарілому стилі з одинарними відкривними лапками. wcd () { cd "`$HOME/bin/wcd.exe -j $@`" } У системах Windows, якщо використано командну оболонку 4NT, можна створити такі альтернативні назви: alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]` Подібний метод усуває потребу у скрипті переходу, отже, параметр B<-j> можна використати у поєднанні з параметром B<-GN>. =item B<-k, --keep-paths> Зберігати шляхи. Зберігати шляхи до файла даних ієрархії каталогів, якщо wcd не може перейти до відповідного каталогу. Типовою поведінкою програми є вилучення шляхів з файла даних ієрархії, якщо wcd не може перейти до відповідного каталогу. Якщо буде використано цей параметр, програма не вилучатиме відповідних записів каталогів. =item B<-K, --color> Використовувати кольори у графічному режимі. =item B<-l АЛЬТЕРНАТИВНА НАЗВА> Надати поточному шляху альтернативну назву I<АЛЬТЕРНАТИВНА НАЗВА>. Wcd запише поточний шлях з його альтернативною назвою до файла альтернативних назв. Альтернативні назви з різним регістром символів вважаються різними. =item B<-ls> Показати назву файла псевдонімів і вивести список усіх альтернативних назв (псевдонімів). =item B<-m КАТАЛОГ> Створити каталог і додати його до файла даних ієрархії. =item B<-L, --license> Вивести дані щодо умов ліцензування. =item B<-M КАТАЛОГ> Створити каталог і додати його до додаткового файла даних ієрархії. =item B<-n ШЛЯХ> Прочитати відносний файл даних ієрархії каталогів з каталогу I<ШЛЯХ>. Не виконувати читання з типового файла даних ієрархії каталогів. Файл даних відносних шляхів до каталогів має бути вже створено за допомогою параметра wcd B<+S>. Крім того, I<ШЛЯХ> може безпосередньо вказувати на файл. Приклад. Припустімо, що іншу систему змонтовано до точки монтування C: wcd -n /mnt/network src Wcd відкриває файл даних відносних шляхів до каталогів у C. У цьому файлі містяться шляхи відносно відповідного каталогу. =item B<+n ШЛЯХ> Прочитати дані з файла даних відносної ієрархії каталогів на додачу до даних з типового файла даних ієрархії каталогів. Див. параметр B<-n>. =item B<-N, --numbers> Використовувати числа замість літер. Wcd з інтерфейсом на основі conio або curses (див. розділ щодо інтерфейсів) типово показує список варіантів з пунктами, позначеними літерами. Якщо використано параметр B<-N>, пункти у списку буде пронумеровано. Незалежно дві параметра B<-N>, користувач може натиснути клавішу з літерою або номером для вибору пункту зі списку відповідників. =item B<-o> Використовувати інтерфейс stdin/stdout. Якщо з певних причин інтерфейсом на основі conio або curses у wcd не можна або не бажано користуватися, користувач може перемкнути програму на інтерфейс stdin/stdout за допомогою параметра B<-o>. =item B<-od, --to-stdout> Вивести усі відповідники до stdout. =item B<-q, --quiet> Менше повідомлень. Останній відповідник не виводиться до консолі. =item B<-r КАТАЛОГ> Вилучити каталог і відповідний запис з файла даних ієрархії каталогів. Якщо каталог є порожнім, wcd вилучить його і спробує вилучити відповідний запис з файла даних ієрархії каталогів. =item B<-rmtree КАТАЛОГ> Рекурсивно вилучити каталог і відповідні записи з файла даних ієрархії каталогів. Wcd вилучить каталог та усі його підкаталоги та файли і витре записи відповідних каталогів з файла даних ієрархії каталогів. =item B<-s> Виконати сканування або повторне сканування диска, починаючи з каталогу I<$HOME>. Якщо значення змінної HOME не визначено, сканування диска виконуватиметься, починаючи з кореневого каталогу, /. Наявний типовий файл даних ієрархії каталогів буде перезаписано. Типовий каталог сканування можна перевизначити за допомогою змінної середовища C. Див. розділ «ЗМІННІ СЕРЕДОВИЩА». =item B<-S ШЛЯХ> Виконати сканування ієрархії каталогів, починаючи з каталогу I<ШЛЯХ>, і перезаписати типовий файл даних ієрархії каталогів. Див. також параметри B<-A>, B<-s> та B<-E>. Наприклад, з параметром B<-A> ви можете створити типовий файл даних ієрархії каталогів за вашим вибором. Приклади: Unix: wcd -S / wcd -S /home -A /etc -A /usr DOS/Windows: wcd -S c:/ wcd -S c: -A d: -A \\server\share У версіях для Windows можна виконати сканування усіх каталогів спільного використання на сервері локальної мережі Windows за допомогою такої команди: C. =item B<+S ШЛЯХ> Сканувати диск, починаючи з каталогу I<ШЛЯХ>, і замінити відносні шляхи у файлі даних відносної ієрархії каталогів. Цей файл використовується, якщо додано параметри B<-n> і B<+n>. Приклад: C. =item B<-t> Не вилучати із записів рядок тимчасового каталогу монтування, C (лише у Unix) Типово, wcd вилучає C з відповідників. Каталог C використовується засобом автоматичного монтування. Таку обробку можна вимкнути за допомогою параметра B<-t>. =item B<-T, --ascii-tree> Малювати ієрархію за допомогою символів ASCII. Скористайтеся цим параметром, якщо символи малювання ліній у терміналі буде показано з помилками. =item B<-Ta, --alt-tree-nav> Альтернативний режим навігації у форматі графічної ієрархії каталогів. У типовому режимі компонування ієрархії у стилі NCD параметр B<-Ta> вимикає перехід до непов’язаних каталогів. У режимі компактної ієрархії альтернативний режим робить навігацію подібною до навігації у програмах для керування файлами з графічним інтерфейсом, зокрема Провіднику Windows або KDE Konqueror у Linux. Натискання клавіш зі стрілками вгору і вниз пересуває позначення теки на один рядок вгору або вниз. Першим натисканням клавіші зі стрілкою ліворуч можна згорнути підтеки, наступне натискання — перехід ліворуч. Перемкнутися між режимами типової і альтернативної навігації без перезапуску програми можна за допомогою натискання комбінації клавіш Shift-A. Якщо увімкнено режим альтернативної навігації, у нижньому правому куті екрана ви побачите літеру «A». =item B<-TC, --center-tree> Центрований режим перегляду у графічній ієрархії. Позначений каталог залишається посередині екрана. Центрований режим можна увімкнути або вимкнути за допомогою натискання клавіші «t» у режимі графічної ієрархії. Стандартний нецентрований режим, який мінімізує рух самої ієрархії на екрані, аналогічний до оригінального режиму NCD. =item B<-Tc, --compact-tree> Типово, «графічну» ієрархію буде намальовано у той самий спосіб, як це робила початкова версія NCD для DOS. У DOS шлях до каталогу може складатися не більше ніж з 66 символів. Використання сучасної структури каталогів, без обмежень на довжину шляхів, може призвести до значного перевищення ширини ієрархії. Щоб подолати ці труднощі, wcd може малювати ієрархію каталогів у компактному форматі, подібному до формату більшості програм для керування файлами з графічним інтерфейсом, по одній теці на рядок. Увімкнути відповідний режим можна за допомогою параметра B<-Tc> або перемикання натисканням клавіші «m». =item B<-Td, --cjk-width> У застарілих шрифтах для показу ієрогліфів східноазійських мов (китайської, японської та корейської) частина символів ієрогліфів та символів малювання ліній займають дві позиції замість звичайної для Unicode ширини цих символів у одну позицію. Прикладами таких шрифтів є растровий шрифт Chinese CP936 для Windows та шрифт Simsun. За допомогою цього параметра можна забезпечити правильний показ графічної ієрархії каталогів з використанням застарілих шрифтів з ієрогліфами. Якщо увімкнено режим ієрогліфів, у нижньому правому куті екрана ви побачите літеру «C». =item B<-u КОРИСТУВАЧ> Сканувати файл даних ієрархії іншого користувача, I<КОРИСТУВАЧ>, не сканувати типовий файл ієрархії поточного користувача. Див. також розділ ЗМІННІ СЕРЕДОВИЩА, а саме запис щодо змінної I. У Unix/Cygwin базовим каталогом для домашніх каталогів користувачів вважається C. Wcd шукатиме файли C
та C
, саме у цьому порядку, і читатиме дані з першого ж із цих файлів, який буде знайдено і який виявиться придатним до читання. У DOS/Windows базовим каталогом для домашніх каталогів користувачів вважається C<\\users>, отже, wcd намагається прочитати дані з файлів C<\\users\USER\treedata.wcd> та C<\\users\USER\.wcd\treedata.wcd>. =item B<+u КОРИСТУВАЧ> Прочитати дані з типового файла ієрархії каталогів користувача КОРИСТУВАЧ на додачу до даних з типового файла даних ієрархії каталогів вашого користувача. =item B<-v, --verbose> Показувати докладні повідомлення. З цим параметром wcd виводитиме усі фільтри, блокування та виключення. =item B<-V, --version> Показати дані щодо версії і завершити роботу. =item B<-w, --wild-match-only> Встановлення відповідність для неточних відповідників, лише якщо використано символи-замінники. =item B<-x ШЛЯХ> Виключити I<ШЛЯХ> зі сканування. Якщо буде використано цей параметр, wcd виключить шлях з назвою I<ШЛЯХ> та усі його підкаталоги з переліку шляхів для сканування диска. Передбачено підтримку символів-замінників та встановлення відповідності за абсолютними шляхами. Параметр B<-x> у команді можна використовувати декілька разів. wcd -x <шлях1> -x <шлях2> -s Параметр B<-x> слід вказувати до усіх параметрів сканування (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>). У системах DOS/Windows слід вказати літеру диска, якщо не визначено змінної середовища I або I. Приклад: wcd -x c:/temp -S c: У інших випадках літеру диска не слід вказувати. wcd -x /temp -s =item B<-xf ФАЙЛ> Виключити зі сканування усі шляхи, вказані у файлі I<ФАЙЛ>. Якщо використано цей параметр, wcd виключить усі шляхи зі списку у файлі I<ФАЙЛ> та усі підкаталоги цих шляхів зі сканування диска. Передбачено підтримку символів-замінників та встановлення відповідності за абсолютними шляхами. Шляхи має бути вказано по одному на рядок. Слід пам’ятати, що wcd ігноруватиме початкові та завершальні пробіли у рядку, оскільки такі пробіли є некоректними символами у назвах каталогів. Параметр B<-xf> можна вказувати декілька разів. Якщо ви хочете виключити усі заблоковані шляхи зі сканування, можна зробити так (приклад для wcd у unix): wcd -xf ~/.ban.wcd -s Передбачено підтримку символів-замінників. Наприклад, щоб виключити усі каталоги Subversion з файлами, призначеними для адміністрування копії сховища, додайте рядок C<*/.svn>. Параметр B<-xf> слід вказувати до усіх параметрів сканування (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>). =item B<-y, --assume-yes> Вважати відповіддю на всі питання «так». Wcd не проситиме користувача підтвердити дію відповіддю «так» або «ні», відповіддю завжди вважається «так». Цей параметр можна поєднати з параметром B<-rmtree>. Параметр слід вказувати до параметрів, використання яких може призвести до появи питань, на які має відповідати користувач. =item B<-z ЧИСЛО> Встановити для максимального розміру стосу значення ЧИСЛО. Типовим розміром стосу є 10. Дії зі стосом можна вимкнути встановленням значення 0. Цей параметр слід використовувати перед будь-якими іншими параметрами, що призводять до дій зі стосом (B<->,B<+>,B<=>). Якщо цього не зробити, стосу буде повернуто типовий розмір 10. Правильна команда: wcd -z 50 - Новим розміром стосу буде 50, wcd перейде на один крок назад у стосі. Помилковою була б така команда: wcd - -z 50 Wcd повернеться на один каталог назад у стосі, розміру ж стосу буде повернуто типове значення 10. Параметр B<-z 50> буде проігноровано. Додайте цей параметр як перший параметр до альтернативної команди wcd або функції, де ця програма використовується. Приклад для сумісних з POSIX командних оболонок: wcd () { wcd.exe -z 50 "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go } =item B<-[ЧИСЛО]> Повернутися на ЧИСЛО пунктів назад у стосі. Типовим є значення у один пункт. Повернутися на один каталог назад. Команда C поверне вас на один каталог назад. Щоб повернутися на більшу кількість кроків, додайте до неї кількість кроків. Приклад: C. Перехід стосом каталогів є циклічним. =item B<+[ЧИСЛО]> Перейти вперед на ЧИСЛО пунктів у стосі. Типовим є значення у один пункт. Перейти вперед на один каталог. Команда C призведе до переходу на один каталог вперед. Щоб повернутися на більшу кількість кроків, додайте до неї кількість кроків. Приклад: C. Перехід стосом каталогів є циклічним. =item B<=> Показати стос. Скористайтеся цим параметром, якщо ви призабули скільки пунктів залишилося попереду і позаду у стосі. У відповідь на команду з цим параметром програма виведе вміст стосу для наступного вибору номера пункту. Поточне місце у стосі буде позначено зірочкою, C<*>. =back =head1 ВСТАНОВЛЕННЯ Поточний робочий каталог командної оболонки Unix можна змінити лише за допомогою вбудованої команди cd(1). Тому програму завжди викликають функцією або за альтернативною назвою. Ця функція або альтернативна назва зберігається у скрипті командної оболонки (скрипті переходу), який створюється програмою wcd. Wcd може працювати лише після визначення функції або альтернативної назви. Іншим варіантом внесення змін до поведінки встановленої вами програми є визначення значень змінних середовища I та I. Див. розділ ЗМІННІ СЕРЕДОВИЩА. =head2 Встановлення для командних оболонок типу POSIX Для командних оболонок POSIX (ksh, bash, zsh, etc.) у Unix, Linux, Cygwin або типовій оболонці MSYS додайте таку функцію до файла запуску оболонки (наприклад, у Bash використовується файл C<$HOME/.bashrc>): wcd () { PATH/wcd.exe "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go } Замініть I<ШЛЯХ> на адресу каталогу, до якого встановлено виконуваний файл wcd. Перезавантажте файли ініціалізації оболонки або запустіть нову оболонку. Розташування скрипту переходу, C, є різним для різних оболонок. Wcd для bash у DJGPP DOS bash та OS/2 bash потрібна інша функція. Скрипт переходу не буде записано до каталогу C і, якщо одночасно визначено I та I, скрипт переходу буде записано до c:/. DOS bash: wcd () { PATH/wcdbash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } OS/2 bash: wcd () { PATH/wcdos2bash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } Версія wcd для WinZsh потребує трохи іншої функції. Скрипт go ніколи не буде записано до c:/. wcd () { PATH/wcdwin32zsh.exe "$@" . ${WCDHOME:-${HOME}}/wcd.go } Докладніший опис можна знайти у розділі «ФАЙЛИ». =head2 Встановлення для C-подібних командних оболонок (csh, tcsh) Додайте такі альтернативні назви до файла запуску оболонки, C<$HOME/.cshrc> або C<$HOME/.tcshrc> : if ( ${?WCDHOME} ) then alias wcd "PATH/wcd.exe \!* ; source $WCDHOME/bin/wcd.go" else alias wcd "PATH/wcd.exe \!* ; source $HOME/bin/wcd.go" endif Замініть I<ШЛЯХ> на адресу каталогу, до якого встановлено виконуваний файл wcd. Перезавантажте файли ініціалізації оболонки або запустіть нову оболонку. =head2 Версія для командного рядка Windows Розпакуйте архів zip і додайте каталог C до вашої змінної середовища I. Програма для Windows, що працює у вікні командної оболонки Windows (Command Prompt) не може змінити поточного каталогу, але це може зробити скрипт .bat. Пакетний скрипт C» запускає програму wcd, яка створює новий пакетний скрипт, C. Після цього C запускає скрипт C, який здійснює зміну каталогу. =head2 Windows VISTA та новіші версії У командній оболонці Windows VISTA та новіших версій користувачі мають обмежений доступ до каталогів. Що отримати доступ до усіх каталогів, вам знадобляться права доступу адміністратора. Запустити командну оболонку з правами адміністратора можна так: наведіть вказівник миші на піктограму командної оболонки, клацніть правою кнопкою миші і виберіть у контекстному меню пункт I<Запуск від імені адміністратора>. =head2 Версія для Windows PowerShell Додайте вказану нижче функцію до вашого профілю користувача PowerShell. Дані щодо місця зберігання цього профілю зберігаються у змінній $profile. Слід також визначити змінну середовища I або I. function wcd { PATH\wcdwin32psh.exe $args & $env:HOME\wcdgo.ps1 } Замініть I<ШЛЯХ> на адресу каталогу, до якого встановлено виконуваний файл wcd. Запустіть новий сеанс роботи у PowerShell. У Wcd для PowerShell передбачено роботу лише з файловими системами. Забезпечення роботи з іншими джерелами файлових даних не передбачено. =head2 Версія для командного рядка OS/2 У командній оболонці OS/2 (cmd.exe) програма OS/2 не може змінювати робочого каталогу. Ось чому wcd створює командний скрипт (C), який має бути виконано у поточній оболонці. Скрипт C спочатку запускає програму C, яка створює скрипт C. Після цього C запускає скрипт wcdgo.cmd. =head1 ЛОКАЛІЗАЦІЯ =over 4 =item B Основна мова визначається за допомогою змінної середовища I. Значення змінної I складається з декількох частин. Перша частина записується малими літерами і визначає код мови. Друга частина є необов’язковою, визначає код країни і записується прописними літерами, відокремлюється від першої частини символом підкреслювання. Передбачено також необов’язкову третю частину: кодування. Ця частина відокремлюється від другої частини крапкою. Ось декілька прикладів для командних оболонок стандартного типу POSIX: export LANG=uk українська export LANG=uk_UA українська, Україна export LANG=ru_UA російська, Україна export LANG=es_ES іспанська, Іспанія export LANG=es_MX іспанська, Мексика export LANG=en_USiso88591 англійська, США, кодування Latin-1 Повний список мов та кодів краї наведено у підручнику з gettext(1): L. У системах Unix для отримання даних щодо локалі можна скористатися командою locale(1). =item B За допомогою змінної середовища I ви можете вказати список пріоритетності мов. Записи у списку слід відокремлювати двокрапками. Програма wcd надає перевагу I над I. Наприклад, перша голландська, далі німецька: C. Спочатку вам слід увімкнути локалізацію, встановивши для змінної I (або I) значення, відмінне від I. Далі ви зможете використовувати список пріоритетності мов за допомогою змінної I. Додаткові відомості можна знайти у підручнику з gettext: L Якщо вами буде вибрано мову, перекладу якою немає, буде показано стандартні повідомлення англійською мовою. =item B За допомогою визначення змінної середовища I можна перевизначити значення I, вказане під час збирання та встановлення програми. Змінна I використовується wcd з підтримкою перекладів для пошуку файлів перекладів. Типовим значенням для системи GNU є C. Дізнатися про поточне значення змінної I можна за допомогою команди C. Якщо ви встановили wcd до каталогу, відмінного від типового, вам варто встановити значення змінної середовища I так, щоб вона вказувала на каталог з файлами перекладів. Приклад для cmd у Windows: set WCDLOCALEDIR=c:/my_prefix/share/locale Приклад для оболонки POSIX: export WCDLOCALEDIR=$HOME/share/locale =item B Якщо wcd вдасться знайти декілька відповідників вказаного користувачем каталогу, програма покаже упорядкований список варіантів. Спосіб упорядковування залежить від параметрів локалі. Якщо у середовищі встановлено значення змінної I, відповідники буде упорядковано відповідно до порядку, який використовується у словниках або телефонних книгах відповідною мовою. Наприклад, буде проігноровано крапки і дефіси, літери з акцентами вважатимуться еквівалентними до літер без акцентів, ігноруватимуться відмінності у написанні великими чи малими літерами. Під час визначення параметрів упорядковування перевага надається змінній середовища I, а не змінній I. Якщо ви вкажете для I значення C або C, упорядковування за параметрами локалі буде вимкнено. Наприклад, якщо ви хочете скористатися українською мовою інтерфейсу, але не хочете використовувати українські параметри упорядковування, ви можете зробити так: export LANG=uk_UA export LC_COLLATE=C =item B Під час визначення параметрів кодування у wcd надається перевага змінній I, а не I. Наприклад, щоб встановити кодування символів UTF-8, слід скористатися такою командою: export LC_CTYPE=en_US.UTF-8 =item B Усі змінні середовища, пов’язані з локаллю, назви яких починаються з I, можна перевизначити за допомогою змінної середовища I. Wcd надає перевагу значенню I над значеннями I та I. =back =head2 ТАБЛИЦІ КОДУВАНЬ WINDOWS Існує дві групи кодових сторінок: кодові сторінки DOS (OEM) та кодові сторінки Windows (ANSI). Типовим кодуванням для Windows, якщо систему налаштовано на західноєвропейські параметри регіону, є ANSI CP1252. У програмах Windows, наприклад у notepad, використовується ця типова загальносистемна кодова сторінка ANSI. У консолі Windows типово використовується кодова сторінка OEM (CP437 або CP850) для сумісності з програмами DOS. Якщо ви використовуєте версію wcd для DOS у консолі Windows, програма не працюватиме, оскільки у ній використовується кодова сторінка DOS. Але у версії wcd для DOS не передбачено підтримку довгих назв каталогів та мережевих дисків у Windows. Версія wcd для Windows є типовою програмою Windows, вона використовуватиме загальносистемну кодову сторінку ANSI Windows. Отже, у західноєвропейській локалізації Windows програма використовуватиме кодову сторінку CP1252 для назв каталогів та повідомлень. З метою забезпечення однорідності виведення даних, незалежно від активної кодової сторінки, усі версії wcd для Windows перетворюють виведені дані у форматі ANSI у формат Unicode у командній оболонці та PowerShell. У консольних растрових шрифтах передбачено оригінальну кодову сторінку OEM, що встановлюється разом з Windows, отже, вам слід змінити шрифт консолі на Lucida Console, щоб літери з Unicode (та ANSI) було показано належним чином. Версії wcd без підтримки Unicode I<до версії 5.2.0> виводять дані у форматі ANSI. Для цих застарілих версій кодову сторінку консолі слід зробити еквівалентною до загальносистемної кодової сторінки (змінюється на 1252), щоб забезпечити належну роботу wcd для Windows зі спеціальними символами, зокрема символами з акцентами, символами кирилиці та символом євро. Загальносистемну кодову сторінку Windows можна змінити за допомогою регіональних параметрів «Панелі керування». Кодову сторінку консолі Windows можна змінити за допомогою команди C. Програма виводить дані щодо справжнього кодування символів у відповідь на команду C. Щоб визначити активну кодову сторінку консолі Windows, введіть команду C. =head2 UNICODE У wcd може бути передбачено підтримку Unicode. Щоб визначити, чи було зібрано wcd з підтримкою Unicode, скористайтеся командою C. Якщо у вашому терміналі або консолі та шрифті передбачено підтримку, ви зможете бачити символ євро та китайські ієрогліфи. Перетворення у Unicode у wcd виконується I<програмно>. У ядрі програми усі дані обробляються як потік даних. У широкі символи Unicode перетворюються лише рядки, що виводяться на екран. Wcd повністю покладається на функції libc і не містить специфічного для UTF-8 коду. Див. також L У wcd передбачено необов’язкову підтримку встановлення відповідності за Unicode з нормалізацією. Щоб визначити, чи передбачено у wcd підтримку нормалізації, скористайтеся командою C. У wcd з підтримкою нормалізації Unicode відповідність назв Unicode виконується на основі I<сумісної> еквівалентності. Без підтримки нормалізації Unicode відповідність назв встановлюється за двійковою еквівалентністю. Див. також L =head3 UTF-8 у Unix/Linux Щоб у вашій консолі або терміналі можна було переглядати символи UTF-8, у консолі і терміналі також має бути передбачено підтримку UTF-8. У версії xterm, яка постачається разом з XFree86 4.0 або наступними версіями, передбачено підтримку UTF-8. Щоб задіяти цю підтримку, запустіть xterm(1) у локалі UTF-8 і скористайтеся шрифтом з кодуванням iso10646-1, наприклад за допомогою такої команди: LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1' У сучасних дистрибутивах GNU/Linux типовою використовується кодування UTF-8. Можна працювати і з іншими багатобайтовими кодуваннями символів, але належного тестування працездатності з цими кодуванням не виконувалося. У wcd припускається, що кодуванням файлів даних ієрархії каталогів є кодування символів поточної локалі. До файлів даних ієрархії каталогів символ позначки порядку байтів (BOM) не записується. =head3 UTF-16 у Windows У Windows підтримку Unicode передбачено у всіх версіях PowerShell та у командній оболонці Windows у Windows 7 (та новіших версіях). Unicode також працює у Take Command або TCC/LE створених JP Software, якими можна скористатися у старіших версіях Windows (XP/Vista). У Windows усі назви каталогів на диску кодуються за допомогою UTF-16. У програмах Windows без підтримки Unicode символи Unicode перетворюються у символи типової кодової сторінки ANSI. Для символів, які не є частиною регіонального кодування, це перетворення є неможливим, отже програми без підтримки Unicode виводитимуть замість них символ знаку питання або помилковий символ. Wcd з підтримкою Unicode читатиме закодовані у UTF-16 назви каталогів і перетворюватиме дані до UTF-8 у внутрішньому коді. Усі дані файлів ієрархії каталогів буде закодовано у UTF-8. Ці дані є несумісними з версіями wcd без підтримки Unicode. Wcd створить скрипт переходу у кодуванні UTF-8. Усі версії Windows PowerShell можуть запускати скрипти у кодуванні UTF-8, якщо у скрипті є символ BOM UTF-8. Починаючи з Windows 7, у командній оболонці Windows передбачено можливість змінити за допомогою пакетного скрипту каталог на каталог з літерами Unicode у назві. Кодуванням назви каталогу має бути UTF-8, а I<пакетний скрипт> не повинен містити позначки порядку байтів (BOM). Слід змінити активну кодову сторінку командної оболонки на 65001 (UTF-8) до виконання команди cd. Wcd для командної оболонки створити такий скрипт переходу (C). Цей скрипти спочатку змінюватиме кодову сторінку на 65001, потім змінюватиме каталог, і нарешті, повертатиме початкове значення параметрів кодової сторінки. Якщо літери буде показано не так, як слід, вам слід встановити шрифт True Type Lucida Console (не растровий шрифт). Версія wcd для Windows без підтримки Unicode може читати файли даних ієрархії каталогів у кодуванні Unicode, починаючи з версії 5.2.0, якщо у файлі є позначка порядку байтів (BOM) (див. L), але не може змінювати каталоги на каталоги з тими літерами Unicode у назві, які не є частиною типової кодової сторінки ANSI системи. Версія wcd для Windows з підтримкою Unicode записує BOM до файлів ієрархії каталогів у кодуванні UTF-8, починаючи з версії 5.2.0, отже, ці файли можна читати за допомогою notepad. =head3 UTF-8 у Cygwin У Cygwin передбачено підтримку Unicode, починаючи з версії 1.7. Шар обробки Cygwin виконує перетворення назв каталогів Windows у UTF-16 до UTF-8. Отже, програми, зокрема wcd, не потрібно перейматися процедурами перетворення, вони можуть обробляти дані у кодуванні UTF-8, як це робиться у Unix/Linux. Встановити кодування символів UTF-8 можна за допомогою змінної середовища I або I. Ймовірно, вам доведеться пересканувати ваші диски. Якщо ви користуєтеся типовою консоллю Cygwin, вам слід встановити для неї шрифт True Type Lucida Console (не растровий шрифт). Версія wcd для Cygwin поводиться точно так само, як версія wcd для Unix. Мітка порядку байтів (BOM) не записується до файлів даних ієрархії каталогів. Кодуванням файлів вважається кодування символів локалі B. =head1 ФАЙЛИ Якщо встановлено змінну середовища I, використовуватиме I замість I. Усі файли C<*.wcd> є текстовими файлами. Їх можна редагувати у звичайному текстовому редакторі. Версія wcd для командної оболонки Windows поводиться так само, як версія для DOS. Версія wcd для Cygwin поводиться як версія для Unix. =over 4 =item B Сама програма. У оболонках Unix програма завжди викликається функцією або альтернативною командою, оскільки поточний робочий каталог у оболонці Unix можна змінювати лише за допомогою вбудованої команди cd. Див. також розділ «ВСТАНОВЛЕННЯ». =item B<типовий файл даних ієрархії каталогів> Це типовий файл даних ієрархії каталогів, де wcd шукає відповідники. Якщо цей файл непридатний до читання, wcd створить новий. DOS: \treedata.wcd або %HOME%\treedata.wcd Unix: $HOME/.treedata.wcd =item B<додатковий файл даних ієрархії каталогів> Необов’язковий додатковий файл даних ієрархії каталогів. Якщо такий файл існує і є придатним до читання, wcd спробує знайти відповідники і у цьому файлі. DOS: \extra.wcd або %HOME%\extra.wcd Unix: $HOME/.extra.wcd =item B<файл блокувань> До цього додаткового файла wcd записує заблоковані шляхи. Див. параметр B<-b>. Передбачено підтримку символів-замінників. DOS: \ban.wcd або %HOME%\ban.wcd Unix: $HOME/.ban.wcd =item B<файл альтернативних назв> Необов’язковий файл із записами альтернативних назв wcd. Див. параметр B<-l>. DOS: \alias.wcd або %HOME%\alias.wcd Unix: $HOME/.alias.wcd =item B<файл stack> У цьому файлі зберігається стос каталогів wcd. Літеру диска можна змінити за допомогою параметра B<-d>. DOS: c:\stack.wcd або %HOME%\stack.wcd Unix: $HOME/.stack.wcd Назву файла стосу можна змінити за допомогою змінної середовища I. Див. розділ «ЗМІННІ СЕРЕДОВИЩА». =item B<скрипт go> Це скрипт командної оболонки, який wcd.exe створює під час кожного запуску. Від використовується функцією або альтернативною командою. Літеру диска можна змінити за допомогою параметра B<-d>. З історичних міркувань у системах Unix цей файл типово зберігається у C<$HOME/bin>. Каталог цього файла можна змінити за допомогою параметра B<-G>. bash для DOS: c:/wcd.go або $HOME/wcd.go командна оболонка Windows: c:\wcdgo.bat або %HOME%\wcdgo.bat Windows PowerShell: $env:HOME\wcdgo.ps1 WinZsh: $HOME/wcd.go Cygwin/MSYS: $HOME/bin/wcd.go командна оболонка OS/2: c:\wcdgo.cmd або %HOME%\wcdgo.cmd OS/2 bash: c:/wcd.go або $HOME/wcd.go Unix: $HOME/bin/wcd.go =item B<файл відносних шляхів у ієрархії каталогів> Текстовий файл з відносними шляхами щодо каталогу I<КАТАЛОГ>. Див. параметри B<+S>, B<-n> та B<+n>. DOS: PATH\rtdata.wcd Unix: PATH/.rtdata.wcd =back =head1 ЗМІННІ СЕРЕДОВИЩА =over 4 =item B Типово, wcd використовує змінну середовища I для визначення місця, де зберігатимуться файли програми. Див. також розділ «ФАЙЛИ». Перевизначити каталог можна за допомогою змінної середовища I. I також визначає місце, звідки слід розпочинати сканування диска, якщо використано параметр B<-s>. Перевизначити це місце можна за допомогою змінної середовища I. У версіях для Unix, Cygwin, Windows PowerShell, WinZsh та MSYS слід встановити значення I або I. Для інших версій wcd використання цих змінних є необов’язковим. Якщо змінну I встановлено у DOS/Windows, wcd розташує свої файли (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) у каталозі I. Після встановлення змінної поведінка wcd стає еквівалентною до версії wcd для Unix. Типово, wcd скануватиме диск, починаючи з I. Сканування дисків не виконуватиметься у автоматичному режимі після зміни диска. Про потребу у скануванні слід повідомити явно. Приклад: wcd -S c: -A d: -A e: Після цього встановлення відповідності каталогів буде загальним на усіх сканованих дисках. =item B Для зміни місця зберігання файлів wcd слід використовувати змінну середовища I. Якщо встановлено одразу I і I, замість I буде використано I. З версіях wcd до версії 5.1.5 типовий каталог сканування можна змінити також за допомогою змінної I. У наступних версіях таку поведінку було змінено. Починаючи з версії 5.1.5, I не змінює типового каталогу сканування. Див. параметр B<-s>. Починаючи з версії 5.1.5, для перевизначення типового каталогу сканування слід використовувати змінну середовища I. Приклад для командних оболонок DOS, Windows, OS/2: set WCDHOME=C:\Users\erwin\wcd Приклад для командних оболонок типу POSIX: export WCDHOME="$HOME/.wcd" Приклад для командних оболонок типу Csh: setenv WCDHOME "$HOME/.wcd" =item B Для перевизначення встановленого за допомогою змінної середовища I типового каталогу сканування скористайтеся змінною середовища I. Щоб визначити декілька каталогів, скористайтеся списком каталогів, відокремлених двокрапкою (Unix). У DOS або Windows записи у списку слід відокремлювати крапкою з комою. Приклади для командних оболонок DOS, Windows, OS/2: set WCDSCAN=C:\Users\erwin;D:\data set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\projectdrive\projectX Приклад для командних оболонок типу POSIX: export WCDSCAN="$HOME:/projectdisk/projectX" Приклад для командних оболонок типу Csh: setenv WCDSCAN "$HOME:/projectdisk/projectX" =item B Фільтри можна вказати за допомогою змінної середовища I. Усі каталоги, які не відповідають цим фільтрам, буде проігноровано. Записи у списку слід відокремлювати типовим роздільником каталогів у шляхах командної оболонки. Це щось подібне до визначення змінної середовища I. Те, чи буде враховано регістр символів, визначається параметрами операційної системи. Приклад для командних оболонок DOS, Windows, OS/2: set WCDFILTER=projects;doc Приклад для командних оболонок типу POSIX: export WCDFILTER="projects:doc" Приклад для командних оболонок типу Csh: setenv WCDFILTER "projects:doc" =item B Шляхи, вказані за допомогою змінної середовища I, вважатимуться заблокованими для wcd. Див. також параметр B<-b>. Записи у списку шляхів слід відокремлювати типовим роздільником змінної I командної оболонки. =item B Шляхи, вказані за допомогою змінної середовища I, вважатимуться виключеними для wcd. Див. також параметри B<-x> та B<-xf>. Записи у списку шляхів слід відокремлювати типовим роздільником змінної I командної оболонки. Приклад для командних оболонок DOS, Windows, OS/2: set WCDEXCLUDE=*/windows;*/temp;*CVS Приклад для командних оболонок типу POSIX: export WCDEXCLUDE="/dev:/tmp:*CVS" Приклад для командних оболонок типу Csh: setenv WCDEXCLUDE "/dev:/tmp:*CVS" =item B Встановлює основний каталог для домашніх каталогів користувачів. У DOS або Windows типовим значенням змінної є C<\\users>. У Unix або Cygwin типовим значенням є C. Ця змінна середовища використовується для сканування файлів даних ієрархії каталогів інших користувачів. Див. також параметри B<-u> та B<+u>. У докладному режимі wcd виводитиме усі фільтри, блокування та виключення. Див. параметр B<-v>. =item B Wcd надає перевагу значенню змінної I над типовою назвою файла стосу (див. розділ «ФАЙЛИ»). За допомогою цієї змінної можна визначити окремий стос використаних каталогів для декількох різних командних оболонок (або використаних емуляторів термінала). Використання файла з унікальною назвою на основі поточного часу у форматі РРРММДД-ГГХХСС для кожної відкритої інтерактивної командної оболонки: export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S) Для окремого стосу на кожний екземпляр xterm(1) скористайтеся змінної середовища I для xterm: export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID Для GNU screen(1), використання окремого стосу на екземпляр screen: export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW =item B Якщо визначено змінну середовища I, wcd з інтерфейсом на основі ncurses шукатиме локальні визначення термінала до виконання пошуку у стандартному місці. Це корисно, якщо визначення термінала зберігаються у нестандартному місці. Часто використовуються стандартні місця C та C. =item B Wcd з інтерфейсом на основі PDCurses розпізнає змінну середовища I. Якщо встановлено цю змінну середовища, PDCurses скопіює вміст екрана на час запуску wcd; після завершення роботи wcd вміст екрана буде відновлено. Приклад для командної оболонки Windows: set PDC_RESTORE_SCREEN=1 У Windows передбачено можливість зберігання лише буфера незначного обсягу. Тому повне відновлення не завжди можливе. Якщо вміст буфера є доволі значним, до консолі після виходу з wcd буде виведено випадкові символи. =item B Для виведення 8-бітових символів у скриптах переходу для командних оболонок типу POSIX та C слід вказати C<#!$SHELL> у першому рядку. Якщо цього не зробити, у деяких оболонках скрипт переходу вважатиметься бінарним файлом і не використовуватиметься. У bash Cygwin у середовищі має бути визначено змінну I за допомогою команди C, інакше wcd не зможе прочитати змінну. =item B Wcd для bash DOS використовується C<$BASH> замість C<$SHELL>, оскільки C<$SHELL> вказує на командну оболонку DOS. Можливо, слід визначити змінну C<$BASH> за допомогою команди C, інакше wcd не зможе прочитати змінну. =back =head1 ТАКОЖ ПЕРЕГЛЯНЬТЕ sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1), =head1 АВТОРИ Wcd створено Erwin Waterlander Домашня сторінка проекту: L SourceForge: L Форматування сторінки підручника було виконано Jari Aalto . Початкову версію NCD було створено Brad Kingsbury для пакунка "Norton Utilities" Пітера Нортона близько 1987 року. Див. також L wcd-6.0.3/src/man/uk/man1/wcd.txt0000644000175500010010000026316213524756534015727 0ustar waterlanGeenНАЗВА wcd - довільна зміна каталогу (Wherever Change Directory) засіб для зміни каталогу (chdir) у DOS та Unix КОРОТКИЙ ОПИС wcd [параметри] [каталог] ОПИС Огляд Wcd — програма, що керується з командного рядка і надає змогу швидко змінювати каталоги. Вона економить час на введенні даних з клавіатури. Достатньо ввести лише частину назву каталогу і wcd перейде до цього каталогу. У wcd передбачено можливості пришвидшення вибору потрібного варіанта з декількох, створення альтернативних назв каталогів та блокування каталогів. Крім того, у wcd ви зможете скористатися повноекранною інтерактивною навігацією деревом каталогів з швидким пошуком. Ідеї wcd часткового запозичено з Norton Change Directory (NCD). Першу версію NCD у *The Norton Utilities, Release 4* для DOS було випущено 1987 року компанією Пітера Нортона (Peter Norton). Wcd було портовано на різні командні оболонки: command.com для DOS, cmd.exe та PowerShell для Windows, cmd.exe для OS/2 і командні оболонки Unix, зокрема Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh) та C (csh), а також інші оболонки, що працюють у будь-якій операційній системі. У Wcd передбачено підтримку 8-бітових наборів символів на усіх системах та додаткову підтримку Unicode. Докладніше про це у розділі «ЛОКАЛІЗАЦІЯ». Щоб дізнатися більше про налаштовування wcd для особистого користування, зверніться до розділу «ВСТАНОВЛЕННЯ». Основні прийоми використання Типово (якщо не використано символів-замінників), wcd шукає каталог, назва якого починається з введених вами символів. Наприклад, вказана нижче команда змінить каталог на каталог поточного користувача "/home/user/Desktop": wcd Desk Якщо буде виявлено декілька відповідників, wcd покаже користувачеві список цих відповідників. Після цього користувач зможе вибрати потрібний варіант декількома натисканнями клавіш (найчастіше, достатньо одного натискання). Шаблони-замінники У wcd передбачено підтримку таких символів-замінників: * відповідає будь-якій послідовності символів (нульової або більшої довжини) ? відповідає довільному символу [НАБІР] відповідає довільному символу з вказаного набору, [!НАБІР] або [^НАБІР] відповідає будь-якому символу, що не належить до вказаного набору. Набір символів може складатися з окремих символів або діапазонів символів. Діапазон слід вказувати так: *символ дефіс символ*, наприклад, "0-9" або "A-Z". Мінімальним набором символів у конструкції "[..]" є "[0-9a-zA-Z_]". Можна використовувати символи з розширеного набору (тобто 8-бітові символи), якщо у системі передбачено підтримку цих символів. Щоб придушити використання символів з набору "[]*?!^-\" для побудови синтаксичних лексем у межах конструкцій "[..]" тобто їхнього буквального використання, додавайте перед цими символами символ зворотної риски ("\"). Використання символів-замінників надає доступ до досить потужних можливостей з пошуку. Наприклад, за допомогою вказаного нижче виразу можна знайти будь-який каталог, назва якого завершується на «top»: wcd *top Знайти каталоги, у назві яких будь-де міститься частина «top»: wcd *top* Знайти будь-який каталог, назва якого починається з «a», «b» або «c»: wcd [a-c]* Крім того, можна вказати частину шляху до каталогу. У наведеному нижче прикладі wcd шукатиме каталог, назва якого починається з «Desk», шлях якого відповідає шаблону **me/Desk**. wcd me/Desk Можна використовувати будь-який вираз, що містить риски та символи замінники. Приклад: wcd src*/*1?/a*2 Інші варіанти використання Якщо у виразі не використано символів-замінників, а wcd знаходить повний відповідник з вказаним шляхом і назвою, wcd типово проігнорує усі відповідники, які могло б бути знайдено з використанням символів-замінників. Типову поведінку програми можна змінити за допомогою параметра -w. Інтерактивний навігатор ієрархією каталогів можна запустити за допомогою параметра -g. wcd -g Wcd створює файл даних ієрархії (treedata) у каталогах, звідки виконується пошук. У системах Unix та Windows wcd додає символічні посилання на файл treedata під час сканування диска, але не переходить за створеними посиланнями. Перехід за посиланнями може призвести до зациклювання wcd у ієрархії каталогів або сканування великих масивів каталогів у мережі. Крім того, wcd може переходити до каталогів, яких немає у файлі treedata. Приклад: wcd .. Якщо wcd буде виявлено відповідник критерію пошуку, але програма не зможе перейти до цього каталогу, буде виконано спробу вилучення каталогу з типового файла treedata, але не з додаткового файла treedata. Див. також параметр -k. Wcd зберігає на диску стос переходів за каталогами. Типовим обсягом стосу є 10. Перехід стосом здійснюється циклічно. Див. параметри -z, -, + та =. У середовищах з декількома користувачами для переходу до каталогів, що належать іншим користувачам, можна скористатися параметром -u. У операційних системах DOS і Windows можна використовувати як роздільник між каталогами як символ «/», так і символ «\». У системах DOS та Windows передбачено можливість переходу до каталогу на іншому диску. Для цього достатньо перед назвою каталогу на диску вказати назву диска. wcd d:games Шляхи UNC Windows У версіях для Windows (для командного рядка, PowerShell, MSYS, zsh, cygwin) передбачено підтримку шляхів UNC LAN Windows для SMB без літер дисків, наприклад "\\назва_сервера\назва_ресурсу". У wcd для командного рядка Windows для автоматичного прив’язування шляху UNC до літери диска використовується команда «pushd». У In Windows PowerShell, MSYS, zsh та Cygwin передбачено повноцінну підтримку шляхів UNC. Шлях UNC може бути поточним робочим каталогом. Зміна розмірів вікна консолі у Windows У wcd передбачено можливість зміни розмірів вікна консолі у Windows 10 і ConEmu (див. ), починаючи з версії 6.0.3. Консоль Windows 10 має бути запущено не у застарілому режимі (перевірте це у властивостях консолі). Якщо властивість компонування вікна «Переносити текстове виведення при зміні розмірів» не увімкнено, вміст вікна може не оновлюватися. Оновити вміст вікна можна вручну натисканням клавіші F5. Інтерфейси У wcd передбачено три різні інтерфейси вибору потрібного варіанта зі списку відповідників. Інтерфейс можна вибрати під час збирання програми. Першим інтерфейсом є звичайні інтерфейси введення та виведення (stdin/stdout). До термінала буде виведено нумерований список варіантів. Користувач зможе вибрати відповідний варіант введенням його номера з наступним натисканням клавіші . У цьому інтерфейсі не передбачено можливостей гортання для довгих списків. Для цього доведеться користуватися можливостями з гортання термінала або консолі. Код цього інтерфейсу доволі малий і портований. Другий інтерфейс побудовано на основі бібліотеки conio. У ньому передбачено можливості гортання. Користувачу буде показано список з літерним позначенням пунктів. Для вибору пункту у списку достатньо натиснути клавішу з відповідною літерою. Цей інтерфейс працює швидше, оскільки треба натискати менше клавіш. Після вибору варіанта, якщо це можливо, зображення на екрані буде відновлено до стану перед показом варіантів. Якщо користувач надає перевагу цифровому позначенню пунктів, можна скористатися параметром -N. Третій інтерфейс побудовано на основі бібліотеки curses. Він подібний до інтерфейсу на основі conio. Версія wcd на основі curses має додатковий «графічний» інтерфейс. За його допомогою користувач зможе вибрати каталог у повноекранному інтерактивному навігаторі ієрархією каталогів. Передбачено навігацію та пошук у стилі vim(1). Задіяти цей інтерфейс можна за допомогою параметра -g. За допомогою параметра командного рядка -o програму можна завжди перевести до стандартного інтерфейсу stdin/stdout. ПАРАМЕТРИ -a Додати поточний шлях до типового файла ієрархії. За допомогою цього параметра можна швидко додати поточний шлях до типового файла ієрархії каталогів. Повторне сканування усього диска у певних випадках може бути досить тривалою справою. -aa Додати поточний і усі батьківські шляхи до типового файла ієрархії каталогів (treedata). -A ШЛЯХ Сканувати ієрархію каталогів, починаючи з каталогу *ШЛЯХ*, і дописати усі виявлені каталоги до файла ієрархії каталогів (treedata). Приклади: wcd -A . wcd -A /home -A /etc wcd -A d: -A e: -A \\server\share У Windows можна виконати сканування усіх каталогів спільного використання на сервері локальної мережі Windows за допомогою такої команди: "wcd -A \\назва_сервера". Див. також параметри -S, -s та -E. -b Заблокувати поточний шлях. Wcd додає поточний шлях до файла блокування. Це означає, що wcd ігноруватиме усі відповідники з поточного каталогу і усіх його підкаталогів. Файл блокувань (ban) можна редагувати у текстовому редакторі. Передбачено підтримку символів-замінників. Відповідність назв встановлюється за абсолютними шляхами. Заблоковані шляхи не виключаються зі шляхів сканування диска. Щоб виключити заблоковані шляхи, скористайтеся параметром -xf. -c, --direct-cd Безпосередній режим CD. Типово, wcd працює так: 1. Спробувати знайти відповідник у файлах ієрархії (treedata). 2. Якщо нічого не знайдено, спробувати відкрити каталог, назву якого було введено. У безпосередньому режимі CD wcd виконує обробку запиту у зворотному порядку. 1. Cпробувати відкрити каталог, назву якого було введено. 2. Якщо не вдалося, знайти відповідник у файлах ієрархії (treedata). -d ДИСК Встановити диск для файла стосу і переходу (лише для DOS). Типово, файл стосу та скрипт переходу зберігаються на диску C:, якщо не встановлено значення змінної середовища *HOME*. Цим параметром можна скористатися, якщо диск C: захищено від запису. Цей параметр слід вказувати перед параметрами роботи зі стосом -, + та =. -e Додати поточний шлях до додаткового файла ієрархії. За допомогою цього параметр можна швидко додати поточний шлях до додаткового файла ієрархії. -ee Додати поточний і усі батьківські шляхи до додаткового файла ієрархії каталогів (treedata). -E ШЛЯХ Сканувати ієрархію каталогів, починаючи з каталогу *ШЛЯХ*, і дописати усі виявлені каталоги до додаткового файла ієрархії каталогів (treedata). Див. також параметри -A та -S. -f ФАЙЛ Прочитати файл даних ієрархії каталогів *ФАЙЛ*. Не виконувати читання з типового файла ієрархії каталогів. +f ФАЙЛ Прочитати дані з файла ієрархії каталогів *ФАЙЛ* на додачу до даних з типового файла даних ієрархії каталогів. -g Графічний інтерфейс (лише у версії з інтерфейсом на основі curses). Wcd запускає текстовий «графічний» інтерфейс на основі curses. Користувач може вибрати каталог за допомогою повноекранного інтерактивного навігатора ієрархією каталогів. Передбачено навігацію і пошук у стилі vim(1). Якщо рядок пошуку не вказано, wcd показує усю ієрархію каталогів з типового та додаткового файлів даних ієрархії. Якщо рядок пошуку вказано, список відповідників буде показано як ієрархію каталогів. Типове компонування ієрархії подібне до компонування каталогів у початковій версії NCD у DOS. Різниця у компонуванні полягає у тому, що у NCD усі каталоги одного рівня було вирівняно однаковим відступом у всьому дереві. Це було можливим у NCD, оскільки максимальна довжина назви каталогу у DOS дорівнювала 12 (8.3) символам. У сучасних операційних системах назви каталогів можуть бути дуже довгими і різниця у довжинах може бути дуже великою. Тому теки однакового рівня вкладеності не вирівняно за однією лінією за усією ієрархією каталогів у wcd, а лише за гілками ієрархії. Отже, під час руху вгору-вниз ієрархією каталогів користувач спостерігатиме за зсувами списку у різні боки. Навігаційна поведінка у wcd абсолютно збігається з початковою версією NCD. Наприклад, якщо ви натиснете клавішу зі стрілкою вниз, ви перейдете до наступного каталогу з тим самим рівнем вкладеності, переходячи гілками ієрархії. Це пришвидшує навігацію ієрархією каталогів. Поведінку засобу навігації можна змінити за допомогою параметрів -Ta, -TC та -Tc. -gd Створити дамп файлів ієрархії каталогів (treedata) і вивести дані до стандартного виведення (stdout). -G ШЛЯХ Записати скрипт переходу у каталозі *ШЛЯХ*. Наприклад, у Unix, "wcd -G ШЛЯХ" призведе до запису скрипту переходу до ШЛЯХ/wcd.go. -GN, --no-go-script Не створювати скрипт переходу. Цим параметром можна скористатися у поєднанні з параметром -j, якщо з якихось причин створення wcd скрипту переходу є небажаним. -h, --help Показати довідку щодо використання і завершити роботу. -i, --ignore-case Ігнорувати регістр символів. У версіях wcd для DOS та Windows така поведінка є типовою. У версіях для Unix/Cygwin регістр типово враховується. +i, --no-ignore-case Брати до уваги регістр символів. Див. також параметр -i. -I, --ignore-diacritics Ігнорувати діакритичні знаки для писемностей на основі латиниці. Програма вважатиме літери з діакритичними знаками еквівалентними до їхніх відповідників без діакритичних знаків. Передбачено підтримку таких кодувань латиниці: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2 та Unicode Latin-1, Latin Extended-A, а також Latin Extended-B. Див. також +I, --no-ignore-diacritics Брати до уваги діакритичні позначки (типово). Див. також параметр -I. -j, --just-go Режим простого переходу. У цьому режимі wcd не показуватиме списку, якщо для вказаної назви буде знайдено декілька відповідників. Wcd просто перейде до першого ж відповідника. Якщо wcd буде викликано знову з тими самими аргументами, програма змінить каталог на наступний пункт у списку тощо. Wcd виведе назву каталогу, що якого переходитиме до стандартного виведення (stdout). Отже можна скористатися декількома способами встановлення. Можна створити таку функцію для сумісної з POSIX командної оболонки: wcd () { cd "$($HOME/bin/wcd.exe -j $@)" } Якщо ви користуєтеся застарілою командною оболонкою, у якій не передбачено підтримки заміни команди «$()», вам доведеться скористатися підставлянням команди у застарілому стилі з одинарними відкривними лапками. wcd () { cd "`$HOME/bin/wcd.exe -j $@`" } У системах Windows, якщо використано командну оболонку 4NT, можна створити такі альтернативні назви: alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]` Подібний метод усуває потребу у скрипті переходу, отже, параметр -j можна використати у поєднанні з параметром -GN. -k, --keep-paths Зберігати шляхи. Зберігати шляхи до файла даних ієрархії каталогів, якщо wcd не може перейти до відповідного каталогу. Типовою поведінкою програми є вилучення шляхів з файла даних ієрархії, якщо wcd не може перейти до відповідного каталогу. Якщо буде використано цей параметр, програма не вилучатиме відповідних записів каталогів. -K, --color Використовувати кольори у графічному режимі. -l АЛЬТЕРНАТИВНА НАЗВА Надати поточному шляху альтернативну назву *АЛЬТЕРНАТИВНА НАЗВА*. Wcd запише поточний шлях з його альтернативною назвою до файла альтернативних назв. Альтернативні назви з різним регістром символів вважаються різними. -ls Показати назву файла псевдонімів і вивести список усіх альтернативних назв (псевдонімів). -m КАТАЛОГ Створити каталог і додати його до файла даних ієрархії. -L, --license Вивести дані щодо умов ліцензування. -M КАТАЛОГ Створити каталог і додати його до додаткового файла даних ієрархії. -n ШЛЯХ Прочитати відносний файл даних ієрархії каталогів з каталогу *ШЛЯХ*. Не виконувати читання з типового файла даних ієрархії каталогів. Файл даних відносних шляхів до каталогів має бути вже створено за допомогою параметра wcd +S. Крім того, *ШЛЯХ* може безпосередньо вказувати на файл. Приклад. Припустімо, що іншу систему змонтовано до точки монтування "/mnt/network": wcd -n /mnt/network src Wcd відкриває файл даних відносних шляхів до каталогів у "/mnt/network/". У цьому файлі містяться шляхи відносно відповідного каталогу. +n ШЛЯХ Прочитати дані з файла даних відносної ієрархії каталогів на додачу до даних з типового файла даних ієрархії каталогів. Див. параметр -n. -N, --numbers Використовувати числа замість літер. Wcd з інтерфейсом на основі conio або curses (див. розділ щодо інтерфейсів) типово показує список варіантів з пунктами, позначеними літерами. Якщо використано параметр -N, пункти у списку буде пронумеровано. Незалежно дві параметра -N, користувач може натиснути клавішу з літерою або номером для вибору пункту зі списку відповідників. -o Використовувати інтерфейс stdin/stdout. Якщо з певних причин інтерфейсом на основі conio або curses у wcd не можна або не бажано користуватися, користувач може перемкнути програму на інтерфейс stdin/stdout за допомогою параметра -o. -od, --to-stdout Вивести усі відповідники до stdout. -q, --quiet Менше повідомлень. Останній відповідник не виводиться до консолі. -r КАТАЛОГ Вилучити каталог і відповідний запис з файла даних ієрархії каталогів. Якщо каталог є порожнім, wcd вилучить його і спробує вилучити відповідний запис з файла даних ієрархії каталогів. -rmtree КАТАЛОГ Рекурсивно вилучити каталог і відповідні записи з файла даних ієрархії каталогів. Wcd вилучить каталог та усі його підкаталоги та файли і витре записи відповідних каталогів з файла даних ієрархії каталогів. -s Виконати сканування або повторне сканування диска, починаючи з каталогу *$HOME*. Якщо значення змінної HOME не визначено, сканування диска виконуватиметься, починаючи з кореневого каталогу, /. Наявний типовий файл даних ієрархії каталогів буде перезаписано. Типовий каталог сканування можна перевизначити за допомогою змінної середовища "WCDSCAN". Див. розділ «ЗМІННІ СЕРЕДОВИЩА». -S ШЛЯХ Виконати сканування ієрархії каталогів, починаючи з каталогу *ШЛЯХ*, і перезаписати типовий файл даних ієрархії каталогів. Див. також параметри -A, -s та -E. Наприклад, з параметром -A ви можете створити типовий файл даних ієрархії каталогів за вашим вибором. Приклади: Unix: wcd -S / wcd -S /home -A /etc -A /usr DOS/Windows: wcd -S c:/ wcd -S c: -A d: -A \\server\share У версіях для Windows можна виконати сканування усіх каталогів спільного використання на сервері локальної мережі Windows за допомогою такої команди: "wcd -S \\назва_сервера". +S ШЛЯХ Сканувати диск, починаючи з каталогу *ШЛЯХ*, і замінити відносні шляхи у файлі даних відносної ієрархії каталогів. Цей файл використовується, якщо додано параметри -n і +n. Приклад: "wcd -n ШЛЯХ джерело". -t Не вилучати із записів рядок тимчасового каталогу монтування, "/tmp_mnt" (лише у Unix) Типово, wcd вилучає "/tmp_mnt/" з відповідників. Каталог "/tmp_mnt" використовується засобом автоматичного монтування. Таку обробку можна вимкнути за допомогою параметра -t. -T, --ascii-tree Малювати ієрархію за допомогою символів ASCII. Скористайтеся цим параметром, якщо символи малювання ліній у терміналі буде показано з помилками. -Ta, --alt-tree-nav Альтернативний режим навігації у форматі графічної ієрархії каталогів. У типовому режимі компонування ієрархії у стилі NCD параметр -Ta вимикає перехід до непов’язаних каталогів. У режимі компактної ієрархії альтернативний режим робить навігацію подібною до навігації у програмах для керування файлами з графічним інтерфейсом, зокрема Провіднику Windows або KDE Konqueror у Linux. Натискання клавіш зі стрілками вгору і вниз пересуває позначення теки на один рядок вгору або вниз. Першим натисканням клавіші зі стрілкою ліворуч можна згорнути підтеки, наступне натискання — перехід ліворуч. Перемкнутися між режимами типової і альтернативної навігації без перезапуску програми можна за допомогою натискання комбінації клавіш Shift-A. Якщо увімкнено режим альтернативної навігації, у нижньому правому куті екрана ви побачите літеру «A». -TC, --center-tree Центрований режим перегляду у графічній ієрархії. Позначений каталог залишається посередині екрана. Центрований режим можна увімкнути або вимкнути за допомогою натискання клавіші «t» у режимі графічної ієрархії. Стандартний нецентрований режим, який мінімізує рух самої ієрархії на екрані, аналогічний до оригінального режиму NCD. -Tc, --compact-tree Типово, «графічну» ієрархію буде намальовано у той самий спосіб, як це робила початкова версія NCD для DOS. У DOS шлях до каталогу може складатися не більше ніж з 66 символів. Використання сучасної структури каталогів, без обмежень на довжину шляхів, може призвести до значного перевищення ширини ієрархії. Щоб подолати ці труднощі, wcd може малювати ієрархію каталогів у компактному форматі, подібному до формату більшості програм для керування файлами з графічним інтерфейсом, по одній теці на рядок. Увімкнути відповідний режим можна за допомогою параметра -Tc або перемикання натисканням клавіші «m». -Td, --cjk-width У застарілих шрифтах для показу ієрогліфів східноазійських мов (китайської, японської та корейської) частина символів ієрогліфів та символів малювання ліній займають дві позиції замість звичайної для Unicode ширини цих символів у одну позицію. Прикладами таких шрифтів є растровий шрифт Chinese CP936 для Windows та шрифт Simsun. За допомогою цього параметра можна забезпечити правильний показ графічної ієрархії каталогів з використанням застарілих шрифтів з ієрогліфами. Якщо увімкнено режим ієрогліфів, у нижньому правому куті екрана ви побачите літеру «C». -u КОРИСТУВАЧ Сканувати файл даних ієрархії іншого користувача, *КОРИСТУВАЧ*, не сканувати типовий файл ієрархії поточного користувача. Див. також розділ ЗМІННІ СЕРЕДОВИЩА, а саме запис щодо змінної *WCDUSERSHOME*. У Unix/Cygwin базовим каталогом для домашніх каталогів користувачів вважається "/home". Wcd шукатиме файли "/home/USER/.treedata.wcd" та "/home/USER/.wcd/.treedata.wcd", саме у цьому порядку, і читатиме дані з першого ж із цих файлів, який буде знайдено і який виявиться придатним до читання. У DOS/Windows базовим каталогом для домашніх каталогів користувачів вважається "\\users", отже, wcd намагається прочитати дані з файлів "\\users\USER\treedata.wcd" та "\\users\USER\.wcd\treedata.wcd". +u КОРИСТУВАЧ Прочитати дані з типового файла ієрархії каталогів користувача КОРИСТУВАЧ на додачу до даних з типового файла даних ієрархії каталогів вашого користувача. -v, --verbose Показувати докладні повідомлення. З цим параметром wcd виводитиме усі фільтри, блокування та виключення. -V, --version Показати дані щодо версії і завершити роботу. -w, --wild-match-only Встановлення відповідність для неточних відповідників, лише якщо використано символи-замінники. -x ШЛЯХ Виключити *ШЛЯХ* зі сканування. Якщо буде використано цей параметр, wcd виключить шлях з назвою *ШЛЯХ* та усі його підкаталоги з переліку шляхів для сканування диска. Передбачено підтримку символів-замінників та встановлення відповідності за абсолютними шляхами. Параметр -x у команді можна використовувати декілька разів. wcd -x <шлях1> -x <шлях2> -s Параметр -x слід вказувати до усіх параметрів сканування (-s, -S, +S, -A, -E). У системах DOS/Windows слід вказати літеру диска, якщо не визначено змінної середовища *HOME* або *WCDHOME*. Приклад: wcd -x c:/temp -S c: У інших випадках літеру диска не слід вказувати. wcd -x /temp -s -xf ФАЙЛ Виключити зі сканування усі шляхи, вказані у файлі *ФАЙЛ*. Якщо використано цей параметр, wcd виключить усі шляхи зі списку у файлі *ФАЙЛ* та усі підкаталоги цих шляхів зі сканування диска. Передбачено підтримку символів-замінників та встановлення відповідності за абсолютними шляхами. Шляхи має бути вказано по одному на рядок. Слід пам’ятати, що wcd ігноруватиме початкові та завершальні пробіли у рядку, оскільки такі пробіли є некоректними символами у назвах каталогів. Параметр -xf можна вказувати декілька разів. Якщо ви хочете виключити усі заблоковані шляхи зі сканування, можна зробити так (приклад для wcd у unix): wcd -xf ~/.ban.wcd -s Передбачено підтримку символів-замінників. Наприклад, щоб виключити усі каталоги Subversion з файлами, призначеними для адміністрування копії сховища, додайте рядок "*/.svn". Параметр -xf слід вказувати до усіх параметрів сканування (-s, -S, +S, -A, -E). -y, --assume-yes Вважати відповіддю на всі питання «так». Wcd не проситиме користувача підтвердити дію відповіддю «так» або «ні», відповіддю завжди вважається «так». Цей параметр можна поєднати з параметром -rmtree. Параметр слід вказувати до параметрів, використання яких може призвести до появи питань, на які має відповідати користувач. -z ЧИСЛО Встановити для максимального розміру стосу значення ЧИСЛО. Типовим розміром стосу є 10. Дії зі стосом можна вимкнути встановленням значення 0. Цей параметр слід використовувати перед будь-якими іншими параметрами, що призводять до дій зі стосом (-,+,=). Якщо цього не зробити, стосу буде повернуто типовий розмір 10. Правильна команда: wcd -z 50 - Новим розміром стосу буде 50, wcd перейде на один крок назад у стосі. Помилковою була б така команда: wcd - -z 50 Wcd повернеться на один каталог назад у стосі, розміру ж стосу буде повернуто типове значення 10. Параметр -z 50 буде проігноровано. Додайте цей параметр як перший параметр до альтернативної команди wcd або функції, де ця програма використовується. Приклад для сумісних з POSIX командних оболонок: wcd () { wcd.exe -z 50 "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go } -[ЧИСЛО] Повернутися на ЧИСЛО пунктів назад у стосі. Типовим є значення у один пункт. Повернутися на один каталог назад. Команда "wcd -" поверне вас на один каталог назад. Щоб повернутися на більшу кількість кроків, додайте до неї кількість кроків. Приклад: "wcd -3". Перехід стосом каталогів є циклічним. +[ЧИСЛО] Перейти вперед на ЧИСЛО пунктів у стосі. Типовим є значення у один пункт. Перейти вперед на один каталог. Команда "wcd +" призведе до переходу на один каталог вперед. Щоб повернутися на більшу кількість кроків, додайте до неї кількість кроків. Приклад: "wcd +2". Перехід стосом каталогів є циклічним. = Показати стос. Скористайтеся цим параметром, якщо ви призабули скільки пунктів залишилося попереду і позаду у стосі. У відповідь на команду з цим параметром програма виведе вміст стосу для наступного вибору номера пункту. Поточне місце у стосі буде позначено зірочкою, "*". ВСТАНОВЛЕННЯ Поточний робочий каталог командної оболонки Unix можна змінити лише за допомогою вбудованої команди cd(1). Тому програму завжди викликають функцією або за альтернативною назвою. Ця функція або альтернативна назва зберігається у скрипті командної оболонки (скрипті переходу), який створюється програмою wcd. Wcd може працювати лише після визначення функції або альтернативної назви. Іншим варіантом внесення змін до поведінки встановленої вами програми є визначення значень змінних середовища *HOME* та *WCDHOME*. Див. розділ ЗМІННІ СЕРЕДОВИЩА. Встановлення для командних оболонок типу POSIX Для командних оболонок POSIX (ksh, bash, zsh, etc.) у Unix, Linux, Cygwin або типовій оболонці MSYS додайте таку функцію до файла запуску оболонки (наприклад, у Bash використовується файл "$HOME/.bashrc"): wcd () { PATH/wcd.exe "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go } Замініть *ШЛЯХ* на адресу каталогу, до якого встановлено виконуваний файл wcd. Перезавантажте файли ініціалізації оболонки або запустіть нову оболонку. Розташування скрипту переходу, "wcd.go", є різним для різних оболонок. Wcd для bash у DJGPP DOS bash та OS/2 bash потрібна інша функція. Скрипт переходу не буде записано до каталогу "bin" і, якщо одночасно визначено *WCDHOME* та *HOME*, скрипт переходу буде записано до c:/. DOS bash: wcd () { PATH/wcdbash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } OS/2 bash: wcd () { PATH/wcdos2bash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go } Версія wcd для WinZsh потребує трохи іншої функції. Скрипт go ніколи не буде записано до c:/. wcd () { PATH/wcdwin32zsh.exe "$@" . ${WCDHOME:-${HOME}}/wcd.go } Докладніший опис можна знайти у розділі «ФАЙЛИ». Встановлення для C-подібних командних оболонок (csh, tcsh) Додайте такі альтернативні назви до файла запуску оболонки, "$HOME/.cshrc" або "$HOME/.tcshrc" : if ( ${?WCDHOME} ) then alias wcd "PATH/wcd.exe \!* ; source $WCDHOME/bin/wcd.go" else alias wcd "PATH/wcd.exe \!* ; source $HOME/bin/wcd.go" endif Замініть *ШЛЯХ* на адресу каталогу, до якого встановлено виконуваний файл wcd. Перезавантажте файли ініціалізації оболонки або запустіть нову оболонку. Версія для командного рядка Windows Розпакуйте архів zip і додайте каталог "bin" до вашої змінної середовища *PATH*. Програма для Windows, що працює у вікні командної оболонки Windows (Command Prompt) не може змінити поточного каталогу, але це може зробити скрипт .bat. Пакетний скрипт "wcd.ba"» запускає програму wcd, яка створює новий пакетний скрипт, "wcdgo.bat". Після цього "wcd.bat" запускає скрипт "wcdgo.bat", який здійснює зміну каталогу. Windows VISTA та новіші версії У командній оболонці Windows VISTA та новіших версій користувачі мають обмежений доступ до каталогів. Що отримати доступ до усіх каталогів, вам знадобляться права доступу адміністратора. Запустити командну оболонку з правами адміністратора можна так: наведіть вказівник миші на піктограму командної оболонки, клацніть правою кнопкою миші і виберіть у контекстному меню пункт *Запуск від імені адміністратора*. Версія для Windows PowerShell Додайте вказану нижче функцію до вашого профілю користувача PowerShell. Дані щодо місця зберігання цього профілю зберігаються у змінній $profile. Слід також визначити змінну середовища *HOME* або *WCDHOME*. function wcd { PATH\wcdwin32psh.exe $args & $env:HOME\wcdgo.ps1 } Замініть *ШЛЯХ* на адресу каталогу, до якого встановлено виконуваний файл wcd. Запустіть новий сеанс роботи у PowerShell. У Wcd для PowerShell передбачено роботу лише з файловими системами. Забезпечення роботи з іншими джерелами файлових даних не передбачено. Версія для командного рядка OS/2 У командній оболонці OS/2 (cmd.exe) програма OS/2 не може змінювати робочого каталогу. Ось чому wcd створює командний скрипт ("wcdgo.cmd"), який має бути виконано у поточній оболонці. Скрипт "wcd.cmd" спочатку запускає програму "wcdos2.exe", яка створює скрипт "wcdgo.cmd". Після цього "wcd.cmd" запускає скрипт wcdgo.cmd. ЛОКАЛІЗАЦІЯ LANG Основна мова визначається за допомогою змінної середовища *LANG*. Значення змінної *LANG* складається з декількох частин. Перша частина записується малими літерами і визначає код мови. Друга частина є необов’язковою, визначає код країни і записується прописними літерами, відокремлюється від першої частини символом підкреслювання. Передбачено також необов’язкову третю частину: кодування. Ця частина відокремлюється від другої частини крапкою. Ось декілька прикладів для командних оболонок стандартного типу POSIX: export LANG=uk українська export LANG=uk_UA українська, Україна export LANG=ru_UA російська, Україна export LANG=es_ES іспанська, Іспанія export LANG=es_MX іспанська, Мексика export LANG=en_USiso88591 англійська, США, кодування Latin-1 Повний список мов та кодів краї наведено у підручнику з gettext(1): . У системах Unix для отримання даних щодо локалі можна скористатися командою locale(1). LANGUAGE За допомогою змінної середовища *LANGUAGE* ви можете вказати список пріоритетності мов. Записи у списку слід відокремлювати двокрапками. Програма wcd надає перевагу *LANGUAGE* над *LANG*. Наприклад, перша голландська, далі німецька: "LANGUAGE=nl:de". Спочатку вам слід увімкнути локалізацію, встановивши для змінної *LANG* (або *LC_ALL*) значення, відмінне від *C*. Далі ви зможете використовувати список пріоритетності мов за допомогою змінної *LANGUAGE*. Додаткові відомості можна знайти у підручнику з gettext: Якщо вами буде вибрано мову, перекладу якою немає, буде показано стандартні повідомлення англійською мовою. WCDLOCALEDIR За допомогою визначення змінної середовища *WCDLOCALEDIR* можна перевизначити значення *LOCALEDIR*, вказане під час збирання та встановлення програми. Змінна *LOCALEDIR* використовується wcd з підтримкою перекладів для пошуку файлів перекладів. Типовим значенням для системи GNU є "/usr/local/share/locale". Дізнатися про поточне значення змінної *LOCALEDIR* можна за допомогою команди "wcd -V". Якщо ви встановили wcd до каталогу, відмінного від типового, вам варто встановити значення змінної середовища *WCDLOCALEDIR* так, щоб вона вказувала на каталог з файлами перекладів. Приклад для cmd у Windows: set WCDLOCALEDIR=c:/my_prefix/share/locale Приклад для оболонки POSIX: export WCDLOCALEDIR=$HOME/share/locale LC_COLLATE Якщо wcd вдасться знайти декілька відповідників вказаного користувачем каталогу, програма покаже упорядкований список варіантів. Спосіб упорядковування залежить від параметрів локалі. Якщо у середовищі встановлено значення змінної *LANG*, відповідники буде упорядковано відповідно до порядку, який використовується у словниках або телефонних книгах відповідною мовою. Наприклад, буде проігноровано крапки і дефіси, літери з акцентами вважатимуться еквівалентними до літер без акцентів, ігноруватимуться відмінності у написанні великими чи малими літерами. Під час визначення параметрів упорядковування перевага надається змінній середовища *LC_COLLATE*, а не змінній *LANG*. Якщо ви вкажете для *LC_COLLATE* значення "C" або "POSIX", упорядковування за параметрами локалі буде вимкнено. Наприклад, якщо ви хочете скористатися українською мовою інтерфейсу, але не хочете використовувати українські параметри упорядковування, ви можете зробити так: export LANG=uk_UA export LC_COLLATE=C LC_CTYPE Під час визначення параметрів кодування у wcd надається перевага змінній *LC_CTYPE*, а не *LANG*. Наприклад, щоб встановити кодування символів UTF-8, слід скористатися такою командою: export LC_CTYPE=en_US.UTF-8 LC_ALL Усі змінні середовища, пов’язані з локаллю, назви яких починаються з *LC_*, можна перевизначити за допомогою змінної середовища *LC_ALL*. Wcd надає перевагу значенню *LC_ALL* над значеннями *LC_COLLATE* та *LC_CTYPE*. ТАБЛИЦІ КОДУВАНЬ WINDOWS Існує дві групи кодових сторінок: кодові сторінки DOS (OEM) та кодові сторінки Windows (ANSI). Типовим кодуванням для Windows, якщо систему налаштовано на західноєвропейські параметри регіону, є ANSI CP1252. У програмах Windows, наприклад у notepad, використовується ця типова загальносистемна кодова сторінка ANSI. У консолі Windows типово використовується кодова сторінка OEM (CP437 або CP850) для сумісності з програмами DOS. Якщо ви використовуєте версію wcd для DOS у консолі Windows, програма не працюватиме, оскільки у ній використовується кодова сторінка DOS. Але у версії wcd для DOS не передбачено підтримку довгих назв каталогів та мережевих дисків у Windows. Версія wcd для Windows є типовою програмою Windows, вона використовуватиме загальносистемну кодову сторінку ANSI Windows. Отже, у західноєвропейській локалізації Windows програма використовуватиме кодову сторінку CP1252 для назв каталогів та повідомлень. З метою забезпечення однорідності виведення даних, незалежно від активної кодової сторінки, усі версії wcd для Windows перетворюють виведені дані у форматі ANSI у формат Unicode у командній оболонці та PowerShell. У консольних растрових шрифтах передбачено оригінальну кодову сторінку OEM, що встановлюється разом з Windows, отже, вам слід змінити шрифт консолі на Lucida Console, щоб літери з Unicode (та ANSI) було показано належним чином. Версії wcd без підтримки Unicode *до версії 5.2.0* виводять дані у форматі ANSI. Для цих застарілих версій кодову сторінку консолі слід зробити еквівалентною до загальносистемної кодової сторінки (змінюється на 1252), щоб забезпечити належну роботу wcd для Windows зі спеціальними символами, зокрема символами з акцентами, символами кирилиці та символом євро. Загальносистемну кодову сторінку Windows можна змінити за допомогою регіональних параметрів «Панелі керування». Кодову сторінку консолі Windows можна змінити за допомогою команди "chcp". Програма виводить дані щодо справжнього кодування символів у відповідь на команду "wcd -V". Щоб визначити активну кодову сторінку консолі Windows, введіть команду "chcp". UNICODE У wcd може бути передбачено підтримку Unicode. Щоб визначити, чи було зібрано wcd з підтримкою Unicode, скористайтеся командою "wcd -V". Якщо у вашому терміналі або консолі та шрифті передбачено підтримку, ви зможете бачити символ євро та китайські ієрогліфи. Перетворення у Unicode у wcd виконується *програмно*. У ядрі програми усі дані обробляються як потік даних. У широкі символи Unicode перетворюються лише рядки, що виводяться на екран. Wcd повністю покладається на функції libc і не містить специфічного для UTF-8 коду. Див. також У wcd передбачено необов’язкову підтримку встановлення відповідності за Unicode з нормалізацією. Щоб визначити, чи передбачено у wcd підтримку нормалізації, скористайтеся командою "wcd -V". У wcd з підтримкою нормалізації Unicode відповідність назв Unicode виконується на основі *сумісної* еквівалентності. Без підтримки нормалізації Unicode відповідність назв встановлюється за двійковою еквівалентністю. Див. також UTF-8 у Unix/Linux Щоб у вашій консолі або терміналі можна було переглядати символи UTF-8, у консолі і терміналі також має бути передбачено підтримку UTF-8. У версії xterm, яка постачається разом з XFree86 4.0 або наступними версіями, передбачено підтримку UTF-8. Щоб задіяти цю підтримку, запустіть xterm(1) у локалі UTF-8 і скористайтеся шрифтом з кодуванням iso10646-1, наприклад за допомогою такої команди: LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1' У сучасних дистрибутивах GNU/Linux типовою використовується кодування UTF-8. Можна працювати і з іншими багатобайтовими кодуваннями символів, але належного тестування працездатності з цими кодуванням не виконувалося. У wcd припускається, що кодуванням файлів даних ієрархії каталогів є кодування символів поточної локалі. До файлів даних ієрархії каталогів символ позначки порядку байтів (BOM) не записується. UTF-16 у Windows У Windows підтримку Unicode передбачено у всіх версіях PowerShell та у командній оболонці Windows у Windows 7 (та новіших версіях). Unicode також працює у Take Command або TCC/LE створених JP Software, якими можна скористатися у старіших версіях Windows (XP/Vista). У Windows усі назви каталогів на диску кодуються за допомогою UTF-16. У програмах Windows без підтримки Unicode символи Unicode перетворюються у символи типової кодової сторінки ANSI. Для символів, які не є частиною регіонального кодування, це перетворення є неможливим, отже програми без підтримки Unicode виводитимуть замість них символ знаку питання або помилковий символ. Wcd з підтримкою Unicode читатиме закодовані у UTF-16 назви каталогів і перетворюватиме дані до UTF-8 у внутрішньому коді. Усі дані файлів ієрархії каталогів буде закодовано у UTF-8. Ці дані є несумісними з версіями wcd без підтримки Unicode. Wcd створить скрипт переходу у кодуванні UTF-8. Усі версії Windows PowerShell можуть запускати скрипти у кодуванні UTF-8, якщо у скрипті є символ BOM UTF-8. Починаючи з Windows 7, у командній оболонці Windows передбачено можливість змінити за допомогою пакетного скрипту каталог на каталог з літерами Unicode у назві. Кодуванням назви каталогу має бути UTF-8, а *пакетний скрипт* не повинен містити позначки порядку байтів (BOM). Слід змінити активну кодову сторінку командної оболонки на 65001 (UTF-8) до виконання команди cd. Wcd для командної оболонки створити такий скрипт переходу ("wcdgo.bat"). Цей скрипти спочатку змінюватиме кодову сторінку на 65001, потім змінюватиме каталог, і нарешті, повертатиме початкове значення параметрів кодової сторінки. Якщо літери буде показано не так, як слід, вам слід встановити шрифт True Type Lucida Console (не растровий шрифт). Версія wcd для Windows без підтримки Unicode може читати файли даних ієрархії каталогів у кодуванні Unicode, починаючи з версії 5.2.0, якщо у файлі є позначка порядку байтів (BOM) (див. ), але не може змінювати каталоги на каталоги з тими літерами Unicode у назві, які не є частиною типової кодової сторінки ANSI системи. Версія wcd для Windows з підтримкою Unicode записує BOM до файлів ієрархії каталогів у кодуванні UTF-8, починаючи з версії 5.2.0, отже, ці файли можна читати за допомогою notepad. UTF-8 у Cygwin У Cygwin передбачено підтримку Unicode, починаючи з версії 1.7. Шар обробки Cygwin виконує перетворення назв каталогів Windows у UTF-16 до UTF-8. Отже, програми, зокрема wcd, не потрібно перейматися процедурами перетворення, вони можуть обробляти дані у кодуванні UTF-8, як це робиться у Unix/Linux. Встановити кодування символів UTF-8 можна за допомогою змінної середовища *LANG* або *LC_CTYPE*. Ймовірно, вам доведеться пересканувати ваші диски. Якщо ви користуєтеся типовою консоллю Cygwin, вам слід встановити для неї шрифт True Type Lucida Console (не растровий шрифт). Версія wcd для Cygwin поводиться точно так само, як версія wcd для Unix. Мітка порядку байтів (BOM) не записується до файлів даних ієрархії каталогів. Кодуванням файлів вважається кодування символів локалі Cygwin. ФАЙЛИ Якщо встановлено змінну середовища *WCDHOME*, використовуватиме *WCDHOME* замість *HOME*. Усі файли "*.wcd" є текстовими файлами. Їх можна редагувати у звичайному текстовому редакторі. Версія wcd для командної оболонки Windows поводиться так само, як версія для DOS. Версія wcd для Cygwin поводиться як версія для Unix. wcd.exe Сама програма. У оболонках Unix програма завжди викликається функцією або альтернативною командою, оскільки поточний робочий каталог у оболонці Unix можна змінювати лише за допомогою вбудованої команди cd. Див. також розділ «ВСТАНОВЛЕННЯ». типовий файл даних ієрархії каталогів Це типовий файл даних ієрархії каталогів, де wcd шукає відповідники. Якщо цей файл непридатний до читання, wcd створить новий. DOS: \treedata.wcd або %HOME%\treedata.wcd Unix: $HOME/.treedata.wcd додатковий файл даних ієрархії каталогів Необов’язковий додатковий файл даних ієрархії каталогів. Якщо такий файл існує і є придатним до читання, wcd спробує знайти відповідники і у цьому файлі. DOS: \extra.wcd або %HOME%\extra.wcd Unix: $HOME/.extra.wcd файл блокувань До цього додаткового файла wcd записує заблоковані шляхи. Див. параметр -b. Передбачено підтримку символів-замінників. DOS: \ban.wcd або %HOME%\ban.wcd Unix: $HOME/.ban.wcd файл альтернативних назв Необов’язковий файл із записами альтернативних назв wcd. Див. параметр -l. DOS: \alias.wcd або %HOME%\alias.wcd Unix: $HOME/.alias.wcd файл stack У цьому файлі зберігається стос каталогів wcd. Літеру диска можна змінити за допомогою параметра -d. DOS: c:\stack.wcd або %HOME%\stack.wcd Unix: $HOME/.stack.wcd Назву файла стосу можна змінити за допомогою змінної середовища *WCDSTACKFILE*. Див. розділ «ЗМІННІ СЕРЕДОВИЩА». скрипт go Це скрипт командної оболонки, який wcd.exe створює під час кожного запуску. Від використовується функцією або альтернативною командою. Літеру диска можна змінити за допомогою параметра -d. З історичних міркувань у системах Unix цей файл типово зберігається у "$HOME/bin". Каталог цього файла можна змінити за допомогою параметра -G. bash для DOS: c:/wcd.go або $HOME/wcd.go командна оболонка Windows: c:\wcdgo.bat або %HOME%\wcdgo.bat Windows PowerShell: $env:HOME\wcdgo.ps1 WinZsh: $HOME/wcd.go Cygwin/MSYS: $HOME/bin/wcd.go командна оболонка OS/2: c:\wcdgo.cmd або %HOME%\wcdgo.cmd OS/2 bash: c:/wcd.go або $HOME/wcd.go Unix: $HOME/bin/wcd.go файл відносних шляхів у ієрархії каталогів Текстовий файл з відносними шляхами щодо каталогу *КАТАЛОГ*. Див. параметри +S, -n та +n. DOS: PATH\rtdata.wcd Unix: PATH/.rtdata.wcd ЗМІННІ СЕРЕДОВИЩА HOME Типово, wcd використовує змінну середовища *HOME* для визначення місця, де зберігатимуться файли програми. Див. також розділ «ФАЙЛИ». Перевизначити каталог можна за допомогою змінної середовища *WCDHOME*. *HOME* також визначає місце, звідки слід розпочинати сканування диска, якщо використано параметр -s. Перевизначити це місце можна за допомогою змінної середовища *WCDSCAN*. У версіях для Unix, Cygwin, Windows PowerShell, WinZsh та MSYS слід встановити значення *HOME* або *WCDHOME*. Для інших версій wcd використання цих змінних є необов’язковим. Якщо змінну *HOME* встановлено у DOS/Windows, wcd розташує свої файли (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) у каталозі *HOME*. Після встановлення змінної поведінка wcd стає еквівалентною до версії wcd для Unix. Типово, wcd скануватиме диск, починаючи з *HOME*. Сканування дисків не виконуватиметься у автоматичному режимі після зміни диска. Про потребу у скануванні слід повідомити явно. Приклад: wcd -S c: -A d: -A e: Після цього встановлення відповідності каталогів буде загальним на усіх сканованих дисках. WCDHOME Для зміни місця зберігання файлів wcd слід використовувати змінну середовища *WCDHOME*. Якщо встановлено одразу *HOME* і *WCDHOME*, замість *HOME* буде використано *WCDHOME*. З версіях wcd до версії 5.1.5 типовий каталог сканування можна змінити також за допомогою змінної *WCDHOME*. У наступних версіях таку поведінку було змінено. Починаючи з версії 5.1.5, *WCDHOME* не змінює типового каталогу сканування. Див. параметр -s. Починаючи з версії 5.1.5, для перевизначення типового каталогу сканування слід використовувати змінну середовища *WCDSCAN*. Приклад для командних оболонок DOS, Windows, OS/2: set WCDHOME=C:\Users\erwin\wcd Приклад для командних оболонок типу POSIX: export WCDHOME="$HOME/.wcd" Приклад для командних оболонок типу Csh: setenv WCDHOME "$HOME/.wcd" WCDSCAN Для перевизначення встановленого за допомогою змінної середовища *HOME* типового каталогу сканування скористайтеся змінною середовища *WCDSCAN*. Щоб визначити декілька каталогів, скористайтеся списком каталогів, відокремлених двокрапкою (Unix). У DOS або Windows записи у списку слід відокремлювати крапкою з комою. Приклади для командних оболонок DOS, Windows, OS/2: set WCDSCAN=C:\Users\erwin;D:\data set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\projectdrive\projectX Приклад для командних оболонок типу POSIX: export WCDSCAN="$HOME:/projectdisk/projectX" Приклад для командних оболонок типу Csh: setenv WCDSCAN "$HOME:/projectdisk/projectX" WCDFILTER Фільтри можна вказати за допомогою змінної середовища *WCDFILTER*. Усі каталоги, які не відповідають цим фільтрам, буде проігноровано. Записи у списку слід відокремлювати типовим роздільником каталогів у шляхах командної оболонки. Це щось подібне до визначення змінної середовища *PATH*. Те, чи буде враховано регістр символів, визначається параметрами операційної системи. Приклад для командних оболонок DOS, Windows, OS/2: set WCDFILTER=projects;doc Приклад для командних оболонок типу POSIX: export WCDFILTER="projects:doc" Приклад для командних оболонок типу Csh: setenv WCDFILTER "projects:doc" WCDBAN Шляхи, вказані за допомогою змінної середовища *WCDBAN*, вважатимуться заблокованими для wcd. Див. також параметр -b. Записи у списку шляхів слід відокремлювати типовим роздільником змінної *PATH* командної оболонки. WCDEXCLUDE Шляхи, вказані за допомогою змінної середовища *WCDEXCLUDE*, вважатимуться виключеними для wcd. Див. також параметри -x та -xf. Записи у списку шляхів слід відокремлювати типовим роздільником змінної *PATH* командної оболонки. Приклад для командних оболонок DOS, Windows, OS/2: set WCDEXCLUDE=*/windows;*/temp;*CVS Приклад для командних оболонок типу POSIX: export WCDEXCLUDE="/dev:/tmp:*CVS" Приклад для командних оболонок типу Csh: setenv WCDEXCLUDE "/dev:/tmp:*CVS" WCDUSERSHOME Встановлює основний каталог для домашніх каталогів користувачів. У DOS або Windows типовим значенням змінної є "\\users". У Unix або Cygwin типовим значенням є "/home". Ця змінна середовища використовується для сканування файлів даних ієрархії каталогів інших користувачів. Див. також параметри -u та +u. У докладному режимі wcd виводитиме усі фільтри, блокування та виключення. Див. параметр -v. WCDSTACKFILE Wcd надає перевагу значенню змінної *WCDSTACKFILE* над типовою назвою файла стосу (див. розділ «ФАЙЛИ»). За допомогою цієї змінної можна визначити окремий стос використаних каталогів для декількох різних командних оболонок (або використаних емуляторів термінала). Використання файла з унікальною назвою на основі поточного часу у форматі РРРММДД-ГГХХСС для кожної відкритої інтерактивної командної оболонки: export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S) Для окремого стосу на кожний екземпляр xterm(1) скористайтеся змінної середовища *WINDOWID* для xterm: export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID Для GNU screen(1), використання окремого стосу на екземпляр screen: export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW TERMINFO Якщо визначено змінну середовища *TERMINFO*, wcd з інтерфейсом на основі ncurses шукатиме локальні визначення термінала до виконання пошуку у стандартному місці. Це корисно, якщо визначення термінала зберігаються у нестандартному місці. Часто використовуються стандартні місця "/usr/lib/terminfo" та "/usr/share/terminfo". PDC_RESTORE_SCREEN Wcd з інтерфейсом на основі PDCurses розпізнає змінну середовища *PDC_RESTORE_SCREEN*. Якщо встановлено цю змінну середовища, PDCurses скопіює вміст екрана на час запуску wcd; після завершення роботи wcd вміст екрана буде відновлено. Приклад для командної оболонки Windows: set PDC_RESTORE_SCREEN=1 У Windows передбачено можливість зберігання лише буфера незначного обсягу. Тому повне відновлення не завжди можливе. Якщо вміст буфера є доволі значним, до консолі після виходу з wcd буде виведено випадкові символи. SHELL Для виведення 8-бітових символів у скриптах переходу для командних оболонок типу POSIX та C слід вказати "#!$SHELL" у першому рядку. Якщо цього не зробити, у деяких оболонках скрипт переходу вважатиметься бінарним файлом і не використовуватиметься. У bash Cygwin у середовищі має бути визначено змінну *SHELL* за допомогою команди "export", інакше wcd не зможе прочитати змінну. BASH Wcd для bash DOS використовується $BASH замість $SHELL, оскільки $SHELL вказує на командну оболонку DOS. Можливо, слід визначити змінну $BASH за допомогою команди "export", інакше wcd не зможе прочитати змінну. ТАКОЖ ПЕРЕГЛЯНЬТЕ sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1), АВТОРИ Wcd створено Erwin Waterlander Домашня сторінка проекту: SourceForge: Форматування сторінки підручника було виконано Jari Aalto . Початкову версію NCD було створено Brad Kingsbury для пакунка "Norton Utilities" Пітера Нортона близько 1987 року. Див. також wcd-6.0.3/src/match.c0000644000175500010010000002355013524756523013614 0ustar waterlanGeen/*--------------------------------------------------------------------------- match.c The match() routine recursively compares a string to a "pattern" (regular expression), returning TRUE if a match is found or FALSE if not. This version is specifically for use with unzip.c: as did the previous match() routines from SEA and J. Kercheval, it leaves the case (upper, lower, or mixed) of the string alone, but converts any uppercase characters in the pattern to lowercase if indicated by the global var pInfo->lcflag (which is to say, string is assumed to have been converted to lowercase already, if such was necessary). GRR: reversed order of text, pattern in matche() (now same as match()); added ignore_case/ic flags, Case() macro. PK: replaced matche() with recmatch() from Zip, modified to have an ignore_case argument; replaced test frame with simpler one. --------------------------------------------------------------------------- Copyright on recmatch() from Zip's util.c (although recmatch() was almost certainly written by Mark Adler...ask me how I can tell :-) ): Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly, Kai Uwe Rommel and Igor Mandrichenko. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA --------------------------------------------------------------------------- Info-ZIP's home WWW site is listed on Yahoo and is at: http://www.cdrom.com/pub/infozip/ e-mail : Zip-Bugs@lists.wku.edu --------------------------------------------------------------------------- Match the pattern (wildcard) against the string (fixed): match(string, pattern, ignore_case); returns TRUE if string matches pattern, FALSE otherwise. In the pattern: `*' matches any sequence of characters (zero or more) `?' matches any character [SET] matches any character in the specified set, [!SET] or [^SET] matches any character not in the specified set. A set is composed of characters or ranges; a range looks like ``character hyphen character'' (as in 0-9 or A-Z). [0-9a-zA-Z_] is the minimal set of characters allowed in the [..] pattern construct. Other characters are allowed (ie. 8 bit characters) if your system will support them. To suppress the special syntactic significance of any of ``[]*?!^-\'', in- side or outside a [..] construct and match the character exactly, precede it with a ``\'' (backslash). Note that "*.*" and "*." are treated specially under MS-DOS if DOSWILD is defined. See the DOSWILD section below for an explanation. ---------------------------------------------------------------------------*/ #include #include #include "match.h" /* define ToLower() in here (for Unix, define ToLower * to be macro (using isupper()); otherwise just use * tolower() */ #define Case(x) (ic? tolower(x) : (int)(x)) /* dd_match() is a shell to recmatch() to return only Boolean values. */ static int recmatch(uch *pattern, uch *string, int ignore_case); int dd_match(const char *string,const char *pattern,int ignore_case) { #if (defined(__MSDOS__) && defined(DOSWILD)) char *dospattern; int j = strlen(pattern); /*--------------------------------------------------------------------------- Optional MS-DOS preprocessing section: compare last three chars of the wildcard to "*.*" and translate to "*" if found; else compare the last two characters to "*." and, if found, scan the non-wild string for dots. If in the latter case a dot is found, return failure; else translate the "*." to "*". In either case, continue with the normal (Unix-like) match procedure after translation. (If not enough memory, default to normal match.) This causes "a*.*" and "a*." to behave as MS-DOS users expect. ---------------------------------------------------------------------------*/ if ((dospattern = (char *)malloc(j+1)) != NULL) { strcpy(dospattern, pattern); if (!strcmp(dospattern+j-3, "*.*")) { dospattern[j-2] = '\0'; /* nuke the ".*" */ } else if (!strcmp(dospattern+j-2, "*.")) { char *p = strchr(string, '.'); if (p) { /* found a dot: match fails */ free(dospattern); return 0; } dospattern[j-1] = '\0'; /* nuke the end "." */ } j = recmatch((uch *)dospattern, (uch *)string, ignore_case); free(dospattern); return j == 1; } else #endif /* __MSDOS__ && DOSWILD */ return recmatch((uch *)pattern, (uch *)string, ignore_case) == 1; } static int recmatch(uch *p,uch *s,int ic) /* uch *p; sh pattern to match */ /* uch *s; string to which to match it */ /* int ic; true for case insensitivity */ /* Recursively compare the sh pattern p with the string s and return 1 if * they match, and 0 or 2 if they don't or if there is a syntax error in the * pattern. This routine recurses on itself no more deeply than the number * of characters in the pattern. */ { int c; /* pattern char or start of range in [-] loop */ /* Get first character, the pattern for new recmatch calls follows */ c = *p++; /* If that was the end of the pattern, match if string empty too */ if (c == 0) return *s == 0; /* '?' (or '%') matches any character (but not an empty string) */ #ifdef VMS if (c == '%') /* GRR: make this conditional, too? */ #else /* !VMS */ if (c == '?') #endif /* ?VMS */ return *s ? recmatch(p, s + 1, ic) : 0; /* '*' matches any number of characters, including zero */ #ifdef AMIGA if (c == '#' && *p == '?') /* "#?" is Amiga-ese for "*" */ c = '*', p++; #endif /* AMIGA */ if (c == '*') { if (*p == 0) return 1; for (; *s; s++) if ((c = recmatch(p, s, ic)) != 0) return (int)c; return 2; /* 2 means give up--match will return false */ } #ifndef VMS /* No bracket matching in VMS */ /* Parse and process the list of characters and ranges in brackets */ if (c == '[') { int e; /* flag true if next char to be taken literally */ uch *q; /* pointer to end of [-] group */ int r; /* flag true to match anything but the range */ if (*s == 0) /* need a character to match */ return 0; p += (r = (*p == '!' || *p == '^')); /* see if reverse */ for (q = p, e = 0; *q; q++) /* find closing bracket */ if (e) e = 0; else if (*q == '\\') /* GRR: change to ^ for MS-DOS, OS/2? */ e = 1; else if (*q == ']') break; if (*q != ']') /* nothing matches if bad syntax */ return 0; for (c = 0, e = *p == '-'; p < q; p++) { /* go through the list */ if (e == 0 && *p == '\\') /* set escape flag if \ */ e = 1; else if (e == 0 && *p == '-') /* set start of range if - */ c = *(p-1); else { int cc = Case(*s); if (*(p+1) != '-') for (c = c ? c : *p; c <= *p; c++) /* compare range */ if (Case(c) == cc) return r ? 0 : recmatch(q + 1, s + 1, ic); c = e = 0; /* clear range, escape flags */ } } return r ? recmatch(q + 1, s + 1, ic) : 0; /* bracket match failed */ } #endif /* !VMS */ /* if escape ('\'), just compare next character */ if (c == '\\' && (c = *p++) == 0) /* if \ at end, then syntax error */ return 0; /* just a character--compare it */ return Case((uch)c) == Case(*s) ? recmatch(p, ++s, ic) : 0; } /* end function recmatch() */ #ifdef WILD_STAT_BUG /* Turbo/Borland C, Watcom C, VAX C, Atari MiNT libs */ int dd_iswild(const char *p) { for (; *p; ++p) if (*p == '\\' && *(p+1)) ++p; #ifdef VMS else if (*p == '%' || *p == '*') #else /* !VMS */ #ifdef AMIGA else if (*p == '?' || *p == '*' || (*p=='#' && p[1]=='?') || *p == '[') #else /* !AMIGA */ else if (*p == '?' || *p == '*' || *p == '[') #endif /* ?AMIGA */ #endif /* ?VMS */ return 1; return 0; } /* end function dd_iswild() */ #endif /* WILD_STAT_BUG */ #ifdef TEST_MATCH /* replaced gets() with fgets(). gets() can be dangerous, has known to give security problems, because it does not check for bufferoverflow. Erwin Waterlander, Jul 22 1998 */ #define put(s) { fputs(s, stdout); fflush(stdout); } void main(void) { char pat[256], str[256]; for (;;) { put("Pattern (return to exit): "); fgets(pat,100,stdin); if (!pat[0]) break; for (;;) { put("String (return for new pattern): "); fgets(str,100,stdin); if (!str[0]) break; printf("Case sensitive: %s insensitive: %s\n", dd_match(str, pat, 0) ? "YES" : "NO", dd_match(str, pat, 1) ? "YES" : "NO"); } } exit(0); } #endif /* TEST_MATCH */ wcd-6.0.3/src/match.h0000644000175500010010000000202413524756523013612 0ustar waterlanGeen/* match.h Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly, Kai Uwe Rommel and Igor Mandrichenko. This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, see the file COPYING. */ #ifndef _WCD_MATCH_H #define _WCD_MATCH_H /* Set up portability */ #include "tailor.h" /* stat() bug for Borland, Watcom, and Atari ST MiNT on * TOS filesystems: returns 0 for wildcards! (returns 0xffffffff on Minix * filesystem or U: drive under Atari MiNT) */ #define WILD_STAT_BUG /**************/ /* Typedefs */ /**************/ typedef unsigned char uch; /* code assumes unsigned bytes; these type- */ typedef unsigned short ush; /* defs replace byte/UWORD/ULONG (which are */ typedef unsigned long ulg; /* predefined on some systems) & match zip */ #ifdef __cplusplus extern "C" { #endif int dd_match(const char *string, const char *pattern, int ignore_case); int dd_iswild(const char *p); #ifdef __cplusplus } #endif #endif /* _MATCH_H */ wcd-6.0.3/src/matchl.c0000644000175500010010000005760313524756523013776 0ustar waterlanGeen/*--------------------------------------------------------------------------- match.c The match() routine recursively compares a string to a "pattern" (regular expression), returning TRUE if a match is found or FALSE if not. This version is specifically for use with unzip.c: as did the previous match() routines from SEA and J. Kercheval, it leaves the case (upper, lower, or mixed) of the string alone, but converts any uppercase characters in the pattern to lowercase if indicated by the global var pInfo->lcflag (which is to say, string is assumed to have been converted to lowercase already, if such was necessary). GRR: reversed order of text, pattern in matche() (now same as match()); added ignore_case/ic flags, Case() macro. PK: replaced matche() with recmatch() from Zip, modified to have an ignore_case argument; replaced test frame with simpler one. --------------------------------------------------------------------------- matchl.c : A modified version of match.c. EW: * Option to ignore diacritics. --------------------------------------------------------------------------- Copyright on recmatch() from Zip's util.c (although recmatch() was almost certainly written by Mark Adler...ask me how I can tell :-) ): Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly, Kai Uwe Rommel and Igor Mandrichenko. Copyright (C) 2011 Erwin Waterlander 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA --------------------------------------------------------------------------- Info-ZIP's home WWW site is listed on Yahoo and is at: http://www.cdrom.com/pub/infozip/ e-mail : Zip-Bugs@lists.wku.edu --------------------------------------------------------------------------- Match the pattern (wildcard) against the string (fixed): match(string, pattern, ignore_case); returns TRUE if string matches pattern, FALSE otherwise. In the pattern: `*' matches any sequence of characters (zero or more) `?' matches any character [SET] matches any character in the specified set, [!SET] or [^SET] matches any character not in the specified set. A set is composed of characters or ranges; a range looks like ``character hyphen character'' (as in 0-9 or A-Z). [0-9a-zA-Z_] is the minimal set of characters allowed in the [..] pattern construct. Other characters are allowed (ie. 8 bit characters) if your system will support them. To suppress the special syntactic significance of any of ``[]*?!^-\'', in- side or outside a [..] construct and match the character exactly, precede it with a ``\'' (backslash). Note that "*.*" and "*." are treated specially under MS-DOS if DOSWILD is defined. See the DOSWILD section below for an explanation. ---------------------------------------------------------------------------*/ #include #include #include "querycp.h" #include "matchl.h" /* define ToLower() in here (for Unix, define ToLower * to be macro (using isupper()); otherwise just use * tolower() */ #define Case(x) (ic? tolower(x) : (int)(x)) static uch match_C[256] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff }; static uch match_CP437[256] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x43, 0x75, 0x65, 0x61, 0x61, 0x61, 0x61, 0x63, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x41, 0x41, 0x45, 0x91, 0x92, 0x6f, 0x6f, 0x6f, 0x75, 0x75, 0x79, 0x47, 0x55, 0x63, 0x9c, 0x9d, 0x9e, 0x9f, 0x61, 0x69, 0x6f, 0x75, 0x6e, 0x4e, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff }; static uch match_CP850[256] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x43, 0x75, 0x65, 0x61, 0x61, 0x61, 0x61, 0x63, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x41, 0x41, 0x45, 0x91, 0x92, 0x6f, 0x6f, 0x6f, 0x75, 0x75, 0x79, 0x4f, 0x55, 0x6f, 0x9c, 0x4f, 0x9e, 0x9f, 0x61, 0x69, 0x6f, 0x75, 0x6e, 0x4e, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0x41, 0x41, 0x41, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0x61, 0x41, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0x45, 0x45, 0x45, 0x69, 0x49, 0x49, 0x49, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0x49, 0xdf, 0x4f, 0xe1, 0x4f, 0x4f, 0x6f, 0x4f, 0xe6, 0xe7, 0xe8, 0x55, 0x55, 0x55, 0x79, 0x59, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff }; static uch match_CP852[256] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x43, 0x75, 0x65, 0x61, 0x61, 0x75, 0x63, 0x63, 0x88, 0x65, 0x4f, 0x6f, 0x69, 0x5a, 0x41, 0x43, 0x45, 0x4c, 0x6c, 0x6f, 0x6f, 0x4c, 0x6c, 0x53, 0x73, 0x4f, 0x55, 0x54, 0x74, 0x9d, 0x9e, 0x63, 0x61, 0x69, 0x6f, 0x75, 0x41, 0x61, 0x5a, 0x7a, 0x45, 0x65, 0xaa, 0x7a, 0x43, 0x73, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0x41, 0x41, 0x45, 0x53, 0xb9, 0xba, 0xbb, 0xbc, 0x5a, 0x7a, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0x41, 0x61, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0x64, 0x44, 0x44, 0x45, 0x64, 0x4e, 0x49, 0x49, 0x65, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0x55, 0xdf, 0x4f, 0xe1, 0x4f, 0x4e, 0x6e, 0x6e, 0x53, 0x73, 0x52, 0x55, 0x72, 0x55, 0x79, 0x59, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0x75, 0x52, 0x72, 0xfe, 0xff }; static uch match_CP1250[256] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x53, 0x8b, 0x53, 0x54, 0x5a, 0x5a, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x73, 0x9b, 0x73, 0x74, 0x7a, 0x7a, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0x41, 0xa6, 0xa7, 0xa8, 0xa9, 0x53, 0xab, 0xac, 0xad, 0xae, 0x5a, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0x61, 0x73, 0xbb, 0x4c, 0xbd, 0x6c, 0x7a, 0x52, 0x41, 0x41, 0x41, 0x41, 0x4c, 0x43, 0x43, 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x44, 0x44, 0x4e, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0xd7, 0x52, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0xdf, 0x72, 0x61, 0x61, 0x61, 0x61, 0x6c, 0x63, 0x63, 0x63, 0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x64, 0x64, 0x6e, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0xf7, 0x72, 0x75, 0x75, 0x75, 0x75, 0x79, 0xfe, 0xff }; static uch match_CP1252[256] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x53, 0x8b, 0x8c, 0x8d, 0x5a, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x73, 0x9b, 0x9c, 0x9d, 0x7a, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0xc6, 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49, 0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xd7, 0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0xdf, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0xe6, 0x63, 0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69, 0xf0, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xf7, 0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0xfe, 0x79 }; static uch match_CP28591[256] = /* ISO-8859-1 */ { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0xc6, 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49, 0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xd7, 0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0xdf, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0xe6, 0x63, 0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69, 0xf0, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xf7, 0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0xfe, 0x79 }; static uch match_CP28592[256] = /* ISO-8859-2 */ { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0x41, 0xa2, 0xa3, 0xa4, 0x4c, 0x53, 0xa7, 0xa8, 0x53, 0x53, 0x54, 0x5a, 0xad, 0x5a, 0x5a, 0xb0, 0x61, 0xb2, 0xb3, 0xb4, 0x6c, 0x73, 0xb7, 0xb8, 0x73, 0x73, 0x74, 0x7a, 0xbd, 0x7a, 0x7a, 0x52, 0x41, 0x41, 0x41, 0x41, 0x4c, 0x43, 0x43, 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x44, 0x44, 0x4e, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0xd7, 0x52, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0xdf, 0x72, 0x61, 0x61, 0x61, 0x61, 0x6c, 0x63, 0x63, 0x63, 0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x64, 0x64, 0x6e, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0xf7, 0x72, 0x75, 0x75, 0x75, 0x75, 0x79, 0xfe, 0xff }; /* dd_matchl() is a shell to recmatch() to return only Boolean values. */ static int recmatchl(uch *pattern, uch *string, int ignore_case, uch *CPTable); int dd_matchl(const char *string,const char *pattern,int ignore_case, int ignore_diacritics) { #if (defined(__MSDOS__) && defined(DOSWILD)) char *dospattern; int j = strlen(pattern); #endif uch *CPTable; if (ignore_diacritics == 0) { CPTable = match_C; } else { int code_page = (int)query_con_codepage(); switch (code_page) { case 437: /* DOS Latin-US (United States) */ CPTable = match_CP437; break; case 850: /* DOS Latin-1 (Western European) */ CPTable = match_CP850; break; case 852: /* DOS Latin-2 (Eastern European) */ CPTable = match_CP852; break; case 1250: /* Windows Latin-2 (Eastern European) */ CPTable = match_CP1250; break; case 1252: /* Windows Latin-1 (Western European) */ CPTable = match_CP1252; break; case 28591: /* ISO Latin-1 (Western European) */ CPTable = match_CP28591; break; case 28592: /* ISO Latin-2 (Eastern European) */ CPTable = match_CP28592; break; default: /* C */ CPTable = match_C; } } #if (defined(__MSDOS__) && defined(DOSWILD)) /*--------------------------------------------------------------------------- Optional MS-DOS preprocessing section: compare last three chars of the wildcard to "*.*" and translate to "*" if found; else compare the last two characters to "*." and, if found, scan the non-wild string for dots. If in the latter case a dot is found, return failure; else translate the "*." to "*". In either case, continue with the normal (Unix-like) match procedure after translation. (If not enough memory, default to normal match.) This causes "a*.*" and "a*." to behave as MS-DOS users expect. ---------------------------------------------------------------------------*/ if ((dospattern = (char *)malloc(j+1)) != NULL) { strcpy(dospattern, pattern); if (!strcmp(dospattern+j-3, "*.*")) { dospattern[j-2] = '\0'; /* nuke the ".*" */ } else if (!strcmp(dospattern+j-2, "*.")) { char *p = strchr(string, '.'); if (p) { /* found a dot: match fails */ free(dospattern); return 0; } dospattern[j-1] = '\0'; /* nuke the end "." */ } j = recmatchl((uch *)dospattern, (uch *)string, ignore_case, CPTable); free(dospattern); return j == 1; } else #endif /* __MSDOS__ && DOSWILD */ return recmatchl((uch *)pattern, (uch *)string, ignore_case, CPTable) == 1; } static int recmatchl(uch *p,uch *s,int ic, uch *CPTable) /* uch *p; sh pattern to match */ /* uch *s; string to which to match it */ /* int ic; true for case insensitivity */ /* Recursively compare the sh pattern p with the string s and return 1 if * they match, and 0 or 2 if they don't or if there is a syntax error in the * pattern. This routine recurses on itself no more deeply than the number * of characters in the pattern. */ { int c; /* pattern char or start of range in [-] loop */ /* Get first character, the pattern for new recmatch calls follows */ c = *p++; /* If that was the end of the pattern, match if string empty too */ if (c == 0) return *s == 0; /* '?' (or '%') matches any character (but not an empty string) */ #ifdef VMS if (c == '%') /* GRR: make this conditional, too? */ #else /* !VMS */ if (c == '?') #endif /* ?VMS */ return *s ? recmatchl(p, s + 1, ic, CPTable) : 0; /* '*' matches any number of characters, including zero */ #ifdef AMIGA if (c == '#' && *p == '?') /* "#?" is Amiga-ese for "*" */ c = '*', p++; #endif /* AMIGA */ if (c == '*') { if (*p == 0) return 1; for (; *s; s++) if ((c = recmatchl(p, s, ic, CPTable)) != 0) return (int)c; return 2; /* 2 means give up--match will return false */ } #ifndef VMS /* No bracket matching in VMS */ /* Parse and process the list of characters and ranges in brackets */ if (c == '[') { int e; /* flag true if next char to be taken literally */ uch *q; /* pointer to end of [-] group */ int r; /* flag true to match anything but the range */ if (*s == 0) /* need a character to match */ return 0; p += (r = (*p == '!' || *p == '^')); /* see if reverse */ for (q = p, e = 0; *q; q++) /* find closing bracket */ if (e) e = 0; else if (*q == '\\') /* GRR: change to ^ for MS-DOS, OS/2? */ e = 1; else if (*q == ']') break; if (*q != ']') /* nothing matches if bad syntax */ return 0; for (c = 0, e = *p == '-'; p < q; p++) { /* go through the list */ if (e == 0 && *p == '\\') /* set escape flag if \ */ e = 1; else if (e == 0 && *p == '-') /* set start of range if - */ c = *(p-1); else { int cc = Case(*s); if (*(p+1) != '-') for (c = c ? c : *p; c <= *p; c++) /* compare range */ if (Case(CPTable[c]) == CPTable[cc]) return r ? 0 : recmatchl(q + 1, s + 1, ic, CPTable); c = e = 0; /* clear range, escape flags */ } } return r ? recmatchl(q + 1, s + 1, ic, CPTable) : 0; /* bracket match failed */ } #endif /* !VMS */ /* if escape ('\'), just compare next character */ if (c == '\\' && (c = *p++) == 0) /* if \ at end, then syntax error */ return 0; /* just a character--compare it */ return Case(CPTable[c]) == Case(CPTable[*s]) ? recmatchl(p, ++s, ic, CPTable) : 0; } /* end function recmatch() */ #ifdef WILD_STAT_BUG /* Turbo/Borland C, Watcom C, VAX C, Atari MiNT libs */ int dd_iswildl(const char *p) { for (; *p; ++p) if (*p == '\\' && *(p+1)) ++p; #ifdef VMS else if (*p == '%' || *p == '*') #else /* !VMS */ #ifdef AMIGA else if (*p == '?' || *p == '*' || (*p=='#' && p[1]=='?') || *p == '[') #else /* !AMIGA */ else if (*p == '?' || *p == '*' || *p == '[') #endif /* ?AMIGA */ #endif /* ?VMS */ return 1; return 0; } /* end function dd_iswild() */ #endif /* WILD_STAT_BUG */ #ifdef TEST_MATCH /* replaced gets() with fgets(). gets() can be dangerous, has known to give security problems, because it does not check for bufferoverflow. Erwin Waterlander, Jul 22 1998 */ #define put(s) { fputs(s, stdout); fflush(stdout); } void main(void) { char pat[256], str[256]; for (;;) { put("Pattern (return to exit): "); fgets(pat,100,stdin); if (!pat[0]) break; for (;;) { put("String (return for new pattern): "); fgets(str,100,stdin); if (!str[0]) break; printf("Case sensitive: %s insensitive: %s\n", dd_matchl(str, pat, 0) ? "YES" : "NO", dd_matchl(str, pat, 1) ? "YES" : "NO"); } } exit(0); } #endif /* TEST_MATCH */ wcd-6.0.3/src/matchl.h0000644000175500010010000000057313524756523013775 0ustar waterlanGeen/* matchl.h Copyright (C) 2011 Erwin Waterlander This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, see the file COPYING. */ #ifndef _WCD_MATCHL_H #define _WCD_MATCHL_H #include "match.h" int dd_matchl(const char *string, const char *pattern, int ignore_case, int ignore_diacritics); #endif /* _MATCHL_H */ wcd-6.0.3/src/matchw.c0000644000175500010010000005341513524756523014006 0ustar waterlanGeen/*--------------------------------------------------------------------------- match.c The match() routine recursively compares a string to a "pattern" (regular expression), returning TRUE if a match is found or FALSE if not. This version is specifically for use with unzip.c: as did the previous match() routines from SEA and J. Kercheval, it leaves the case (upper, lower, or mixed) of the string alone, but converts any uppercase characters in the pattern to lowercase if indicated by the global var pInfo->lcflag (which is to say, string is assumed to have been converted to lowercase already, if such was necessary). GRR: reversed order of text, pattern in matche() (now same as match()); added ignore_case/ic flags, Case() macro. PK: replaced matche() with recmatch() from Zip, modified to have an ignore_case argument; replaced test frame with simpler one. --------------------------------------------------------------------------- matchw.c : A modified version of match.c with Unicode matching. EW: * Option to ignore diacritics. * Unicode normalistion. --------------------------------------------------------------------------- Copyright on recmatch() from Zip's util.c (although recmatch() was almost certainly written by Mark Adler...ask me how I can tell :-) ): Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly, Kai Uwe Rommel and Igor Mandrichenko. Copyright (C) 2011 Erwin Waterlander 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA --------------------------------------------------------------------------- Info-ZIP's home WWW site is listed on Yahoo and is at: http://www.cdrom.com/pub/infozip/ e-mail : Zip-Bugs@lists.wku.edu --------------------------------------------------------------------------- Match the pattern (wildcard) against the string (fixed): match(string, pattern, ignore_case); returns TRUE if string matches pattern, FALSE otherwise. In the pattern: `*' matches any sequence of characters (zero or more) `?' matches any character [SET] matches any character in the specified set, [!SET] or [^SET] matches any character not in the specified set. A set is composed of characters or ranges; a range looks like ``character hyphen character'' (as in 0-9 or A-Z). [0-9a-zA-Z_] is the minimal set of characters allowed in the [..] pattern construct. Other characters are allowed (ie. 8 bit characters) if your system will support them. To suppress the special syntactic significance of any of ``[]*?!^-\'', in- side or outside a [..] construct and match the character exactly, precede it with a ``\'' (backslash). Note that "*.*" and "*." are treated specially under MS-DOS if DOSWILD is defined. See the DOSWILD section below for an explanation. ---------------------------------------------------------------------------*/ #include #include #include #ifdef WCD_UNINORM # include /* part of libunistring */ # include #endif #include "wcd.h" #include "display.h" #include "finddirs.h" #include "matchw.h" /* define ToLower() in here (for Unix, define ToLower * to be macro (using isupper()); otherwise just use * tolower() */ #define Case(x) (ic? towlower(x) : (wint_t)(x)) static wint_t match_C[0x250] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10a, 0x10b, 0x10c, 0x10d, 0x10e, 0x10f, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11a, 0x11b, 0x11c, 0x11d, 0x11e, 0x11f, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12a, 0x12b, 0x12c, 0x12d, 0x12e, 0x12f, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x138, 0x139, 0x13a, 0x13b, 0x13c, 0x13d, 0x13e, 0x13f, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14a, 0x14b, 0x14c, 0x14d, 0x14e, 0x14f, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15a, 0x15b, 0x15c, 0x15d, 0x15e, 0x15f, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16a, 0x16b, 0x16c, 0x16d, 0x16e, 0x16f, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x179, 0x17a, 0x17b, 0x17c, 0x17d, 0x17e, 0x17f, 0x180, 0x181, 0x182, 0x183, 0x184, 0x185, 0x186, 0x187, 0x188, 0x189, 0x18a, 0x18b, 0x18c, 0x18d, 0x18e, 0x18f, 0x190, 0x191, 0x192, 0x193, 0x194, 0x195, 0x196, 0x197, 0x198, 0x199, 0x19a, 0x19b, 0x19c, 0x19d, 0x19e, 0x19f, 0x1a0, 0x1a1, 0x1a2, 0x1a3, 0x1a4, 0x1a5, 0x1a6, 0x1a7, 0x1a8, 0x1a9, 0x1aa, 0x1ab, 0x1ac, 0x1ad, 0x1ae, 0x1af, 0x1b0, 0x1b1, 0x1b2, 0x1b3, 0x1b4, 0x1b5, 0x1b6, 0x1b7, 0x1b8, 0x1b9, 0x1ba, 0x1bb, 0x1bc, 0x1bd, 0x1be, 0x1bf, 0x1c0, 0x1c1, 0x1c2, 0x1c3, 0x1c4, 0x1c5, 0x1c6, 0x1c7, 0x1c8, 0x1c9, 0x1ca, 0x1cb, 0x1cc, 0x1cd, 0x1ce, 0x1cf, 0x1d0, 0x1d1, 0x1d2, 0x1d3, 0x1d4, 0x1d5, 0x1d6, 0x1d7, 0x1d8, 0x1d9, 0x1da, 0x1db, 0x1dc, 0x1dd, 0x1de, 0x1df, 0x1e0, 0x1e1, 0x1e2, 0x1e3, 0x1e4, 0x1e5, 0x1e6, 0x1e7, 0x1e8, 0x1e9, 0x1ea, 0x1eb, 0x1ec, 0x1ed, 0x1ee, 0x1ef, 0x1f0, 0x1f1, 0x1f2, 0x1f3, 0x1f4, 0x1f5, 0x1f6, 0x1f7, 0x1f8, 0x1f9, 0x1fa, 0x1fb, 0x1fc, 0x1fd, 0x1fe, 0x1ff, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20a, 0x20b, 0x20c, 0x20d, 0x20e, 0x20f, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21a, 0x21b, 0x21c, 0x21d, 0x21e, 0x21f, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22a, 0x22b, 0x22c, 0x22d, 0x22e, 0x22f, 0x230, 0x231, 0x232, 0x233, 0x234, 0x235, 0x236, 0x237, 0x238, 0x239, 0x23a, 0x23b, 0x23c, 0x23d, 0x23e, 0x23f, 0x240, 0x241, 0x242, 0x243, 0x244, 0x245, 0x246, 0x247, 0x248, 0x249, 0x24a, 0x24b, 0x24c, 0x24d, 0x24e, 0x24f }; static wint_t match_Unicode[0x250] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, /* Latin-1 */ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0xc6, 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49, 0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xd7, 0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0xdf, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0xe6, 0x63, 0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69, 0xf0, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xf7, 0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0xfe, 0x79, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64, /* Latin Extended-A */ 0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67, 0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x132, 0x133, 0x4a, 0x6a, 0x4b, 0x6b, 0x138, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e, 0x6e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x152, 0x153, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79, 0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x17f, 0x62, 0x42, 0x42, 0x62, 0x184, 0x185, 0x186, 0x43, 0x63, 0x44, 0x44, 0x44, 0x64, 0x18d, 0x18e, 0x18f, /* Latin Extended-B */ 0x45, 0x46, 0x66, 0x47, 0x194, 0x195, 0x49, 0x197, 0x4b, 0x6b, 0x19a, 0x19b, 0x19c, 0x4e, 0x6e, 0x4f, 0x4f, 0x6f, 0x1a2, 0x1a3, 0x50, 0x70, 0x1a6, 0x1a7, 0x1a8, 0x1a9, 0x1aa, 0x74, 0x54, 0x74, 0x54, 0x55, 0x75, 0x1b1, 0x56, 0x59, 0x79, 0x5a, 0x7a, 0x1b7, 0x1b8, 0x1b9, 0x1ba, 0x32, 0x1bc, 0x1bd, 0x1be, 0x1bf, 0x1c0, 0x1c1, 0x1c2, 0x1c3, 0x1c4, 0x1c5, 0x1c6, 0x1c7, 0x1c8, 0x1c9, 0x1ca, 0x1cb, 0x1cc, 0x41, 0x61, 0x49, 0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x1dd, 0x41, 0x61, 0x41, 0x61, 0x1e2, 0x1e3, 0x47, 0x67, 0x47, 0x67, 0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x1ee, 0x1ef, 0x6a, 0x1f1, 0x1f2, 0x1f3, 0x47, 0x67, 0x1f6, 0x1f7, 0x4e, 0x6e, 0x41, 0x61, 0x1fc, 0x1fd, 0x4f, 0x6f, 0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65, 0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75, 0x53, 0x73, 0x54, 0x74, 0x21c, 0x21d, 0x48, 0x68, 0x4e, 0x64, 0x222, 0x223, 0x5a, 0x7a, 0x41, 0x61, 0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x59, 0x79, 0x6c, 0x6e, 0x74, 0x6a, 0x238, 0x239, 0x41, 0x43, 0x63, 0x4c, 0x54, 0x73, 0x7a, 0x241, 0x242, 0x42, 0x55, 0x245, 0x45, 0x65, 0x4a, 0x6a, 0x71, 0x71, 0x52, 0x72, 0x59, 0x79 }; /* dd_matchwcs() is a shell to recmatch() to return only Boolean values. */ static int recmatchwcs(wchar_t *pattern, wchar_t *string, int ignore_case, wint_t *CPTable); int dd_matchmbs(const char *string, const char *pattern, int ignore_case, int ignore_diacritics) { static wchar_t wstr_string[WCD_MAXPATH]; static wchar_t wstr_pattern[WCD_MAXPATH]; size_t len1,len2; len1 = MBSTOWCS(wstr_string , string ,(size_t)WCD_MAXPATH); len2 = MBSTOWCS(wstr_pattern, pattern,(size_t)WCD_MAXPATH); if ((len1 == (size_t)(-1)) || (len2 == (size_t)(-1))) return 0; return(dd_matchwcs(wstr_string, wstr_pattern, ignore_case, ignore_diacritics)); } int dd_matchwcs(const wchar_t *string,const wchar_t *pattern,int ignore_case, int ignore_diacritics) { #if (defined(__MSDOS__) && defined(DOSWILD)) wchar_t *dospattern; size_t j = wcslen(pattern); #endif wint_t *CPTable; int result; #ifdef WCD_UNINORM static wchar_t string_buffer[WCD_MAXPATH]; static wchar_t pattern_buffer[WCD_MAXPATH]; size_t lengthp = WCD_MAXPATH; wchar_t *string_normalized; wchar_t *pattern_normalized; # if defined(_WIN32) || defined(__CYGWIN__) /* Normalization. Composition, such that we can ignore diacritics. */ string_normalized = (wchar_t*)u16_normalize (UNINORM_NFKC, (uint16_t*)string, wcslen(string) +1, (uint16_t*)string_buffer, &lengthp); if (string_normalized == NULL) return(0); pattern_normalized = (wchar_t*)u16_normalize (UNINORM_NFKC, (uint16_t*)pattern, wcslen(pattern) +1, (uint16_t*)pattern_buffer, &lengthp); if (pattern_normalized == NULL) return(0); # else string_normalized = (wchar_t*)u32_normalize (UNINORM_NFKC, (uint32_t*)string, wcslen(string) +1, (uint32_t*)string_buffer, &lengthp); if (string_normalized == NULL) return(0); pattern_normalized = (wchar_t*)u32_normalize (UNINORM_NFKC, (uint32_t*)pattern, wcslen(pattern) +1, (uint32_t*)pattern_buffer, &lengthp); if (pattern_normalized == NULL) return(0); # endif #else /* No normalization */ const wchar_t *string_normalized; const wchar_t *pattern_normalized; string_normalized = string; pattern_normalized = pattern; #endif if (ignore_diacritics == 0) CPTable = match_C; else CPTable = match_Unicode; #if (defined(__MSDOS__) && defined(DOSWILD)) /*--------------------------------------------------------------------------- Optional MS-DOS preprocessing section: compare last three chars of the wildcard to "*.*" and translate to "*" if found; else compare the last two characters to "*." and, if found, scan the non-wild string for dots. If in the latter case a dot is found, return failure; else translate the "*." to "*". In either case, continue with the normal (Unix-like) match procedure after translation. (If not enough memory, default to normal match.) This causes "a*.*" and "a*." to behave as MS-DOS users expect. ---------------------------------------------------------------------------*/ if ((dospattern = (wchar_t *)malloc((j+1) * sizeof(wchar_t))) != NULL) { wcscpy(dospattern, pattern_normalized); if (!wcscmp(dospattern+j-3, L"*.*")) { dospattern[j-2] = '\0'; /* nuke the ".*" */ } else if (!wcscmp(dospattern+j-2, L"*.")) { wchar_t *p = wcschr(string_normalized, L'.'); if (p) { /* found a dot: match fails */ free(dospattern); return 0; } dospattern[j-1] = '\0'; /* nuke the end "." */ } result = recmatchwcs((wchar_t *)dospattern, (wchar_t *)string_normalized, ignore_case, CPTable); free(dospattern); #ifdef WCD_UNINORM if (string_normalized != string_buffer) free(string_normalized); if (pattern_normalized != pattern_buffer) free(pattern_normalized); #endif return result == 1; } else #endif /* __MSDOS__ && DOSWILD */ result = recmatchwcs((wchar_t *)pattern_normalized, (wchar_t *)string_normalized, ignore_case, CPTable) == 1; #ifdef WCD_UNINORM if (string_normalized != string_buffer) free(string_normalized); if (pattern_normalized != pattern_buffer) free(pattern_normalized); #endif return(result); } static int recmatchwcs(wchar_t *p,wchar_t *s,int ic, wint_t *CPTable) /* wchar_t *p; sh pattern to match */ /* wchar_t *s; string to which to match it */ /* int ic; true for case insensitivity */ /* Recursively compare the sh pattern p with the string s and return 1 if * they match, and 0 or 2 if they don't or if there is a syntax error in the * pattern. This routine recurses on itself no more deeply than the number * of characters in the pattern. */ { wint_t c; /* pattern char or start of range in [-] loop */ int result; /* Get first character, the pattern for new recmatch calls follows */ c = (wint_t)*p++; /* If that was the end of the pattern, match if string empty too */ if (c == 0) return *s == 0; /* '?' (or '%') matches any character (but not an empty string) */ #ifdef VMS if (c == L'%') /* GRR: make this conditional, too? */ #else /* !VMS */ if (c == L'?') #endif /* ?VMS */ return *s ? recmatchwcs(p, s + 1, ic, CPTable) : 0; /* '*' matches any number of characters, including zero */ #ifdef AMIGA if (c == L'#' && *p == L'?') /* "#?" is Amiga-ese for "*" */ c = L'*', p++; #endif /* AMIGA */ if (c == L'*') { if (*p == 0) return 1; for (; *s; s++) if ((result = recmatchwcs(p, s, ic, CPTable)) != 0) return result; return 2; /* 2 means give up--match will return false */ } #ifndef VMS /* No bracket matching in VMS */ /* Parse and process the list of characters and ranges in brackets */ if (c == L'[') { wint_t e; /* flag true if next char to be taken literally */ wchar_t *q; /* pointer to end of [-] group */ wint_t r; /* flag true to match anything but the range */ if (*s == 0) /* need a character to match */ return 0; p += (r = (*p == L'!' || *p == L'^')); /* see if reverse */ for (q = p, e = 0; *q; q++) /* find closing bracket */ if (e) e = 0; else if (*q == '\\') /* GRR: change to ^ for MS-DOS, OS/2? */ e = 1; else if (*q == L']') break; if (*q != L']') /* nothing matches if bad syntax */ return 0; for (c = 0, e = *p == L'-'; p < q; p++) { /* go through the list */ if (e == 0 && *p == L'\\') /* set escape flag if \ */ e = 1; else if (e == 0 && *p == L'-') /* set start of range if - */ c = (wint_t)*(p-1); else { wint_t cc = Case((wint_t)*s); if (*(p+1) != L'-') for (c = c ? c : (wint_t)*p; c <= (wint_t)*p; c++) /* compare range */ { if ((c < 0x250) && (cc < 0x250)) result = Case(CPTable[c]) == Case(CPTable[cc]); else result = Case(c) == Case(cc); if (result) return r ? 0 : recmatchwcs(q + 1, s + 1, ic, CPTable); } c = e = 0; /* clear range, escape flags */ } } return r ? recmatchwcs(q + 1, s + 1, ic, CPTable) : 0; /* bracket match failed */ } #endif /* !VMS */ /* if escape ('\'), just compare next character */ if (c == '\\' && (c = (wint_t)*p++) == 0) /* if \ at end, then syntax error */ return 0; /* just a character--compare it */ if ((c < 0x250) && (*s < 0x250)) result = Case(CPTable[c]) == Case(CPTable[*s]); else result = Case(c) == Case((wint_t)*s); return result ? recmatchwcs(p, ++s, ic, CPTable) : 0; } /* end function recmatch() */ #ifdef WILD_STAT_BUG /* Turbo/Borland C, Watcom C, VAX C, Atari MiNT libs */ int dd_iswildl(const wchar_t *p) { for (; *p; ++p) if (*p == '\\' && *(p+1)) ++p; #ifdef VMS else if (*p == L'%' || *p == L'*') #else /* !VMS */ #ifdef AMIGA else if (*p == L'?' || *p == L'*' || (*p==L'#' && p[1]==L'?') || *p == L'[') #else /* !AMIGA */ else if (*p == L'?' || *p == L'*' || *p == L'[') #endif /* ?AMIGA */ #endif /* ?VMS */ return 1; return 0; } /* end function dd_iswild() */ #endif /* WILD_STAT_BUG */ #ifdef TEST_MATCH /* replaced gets() with fgets(). gets() can be dangerous, has known to give security problems, because it does not check for bufferoverflow. Erwin Waterlander, Jul 22 1998 */ #define put(s) { fputs(s, stdout); fflush(stdout); } void main(void) { wchar_t pat[256], str[256]; for (;;) { put("Pattern (return to exit): "); fgetws(pat,100,stdin); if (!pat[0]) break; for (;;) { put("String (return for new pattern): "); fgetws(str,100,stdin); if (!str[0]) break; printf("Case sensitive: %s insensitive: %s\n", dd_matchwcs(str, pat, 0) ? "YES" : "NO", dd_matchwcs(str, pat, 1) ? "YES" : "NO"); } } exit(0); } #endif /* TEST_MATCH */ wcd-6.0.3/src/matchw.h0000644000175500010010000000074413524756523014010 0ustar waterlanGeen/* matchw.h Copyright (C) 2011 Erwin Waterlander This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, see the file COPYING. */ #ifndef _WCD_MATCHW_H #define _WCD_MATCHW_H #include int dd_matchmbs(const char *string, const char *pattern, int ignore_case, int ignore_diacritics); int dd_matchwcs(const wchar_t *string, const wchar_t *pattern, int ignore_case, int ignore_diacritics); #endif /* _MATCHW_H */ wcd-6.0.3/src/patch/0000755000175500010010000000000013524756523013446 5ustar waterlanGeenwcd-6.0.3/src/patch/wcd_bool.diff0000644000175500010010000000101313524756523016063 0ustar waterlanGeen--- wcd-3.1.1.orig/c3po/std_macr.h +++ wcd-3.1.1/c3po/std_macr.h @@ -41,8 +41,10 @@ #define EOF -1 /* end of file */ #endif -#define true 1 -#define false 0 +/* Change by KMR to support build on Debian */ +#include +/* #define true 1 */ +/* #define false 0 */ #define expvar /* export variable */ #define expfun /* export function */ wcd-6.0.3/src/po/0000755000175500010010000000000013524756523012765 5ustar waterlanGeenwcd-6.0.3/src/po/da.po0000644000175500010010000010177513524756540013723 0ustar waterlanGeen# Danish translation wcd. # Copyright (C) 2017 Erwin Waterlander (msgids) # This file is distributed under the same license as the wcd package. # Joe Hansen , 2017. # msgid "" msgstr "" "Project-Id-Version: wcd-6.0.0-beta4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-08-18 11:44+0200\n" "PO-Revision-Date: 2017-02-11 22:30+0200\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" #: wcd.c:170 #, c-format msgid "Wcd: error: " msgstr "Wcd: fejl: " #: wcd.c:183 wcd.c:237 wcd.c:257 #, c-format msgid "Unable to read file %s: %s\n" msgstr "Kan ikke læse filen %s: %s\n" #: wcd.c:246 #, c-format msgid "Unable to read file %s: Not a regular file.\n" msgstr "Kan ikke læse filen %s: Ikke en normal fil.\n" #: wcd.c:259 wcd.c:346 #, c-format msgid "Unable to write file %s: %s\n" msgstr "Kan ikke skrive filen %s: %s\n" #: wcd.c:348 #, c-format msgid "Unable to close file %s: %s\n" msgstr "Kan ikke lukke filen %s: %s\n" #: wcd.c:409 wcd.c:414 wfixpath.c:65 #, c-format msgid "Memory allocation error in %s: %s\n" msgstr "Hukommelsesallokeringsfejl i %s: %s\n" #: wcd.c:716 wcd.c:730 #, c-format msgid "%s added to file %s\n" msgstr "%s tilføjet til filen %s\n" #: wcd.c:765 wcd.c:1097 #, c-format msgid "%s is not a directory.\n" msgstr "%s er ikke en mappe.\n" #: wcd.c:770 #, c-format msgid "Please wait. Scanning disk. Building treedata-file %s from %s\n" msgstr "Vent venligst. Skanner disk. Bygger treedata-filen %s fra %s\n" #: wcd.c:832 wcd.c:2223 wcd.c:2246 wcd.c:2326 #, c-format msgid "Writing file \"%s\"\n" msgstr "Skriver filen »%s«\n" #: wcd.c:837 msgid "Write access to tree-file denied.\n" msgstr "Skriveadgang til tree-file nægtet.\n" #: wcd.c:838 msgid "Set TEMP environment variable if this is a read-only disk.\n" msgstr "Angiv TEMP-miljøvaribalen hvis dette er en skrivebeskyttet disk.\n" #: wcd.c:967 #, c-format msgid "Removed symbolic link %s\n" msgstr "Fjernede symbolsk henvisning %s\n" #: wcd.c:971 #, c-format msgid "Unable to remove symbolic link %s: %s\n" msgstr "Kan ikke fjerne symbolsk henvinsing %s: %s\n" #: wcd.c:975 #, c-format msgid "%s is a symbolic link to a file.\n" msgstr "%s er en symbolsk henvisning til en fil.\n" #: wcd.c:1058 #, c-format msgid "Recursively remove %s? Are you sure? y/n :" msgstr "Rekursivt fjern %s? Er du sikker? j/n :" #: wcd.c:1080 wcd.c:1090 #, c-format msgid "Removed directory %s\n" msgstr "Fjernede mappen %s\n" #: wcd.c:1122 wcd.c:1191 wcd.c:1259 #, c-format msgid "line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n" msgstr "linjen er for lang i %s ( > %d). Treefilen kan være ødelagt, ellers ret ved at øge WCD_MAXPATH i kildekoden.\n" #: wcd.c:1123 wcd.c:1192 wcd.c:1260 #, c-format msgid "file: %s, line: %d," msgstr "fil: %s, linje: %d," #: wcd.c:1130 wcd.c:1199 wcd.c:1267 #, c-format msgid " length: %d\n" msgstr " længde: %d\n" #: wcd.c:1768 wcd.c:1837 msgid "Alias file in UTF-16 format is not supported.\n" msgstr "Aliasfil i UTF-16-format er ikke understøttet.\n" #: wcd.c:1937 #, c-format msgid "" "Usage: wcd [options] [directory]\n" "\n" msgstr "" "Brug: wcd [tilvalg] [mappe]\n" "\n" #: wcd.c:1938 #, c-format msgid "directory: Name of directory to change to.\n" msgstr "mappe: Navn på mappe at ændre til.\n" #: wcd.c:1939 #, c-format msgid "" " Wildcards *, ? and [SET] are supported.\n" "\n" msgstr "" " Jokertegn *, ? og [SET] er understøttet.\n" "\n" #: wcd.c:1941 #, c-format msgid "options:\n" msgstr "tilvalg:\n" #: wcd.c:1942 #, c-format msgid " -a Add current path to treefile\n" msgstr " -a Tilføj nuværende sti til treefile\n" #: wcd.c:1943 #, c-format msgid " -aa Add current and all parent paths to treefile\n" msgstr " -aa Tilføj nuværende stier og alle overstier til treefile\n" #: wcd.c:1944 #, c-format msgid " -A PATH Add tree from PATH\n" msgstr " -A STI Tilføj træ fra STI\n" #: wcd.c:1945 #, c-format msgid " -b Ban current path\n" msgstr " -b Placer nuværende sti i karantæne\n" #: wcd.c:1946 #, c-format msgid " -c, --direct-cd direct CD mode\n" msgstr " -c, --direct-cd direct cd-tilstand\n" #: wcd.c:1947 #, c-format msgid " -d DRIVE set DRIVE for stack & go files (DOS)\n" msgstr " -d DRIVE angiv DREV for stack & go-filer (DOS)\n" #: wcd.c:1948 #, c-format msgid " -e add current path to Extra treefile\n" msgstr " -e tilføj nuværende sti til Extra treefile\n" #: wcd.c:1949 #, c-format msgid " -ee add current and all parent paths to Extra treefile\n" msgstr " -ee tilføj nuværende sti og alle overstier til Extra treefile\n" #: wcd.c:1950 #, c-format msgid " -E PATH add tree from PATH to Extra treefile\n" msgstr " -E STI tilføj træ fra STI til Extra treefile\n" #: wcd.c:1951 #, c-format msgid " -f FILE use extra treeFile\n" msgstr " -f FIL brug ekstra treeFile\n" #: wcd.c:1952 #, c-format msgid " +f FILE add extra treeFile\n" msgstr " +f FIL tilføj ekstra treeFile\n" #: wcd.c:1953 #, c-format msgid " -g Graphics\n" msgstr " -g Grafik\n" #: wcd.c:1954 #, c-format msgid " -gd Graphics, dump tree\n" msgstr " -gd Grafik, dump træ\n" #: wcd.c:1955 #, c-format msgid " -G PATH set PATH Go-script\n" msgstr " -G STI angiv STI Go-skript\n" #: wcd.c:1956 #, c-format msgid " -GN, --no-go-script No Go-script\n" msgstr " -GN, --no-go-script Intet Go-skript\n" #: wcd.c:1957 #, c-format msgid " -h, --help show this Help\n" msgstr " -h, --help vis denne hjælpetekst\n" #: wcd.c:1960 #, c-format msgid " -i, --ignore-case Ignore case (default)\n" msgstr " -i, --ignore-case Ignorer store/små bogstaver (standard)\n" #: wcd.c:1961 #, c-format msgid " +i, --no-ignore-case regard case\n" msgstr " +i, --no-ignore-case tag højde for store/små bogstaver\n" #: wcd.c:1963 #, c-format msgid " -i, --ignore-case Ignore case\n" msgstr " -i, --ignore-case Ignorer store/små bogstaver\n" #: wcd.c:1964 #, c-format msgid " +i, --no-ignore-case regard case (default)\n" msgstr " +i, --no-ignore-case tag højde for store/små bogstaver (standard)\n" #: wcd.c:1967 #, c-format msgid " -I, --ignore-diacritics Ignore diacritics\n" msgstr " -I, --ignore-diacritics Ignorer diakritiske tegn\n" #: wcd.c:1968 #, c-format msgid " +I, --no-ignore-diacritics regard diacritics (default)\n" msgstr " +I, --no-ignore-diacritics tag højde for diakritiske tegn (standard)\n" #: wcd.c:1969 #, c-format msgid " -j, --just-go Just go mode\n" msgstr " -j, --just-go Just go-tilstand\n" #: wcd.c:1970 #, c-format msgid " -k, --keep-paths Keep paths\n" msgstr " -k, --keep-paths Bevar stier\n" #: wcd.c:1971 #, c-format msgid " -K, --color colors\n" msgstr " -K, --color farver\n" #: wcd.c:1972 #, c-format msgid " -l ALIAS aLias current directory\n" msgstr " -l ALIAS aLias nuværende mappe\n" #: wcd.c:1973 #, c-format msgid " -ls List the aliases\n" msgstr " -ls Vis aliasserne\n" #: wcd.c:1974 #, c-format msgid " -L, --license show software License\n" msgstr " -L, --license vis programlicens\n" #: wcd.c:1975 #, c-format msgid " -m DIR Make DIR, add to treefile\n" msgstr " -m MAPPE Lav MAPPE, tilføj til treefile\n" #: wcd.c:1976 #, c-format msgid " -M DIR Make DIR, add to extra treefile\n" msgstr " -M MAPPE Lav MAPPE, tilføj til ekstra treefile\n" #: wcd.c:1977 #, c-format msgid " -n PATH use relative treefile in PATH\n" msgstr " -n STI brug relativ treefile i STI\n" #: wcd.c:1978 #, c-format msgid " +n PATH add relative treefile in PATH\n" msgstr " +n STI tilføj relativ treefile i STI\n" #: wcd.c:1979 #, c-format msgid " -N, --numbers use Numbers\n" msgstr " -N, --numbers brug numre\n" #: wcd.c:1980 #, c-format msgid " -o use stdOut\n" msgstr " -o brug standardud\n" #: wcd.c:1981 #, c-format msgid " -od, --to-stdout dump matches\n" msgstr " -od, --to-stdout dump match\n" #: wcd.c:1982 #, c-format msgid " -q, --quiet Quieter operation\n" msgstr " -q, --quiet Roligere operation\n" #: wcd.c:1983 #, c-format msgid " -r DIR Remove DIR\n" msgstr " -r MAPPE Fjern MAPPE\n" #: wcd.c:1984 #, c-format msgid " -rmtree DIR Remove DIR recursive\n" msgstr " -rmtree MAPPE Fjern MAPPE rekursivt\n" #: wcd.c:1985 #, c-format msgid " -s Scan disk from $HOME\n" msgstr " -s Skan disk fra $HOME\n" #: wcd.c:1986 #, c-format msgid " -S PATH Scan disk from PATH\n" msgstr " -S STI Skan disk fra STI\n" #: wcd.c:1987 #, c-format msgid " +S PATH Scan disk from PATH, create relative treefile\n" msgstr " +S STI Skan disk fra STI, opret relativ treefile\n" #: wcd.c:1988 #, c-format msgid " -t don't strip /tmp_mnt from paths\n" msgstr " -t fjern ikke /tmp_mnt fra stier\n" #: wcd.c:1989 #, c-format msgid " -T, --ascii-tree draw tree with ASCII characters\n" msgstr " -T, --ascii-tree tegn træ med ASCII-tegn\n" #: wcd.c:1990 #, c-format msgid " -Ta, --alt-tree-nav Alternative tree navigation\n" msgstr " -Ta, --alt-tree-nav Alternativ trænavigation\n" #: wcd.c:1991 #, c-format msgid " -TC, --center-tree Centered tree view\n" msgstr " -TC, --center-tree Centreret trævisning\n" #: wcd.c:1992 #, c-format msgid " -Tc, --compact-tree Compact tree\n" msgstr " -Tc, --compact-tree Kompakt træ\n" #: wcd.c:1993 #, c-format msgid " -Td, --cjk-width support legacy CJK fonts\n" msgstr " -Td, --cjk-width understøt forældet CJK-skrifttyper\n" #: wcd.c:1994 #, c-format msgid " -u USER use USER's treefile\n" msgstr " -u BRUGER anvend BRUGERs treefile\n" #: wcd.c:1995 #, c-format msgid " +u USER add USER's treefile\n" msgstr " +u BRUGER tilføj BRUGERs treefile\n" #: wcd.c:1996 #, c-format msgid " -v, --verbose Verbose operation\n" msgstr " -v, --verbose Uddybende operation\n" #: wcd.c:1997 #, c-format msgid " -V, --version show Version info\n" msgstr " -V, --version vis versionsinformation\n" #: wcd.c:1998 #, c-format msgid " -w, --wild-match-only Wild matching only\n" msgstr " -w, --wild-match-only Kun jokertegns match\n" #: wcd.c:1999 #, c-format msgid " -x PATH eXclude PATH during disk scan\n" msgstr " -x STI ekskluder STI under diskskanning\n" #: wcd.c:2000 #, c-format msgid " -xf FILE eXclude paths from FILE\n" msgstr " -xf FIL ekskluder stier fra FIL\n" #: wcd.c:2001 #, c-format msgid " -y, --assume-yes assume Yes on all queries\n" msgstr " -y, --assume-yes antag Ja på alle forespørgsler\n" #: wcd.c:2002 #, c-format msgid " -z NUMBER set max stack siZe\n" msgstr " -z NUMMER angiv maks. stakstørrelse\n" #: wcd.c:2003 #, c-format msgid " -[NUMBER] push dir (NUMBER times)\n" msgstr " -[ANTAL] push mappe (ANTAL gange)\n" #: wcd.c:2004 #, c-format msgid " +[NUMBER] pop dir (NUMBER times)\n" msgstr " +[ANTAL] pop mappe (ANTAL gange)\n" #: wcd.c:2005 #, c-format msgid " = show stack\n" msgstr " = vis stak\n" #: wcd.c:2014 wcd.c:2143 #, c-format msgid "wcd %s (%s) - Wherever Change Directory\n" msgstr "wcd %s (%s) - Wherever Change Directory\n" #: wcd.c:2015 #, c-format msgid "" "Chdir for Dos and Unix.\n" "\n" msgstr "" "Chdir for Dos og Unix.\n" "\n" #: wcd.c:2019 #, c-format msgid "DOS 16 bit version (WATCOMC).\n" msgstr "DOS-version 16-bit (WATCOMC).\n" #: wcd.c:2021 #, c-format msgid "DOS 16 bit version (TURBOC).\n" msgstr "DOS-version 16-bit (TURBOC).\n" #: wcd.c:2023 #, c-format msgid "DOS 32 bit version (DJGPP).\n" msgstr "DOS-version 32-bit (DJGPP).\n" #: wcd.c:2025 #, c-format msgid "DOS 32 bit version (WATCOMC).\n" msgstr "DOS-version 32-bit (WATCOMC).\n" #: wcd.c:2032 #, c-format msgid "Win64 version (MSVC %d).\n" msgstr "Win64-version (MSVC %d).\n" #: wcd.c:2034 #, c-format msgid "Win64 version (MinGW-w64).\n" msgstr "Win64-version (MinGW-w64).\n" #: wcd.c:2038 #, c-format msgid "Win32 version (WATCOMC).\n" msgstr "Win32-version (WATCOMC).\n" #: wcd.c:2040 #, c-format msgid "Win32 version (MSVC %d).\n" msgstr "Win32-version (MSVC %d).\n" #: wcd.c:2042 #, c-format msgid "Win32 version (MinGW-w64).\n" msgstr "Win32-version (MinGW-w64).\n" #: wcd.c:2044 #, c-format msgid "Win32 version (MinGW).\n" msgstr "Win32-version (MinGW).\n" #: wcd.c:2051 #, c-format msgid "This version is for MSYS and WinZsh.\n" msgstr "Denne version er for MSYS og WinZsh.\n" #: wcd.c:2053 #, c-format msgid "This version is for Windows PowerShell.\n" msgstr "Denne version er for Windows PowerShell.\n" #: wcd.c:2055 #, c-format msgid "This version is for Windows Command Prompt (cmd.exe).\n" msgstr "Denne version er for Windows Command Prompt (cmd.exe).\n" #: wcd.c:2060 #, c-format msgid "OS/2 version" msgstr "OS2/2-verison" #: wcd.c:2071 #, c-format msgid "This version is for native MSYS.\n" msgstr "Denne version er for MSYS.\n" #: wcd.c:2074 #, c-format msgid "Cygwin version.\n" msgstr "Cygwin-version.\n" #: wcd.c:2077 #, c-format msgid "This version is for DJGPP DOS bash.\n" msgstr "Denne version er for DJGPP DOS bash.\n" #: wcd.c:2080 #, c-format msgid "This version is for OS/2 bash.\n" msgstr "Denne version er for OS/2 bash.\n" #: wcd.c:2083 #, c-format msgid "Interface: " msgstr "Grænseflade: " #: wcd.c:2089 #, c-format msgid "ncurses version %s.%d\n" msgstr "ncurses version %s.%d\n" #: wcd.c:2092 #, c-format msgid "PDCurses build %d\n" msgstr "PDCurses kompilering %d\n" #: wcd.c:2094 #, c-format msgid "curses\n" msgstr "curses\n" #: wcd.c:2103 #, c-format msgid "stdout\n" msgstr "standardud\n" #: wcd.c:2107 #, c-format msgid "Native language support included.\n" msgstr "Standardunderstøttelse for sprog er inkluderet.\n" #: wcd.c:2108 #, c-format msgid "LOCALEDIR=%s\n" msgstr "LOCALEDIR=%s\n" #: wcd.c:2110 #, c-format msgid "No native language support included.\n" msgstr "Ingen standardunderstøttelse for sprog er inkluderet.\n" #: wcd.c:2113 #, c-format msgid "Current locale uses CP%u encoding.\n" msgstr "Nuværende sprog bruger CP%u-kodning.\n" #: wcd.c:2115 #, c-format msgid "Current locale uses %s encoding.\n" msgstr "Nuværende sprog bruger %s-kodning.\n" #: wcd.c:2118 #, c-format msgid "With Unicode support.\n" msgstr "Med Unicodeunderstøttelse.\n" #: wcd.c:2123 #, c-format msgid " Euro symbol: " msgstr " Euro-symbol: " #: wcd.c:2125 #, c-format msgid " Chinese characters: " msgstr " kinesiske tegn: " #: wcd.c:2129 #, c-format msgid "Without Unicode support.\n" msgstr "Uden Unicodeunderstøttelse.\n" #: wcd.c:2132 #, c-format msgid "With Unicode normalization.\n" msgstr "Med Unicodenormalisering.\n" #: wcd.c:2134 #, c-format msgid "Without Unicode normalization.\n" msgstr "Uden Unicodenormalisering.\n" #: wcd.c:2137 #, c-format msgid "Download the latest executables and sources from:\n" msgstr "Hent den seneste kørbare fil og kilder fra:\n" #: wcd.c:2144 #, c-format msgid "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp on C3PO\n" "Copyright (C) 1995-1996 DJ Delorie on _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews on DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel and Igor Mandrichenko on recmatch()\n" msgstr "" "Ophavsret 1996-%d Erwin Waterlander\n" "Ophavsret 1994-2002 Ondrej Popp on C3PO\n" "Ophavsret 1995-1996 DJ Delorie for _fixpath()\n" "Ophavsret 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Ophavsret 1994-1996 Jason Mathews on DOSDIR\n" "Ophavsret 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel og Igor Mandrichenko for recmatch()\n" #: wcd.c:2152 #, c-format msgid "" "Source code to scan Windows LAN was originally written and placed\n" "in the public domain by Felix Kasza.\n" "Markus Kuhn's free wcwidth() and wcswidth() implementations are used.\n" "Rugxulo is the original author of query_con_codepage() (public domain).\n" "\n" msgstr "" "Kildekode til at skanne Windows LAN blev oprindelig skrevet og\n" "placeret i offentlig ejendom af Felix Kasza.\n" "Markus Kuhns frie wcwidth()- og wcswidth()-implementeringer anvendes.\n" "Rugxulo er den oprindelige forfatter af query_con_codepage()\n" "(offentlige ejendom).\n" "\n" #: wcd.c:2158 #, c-format msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" "\n" msgstr "" "Dette er et frit program; du kan videredistribuere det og/eller\n" "ændre det under betingelserne i GNU General Public License\n" "som udgivet af Free Software Foundation; enten version 2\n" "af licensen, eller (efter dit valg) enhver senere version.\n" "\n" #: wcd.c:2164 #, c-format msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Dette program distribueres med håb om, at det vil være nyttigt,\n" "men UDEN NOGEN FORM FOR GARANTI; også uden den underforståede\n" "garanti for SALGBARHED eller EGNETHED FOR ET BESTEMT FORMÅL. Se\n" "GNU General Public License for yderligere detaljer.\n" "\n" #: wcd.c:2170 #, c-format msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" msgstr "" "Du skal have modtaget en kopi af GNU General Public License\n" "sammen med dette program; hvis ikke, så skriv til Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n" "MA 02110-1301 USA.\n" #: wcd.c:2203 #, c-format msgid "creating directory %s\n" msgstr "opretter mappe %s\n" #: wcd.c:2535 wcd.c:2575 wcd.c:2590 wcd.c:2658 wcd.c:2727 wcd.c:3229 wcd.c:3248 #, c-format msgid "Value of environment variable %s is too long.\n" msgstr "Værdien for miljøvariablen %s er for lang.\n" #: wcd.c:2564 #, c-format msgid "Failed to unset environment variable TERM: %s\n" msgstr "Kunne ikke frakoble miljøvariablen TERM: %s\n" #: wcd.c:2622 wcd.c:2651 msgid "Environment variable HOME or WCDHOME is not set.\n" msgstr "Miljøvariablen HOME eller WCDHOME er ikke angivet.\n" #: wcd.c:2834 #, c-format msgid "aliasfile: %s\n" msgstr "aliasfil: %s\n" #: wcd.c:2848 msgid "HOME is not defined\n" msgstr "HOME er ikke defineret\n" #: wcd.c:2852 msgid "WCDHOME is not defined\n" msgstr "WCDHOME er ikke defineret\n" #: wcd.c:2856 msgid "WCDSCAN is not defined\n" msgstr "WCDSCAN er ikke defineret\n" #: wcd.c:2881 msgid "Graphics mode only supported in wcd with curses-based interface.\n" msgstr "Grafiktilstand er kun understøttet i wcd med curses-baseret grænseflade.\n" #: wcd.c:3162 #, c-format msgid "%s added to aliasfile %s\n" msgstr "%s tilføjet til aliasfilen %s\n" #: wcd.c:3261 #, c-format msgid "Unable to read file %s or %s\n" msgstr "Kunne ikke læse filen %s eller %s\n" #: wcd.c:3411 #, c-format msgid "WCDSCAN directory {%s}\n" msgstr "WCDSCAN-mappe {%s}\n" #: wcd.c:3413 #, c-format msgid "banning {%s}\n" msgstr "placerer i karantæne {%s}\n" #: wcd.c:3415 #, c-format msgid "excluding {%s}\n" msgstr "ekskluderer {%s}\n" #: wcd.c:3417 #, c-format msgid "filtering {%s}\n" msgstr "filtrerer {%s}\n" #: wcd.c:3677 #, c-format msgid "No directory found matching %s\n" msgstr "Der blev ikke fundet en mappe, der matcher %s\n" #: wcd.c:3678 msgid "Perhaps you need to rescan the disk or path is banned.\n" msgstr "Måske skal du skanne disken igen eller stien er måske placeret i karantæne.\n" #: wcd.c:3807 #, c-format msgid "Cannot change to %s\n" msgstr "Kan ikke ændre til %s\n" #: wcddir.c:109 #, c-format msgid "%lu (\"%s\") reported by \"%s\".\n" msgstr "%lu (»%s«) rapporteret af »%s«.\n" #: wcddir.c:131 msgid "access denied.\n" msgstr "adgang nægtet.\n" #: wcddir.c:206 #, c-format msgid "Searching for shared directories on server %s\n" msgstr "Søger efter delte mapper på serveren %s\n" #: wcddir.c:218 #, c-format msgid "Found %lu shared directories on server %s\n" msgstr "Fandt %lu delte mapper på serveren %s\n" #: wcddir.c:335 msgid "Unable to get current working directory: " msgstr "Kunne ikke indhente nuværende arbejdsmappe: " #: wcddir.c:362 #, c-format msgid "Unable to change to directory %s: " msgstr "Kunne ikke ændre til mappen %s: " #: wcddir.c:392 #, c-format msgid "Unable to create directory %s: " msgstr "Kunne ikke oprette mappen %s: " #: wcddir.c:420 #, c-format msgid "Unable to remove directory %s: " msgstr "Kunne ikke fjerne mappen %s: " #: wcddir.c:543 wcddir.c:554 #, c-format msgid "Unable to create directory %s: %s\n" msgstr "Kunne ikke oprette mappen %s: %s\n" #: wcddir.c:660 #, c-format msgid "Unable to get current working directory: %s\n" msgstr "Kunne ikke indhente nuværende arbejdsmappe: %s\n" #: wcddir.c:674 #, c-format msgid "Unable to change to directory %s: %s\n" msgstr "Kunne ikke ændre til mappen %s: %s\n" #: wcddir.c:683 #, c-format msgid "Unable to remove directory %s: %s\n" msgstr "Kunne ikke fjerne mappen %s: %s\n" #: stack.c:101 msgid "Error parsing stack\n" msgstr "Der opstod en fejl under fortolkning af stak\n" #: display.c:263 msgid "internal error in maxLength(), list == NULL\n" msgstr "intern fejl i maxLength(), liste == NUL\n" #: display.c:284 msgid "internal error in maxLengthStack(), s == NULL\n" msgstr "intern fejl i maxLengthStack(), s == NUL\n" #: display.c:524 display.c:1150 display.c:1538 #, c-format msgid "Perfect match for %d directories." msgstr "Perfekt match for %d mapper." #: display.c:526 display.c:1152 display.c:1540 #, c-format msgid "Wild match for %d directories." msgstr "Jokertegnsmatch for %d mapper." #: display.c:530 display.c:1164 display.c:1542 display.c:1585 #, c-format msgid "Please choose one ( to abort): " msgstr "Vælg venligst en ( for at afbryde): " #: display.c:532 display.c:608 display.c:640 display.c:1157 #, c-format msgid " w=up x=down ?=help Page %d/%d " msgstr " w=op x=ned ?=hjælp Side %d/%d " #: display.c:684 display.c:1180 msgid "Screenheight must be > 20 for help." msgstr "Skærmhøjde skal være > 20 for hjælp." #: display.c:689 display.c:1183 msgid "w or page up" msgstr "w eller side op" #: display.c:690 display.c:1184 msgid "x or z or page down" msgstr "x eller z eller side ned" #: display.c:691 display.c:1185 msgid ", or scroll 1 left" msgstr ", eller rul 1 mod venstre" #: display.c:692 display.c:1186 msgid ". or scroll 1 right" msgstr ". eller rul 1 mod højre" #: display.c:693 display.c:1187 msgid "< or [ scroll 10 left" msgstr "< eller [ rul 10 mod venstre" #: display.c:694 display.c:1188 msgid "> or ] scroll 10 right" msgstr "> eller ] rul 10 mod højre" #: display.c:695 display.c:1189 msgid "CTRL-a or scroll to beginning" msgstr "CTRL-a eller rul til begyndelsen" #: display.c:696 display.c:1190 msgid "CTRL-e or scroll to end" msgstr "CTRL-e eller rul til slutningen" #: display.c:697 display.c:1192 msgid "CTRL-c or abort" msgstr "CTRL-c eller afbryd" #: display.c:698 display.c:1193 msgid " abort" msgstr " afbryd" #: display.c:699 msgid "Type w or x to quit help." msgstr "Tast w eller x for at afslutte hjælpeteksten." #: display.c:1191 graphics.c:1994 msgid "CTRL-l or F5 redraw screen" msgstr "CTRL-l eller F5 gentegn skærm" #: display.c:1194 graphics.c:1979 graphics.c:1996 graphics.c:2019 #: graphics.c:2036 msgid "Press any key." msgstr "Tryk på en tast." #: display.c:1256 graphics.c:2289 msgid "Error opening terminal, falling back to stdout interface.\n" msgstr "Der opstod en fejl under åbning af skærm, anvender standardudgrænsefladen.\n" #: display.c:1277 msgid "screen height must be larger than 3 lines.\n" msgstr "skærmhøjde skal være større end 3 linjer.\n" #: display.c:1318 graphics.c:2314 msgid "error creating scroll window.\n" msgstr "der opstod en fejl under oprettelse af rullevinduet.\n" #: display.c:1334 graphics.c:2330 msgid "error creating input window.\n" msgstr "der opstod en fejl under oprettelse af inddatavinduet.\n" #: graphics.c:290 #, c-format msgid "Wcd: error: path too long" msgstr "Wcd: fejl: stien er for lang" #: graphics.c:1940 msgid "/ = search forward, ? = search backward, : = help" msgstr "/ = søg fremad, ? = søg baglæns, : = hjælp" #: graphics.c:1945 msgid "SEARCH: " msgstr "SØG: " #: graphics.c:1948 msgid "Search: " msgstr "Søg: " #: graphics.c:1964 msgid "NAVIGATION MODE (1/2):" msgstr "NAVIGATIONSTILSTAND (1/2):" #: graphics.c:1965 msgid "h or go left" msgstr "h eller gå mod venstre" #: graphics.c:1966 msgid "j or go down" msgstr "j eller gå nedad" #: graphics.c:1967 msgid "k or go up" msgstr "k elle gå op" #: graphics.c:1968 msgid "l or go right" msgstr "l eller gå mod højre" #: graphics.c:1969 msgid "* or v or go forward to dir with same name" msgstr "* eller v eller gå fremad til mappen med det samme navn" #: graphics.c:1970 msgid "# or p or go backward to dir with same name" msgstr "# eller p eller gå tilbage til mappen med det samme navn" #: graphics.c:1971 msgid "^ or a go to beginning of line" msgstr "^ eller a gå til linjens begyndelse" #: graphics.c:1972 msgid "$ or e go to end of line" msgstr "$ eller e gå til linjens slutning" #: graphics.c:1973 msgid "1 go to root dir" msgstr "1 gå til rodmappen" #: graphics.c:1974 msgid "g or G go to last dir" msgstr "g eller G gå til sidste mappe" #: graphics.c:1975 msgid "f go page forward" msgstr "f gå en side frem" #: graphics.c:1976 msgid "b go page backward" msgstr "b gå en side baglæns" #: graphics.c:1977 msgid "u go half page up" msgstr "u gå en halv side op" #: graphics.c:1978 msgid "d go half page down" msgstr "d gå en halv side ned" #: graphics.c:1985 msgid "NAVIGATION MODE (2/2):" msgstr "NAVIGATIONSTILSTAND (2/2):" #: graphics.c:1986 msgid "A switch alternative tree navigation on/off" msgstr "A aktiver/deaktiver alternativ trænavigation" #: graphics.c:1987 msgid "t switch centered mode on/off" msgstr "t aktiver/deaktiver centreret tilstand" #: graphics.c:1988 msgid "T toggle between line drawing and ASCII characters" msgstr "T skift mellem linjetegning og ASCII-tegn" #: graphics.c:1989 msgid "m toggle between compact and wide tree" msgstr "m skift mellem kompakt og bredt træ" #: graphics.c:1990 msgid " or q abort" msgstr " eller q afbryd" #: graphics.c:1991 msgid "/ search forward" msgstr "/ søg fremad" #: graphics.c:1992 msgid "? search backward" msgstr "? søg baglæns" #: graphics.c:1993 msgid "n repeat last / or ? search" msgstr "n gentag sidste søgning / eller ?-søgning" #: graphics.c:1995 graphics.c:2018 msgid " select directory" msgstr " vælg mappe" #: graphics.c:2002 msgid "SEARCH MODE with wildcard and subdir support:" msgstr "SØGETILSTAND med understøttelse af jokertegn og undermappe:" #: graphics.c:2003 msgid " go left" msgstr " gå mod venstre" #: graphics.c:2004 msgid " go down" msgstr " gå ned" #: graphics.c:2005 msgid " go up" msgstr " gå op" #: graphics.c:2006 msgid " go right" msgstr " gå mod højre" #: graphics.c:2007 msgid "CTRL-v go forward to dir with same name" msgstr "CTRL-v gå fremad til mappen med samme navn" #: graphics.c:2008 msgid "CTRL-p go backward to dir with same name" msgstr "CTRL-p gå baglæns til mappen med samme navn" #: graphics.c:2009 msgid "CTRL-a go to beginning of line" msgstr "CTRL-a gå til begyndelsen af linjen" #: graphics.c:2010 msgid "CTRL-e go to end of line" msgstr "CTRL-e gå til slutningen af linjen" #: graphics.c:2011 msgid "CTRL-g go to last dir" msgstr "CTRL-g gå til sidste mappe" #: graphics.c:2012 msgid "CTRL-f go page forward" msgstr "CTRL-f gå 1 side frem" #: graphics.c:2013 msgid "CTRL-b go page backward" msgstr "CTRL-b gå 1 side baglæns" #: graphics.c:2014 msgid "CTRL-u go half page up" msgstr "CTRL-u gå en halv side op" #: graphics.c:2015 msgid "CTRL-d go half page down" msgstr "CTRL-d gå en halv side ned" #: graphics.c:2016 msgid " or CTRL-x abort SEARCH MODE" msgstr " eller CTRL-x afbryd SØGETILSTAND" #: graphics.c:2017 msgid "CTRL-n repeat last / or ? search" msgstr "CTRL-n gentag sidste søgning eller ?-søgning" #: graphics.c:2025 msgid "ZOOMING:" msgstr "ZOOM:" #: graphics.c:2026 msgid "z or i or CTRL-i zoom in" msgstr "z eller i eller CTRL-i zoom ind" #: graphics.c:2027 msgid "Z or o or CTRL-o zoom out" msgstr "Z eller o eller CTRL-o zoom ud" #: graphics.c:2028 msgid "c condense: fold current level" msgstr "c kondensere: fold nuværende niveau" #: graphics.c:2029 msgid "C condense: fold subdir level" msgstr "C kondensere: fold undermappeniveau" #: graphics.c:2030 msgid "w condense: fold current and subdir levels" msgstr "" "w kondensere: fold nuværende niveau og\n" " undermappeniveauer" #: graphics.c:2031 msgid "y or CTRL-y uncondense: unfold current and subdir levels" msgstr "" "y eller CTRL-y afkondensere: fold nuværende niveau og og\n" " undermappeniveauer ud" #: graphics.c:2032 msgid "r or CTRL-r uncondense: unfold all directories" msgstr "r eller CTRL-r afkondensere: fold alle mapper ud" #: graphics.c:2033 msgid "- fold directory" msgstr "- fold mappe" #: graphics.c:2034 msgid "+ or = unfold directory" msgstr "+ eller = fold mappe ud" #: graphics.c:2035 msgid "l or unfold and go right" msgstr "l eller fold ud og gå mod højre" #: graphics.c:2039 msgid "Screenheight must be > 21 for help." msgstr "Skærmhøjde skal være > 21 for hjælp." #: graphics.c:2271 graphics.c:2757 #, c-format msgid "Cannot find the current path %s in the directory tree.\n" msgstr "Kan ikke finde den nuværende sti %s i mappetræet.\n" #: finddirs.c:241 finddirs.c:249 finddirs.c:273 finddirs.c:300 finddirs.c:314 #, c-format msgid "Unable to remove file %s: %s\n" msgstr "Kan ikke fjerne filen %s: %s\n" #: finddirs.c:322 finddirs.c:486 #, c-format msgid "Unable to close directory %s: %s\n" msgstr "Kan ikke lukke mappen %s: %s\n" #: finddirs.c:365 #, c-format msgid "finddirs(): can't determine path in directory %s\n" msgstr "finddirs(): kan ikke bestemme sti i mappen %s\n" #: finddirs.c:366 msgid "path probably too long.\n" msgstr "sti er sandsynligvis for lang.\n" #: c3po/Error.c:41 #, c-format msgid "in '%s', insufficient memory for allocation\n" msgstr "i »%s«, utilstrækkelig hukommelse for allokering\n" wcd-6.0.3/src/po/de.po0000644000175500010010000010574313524756537013734 0ustar waterlanGeen# Deutsche Meldungen für WCD. # Copyright 2010-2013 Erwin Waterlander (msgids). # This file is distributed under the same license as the wcd package. # # Lars Wendler 2013. # Philipp Thomas , 2010-2012, 2014, 2016. # Mario Blättermann , 2014, 2019. # msgid "" msgstr "" "Project-Id-Version: wcd 6.0.3-beta6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-01-10 23:45+0100\n" "PO-Revision-Date: 2019-02-10 13:23+0100\n" "Last-Translator: Mario Blättermann \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "X-Generator: Lokalize 18.12.2\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" #: wcd.c:170 #, c-format msgid "Wcd: error: " msgstr "Wcd: Fehler: " #: wcd.c:183 wcd.c:237 wcd.c:257 #, c-format msgid "Unable to read file %s: %s\n" msgstr "Die Datei %s konnte nicht gelesen werden: %s\n" #: wcd.c:246 #, c-format msgid "Unable to read file %s: Not a regular file.\n" msgstr "Die Datei %s konnte nicht gelesen werden: Keine normale Datei.\n" #: wcd.c:259 wcd.c:346 #, c-format msgid "Unable to write file %s: %s\n" msgstr "Die Datei %s konnte nicht geschrieben werden: %s\n" #: wcd.c:348 #, c-format msgid "Unable to close file %s: %s\n" msgstr "Die Datei %s konnte nicht geschlossen werden: %s\n" #: wcd.c:409 wcd.c:414 wfixpath.c:65 #, c-format msgid "Memory allocation error in %s: %s\n" msgstr "Fehler beim Anfordern von Hauptspeicher in %s: %s\n" #: wcd.c:716 wcd.c:730 #, c-format msgid "%s added to file %s\n" msgstr "%s wurde zu Datei %s hinzugefügt\n" #: wcd.c:765 wcd.c:1097 #, c-format msgid "%s is not a directory.\n" msgstr "%s ist kein Verzeichnis.\n" #: wcd.c:770 #, c-format msgid "Please wait. Scanning disk. Building treedata-file %s from %s\n" msgstr "Bitte warten Sie. Das Laufwerk wird durchsucht und aus %2$s die Datei mit den Dateibaumdaten %1$s erstellt.\n" #: wcd.c:832 wcd.c:2223 wcd.c:2246 wcd.c:2326 #, c-format msgid "Writing file \"%s\"\n" msgstr "Datei »%s« wird geschrieben\n" #: wcd.c:837 msgid "Write access to tree-file denied.\n" msgstr "Der Schreibzugriff auf die Dateibaum-Datei wurde verweigert.\n" #: wcd.c:838 msgid "Set TEMP environment variable if this is a read-only disk.\n" msgstr "Setzen Sie bitte die Umgebungsvariable TEMP, wenn dies ein nur lesbares Laufwerk ist.\n" #: wcd.c:967 #, c-format msgid "Removed symbolic link %s\n" msgstr "Die symbolische Verknüpfung %s wurde entfernt.\n" #: wcd.c:971 #, c-format msgid "Unable to remove symbolic link %s: %s\n" msgstr "Das Löschen der symbolischen Verknüpfung %s wurde verweigert: %s\n" #: wcd.c:975 #, c-format msgid "%s is a symbolic link to a file.\n" msgstr "%s ist eine symbolische Verknüpfung mit einer Datei.\n" #: wcd.c:1058 #, c-format msgid "Recursively remove %s? Are you sure? y/n :" msgstr "Rekursives Löschen von %s? Sind Sie sicher? y(ja)/n(nein) :" #: wcd.c:1080 wcd.c:1090 #, c-format msgid "Removed directory %s\n" msgstr "Verzeichnis %s wurde entfernt\n" #: wcd.c:1122 wcd.c:1191 wcd.c:1259 #, c-format msgid "line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n" msgstr "Die Zeile ist zu lang in %s ( > %d). Die Baumdatei könnte beschädigt sein, ansonsten erhöhen Sie WCD_MAXPATH im Quellcode.\n" #: wcd.c:1123 wcd.c:1192 wcd.c:1260 #, c-format msgid "file: %s, line: %d," msgstr "Datei: %s, Zeile: %d," #: wcd.c:1130 wcd.c:1199 wcd.c:1267 #, c-format msgid " length: %d\n" msgstr " Länge: %d\n" #: wcd.c:1768 wcd.c:1837 msgid "Alias file in UTF-16 format is not supported.\n" msgstr "Alias-Dateien in UTF-16 werden nicht unterstützt.\n" #: wcd.c:1937 #, c-format msgid "" "Usage: wcd [options] [directory]\n" "\n" msgstr "" "Aufruf: wcd [Optionen] [Verzeichnis]\n" "\n" #: wcd.c:1938 #, c-format msgid "directory: Name of directory to change to.\n" msgstr "Verzeichnis: Name des Verzeichnisses, in welches gewechselt werden soll.\n" #: wcd.c:1939 #, c-format msgid "" " Wildcards *, ? and [SET] are supported.\n" "\n" msgstr "" " Die Platzhalter *, ? und [SET] werden unterstützt.\n" "\n" #: wcd.c:1941 #, c-format msgid "options:\n" msgstr "Optionen:\n" #: wcd.c:1942 #, c-format msgid " -a Add current path to treefile\n" msgstr " -a Aktuellen Pfad zur Baumdatei hinzufügen\n" #: wcd.c:1943 #, c-format msgid " -aa Add current and all parent paths to treefile\n" msgstr "" " -aa Aktuellen und alle darüber liegenden Pfade zur\n" " Baumdatei hinzufügen\n" #: wcd.c:1944 #, c-format msgid " -A PATH Add tree from PATH\n" msgstr " -A PFAD Dateibaum von PFAD hinzufügen\n" #: wcd.c:1945 #, c-format msgid " -b Ban current path\n" msgstr " -b Aktuellen Pfad bannen\n" #: wcd.c:1946 #, c-format msgid " -c, --direct-cd direct CD mode\n" msgstr " -c, --direct-cd Direkter CD-Modus\n" #: wcd.c:1947 #, c-format msgid " -d DRIVE set DRIVE for stack & go files (DOS)\n" msgstr "" " -d LAUFWERK Setzt LAUFWERK für den Stapel und wechselt zu den\n" " Dateien (DOS)\n" #: wcd.c:1948 #, c-format msgid " -e add current path to Extra treefile\n" msgstr " -e Aktuellen Pfad zu zusätzlicher Baumdatei hinzufügen\n" #: wcd.c:1949 #, c-format msgid " -ee add current and all parent paths to Extra treefile\n" msgstr "" " -ee Aktuellen und alle darüber liegenden Pfade zu\n" " zusätzlicher Baumdatei hinzufügen\n" #: wcd.c:1950 #, c-format msgid " -E PATH add tree from PATH to Extra treefile\n" msgstr " -E PFAD Dateibaum von PFAD zu zusätzlicher Baumdatei hinzufügen\n" #: wcd.c:1951 #, c-format msgid " -f FILE use extra treeFile\n" msgstr " -f DATEI Extra Baumdatei verwenden\n" #: wcd.c:1952 #, c-format msgid " +f FILE add extra treeFile\n" msgstr " +f DATEI Extra Baumdatei hinzufügen\n" #: wcd.c:1953 #, c-format msgid " -g Graphics\n" msgstr " -g Grafik\n" #: wcd.c:1954 #, c-format msgid " -gd Graphics, dump tree\n" msgstr " -gd Grafik, Dateibaum ausgeben\n" #: wcd.c:1955 #, c-format msgid " -G PATH set PATH Go-script\n" msgstr " -G PFAD setzt PFAD zu Go-Skript\n" #: wcd.c:1956 #, c-format msgid " -GN, --no-go-script No Go-script\n" msgstr " -GN, --no-go-script Kein Go-Skript\n" #: wcd.c:1957 #, c-format msgid " -h, --help show this Help\n" msgstr " -h, --help Diese Hilfe anzeigen\n" #: wcd.c:1960 #, c-format msgid " -i, --ignore-case Ignore case (default)\n" msgstr " -i, --ignore-case Groß-/Kleinschreibung ignorieren (Standardeinstellung)\n" #: wcd.c:1961 #, c-format msgid " +i, --no-ignore-case regard case\n" msgstr " +i, --no-ignore-case Groß-/Kleinschreibung beachten\n" #: wcd.c:1963 #, c-format msgid " -i, --ignore-case Ignore case\n" msgstr " -i, --ignore-case Groß-/Kleinschreibung ignorieren\n" #: wcd.c:1964 #, c-format msgid " +i, --no-ignore-case regard case (default)\n" msgstr " +i, --no-ignore-case Groß-/Kleinschreibung beachten (Standardeinstellung)\n" #: wcd.c:1967 #, c-format msgid " -I, --ignore-diacritics Ignore diacritics\n" msgstr " -I, --ignore-diacritics Diakritische Zeichen ignorieren\n" #: wcd.c:1968 #, c-format msgid " +I, --no-ignore-diacritics regard diacritics (default)\n" msgstr " +I, --no-ignore-diacritics Diakritische Zeichen nicht ignorieren (Standardeinstellung)\n" #: wcd.c:1969 #, c-format msgid " -j, --just-go Just go mode\n" msgstr " -j, --just-go Geh-einfach Modus\n" #: wcd.c:1970 #, c-format msgid " -k, --keep-paths Keep paths\n" msgstr " -k, --keep-paths Pfade behalten\n" #: wcd.c:1971 #, c-format msgid " -K, --color colors\n" msgstr " -K, --color Farben\n" #: wcd.c:1972 #, c-format msgid " -l ALIAS aLias current directory\n" msgstr " -l ALIAS ALIAS für aktuelles Verzeichnis anlegen\n" #: wcd.c:1973 #, c-format msgid " -ls List the aliases\n" msgstr " -ls Aliase auflisten\n" #: wcd.c:1974 #, c-format msgid " -L, --license show software License\n" msgstr " -L, --license Software-Lizenz ausgeben\n" #: wcd.c:1975 #, c-format msgid " -m DIR Make DIR, add to treefile\n" msgstr " -m VERZ. VERZEICHNIS erstellen und zu Baumdatei hinzufügen\n" #: wcd.c:1976 #, c-format msgid " -M DIR Make DIR, add to extra treefile\n" msgstr " -M VERZ. VERZEICHNIS erstellen und zu Extra-Baumdatei hinzufügen\n" #: wcd.c:1977 #, c-format msgid " -n PATH use relative treefile in PATH\n" msgstr " -n PFAD Relative Baumdatei in PFAD verwenden\n" #: wcd.c:1978 #, c-format msgid " +n PATH add relative treefile in PATH\n" msgstr " +n PFAD Relative Baumdatei in PFAD hinzufügen\n" #: wcd.c:1979 #, c-format msgid " -N, --numbers use Numbers\n" msgstr " -N, --numbers Zahlen verwenden\n" #: wcd.c:1980 #, c-format msgid " -o use stdOut\n" msgstr " -o Standardausgabe verwenden\n" #: wcd.c:1981 #, c-format msgid " -od, --to-stdout dump matches\n" msgstr " -od, --to-stdout Übereinstimmungen ausgeben\n" #: wcd.c:1982 #, c-format msgid " -q, --quiet Quieter operation\n" msgstr " -q, --quiet Weniger Ausgaben\n" #: wcd.c:1983 #, c-format msgid " -r DIR Remove DIR\n" msgstr " -r VERZ. VERZEICHNIS entfernen\n" #: wcd.c:1984 #, c-format msgid " -rmtree DIR Remove DIR recursive\n" msgstr " -rmtree VERZ. VERZEICHNIS rekursiv entfernen\n" #: wcd.c:1985 #, c-format msgid " -s Scan disk from $HOME\n" msgstr " -s Platte ab $HOME durchsuchen\n" #: wcd.c:1986 #, c-format msgid " -S PATH Scan disk from PATH\n" msgstr " -S PFAD Platte ab PFAD durchsuchen\n" #: wcd.c:1987 #, c-format msgid " +S PATH Scan disk from PATH, create relative treefile\n" msgstr " +S PFAD Platte ab PFAD durchsuchen, relative Baumdatei erzeugen\n" #: wcd.c:1988 #, c-format msgid " -t don't strip /tmp_mnt from paths\n" msgstr " -t /tmp_mnt nicht vom Pfadnamen entfernen\n" #: wcd.c:1989 #, c-format msgid " -T, --ascii-tree draw tree with ASCII characters\n" msgstr " -T, --ascii-tree Den Baum mit ASCII-Zeichen zeichnen\n" #: wcd.c:1990 #, c-format msgid " -Ta, --alt-tree-nav Alternative tree navigation\n" msgstr " -Ta, --alt-tree-nav Alternative Baumnavigation\n" #: wcd.c:1991 #, c-format msgid " -TC, --center-tree Centered tree view\n" msgstr " -TC, --center-tree Zentrierte Baumansicht\n" #: wcd.c:1992 #, c-format msgid " -Tc, --compact-tree Compact tree\n" msgstr " -Tc, --compact-tree Baum kompakter machen\n" #: wcd.c:1993 #, c-format msgid " -Td, --cjk-width support legacy CJK fonts\n" msgstr " -Td, --cjk-width Veraltete CJK-Schriften unterstützen\n" #: wcd.c:1994 #, c-format msgid " -u USER use USER's treefile\n" msgstr " -u BENUTZER Baumdatei von BENUTZER verwenden\n" #: wcd.c:1995 #, c-format msgid " +u USER add USER's treefile\n" msgstr " +u BENUTZER Baumdatei von BENUTZER hinzufügen\n" #: wcd.c:1996 #, c-format msgid " -v, --verbose Verbose operation\n" msgstr " -v, --verbose Ausführliche Ausgaben\n" #: wcd.c:1997 #, c-format msgid " -V, --version show Version info\n" msgstr " -V, --version Programmversion ausgeben\n" #: wcd.c:1998 #, c-format msgid " -w, --wild-match-only Wild matching only\n" msgstr " -w, --wild-match-only Nur Übereinstimmung von Platzhaltern\n" #: wcd.c:1999 #, c-format msgid " -x PATH eXclude PATH during disk scan\n" msgstr " -x PFAD PFAD beim Durchsuchen der Platte ignorieren\n" #: wcd.c:2000 #, c-format msgid " -xf FILE eXclude paths from FILE\n" msgstr " -xf DATEI Die Pfade aus DATEI ignorieren\n" #: wcd.c:2001 #, c-format msgid " -y, --assume-yes assume Yes on all queries\n" msgstr " -y, --assume-yes »ja« bei allen Anfragen voraussetzen\n" #: wcd.c:2002 #, c-format msgid " -z NUMBER set max stack siZe\n" msgstr " -z ZAHL Maximale Größe des Stapels festlegen\n" #: wcd.c:2003 #, c-format msgid " -[NUMBER] push dir (NUMBER times)\n" msgstr " -[ZAHL] Verzeichnis auf Stapel legen (ZAHL mal)\n" #: wcd.c:2004 #, c-format msgid " +[NUMBER] pop dir (NUMBER times)\n" msgstr " +[ZAHL] Verzeichnis vom Stapel nehmen (ZAHL mal)\n" #: wcd.c:2005 #, c-format msgid " = show stack\n" msgstr " = Verzeichnisstapel anzeigen\n" #: wcd.c:2014 wcd.c:2143 #, c-format msgid "wcd %s (%s) - Wherever Change Directory\n" msgstr "wcd %s (%s) - Wherever Change Directory\n" #: wcd.c:2015 #, c-format msgid "" "Chdir for Dos and Unix.\n" "\n" msgstr "" "Chdir für Dos und Unix.\n" "\n" #: wcd.c:2019 #, c-format msgid "DOS 16 bit version (WATCOMC).\n" msgstr "DOS 16-Bit-Version (WATCOMC).\n" #: wcd.c:2021 #, c-format msgid "DOS 16 bit version (TURBOC).\n" msgstr "DOS 16-Bit-Version (TURBOC).\n" #: wcd.c:2023 #, c-format msgid "DOS 32 bit version (DJGPP).\n" msgstr "DOS 32-Bit-Version (DJGPP).\n" #: wcd.c:2025 #, c-format msgid "DOS 32 bit version (WATCOMC).\n" msgstr "DOS 32-Bit-Version (WATCOMC).\n" #: wcd.c:2032 #, c-format msgid "Win64 version (MSVC %d).\n" msgstr "Win64-Version (MSVC %d).\n" #: wcd.c:2034 #, c-format msgid "Win64 version (MinGW-w64).\n" msgstr "Win64-Version (MinGW-w64).\n" #: wcd.c:2038 #, c-format msgid "Win32 version (WATCOMC).\n" msgstr "Win32-Version (WATCOMC).\n" #: wcd.c:2040 #, c-format msgid "Win32 version (MSVC %d).\n" msgstr "Win32-Version (MSVC %d).\n" #: wcd.c:2042 #, c-format msgid "Win32 version (MinGW-w64).\n" msgstr "Win32-Version (MinGW-w64).\n" #: wcd.c:2044 #, c-format msgid "Win32 version (MinGW).\n" msgstr "Win32-Version (MinGW).\n" #: wcd.c:2051 #, c-format msgid "This version is for MSYS and WinZsh.\n" msgstr "Dies ist die Version für MSYS und WinZSH.\n" #: wcd.c:2053 #, c-format msgid "This version is for Windows PowerShell.\n" msgstr "Dies ist die Version für die Windows PowerShell.\n" #: wcd.c:2055 #, c-format msgid "This version is for Windows Command Prompt (cmd.exe).\n" msgstr "Diese Version ist für die Windows Eingabeaufforderung (cmd.exe).\n" #: wcd.c:2060 #, c-format msgid "OS/2 version" msgstr "OS/2-Version" #: wcd.c:2071 #, c-format msgid "This version is for native MSYS.\n" msgstr "Diese Version ist für MSYS.\n" #: wcd.c:2074 #, c-format msgid "Cygwin version.\n" msgstr "Cygwin-Version.\n" #: wcd.c:2077 #, c-format msgid "This version is for DJGPP DOS bash.\n" msgstr "Dies ist die Version für die DJGPP-DOS-Bash.\n" #: wcd.c:2080 #, c-format msgid "This version is for OS/2 bash.\n" msgstr "Diese Version ist für die OS/2-Bash.\n" #: wcd.c:2083 #, c-format msgid "Interface: " msgstr "Schnittstelle: " #: wcd.c:2089 #, c-format msgid "ncurses version %s.%d\n" msgstr "ncurses-Version %s.%d\n" #: wcd.c:2092 #, c-format msgid "PDCurses build %d\n" msgstr "PDCurses-Version %d\n" #: wcd.c:2094 #, c-format msgid "curses\n" msgstr "curses\n" #: wcd.c:2103 #, c-format msgid "stdout\n" msgstr "stdout\n" #: wcd.c:2107 #, c-format msgid "Native language support included.\n" msgstr "Landessprachen werden unterstützt.\n" #: wcd.c:2108 #, c-format msgid "LOCALEDIR=%s\n" msgstr "LOCALEDIR=%s\n" #: wcd.c:2110 #, c-format msgid "No native language support included.\n" msgstr "Landessprachen werden nicht unterstützt.\n" #: wcd.c:2113 #, c-format msgid "Current locale uses CP%u encoding.\n" msgstr "Aktuelle Locale verwendet die CP%u-Zeichenkodierung.\n" #: wcd.c:2115 #, c-format msgid "Current locale uses %s encoding.\n" msgstr "Aktuelle Locale verwendet die %s-Zeichenkodierung.\n" #: wcd.c:2118 #, c-format msgid "With Unicode support.\n" msgstr "Mit Unterstützung für Unicode.\n" #: wcd.c:2123 #, c-format msgid " Euro symbol: " msgstr " Euro-Symbol: " #: wcd.c:2125 #, c-format msgid " Chinese characters: " msgstr " Chinesische Schriftzeichen: " #: wcd.c:2129 #, c-format msgid "Without Unicode support.\n" msgstr "Ohne Unterstützung für Unicode.\n" #: wcd.c:2132 #, c-format msgid "With Unicode normalization.\n" msgstr "Mit Unicode-Normalisierung.\n" #: wcd.c:2134 #, c-format msgid "Without Unicode normalization.\n" msgstr "Ohne Unicode-Normalisierung.\n" #: wcd.c:2137 #, c-format msgid "Download the latest executables and sources from:\n" msgstr "Die neuesten Programme und Quellen können heruntergeladen werden von:\n" #: wcd.c:2144 #, c-format msgid "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp on C3PO\n" "Copyright (C) 1995-1996 DJ Delorie on _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews on DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel and Igor Mandrichenko on recmatch()\n" msgstr "" "Copyright © 1997-%d Erwin Waterlander\n" "Copyright © 1994-2002 Ondrej Popp auf C3PO\n" "Copyright © 1995-1996 DJ Delorie auf _fixpath()\n" "Copyright © 1995-1996 Borja Etxebarria & Olivier Sirol auf Ninux Czo Verzeichnis\n" "Copyright © 1994-1996 Jason Mathews auf DOSDIR\n" "Copyright © 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel und Igor Mandrichenko auf recmatch()\n" #: wcd.c:2152 #, c-format msgid "" "Source code to scan Windows LAN was originally written and placed\n" "in the public domain by Felix Kasza.\n" "Markus Kuhn's free wcwidth() and wcswidth() implementations are used.\n" "Rugxulo is the original author of query_con_codepage() (public domain).\n" "\n" msgstr "" "Quellcode zum Durchsuchen von Windows LAN wurde ursprünglich von\n" "Felix Kasza geschrieben und unter Public Domain gestellt.\n" "Markus Kuhns freie wcwidth()- und wcswidth()-Implementierungen wurden verwendet.\n" "Rugxulo ist der ursprüngliche Autor von query_con_codepage() (Public Domain).\n" "\n" #: wcd.c:2158 #, c-format msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" "\n" msgstr "" "Dieses Programm ist freie Software; es kann unter den Bedingungen\n" "der GNU General Public License, wie sie von der Free Software Foundation\n" "veröffentlicht wurde, entweder Version 2 oder auf Wunsch jeder späteren\n" "Version, weiterverteilt oder modifiziert werden.\n" "\n" #: wcd.c:2164 #, c-format msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Dieses Programm wird weitergegeben in der Hoffnung, dass es nützlich ist,\n" "aber OHNE JEDE GARANTIE, ohne eine implizierte Zusicherung\n" "allgemeiner Gebrauchstauglichkeit oder NUTZBARKEIT FÜR EINEN BESTIMMTEN\n" "ZWECK. Lesen Sie die GNU General Public License für weitere Details.\n" "\n" #: wcd.c:2170 #, c-format msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" msgstr "" "Sie sollten eine Kopie der GNU General Public License zusammen mit diesem\n" "Programm erhalten haben. Wenn nicht, schreiben Sie bitte an die Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n" "MA 02110-1301 USA.\n" #: wcd.c:2203 #, c-format msgid "creating directory %s\n" msgstr "Verzeichnis %s wird erzeugt\n" #: wcd.c:2535 wcd.c:2575 wcd.c:2590 wcd.c:2658 wcd.c:2727 wcd.c:3229 #: wcd.c:3248 #, c-format msgid "Value of environment variable %s is too long.\n" msgstr "Der Inhalt der Umgebungsvariable %s ist zu lang.\n" #: wcd.c:2564 #, c-format msgid "Failed to unset environment variable TERM: %s\n" msgstr "Die Umgebungsvariable TERM konnte nicht entfernt werden: %s\n" #: wcd.c:2622 wcd.c:2651 msgid "Environment variable HOME or WCDHOME is not set.\n" msgstr "Die Umgebungsvariablen HOME oder WCDHOME sind nicht gesetzt.\n" #: wcd.c:2834 #, c-format msgid "aliasfile: %s\n" msgstr "Alias-Datei: %s\n" #: wcd.c:2848 msgid "HOME is not defined\n" msgstr "HOME ist nicht definiert\n" #: wcd.c:2852 msgid "WCDHOME is not defined\n" msgstr "WCDHOME ist nicht definiert\n" #: wcd.c:2856 msgid "WCDSCAN is not defined\n" msgstr "WCDSCAN ist nicht definiert\n" #: wcd.c:2881 msgid "Graphics mode only supported in wcd with curses-based interface.\n" msgstr "" "Grafikmodus wird nur von wcd mit Curses-basierter Oberfläche\n" " unterstützt.\n" #: wcd.c:3162 #, c-format msgid "%s added to aliasfile %s\n" msgstr "%s wurde zur Aliasdatei %s hinzugefügt\n" #: wcd.c:3261 #, c-format msgid "Unable to read file %s or %s\n" msgstr "Die Datei %s konnte nicht gelesen werden: %s\n" #: wcd.c:3411 #, c-format msgid "WCDSCAN directory {%s}\n" msgstr "WCDSCAN-Verzeichnis {%s}\n" #: wcd.c:3413 #, c-format msgid "banning {%s}\n" msgstr "{%s} wird verbannt\n" #: wcd.c:3415 #, c-format msgid "excluding {%s}\n" msgstr "{%s} wird ausgeschlossen\n" #: wcd.c:3417 #, c-format msgid "filtering {%s}\n" msgstr "{%s} wird gefiltert\n" #: wcd.c:3677 #, c-format msgid "No directory found matching %s\n" msgstr "Es wurde kein auf %s passendes Verzeichnis gefunden\n" #: wcd.c:3678 msgid "Perhaps you need to rescan the disk or path is banned.\n" msgstr "Vielleicht müssen Sie die Platte neu durchsuchen oder der Pfad ist verbannt.\n" #: wcd.c:3807 #, c-format msgid "Cannot change to %s\n" msgstr "Zu %s kann nicht gewechselt werden\n" #: wcddir.c:109 #, c-format msgid "%lu (\"%s\") reported by \"%s\".\n" msgstr "%lu »%s« wurde von »%s« zurück geliefert.\n" #: wcddir.c:131 msgid "access denied.\n" msgstr "Der Zugriff wurde verweigert.\n" #: wcddir.c:206 #, c-format msgid "Searching for shared directories on server %s\n" msgstr "Es wird nach freigegebenen Verzeichnissen auf Server %s gesucht.\n" #: wcddir.c:218 #, c-format msgid "Found %lu shared directories on server %s\n" msgstr "Es wurden %lu freigegebene Verzeichnisse auf Server %s gefunden.\n" #: wcddir.c:335 msgid "Unable to get current working directory: " msgstr "Das aktuelle Arbeitsverzeichnis konnte nicht abgefragt werden: " #: wcddir.c:362 #, c-format msgid "Unable to change to directory %s: " msgstr "Das Wechseln zu Verzeichnis %s war nicht möglich: " #: wcddir.c:392 #, c-format msgid "Unable to create directory %s: " msgstr "Das Verzeichnis %s konnte nicht angelegt werden: " #: wcddir.c:420 #, c-format msgid "Unable to remove directory %s: " msgstr "Das Löschen des Verzeichnisses %s wurde verweigert: " #: wcddir.c:543 wcddir.c:554 #, c-format msgid "Unable to create directory %s: %s\n" msgstr "Das Verzeichnis %s konnte nicht angelegt werden: %s\n" #: wcddir.c:660 #, c-format msgid "Unable to get current working directory: %s\n" msgstr "Das aktuelle Arbeitsverzeichnis konnte nicht abgefragt werden: %s\n" #: wcddir.c:674 #, c-format msgid "Unable to change to directory %s: %s\n" msgstr "Das Wechseln zu Verzeichnis %s war nicht möglich: %s\n" #: wcddir.c:683 #, c-format msgid "Unable to remove directory %s: %s\n" msgstr "Die Datei %s konnte nicht entfernt werden: %s\n" #: stack.c:101 msgid "Error parsing stack\n" msgstr "Fehler beim Durchsuchen des Verzeichnisstapels\n" #: display.c:263 msgid "internal error in maxLength(), list == NULL\n" msgstr "interner Fehler in maxLength(), list == NULL\n" #: display.c:284 msgid "internal error in maxLengthStack(), s == NULL\n" msgstr "interner Fehler in maxLengthStack(), s == NULL\n" #: display.c:524 display.c:1150 display.c:1538 #, c-format msgid "Perfect match for %d directories." msgstr "Genauer Treffer für %d Verzeichnisse." #: display.c:526 display.c:1152 display.c:1540 #, c-format msgid "Wild match for %d directories." msgstr "Platzhalter passt auf %d Verzeichnisse." #: display.c:530 display.c:1164 display.c:1542 display.c:1585 #, c-format msgid "Please choose one ( to abort): " msgstr "Bitte wählen Sie eines aus ( bricht ab): " #: display.c:532 display.c:608 display.c:640 display.c:1157 #, c-format msgid " w=up x=down ?=help Page %d/%d " msgstr " w=hoch x=runter ?=Hilfe Seite %d/%d " #: display.c:684 display.c:1180 msgid "Screenheight must be > 20 for help." msgstr "Bildschirmhöhe muss für Hilfe > 20 sein." #: display.c:689 display.c:1183 msgid "w or page up" msgstr "w oder Seite hoch" #: display.c:690 display.c:1184 msgid "x or z or page down" msgstr "x,z oder Seite runter" #: display.c:691 display.c:1185 msgid ", or scroll 1 left" msgstr ", oder 1 nach links rollen" #: display.c:692 display.c:1186 msgid ". or scroll 1 right" msgstr ". oder 1 nach rechts rollen" #: display.c:693 display.c:1187 msgid "< or [ scroll 10 left" msgstr "< oder [ 10 nach links rollen" #: display.c:694 display.c:1188 msgid "> or ] scroll 10 right" msgstr "> oder ] 10 nach rechts rollen" #: display.c:695 display.c:1189 msgid "CTRL-a or scroll to beginning" msgstr "Strg-a oder an den Anfang springen" #: display.c:696 display.c:1190 msgid "CTRL-e or scroll to end" msgstr "Strg-e oder zum Ende springen" #: display.c:697 display.c:1192 msgid "CTRL-c or abort" msgstr "Strg-c oder Abbruch" #: display.c:698 display.c:1193 msgid " abort" msgstr " Abbruch" #: display.c:699 msgid "Type w or x to quit help." msgstr "Geben Sie »w« oder »x« ein, um die Hilfe zu beenden." #: display.c:1191 graphics.c:1994 msgid "CTRL-l or F5 redraw screen" msgstr "STRG-l oder F5 Bildschirm neu ausgeben" #: display.c:1194 graphics.c:1979 graphics.c:1996 graphics.c:2019 #: graphics.c:2036 msgid "Press any key." msgstr "Eine beliebige Taste drücken." #: display.c:1256 graphics.c:2289 msgid "Error opening terminal, falling back to stdout interface.\n" msgstr "" "Fehler beim Öffnen des Terminals, es wird die\n" "Stdout-Schnittstelle verwendet.\n" #: display.c:1277 msgid "screen height must be larger than 3 lines.\n" msgstr "Der Bildschirm muss höher als 3 Zeilen sein.\n" #: display.c:1318 graphics.c:2314 msgid "error creating scroll window.\n" msgstr "Fehler beim Erzeugen des rollbaren Fensters.\n" #: display.c:1334 graphics.c:2330 msgid "error creating input window.\n" msgstr "Fehler beim Erzeugen des Eingabefensters.\n" #: graphics.c:290 #, c-format msgid "Wcd: error: path too long" msgstr "Wcd: Fehler: Pfad zu lang." #: graphics.c:1940 msgid "/ = search forward, ? = search backward, : = help" msgstr "/ = vorwärts suchen, ? = rückwärts suchen, : = Hilfe" #: graphics.c:1945 msgid "SEARCH: " msgstr "SUCHE: " #: graphics.c:1948 msgid "Search: " msgstr "Suche: " #: graphics.c:1964 msgid "NAVIGATION MODE (1/2):" msgstr "NAVIGATIONSMODUS (1/2):" #: graphics.c:1965 msgid "h or go left" msgstr "h oder nach links gehen" #: graphics.c:1966 msgid "j or go down" msgstr "j oder \" nach unten gehen" #: graphics.c:1967 msgid "k or go up" msgstr "k oder nach oben gehen" #: graphics.c:1968 msgid "l or go right" msgstr "l oder nach rechts gehen" #: graphics.c:1969 msgid "* or v or go forward to dir with same name" msgstr "*q oder v oder vorwärts zu Verzeichnis mit gleichem Namen" #: graphics.c:1970 msgid "# or p or go backward to dir with same name" msgstr "# oder p oder rückwärts zu Verzeichnis mit gleichem Namen" #: graphics.c:1971 msgid "^ or a go to beginning of line" msgstr "^ oder a an den Anfang der Zeile gehen" #: graphics.c:1972 msgid "$ or e go to end of line" msgstr "$ oder e ans Ende der Zeile gehen" #: graphics.c:1973 msgid "1 go to root dir" msgstr "1 zum Wurzelverzeichnis gehen" #: graphics.c:1974 msgid "g or G go to last dir" msgstr "g oder G zum letzten Verzeichnis gehen" #: graphics.c:1975 msgid "f go page forward" msgstr "f eine Seite vorwärts" #: graphics.c:1976 msgid "b go page backward" msgstr "b eine Seite zurück" #: graphics.c:1977 msgid "u go half page up" msgstr "u eine halbe Seite nach oben" #: graphics.c:1978 msgid "d go half page down" msgstr "d eine halbe Seite nach unten" #: graphics.c:1985 msgid "NAVIGATION MODE (2/2):" msgstr "NAVIGATIONSMODUS (2/2):" #: graphics.c:1986 msgid "A switch alternative tree navigation on/off" msgstr "A Alternative Baumnavigation ein- bzw. ausschalten" #: graphics.c:1987 msgid "t switch centered mode on/off" msgstr "t Zentrieren ein- bzw. ausschalten" #: graphics.c:1988 msgid "T toggle between line drawing and ASCII characters" msgstr "T Wechseln zwischen Sonderzeichen und ASCII für die Darstellung" #: graphics.c:1989 msgid "m toggle between compact and wide tree" msgstr "m Zwischen kompaktem und breitem Baum umschalten" #: graphics.c:1990 msgid " or q abort" msgstr " oder q Abbruch" #: graphics.c:1991 msgid "/ search forward" msgstr "/ vorwärts suchen" #: graphics.c:1992 msgid "? search backward" msgstr "? rückwärts suchen" #: graphics.c:1993 msgid "n repeat last / or ? search" msgstr "n letzte / oder ? Suche wiederholen" #: graphics.c:1995 graphics.c:2018 msgid " select directory" msgstr " Verzeichnis auswählen" #: graphics.c:2002 msgid "SEARCH MODE with wildcard and subdir support:" msgstr "SUCHMODUS mit Unterstützung für Platzhalte- und Unterverzeichnisse" #: graphics.c:2003 msgid " go left" msgstr " nach links gehen" #: graphics.c:2004 msgid " go down" msgstr " nach unten gehen" #: graphics.c:2005 msgid " go up" msgstr " nach oben gehen" #: graphics.c:2006 msgid " go right" msgstr " nach rechts gehen" #: graphics.c:2007 msgid "CTRL-v go forward to dir with same name" msgstr "Strg-v vorwärts gehen zu Verzeichnis mit gleichem Namen" #: graphics.c:2008 msgid "CTRL-p go backward to dir with same name" msgstr "Strg-p rückwärts gehen zu Verzeichnis mit gleichem Namen" #: graphics.c:2009 msgid "CTRL-a go to beginning of line" msgstr "Strg-a an den Anfang der Zeile springen" #: graphics.c:2010 msgid "CTRL-e go to end of line" msgstr "Strg-e an das Ende der Zeile springen" #: graphics.c:2011 msgid "CTRL-g go to last dir" msgstr "Strg-g zum letzten Verzeichnis gehen" #: graphics.c:2012 msgid "CTRL-f go page forward" msgstr "Strg-f eine Seite vorwärts" #: graphics.c:2013 msgid "CTRL-b go page backward" msgstr "Strg-b eine Seite zurück" #: graphics.c:2014 msgid "CTRL-u go half page up" msgstr "Strg-u eine halbe Seite nach oben" #: graphics.c:2015 msgid "CTRL-d go half page down" msgstr "Strg-d eine halbe Seite nach unten" #: graphics.c:2016 msgid " or CTRL-x abort SEARCH MODE" msgstr " oder Strg-x SUCHMODUS abbrechen" #: graphics.c:2017 msgid "CTRL-n repeat last / or ? search" msgstr "Strg-n Letzte / oder ? Suche wiederholen" #: graphics.c:2025 msgid "ZOOMING:" msgstr "VERGRÖSSERN:" #: graphics.c:2026 msgid "z or i or CTRL-i zoom in" msgstr "z oder i oder Strg-i Ansicht vergrößern" #: graphics.c:2027 msgid "Z or o or CTRL-o zoom out" msgstr "Z oder o oder Strg-o Ansicht verkleinern" #: graphics.c:2028 msgid "c condense: fold current level" msgstr "c verkürzen: aktuelle Ebene einklappen" #: graphics.c:2029 msgid "C condense: fold subdir level" msgstr "C verkürzen: Unterverzeichnisebene einklappen" #: graphics.c:2030 msgid "w condense: fold current and subdir levels" msgstr "w verkürzen: aktuelle Ebene mit Unterebenen einklappen" #: graphics.c:2031 msgid "y or CTRL-y uncondense: unfold current and subdir levels" msgstr "y oder Strg-y dekomprimieren: aktuelle Ebene samt Unterebenen ausklappen" #: graphics.c:2032 msgid "r or CTRL-r uncondense: unfold all directories" msgstr "r oder Strg-r dekomprimieren: alle Ebenen ausklappen" #: graphics.c:2033 msgid "- fold directory" msgstr "- Verzeichnis einklappen" #: graphics.c:2034 msgid "+ or = unfold directory" msgstr "+ oder = Verzeichnis ausklappen" #: graphics.c:2035 msgid "l or unfold and go right" msgstr "l oder ausklappen und nach rechts gehen" #: graphics.c:2039 msgid "Screenheight must be > 21 for help." msgstr "Bildschirmhöhe muss für die Hilfe > 21 sein." #: graphics.c:2271 graphics.c:2757 #, c-format msgid "Cannot find the current path %s in the directory tree.\n" msgstr "Der aktuelle Pfad %s kann im Verzeichnisbaum nicht gefunden werden.\n" #: finddirs.c:241 finddirs.c:249 finddirs.c:273 finddirs.c:300 finddirs.c:314 #, c-format msgid "Unable to remove file %s: %s\n" msgstr "Die Datei %s konnte nicht entfernt werden: %s\n" #: finddirs.c:322 finddirs.c:486 #, c-format msgid "Unable to close directory %s: %s\n" msgstr "Das Verzeichnis %s konnte nicht geschlossen werden: %s\n" #: finddirs.c:365 #, c-format msgid "finddirs(): can't determine path in directory %s\n" msgstr "finddirs(): Der in Verzeichnis %s enthaltene Pfad kann nicht bestimmt werden\n" #: finddirs.c:366 msgid "path probably too long.\n" msgstr "wahrscheinlich ist der Pfad zu lang.\n" #: c3po/Error.c:41 #, c-format msgid "in '%s', insufficient memory for allocation\n" msgstr "Innerhalb von »%s« konnte kein weiterer Speicher reserviert werden.\n" wcd-6.0.3/src/po/eo.po0000644000175500010010000010233513524756540013733 0ustar waterlanGeen# Esperanto translations for wcd. # Copyright (C) 2016 Erwin Waterlander (msgids) # This file is distributed under the same license as the wcd package. # # « Ĉiu vulpo sian voston laŭdas. » # # Benno Schulenberg , 2014, 2016. msgid "" msgstr "" "Project-Id-Version: wcd-5.3.3-beta9\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-08-18 11:44+0200\n" "PO-Revision-Date: 2016-10-30 17:24+0100\n" "Last-Translator: Benno Schulenberg \n" "Language-Team: Esperanto \n" "Language: eo\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: wcd.c:170 #, c-format msgid "Wcd: error: " msgstr "Wcd: eraro: " #: wcd.c:183 wcd.c:237 wcd.c:257 #, c-format msgid "Unable to read file %s: %s\n" msgstr "Ne eblas legi dosieron %s: %s\n" #: wcd.c:246 #, c-format msgid "Unable to read file %s: Not a regular file.\n" msgstr "Ne eblas legi dosieron %s: ne estas normala dosiero.\n" #: wcd.c:259 wcd.c:346 #, c-format msgid "Unable to write file %s: %s\n" msgstr "Ne eblas skribi dosieron %s: %s\n" #: wcd.c:348 #, c-format msgid "Unable to close file %s: %s\n" msgstr "Ne eblas fermi dosieron %s: %s\n" #: wcd.c:409 wcd.c:414 wfixpath.c:65 #, c-format msgid "Memory allocation error in %s: %s\n" msgstr "Mankas sufiĉa memoro en %s: %s\n" #: wcd.c:716 wcd.c:730 #, c-format msgid "%s added to file %s\n" msgstr "Aldoniĝis %s al dosiero %s\n" #: wcd.c:765 wcd.c:1097 #, c-format msgid "%s is not a directory.\n" msgstr "%s ne estas dosierujo.\n" #: wcd.c:770 #, c-format msgid "Please wait. Scanning disk. Building treedata-file %s from %s\n" msgstr "Bonvolu atendi, skaniĝas disko... Konstruiĝas arbodosiero %s el %s...\n" #: wcd.c:832 wcd.c:2223 wcd.c:2246 wcd.c:2326 #, c-format msgid "Writing file \"%s\"\n" msgstr "Skribiĝas dosiero '%s'\n" #: wcd.c:837 msgid "Write access to tree-file denied.\n" msgstr "Skribi al arbodosiero malpermesatas.\n" #: wcd.c:838 msgid "Set TEMP environment variable if this is a read-only disk.\n" msgstr "Argordu la ĉirkaŭaĵan variablon TEMP se ĉi tiu estas nurlega disko.\n" #: wcd.c:967 #, c-format msgid "Removed symbolic link %s\n" msgstr "Forigiĝis simbola ligo %s\n" #: wcd.c:971 #, c-format msgid "Unable to remove symbolic link %s: %s\n" msgstr "Ne eblas forigi simbolan ligon %s: %s\n" #: wcd.c:975 #, c-format msgid "%s is a symbolic link to a file.\n" msgstr "%s estas simbola ligo al dosiero.\n" #: wcd.c:1058 #, c-format msgid "Recursively remove %s? Are you sure? y/n :" msgstr "Ĉu rikure forigi %s? Ĉu vi certas? y(jes)/n(ne):" #: wcd.c:1080 wcd.c:1090 #, c-format msgid "Removed directory %s\n" msgstr "Forigiĝis dosierujo %s\n" #: wcd.c:1122 wcd.c:1191 wcd.c:1259 #, fuzzy, c-format msgid "line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n" msgstr "" "Linio en %s tro longas (> %d). Eble la arbodosiero difektiĝis,\n" "aŭ alie evitu ĉi tiun per pligrandigi DD_MAXPATH en la programo.\n" #: wcd.c:1123 wcd.c:1192 wcd.c:1260 #, c-format msgid "file: %s, line: %d," msgstr "dosiero: %s, linio: %d," #: wcd.c:1130 wcd.c:1199 wcd.c:1267 #, c-format msgid " length: %d\n" msgstr " longo: %d\n" #: wcd.c:1768 wcd.c:1837 msgid "Alias file in UTF-16 format is not supported.\n" msgstr "" #: wcd.c:1937 #, c-format msgid "" "Usage: wcd [options] [directory]\n" "\n" msgstr "" "Uzmaniero: wcd [OPCIO...] [DOSIERUJO]\n" "\n" #: wcd.c:1938 #, c-format msgid "directory: Name of directory to change to.\n" msgstr "DOSIERUJO estas la nomo de la dosierujo al kiu ŝanĝi.\n" #: wcd.c:1939 #, c-format msgid "" " Wildcards *, ? and [SET] are supported.\n" "\n" msgstr "" "Ĵokeraj signoj * kaj ? subtenatas, kaj ankaŭ [ARO].\n" "\n" #: wcd.c:1941 #, c-format msgid "options:\n" msgstr "Opcioj:\n" #: wcd.c:1942 #, c-format msgid " -a Add current path to treefile\n" msgstr " -a aldoni nunan padon al arbodosiero\n" #: wcd.c:1943 #, c-format msgid " -aa Add current and all parent paths to treefile\n" msgstr " -aa aldoni nunan kaj suprajn padojn al arbodosiero\n" #: wcd.c:1944 #, c-format msgid " -A PATH Add tree from PATH\n" msgstr " -A PADO aldoni arbon el ĉi tiu pado\n" #: wcd.c:1945 #, c-format msgid " -b Ban current path\n" msgstr " -b escepti nunan padon\n" #: wcd.c:1946 #, c-format msgid " -c, --direct-cd direct CD mode\n" msgstr " -c, --direct-cd rekta CD-moduso\n" #: wcd.c:1947 #, c-format msgid " -d DRIVE set DRIVE for stack & go files (DOS)\n" msgstr " -d DISKO uzenda disko por stakaj kaj 'go'-dosieroj (DOS)\n" #: wcd.c:1948 #, c-format msgid " -e add current path to Extra treefile\n" msgstr " -e aldoni nunan padon al aldona arbodosiero\n" #: wcd.c:1949 #, c-format msgid " -ee add current and all parent paths to Extra treefile\n" msgstr " -ee aldoni nunan kaj suprajn padojn al aldona arbodosiero\n" #: wcd.c:1950 #, c-format msgid " -E PATH add tree from PATH to Extra treefile\n" msgstr " -E PADO aldoni arbon de ĉi tiu pado al aldona arbodosiero\n" #: wcd.c:1951 #, c-format msgid " -f FILE use extra treeFile\n" msgstr " -f DOSIERO uzenda arbodosiero\n" #: wcd.c:1952 #, c-format msgid " +f FILE add extra treeFile\n" msgstr " +f DOSIERO aldona arbodosiero\n" #: wcd.c:1953 #, c-format msgid " -g Graphics\n" msgstr " -g grafika moduso\n" #: wcd.c:1954 #, c-format msgid " -gd Graphics, dump tree\n" msgstr " -gd grafika moduso, deponi arbon\n" #: wcd.c:1955 #, c-format msgid " -G PATH set PATH Go-script\n" msgstr " -G PADO uzenda pado por trovi Go-skripton\n" #: wcd.c:1956 #, c-format msgid " -GN, --no-go-script No Go-script\n" msgstr " -GN, --no-go-script ne uzi Go-skripton\n" #: wcd.c:1957 #, c-format msgid " -h, --help show this Help\n" msgstr " -h, --help montri ĉi tiun helptekston\n" #: wcd.c:1960 #, c-format msgid " -i, --ignore-case Ignore case (default)\n" msgstr " -i, --ignore-case ignori usklecon (defaŭlto)\n" #: wcd.c:1961 #, c-format msgid " +i, --no-ignore-case regard case\n" msgstr " +i, --no-ignore-case atenti usklecon\n" #: wcd.c:1963 #, c-format msgid " -i, --ignore-case Ignore case\n" msgstr " -i, --ignore-case ignori usklecon\n" #: wcd.c:1964 #, c-format msgid " +i, --no-ignore-case regard case (default)\n" msgstr " +i, --no-ignore-case atenti usklecon (defaŭlto)\n" #: wcd.c:1967 #, c-format msgid " -I, --ignore-diacritics Ignore diacritics\n" msgstr " -I, --ignore-diacritics ignori diakritajn signojn\n" #: wcd.c:1968 #, c-format msgid " +I, --no-ignore-diacritics regard diacritics (default)\n" msgstr " +I, --no-ignore-diacritics atenti diakritajn signojn (defaŭlto)\n" #: wcd.c:1969 #, c-format msgid " -j, --just-go Just go mode\n" msgstr " -j, --just-go «simple iru»-moduso\n" #: wcd.c:1970 #, c-format msgid " -k, --keep-paths Keep paths\n" msgstr " -k, --keep-paths reteni padojn\n" #: wcd.c:1971 #, c-format msgid " -K, --color colors\n" msgstr " -K, --color uzi kolorojn\n" #: wcd.c:1972 #, c-format msgid " -l ALIAS aLias current directory\n" msgstr " -l ALINOMO uzenda alinomo por nuna dosierujo\n" #: wcd.c:1973 #, c-format msgid " -ls List the aliases\n" msgstr " -ls listigi la alinomojn\n" #: wcd.c:1974 #, c-format msgid " -L, --license show software License\n" msgstr " -L, --license montri la permesilon de la programo\n" #: wcd.c:1975 #, c-format msgid " -m DIR Make DIR, add to treefile\n" msgstr " -m UJO krei ĉi tiun dosierujon kaj aldoni ĝin al arbodosiero\n" #: wcd.c:1976 #, c-format msgid " -M DIR Make DIR, add to extra treefile\n" msgstr " -M UJO krei dosierujon kaj aldoni ĝin al aldona arbodosiero\n" #: wcd.c:1977 #, c-format msgid " -n PATH use relative treefile in PATH\n" msgstr " -n PADO uzi relativan arbodosieron en ĉi tiu pado\n" #: wcd.c:1978 #, c-format msgid " +n PATH add relative treefile in PATH\n" msgstr " +n PADO aldoni relativan arbodosieron en ĉi tiu pado\n" #: wcd.c:1979 #, c-format msgid " -N, --numbers use Numbers\n" msgstr " -N, --numbers uzi numerojn\n" #: wcd.c:1980 #, c-format msgid " -o use stdOut\n" msgstr " -o uzi ĉefeligujon\n" #: wcd.c:1981 #, c-format msgid " -od, --to-stdout dump matches\n" msgstr " -od, --to-stdout deponi kongruojn\n" #: wcd.c:1982 #, c-format msgid " -q, --quiet Quieter operation\n" msgstr " -q, --quiet silentema funkciado\n" #: wcd.c:1983 #, c-format msgid " -r DIR Remove DIR\n" msgstr " -r UJO forigi ĉi tiun dosierujon\n" #: wcd.c:1984 #, c-format msgid " -rmtree DIR Remove DIR recursive\n" msgstr " -rmtree UJO rikure forigi ĉi tiun dosierujon\n" #: wcd.c:1985 #, c-format msgid " -s Scan disk from $HOME\n" msgstr " -s skani diskon ekde $HOME\n" #: wcd.c:1986 #, c-format msgid " -S PATH Scan disk from PATH\n" msgstr " -S PADO skani diskon ekde ĉi tiu pado\n" #: wcd.c:1987 #, c-format msgid " +S PATH Scan disk from PATH, create relative treefile\n" msgstr " +S PADO skani diskon ekde pado, krei relativan arbodosieron\n" #: wcd.c:1988 #, c-format msgid " -t don't strip /tmp_mnt from paths\n" msgstr " -t ne forpreni '/tmp_mnt' de la padojn\n" #: wcd.c:1989 #, c-format msgid " -T, --ascii-tree draw tree with ASCII characters\n" msgstr " -T, --ascii-tree montri arbon per ASCII-signoj\n" #: wcd.c:1990 #, c-format msgid " -Ta, --alt-tree-nav Alternative tree navigation\n" msgstr " -Ta, --alt-tree-nav alternativa navigado de la arbo\n" #: wcd.c:1991 #, c-format msgid " -TC, --center-tree Centered tree view\n" msgstr " -TC, --center-tree centrigita arbomontro\n" #: wcd.c:1992 #, c-format msgid " -Tc, --compact-tree Compact tree\n" msgstr " -Tc, --compact-tree densa arbomontro\n" #: wcd.c:1993 #, c-format msgid " -Td, --cjk-width support legacy CJK fonts\n" msgstr " -Td, --cjk-width subteni antikvajn CJK-tiparojn\n" #: wcd.c:1994 #, c-format msgid " -u USER use USER's treefile\n" msgstr " -u USANTO uzi arbodosieron de ĉi tiu uzanto\n" #: wcd.c:1995 #, c-format msgid " +u USER add USER's treefile\n" msgstr " +u USANTO aldone uzi arbodosieron de ĉi tiu uzanto\n" #: wcd.c:1996 #, c-format msgid " -v, --verbose Verbose operation\n" msgstr " -v, --verbose parolema funkciado\n" #: wcd.c:1997 #, c-format msgid " -V, --version show Version info\n" msgstr " -V, --version montri programversion\n" #: wcd.c:1998 #, c-format msgid " -w, --wild-match-only Wild matching only\n" msgstr " -w, --wild-match-only nur ĵokeraj kongruoj\n" #: wcd.c:1999 #, c-format msgid " -x PATH eXclude PATH during disk scan\n" msgstr " -x PADO ekskludenda pado dum skanado de disko\n" #: wcd.c:2000 #, c-format msgid " -xf FILE eXclude paths from FILE\n" msgstr " -xf DOSIERO ekskludi la padojn listigitaj en ĉi tiu dosiero\n" # FIXME: s/query/question/ #: wcd.c:2001 #, c-format msgid " -y, --assume-yes assume Yes on all queries\n" msgstr " -y, --assume-yes alpreni 'jes' je ĉiuj demandoj\n" #: wcd.c:2002 #, c-format msgid " -z NUMBER set max stack siZe\n" msgstr " -z NOMBRO agordi maksimuman grandon de stako\n" #: wcd.c:2003 #, c-format msgid " -[NUMBER] push dir (NUMBER times)\n" msgstr " -[NOMBRO] surstakigi nunan dosierujon (NOMBRO fojojn)\n" #: wcd.c:2004 #, c-format msgid " +[NUMBER] pop dir (NUMBER times)\n" msgstr " +[NOMBRO] elstakigi dosierujon (NOMBRO fojojn)\n" #: wcd.c:2005 #, c-format msgid " = show stack\n" msgstr " = montri stakon\n" #: wcd.c:2014 wcd.c:2143 #, c-format msgid "wcd %s (%s) - Wherever Change Directory\n" msgstr "wcd %s (%s) -- «ien ajn ŝanĝi dosierujon»\n" #: wcd.c:2015 #, c-format msgid "" "Chdir for Dos and Unix.\n" "\n" msgstr "" "Lerta 'chdir' por DOS kaj Unix.\n" "\n" #: wcd.c:2019 #, c-format msgid "DOS 16 bit version (WATCOMC).\n" msgstr "DOS 16-bita versio (WATCOMC).\n" #: wcd.c:2021 #, c-format msgid "DOS 16 bit version (TURBOC).\n" msgstr "DOS 16-bita versio (TURBOC).\n" #: wcd.c:2023 #, c-format msgid "DOS 32 bit version (DJGPP).\n" msgstr "DOS 32-bita versio (DJGPP).\n" #: wcd.c:2025 #, c-format msgid "DOS 32 bit version (WATCOMC).\n" msgstr "DOS 32-bita versio (WATCOMC).\n" #: wcd.c:2032 #, c-format msgid "Win64 version (MSVC %d).\n" msgstr "Windows 64-bita versio (MSVC %d).\n" #: wcd.c:2034 #, c-format msgid "Win64 version (MinGW-w64).\n" msgstr "Windows 64-bita versio (MinGW-w64).\n" #: wcd.c:2038 #, c-format msgid "Win32 version (WATCOMC).\n" msgstr "Windows 32-bita versio (WATCOMC).\n" #: wcd.c:2040 #, c-format msgid "Win32 version (MSVC %d).\n" msgstr "Windows 32-bita versio (MSVC %d).\n" #: wcd.c:2042 #, c-format msgid "Win32 version (MinGW-w64).\n" msgstr "Windows 32-bita versio (MinGW-w64).\n" #: wcd.c:2044 #, c-format msgid "Win32 version (MinGW).\n" msgstr "Windows 32-bita versio (MinGW)\n" #: wcd.c:2051 #, c-format msgid "This version is for MSYS and WinZsh.\n" msgstr "Ĉi tiu versio estas por MSYS kaj WinZsh.\n" #: wcd.c:2053 #, c-format msgid "This version is for Windows PowerShell.\n" msgstr "Ĉi tiu versio estas por Windows PowerShell.\n" #: wcd.c:2055 #, c-format msgid "This version is for Windows Command Prompt (cmd.exe).\n" msgstr "Ĉi tiu versio estas por Windows Command Prompt (cmd.exe).\n" #: wcd.c:2060 #, c-format msgid "OS/2 version" msgstr "OS/2-versio" #: wcd.c:2071 #, c-format msgid "This version is for native MSYS.\n" msgstr "Ĉi tiu versio estas por MSYS.\n" #: wcd.c:2074 #, c-format msgid "Cygwin version.\n" msgstr "Cygwin-versio.\n" #: wcd.c:2077 #, c-format msgid "This version is for DJGPP DOS bash.\n" msgstr "Ĉi tiu versio estas por DJGPP DOS bash.\n" #: wcd.c:2080 #, c-format msgid "This version is for OS/2 bash.\n" msgstr "Ĉi tiu versio estas por OS/2 bash.\n" #: wcd.c:2083 #, c-format msgid "Interface: " msgstr "Interfaco: " #: wcd.c:2089 #, c-format msgid "ncurses version %s.%d\n" msgstr "ncurses, versio %s.%d\n" #: wcd.c:2092 #, c-format msgid "PDCurses build %d\n" msgstr "PDCurses, versio %d\n" #: wcd.c:2094 #, c-format msgid "curses\n" msgstr "curses\n" #: wcd.c:2103 #, c-format msgid "stdout\n" msgstr "ĉefeligujo\n" #: wcd.c:2107 #, c-format msgid "Native language support included.\n" msgstr "Kun subteno por lokaĵoj.\n" #: wcd.c:2108 #, c-format msgid "LOCALEDIR=%s\n" msgstr "LOCALEDIR=%s\n" #: wcd.c:2110 #, c-format msgid "No native language support included.\n" msgstr "Sen subteno por lokaĵoj.\n" #: wcd.c:2113 #, c-format msgid "Current locale uses CP%u encoding.\n" msgstr "La nuna lokaĵo uzas kodon CP%u.\n" #: wcd.c:2115 #, c-format msgid "Current locale uses %s encoding.\n" msgstr "La nuna lokaĵo uzas kodon %s.\n" #: wcd.c:2118 #, c-format msgid "With Unicode support.\n" msgstr "Kun subteno por Unikodo.\n" #: wcd.c:2123 #, c-format msgid " Euro symbol: " msgstr " Eŭro-simbolo: " #: wcd.c:2125 #, c-format msgid " Chinese characters: " msgstr " Ĉinaj signoj: " #: wcd.c:2129 #, c-format msgid "Without Unicode support.\n" msgstr "Sen subteno por Unikodo.\n" #: wcd.c:2132 #, c-format msgid "With Unicode normalization.\n" msgstr "Kun Unikoda normigo.\n" #: wcd.c:2134 #, c-format msgid "Without Unicode normalization.\n" msgstr "Sen Unikoda normigo.\n" #: wcd.c:2137 #, c-format msgid "Download the latest executables and sources from:\n" msgstr "Elŝutu la lastan version el:\n" #: wcd.c:2144 #, c-format msgid "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp on C3PO\n" "Copyright (C) 1995-1996 DJ Delorie on _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews on DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel and Igor Mandrichenko on recmatch()\n" msgstr "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp [je C3PO]\n" "Copyright (C) 1995-1996 DJ Delorie [je_fixpath()]\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol [je Ninux Czo Directory]\n" "Copyright (C) 1994-1996 Jason Mathews [je DOSDIR]\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel kaj Igor Mandrichenko [je recmatch()]\n" #: wcd.c:2152 #, c-format msgid "" "Source code to scan Windows LAN was originally written and placed\n" "in the public domain by Felix Kasza.\n" "Markus Kuhn's free wcwidth() and wcswidth() implementations are used.\n" "Rugxulo is the original author of query_con_codepage() (public domain).\n" "\n" msgstr "" "Programparto por skani Windows LAN origine skribiĝis kaj ĉiesaĵiĝis per Felix Kasza.\n" "Uziĝas la liberaj realigoj de 'wcwidth()' kaj 'wcswidth()' de Markus Kuhn.\n" "La origina aŭtoro de la ĉiesaĵa 'query_con_codepage()' estas Rugxulo.\n" "\n" #: wcd.c:2158 #, c-format msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" "\n" msgstr "" "Tiu ĉi estas libera programo; vi povas ĝin redistribui kaj/aŭ modifi laŭ\n" "la kondiĉoj de la GNU-a Ĝenerala Publika Liberpermeso kiel ĝi publikiĝis\n" "de la 'Free Software Foundation'; aŭ laŭ versio 2 de tiu permesilo, aŭ\n" "(je via elekto) laŭ iu ajn posta versio.\n" #: wcd.c:2164 #, c-format msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Tiu ĉi programo distribuiĝas esperante ke ĝi estu utila,\n" "sed SEN IU AJN GARANTIO; sen eĉ implicita garantio pri\n" "VENDEBLECO aŭ TAŬGECO POR IU SPECIFA APLIKO. Vidu la\n" "GNU-an Ĝeneralan Publikan Liberpermeson por pli da detaloj.\n" "\n" #: wcd.c:2170 #, c-format msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" msgstr "" "Vi devus esti ricevinte kopion de la GNU-a Ĝenerala Publika Liberpermeso\n" "kune kun tiu ĉi programo; se ne, vidu .\n" #: wcd.c:2203 #, c-format msgid "creating directory %s\n" msgstr "kreiĝas dosierujo %s\n" #: wcd.c:2535 wcd.c:2575 wcd.c:2590 wcd.c:2658 wcd.c:2727 wcd.c:3229 wcd.c:3248 #, c-format msgid "Value of environment variable %s is too long.\n" msgstr "Valoro de ĉirkaŭaĵa variablo %s tro longas.\n" #: wcd.c:2564 #, c-format msgid "Failed to unset environment variable TERM: %s\n" msgstr "Malsukcesis agordi ĉirkaŭaĵan variablon TERM: %s\n" #: wcd.c:2622 wcd.c:2651 msgid "Environment variable HOME or WCDHOME is not set.\n" msgstr "Cirkaŭaĵaj variabloj HOME kaj WCDHOME ne agordiĝis.\n" #: wcd.c:2834 #, c-format msgid "aliasfile: %s\n" msgstr "dosiero de alinomoj: %s\n" #: wcd.c:2848 msgid "HOME is not defined\n" msgstr "HOME ne havas valoron\n" #: wcd.c:2852 msgid "WCDHOME is not defined\n" msgstr "WCDHOME ne havas valoron\n" #: wcd.c:2856 msgid "WCDSCAN is not defined\n" msgstr "WCDSCAN ne havas valoron\n" #: wcd.c:2881 msgid "Graphics mode only supported in wcd with curses-based interface.\n" msgstr "Grafika moduso nur subtenatas en interfaco kiu baziĝas sur 'curses'.\n" #: wcd.c:3162 #, c-format msgid "%s added to aliasfile %s\n" msgstr "Aldoniĝis alinomo %s al dosiero %s\n" #: wcd.c:3261 #, c-format msgid "Unable to read file %s or %s\n" msgstr "Ne eblas legi dosieron %s aŭ %s\n" #: wcd.c:3411 #, c-format msgid "WCDSCAN directory {%s}\n" msgstr "WCDSCAN-dosierujo {%s}\n" #: wcd.c:3413 #, c-format msgid "banning {%s}\n" msgstr "esceptiĝas {%s}\n" #: wcd.c:3415 #, c-format msgid "excluding {%s}\n" msgstr "ekskludiĝas {%s}\n" #: wcd.c:3417 #, c-format msgid "filtering {%s}\n" msgstr "filtriĝas {%s}\n" #: wcd.c:3677 #, c-format msgid "No directory found matching %s\n" msgstr "Ne troviĝas dosierujo kiu kongruas kun %s\n" #: wcd.c:3678 msgid "Perhaps you need to rescan the disk or path is banned.\n" msgstr "Eble necesas reskani la diskon, aŭ la pado esceptiĝis.\n" #: wcd.c:3807 #, c-format msgid "Cannot change to %s\n" msgstr "Ne eblas ŝanĝi al %s\n" #: wcddir.c:109 #, c-format msgid "%lu (\"%s\") reported by \"%s\".\n" msgstr "%lu (\"%s\") raportiĝis por \"%s\".\n" #: wcddir.c:131 msgid "access denied.\n" msgstr "atingo malpermesatas.\n" #: wcddir.c:206 #, c-format msgid "Searching for shared directories on server %s\n" msgstr "Serĉado de komunaj dosierujoj en servilo %s\n" #: wcddir.c:218 #, c-format msgid "Found %lu shared directories on server %s\n" msgstr "Troviĝis %lu komunajn dosierujojn en servilo %s\n" #: wcddir.c:335 msgid "Unable to get current working directory: " msgstr "Ne eblas eltrovi nunan labordosierujon: " #: wcddir.c:362 #, c-format msgid "Unable to change to directory %s: " msgstr "Ne eblas ŝanĝi al dosierujo %s" #: wcddir.c:392 #, c-format msgid "Unable to create directory %s: " msgstr "Ne eblas krei dosierujon %s: " #: wcddir.c:420 #, c-format msgid "Unable to remove directory %s: " msgstr "Ne eblas forigi dosierujon %s: " #: wcddir.c:543 wcddir.c:554 #, c-format msgid "Unable to create directory %s: %s\n" msgstr "Ne eblas krei dosierujon %s: %s\n" #: wcddir.c:660 #, c-format msgid "Unable to get current working directory: %s\n" msgstr "Ne eblas eltrovi nunan labordosierujon: %s\n" #: wcddir.c:674 #, c-format msgid "Unable to change to directory %s: %s\n" msgstr "Ne eblas ŝanĝi al dosierujo %s: %s\n" #: wcddir.c:683 #, c-format msgid "Unable to remove directory %s: %s\n" msgstr "Ne eblas forigi dosierujon %s: %s\n" #: stack.c:101 msgid "Error parsing stack\n" msgstr "Eraro dum analizo de stako\n" #: display.c:263 msgid "internal error in maxLength(), list == NULL\n" msgstr "**interna programmiso** en maxLength(): list == NULL\n" #: display.c:284 msgid "internal error in maxLengthStack(), s == NULL\n" msgstr "**interna programmiso** en maxLengthStack(): s == NULL\n" #: display.c:524 display.c:1150 display.c:1538 #, c-format msgid "Perfect match for %d directories." msgstr "Perfekta kongruo por %d dosierujoj." #: display.c:526 display.c:1152 display.c:1540 #, c-format msgid "Wild match for %d directories." msgstr "Ĵokera kongruo por %d dosierujoj." #: display.c:530 display.c:1164 display.c:1542 display.c:1585 #, c-format msgid "Please choose one ( to abort): " msgstr "Bonvolu elekti unu ( por ĉesigi): " #: display.c:532 display.c:608 display.c:640 display.c:1157 #, c-format msgid " w=up x=down ?=help Page %d/%d " msgstr " w=supren x=suben ?=helpo Paĝo %d/%d " #: display.c:684 display.c:1180 msgid "Screenheight must be > 20 for help." msgstr "Ekranalto devas esti pli ol 20 por helpo." #: display.c:689 display.c:1183 msgid "w or page up" msgstr "w aŭ paĝon supren" #: display.c:690 display.c:1184 msgid "x or z or page down" msgstr "x aŭ z aŭ paĝon malsupren" #: display.c:691 display.c:1185 msgid ", or scroll 1 left" msgstr ", aŭ rulumi 1 pozicion maldekstren" #: display.c:692 display.c:1186 msgid ". or scroll 1 right" msgstr ". or rulumi 1 pozicion dekstren" #: display.c:693 display.c:1187 msgid "< or [ scroll 10 left" msgstr "< aŭ [ rulumi 10 poziciojn maldekstren" #: display.c:694 display.c:1188 msgid "> or ] scroll 10 right" msgstr "> aŭ ] rulumi 10 poziciojn dekstren" #: display.c:695 display.c:1189 msgid "CTRL-a or scroll to beginning" msgstr "Ctrl-a aŭ rulumi al komenco" #: display.c:696 display.c:1190 msgid "CTRL-e or scroll to end" msgstr "Ctrl-e aŭ rulumi al fino" #: display.c:697 display.c:1192 msgid "CTRL-c or abort" msgstr "Ctrl-c aŭ ĉesigi" #: display.c:698 display.c:1193 msgid " abort" msgstr " ĉesigi" #: display.c:699 msgid "Type w or x to quit help." msgstr "Tajpu w aŭ x por eliri de helpo." #: display.c:1191 graphics.c:1994 msgid "CTRL-l or F5 redraw screen" msgstr "Ctrl-l aŭ F5 redesegni la ekranon" #: display.c:1194 graphics.c:1979 graphics.c:1996 graphics.c:2019 #: graphics.c:2036 msgid "Press any key." msgstr "Premu iu ajn klavon." #: display.c:1256 graphics.c:2289 msgid "Error opening terminal, falling back to stdout interface.\n" msgstr "Eraro dum malfermo de terminalo; anstataŭe uziĝas ĉefeliguja interfaco.\n" #: display.c:1277 msgid "screen height must be larger than 3 lines.\n" msgstr "ekranalto devas esti pli ol 3 linioj.\n" #: display.c:1318 graphics.c:2314 msgid "error creating scroll window.\n" msgstr "eraro dum kreado de ruluma fenestro.\n" #: display.c:1334 graphics.c:2330 msgid "error creating input window.\n" msgstr "eraro dum kreado de eniga fenestro.\n" #: graphics.c:290 #, c-format msgid "Wcd: error: path too long" msgstr "Wcd: eraro: pado tro longas" #: graphics.c:1940 msgid "/ = search forward, ? = search backward, : = help" msgstr "/ = serĉi antaŭen, ? = serĉi malantaŭen, : = helpo" #: graphics.c:1945 msgid "SEARCH: " msgstr "SERĈI : " #: graphics.c:1948 msgid "Search: " msgstr "Serĉi: " #: graphics.c:1964 msgid "NAVIGATION MODE (1/2):" msgstr "NAVIGA MODUSO (1/2):" #: graphics.c:1965 msgid "h or go left" msgstr "h aŭ maldekstren" #: graphics.c:1966 msgid "j or go down" msgstr "j aŭ malsupren" #: graphics.c:1967 msgid "k or go up" msgstr "k aŭ supren" #: graphics.c:1968 msgid "l or go right" msgstr "l aŭ dekstren" #: graphics.c:1969 msgid "* or v or go forward to dir with same name" msgstr "* aŭ v aŭ antaŭen al dosierujo kun sama nomo" #: graphics.c:1970 msgid "# or p or go backward to dir with same name" msgstr "# aŭ p aŭ malantaŭen al dosierujo kun sama nomo" #: graphics.c:1971 msgid "^ or a go to beginning of line" msgstr "^ aŭ a al komenco de linio" #: graphics.c:1972 msgid "$ or e go to end of line" msgstr "$ aŭ e al fino de linio" #: graphics.c:1973 msgid "1 go to root dir" msgstr "1 al ĉefa dosierujo" #: graphics.c:1974 msgid "g or G go to last dir" msgstr "g aŭ G al lasta dosierujo" #: graphics.c:1975 msgid "f go page forward" msgstr "f paĝon antaŭen" #: graphics.c:1976 msgid "b go page backward" msgstr "b paĝon malantaŭen" #: graphics.c:1977 msgid "u go half page up" msgstr "u duonpaĝon supren" #: graphics.c:1978 msgid "d go half page down" msgstr "d duonpaĝon malsupren" #: graphics.c:1985 msgid "NAVIGATION MODE (2/2):" msgstr "NAVIGA MODUSO (2/2):" #: graphics.c:1986 msgid "A switch alternative tree navigation on/off" msgstr "A ŝalti alternativan arbonavigadon" #: graphics.c:1987 msgid "t switch centered mode on/off" msgstr "t ŝalti centrigitan moduson" #: graphics.c:1988 msgid "T toggle between line drawing and ASCII characters" msgstr "T ŝalti inter linioj kaj ASCII-signoj" #: graphics.c:1989 msgid "m toggle between compact and wide tree" msgstr "m ŝalti inter densa kaj larĝa arbo" #: graphics.c:1990 msgid " or q abort" msgstr " aŭ q ĉesigi" #: graphics.c:1991 msgid "/ search forward" msgstr "/ serĉi antaŭen" #: graphics.c:1992 msgid "? search backward" msgstr "? serĉi malantaŭen" #: graphics.c:1993 msgid "n repeat last / or ? search" msgstr "n ripeti lastan serĉon per / aŭ ?" #: graphics.c:1995 graphics.c:2018 msgid " select directory" msgstr " elekti la dosierujon" #: graphics.c:2002 msgid "SEARCH MODE with wildcard and subdir support:" msgstr "SERĈ-MODUSO kun subteno por ĵokeroj kaj subdosieroj:" #: graphics.c:2003 msgid " go left" msgstr " maldekstren" #: graphics.c:2004 msgid " go down" msgstr " malsupren" #: graphics.c:2005 msgid " go up" msgstr " supren" #: graphics.c:2006 msgid " go right" msgstr " dekstren" #: graphics.c:2007 msgid "CTRL-v go forward to dir with same name" msgstr "Ctrl-v antaŭen al dosierujo kun sama nomo" #: graphics.c:2008 msgid "CTRL-p go backward to dir with same name" msgstr "Ctrl-p malantaŭen al dosierujo kun sama nomo" #: graphics.c:2009 msgid "CTRL-a go to beginning of line" msgstr "Ctrl-a al komenco de linio" #: graphics.c:2010 msgid "CTRL-e go to end of line" msgstr "Ctrl-e al fino de linio" #: graphics.c:2011 msgid "CTRL-g go to last dir" msgstr "Ctrl-g al lasta dosierujo" #: graphics.c:2012 msgid "CTRL-f go page forward" msgstr "Ctrl-f paĝon antaŭen" #: graphics.c:2013 msgid "CTRL-b go page backward" msgstr "Ctrl-b paĝon malantaŭen" #: graphics.c:2014 msgid "CTRL-u go half page up" msgstr "Ctrl-u duonpaĝon supren" #: graphics.c:2015 msgid "CTRL-d go half page down" msgstr "Ctrl-d duonpaĝon malsupren" #: graphics.c:2016 msgid " or CTRL-x abort SEARCH MODE" msgstr " aŭ Ctrl-x ĉesigi SERĈ-MODUSON" #: graphics.c:2017 msgid "CTRL-n repeat last / or ? search" msgstr "Ctrl-n ripeti lastan serĉon per / aŭ ?" #: graphics.c:2025 msgid "ZOOMING:" msgstr "ZOMI:" #: graphics.c:2026 msgid "z or i or CTRL-i zoom in" msgstr "z aŭ i aŭ Ctrl-i zomi" #: graphics.c:2027 msgid "Z or o or CTRL-o zoom out" msgstr "Z aŭ o aŭ Ctrl-o malzomi" #: graphics.c:2028 msgid "c condense: fold current level" msgstr "c faldi la nunan nivelon" #: graphics.c:2029 msgid "C condense: fold subdir level" msgstr "C faldi la suban nivelon" #: graphics.c:2030 msgid "w condense: fold current and subdir levels" msgstr "w faldi la nunan kaj subajn nivelojn" #: graphics.c:2031 msgid "y or CTRL-y uncondense: unfold current and subdir levels" msgstr "y aŭ Ctrl-y malfaldi la nunan kaj subajn nivelojn" #: graphics.c:2032 msgid "r or CTRL-r uncondense: unfold all directories" msgstr "r aŭ Ctrl-r malfaldi ĉiujn dosierujojn" #: graphics.c:2033 msgid "- fold directory" msgstr "- faldi dosierujon" #: graphics.c:2034 msgid "+ or = unfold directory" msgstr "+ aŭ = malfaldi dosierujon" #: graphics.c:2035 msgid "l or unfold and go right" msgstr "l aŭ malfaldi kaj iri dekstren" #: graphics.c:2039 msgid "Screenheight must be > 21 for help." msgstr "Ekranalto devas esti pli ol 21 por helpo." #: graphics.c:2271 graphics.c:2757 #, c-format msgid "Cannot find the current path %s in the directory tree.\n" msgstr "Ne eblas trovi la nunan padon (%s) en la dosieruja arbo.\n" #: finddirs.c:241 finddirs.c:249 finddirs.c:273 finddirs.c:300 finddirs.c:314 #, c-format msgid "Unable to remove file %s: %s\n" msgstr "Ne eblas forigi dosieron %s: %s\n" #: finddirs.c:322 finddirs.c:486 #, fuzzy, c-format msgid "Unable to close directory %s: %s\n" msgstr "Ne eblas krei dosierujon %s: %s\n" #: finddirs.c:365 #, c-format msgid "finddirs(): can't determine path in directory %s\n" msgstr "finddirs(): malsukcesis eltrovi padon en dosierujo %s\n" #: finddirs.c:366 msgid "path probably too long.\n" msgstr "probable la pado tro longas.\n" #: c3po/Error.c:41 #, c-format msgid "in '%s', insufficient memory for allocation\n" msgstr "en '%s', mankas sufiĉa memoro\n" #~ msgid "malloc error in wcd_fixpath()\n" #~ msgstr "mankas sufiĉa memoro en wcd_fixpath()\n" wcd-6.0.3/src/po/es.po0000644000175500010010000010500613524756537013743 0ustar waterlanGeen# Spanish translations for wcd package. # Copyright (C) 2018 Erwin Waterlander (msgids) # This file is distributed under the same license as the wcd package. # Francisco Javier Serrador , 2018. # Julio A. Freyre-Gonzalez , 2009-2013. msgid "" msgstr "" "Project-Id-Version: wcd 6.0.0-beta4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-08-18 11:44+0200\n" "PO-Revision-Date: 2018-04-07 11:28+0200\n" "Last-Translator: Francisco Javier Serrador \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" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.0.4\n" "X-Poedit-SourceCharset: UTF-8\n" #: wcd.c:170 #, c-format msgid "Wcd: error: " msgstr "Wcd: error: " #: wcd.c:183 wcd.c:237 wcd.c:257 #, c-format msgid "Unable to read file %s: %s\n" msgstr "Incapaz de leer el fichero %s: %s\n" #: wcd.c:246 #, c-format msgid "Unable to read file %s: Not a regular file.\n" msgstr "Incapaz de leer el fichero %s: no es un fichero normal.\n" #: wcd.c:259 wcd.c:346 #, c-format msgid "Unable to write file %s: %s\n" msgstr "Incapaz de escribir al fichero %s: %s\n" #: wcd.c:348 #, c-format msgid "Unable to close file %s: %s\n" msgstr "Incapaz de cerrar el fichero %s: %s\n" #: wcd.c:409 wcd.c:414 wfixpath.c:65 #, c-format msgid "Memory allocation error in %s: %s\n" msgstr "Reserva de memoria errónea en %s: %s\n" #: wcd.c:716 wcd.c:730 #, c-format msgid "%s added to file %s\n" msgstr "%s añadido al fichero %s\n" #: wcd.c:765 wcd.c:1097 #, c-format msgid "%s is not a directory.\n" msgstr "%s no es un directorio.\n" #: wcd.c:770 #, c-format msgid "Please wait. Scanning disk. Building treedata-file %s from %s\n" msgstr "Favor de esperar. Explorando el disco. Construyendo el fichero %s de árbol de rutas para %s\n" #: wcd.c:832 wcd.c:2223 wcd.c:2246 wcd.c:2326 #, c-format msgid "Writing file \"%s\"\n" msgstr "Escribiendo al fichero \"%s\"\n" #: wcd.c:837 msgid "Write access to tree-file denied.\n" msgstr "Se denegó la escritura al fichero de árbol de rutas.\n" #: wcd.c:838 msgid "Set TEMP environment variable if this is a read-only disk.\n" msgstr "Use la variable de ambiente TEMP si este es un disco de sólo lectura.\n" #: wcd.c:967 #, c-format msgid "Removed symbolic link %s\n" msgstr "Se quitó el enlace simbólico %s\n" #: wcd.c:971 #, c-format msgid "Unable to remove symbolic link %s: %s\n" msgstr "Incapaz quitar enlace simbólico %s: %s\n" #: wcd.c:975 #, c-format msgid "%s is a symbolic link to a file.\n" msgstr "%s es un enlace simbólico a un fichero.\n" #: wcd.c:1058 #, c-format msgid "Recursively remove %s? Are you sure? y/n :" msgstr "¿Quitar recursivamente %s? ¿Está seguro que desea continuar? y(sí)/n(no) :" #: wcd.c:1080 wcd.c:1090 #, c-format msgid "Removed directory %s\n" msgstr "Se quitó el directorio %s\n" #: wcd.c:1122 wcd.c:1191 wcd.c:1259 #, c-format msgid "line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n" msgstr "línea demasiado larga en %s ( > %d). Es posible que el fichero de árbol esté corrupto, o arregle incrementando WCD_MAXPATH en el código fuente.\n" #: wcd.c:1123 wcd.c:1192 wcd.c:1260 #, c-format msgid "file: %s, line: %d," msgstr "fichero: %s, línea: %d," #: wcd.c:1130 wcd.c:1199 wcd.c:1267 #, c-format msgid " length: %d\n" msgstr " longitud: %d\n" #: wcd.c:1768 wcd.c:1837 msgid "Alias file in UTF-16 format is not supported.\n" msgstr "Fichero alias en formato UTF-16 no está apoyado.\n" #: wcd.c:1937 #, c-format msgid "" "Usage: wcd [options] [directory]\n" "\n" msgstr "" "Modo de empleo: wcd [opciones] [directorio]\n" "\n" #: wcd.c:1938 #, c-format msgid "directory: Name of directory to change to.\n" msgstr "directorio: nombre del directorio al que desea modificarse.\n" #: wcd.c:1939 #, c-format msgid "" " Wildcards *, ? and [SET] are supported.\n" "\n" msgstr "" " Se pueden emplear los comodines *, ? y [conjunto]\n" "\n" #: wcd.c:1941 #, c-format msgid "options:\n" msgstr "opciones:\n" #: wcd.c:1942 #, c-format msgid " -a Add current path to treefile\n" msgstr " -a Añade la ruta actual al fichero de árbol\n" #: wcd.c:1943 #, c-format msgid " -aa Add current and all parent paths to treefile\n" msgstr " -aa Añade la ruta actual y sus padres al fichero de árbol\n" #: wcd.c:1944 #, c-format msgid " -A PATH Add tree from PATH\n" msgstr " -A RUTA Añade árbol desde RUTA\n" #: wcd.c:1945 #, c-format msgid " -b Ban current path\n" msgstr " -b Prohíbe la ruta actual\n" #: wcd.c:1946 #, c-format msgid " -c, --direct-cd direct CD mode\n" msgstr " -c, --direct-cd Usa modo CD directo\n" #: wcd.c:1947 #, c-format msgid " -d DRIVE set DRIVE for stack & go files (DOS)\n" msgstr " -d UNIDAD Establece la UNIDAD para almacenar los ficheros de la pila y el script go (DOS)\n" #: wcd.c:1948 #, c-format msgid " -e add current path to Extra treefile\n" msgstr " -e Añade la ruta actual al fichero extra de árbol\n" #: wcd.c:1949 #, c-format msgid " -ee add current and all parent paths to Extra treefile\n" msgstr " -ee Añade la ruta actual y sus padres al fichero extra de árbol\n" #: wcd.c:1950 #, c-format msgid " -E PATH add tree from PATH to Extra treefile\n" msgstr " -E RUTA Añade árbol desde RUTA al fichero extra del árbol\n" #: wcd.c:1951 #, c-format msgid " -f FILE use extra treeFile\n" msgstr " -f ARCHIVO Usa fichero extra de árbol\n" #: wcd.c:1952 #, c-format msgid " +f FILE add extra treeFile\n" msgstr " +f ARCHIVO añade fichero adicional de árbol\n" #: wcd.c:1953 #, c-format msgid " -g Graphics\n" msgstr " -g Ambiente gráfico\n" #: wcd.c:1954 #, c-format msgid " -gd Graphics, dump tree\n" msgstr " -gd gráfico, vuelca árbol\n" #: wcd.c:1955 #, c-format msgid " -G PATH set PATH Go-script\n" msgstr " -G RUTA Establece la RUTA del script go\n" #: wcd.c:1956 #, c-format msgid " -GN, --no-go-script No Go-script\n" msgstr " -GN, --no-go-script no emplees el guión go\n" #: wcd.c:1957 #, c-format msgid " -h, --help show this Help\n" msgstr " -h, --help despliega esta ayuda\n" #: wcd.c:1960 #, c-format msgid " -i, --ignore-case Ignore case (default)\n" msgstr " -i, --ignore-case ignora las diferencias entre mayúsculas y minúsculas (por defecto)\n" #: wcd.c:1961 #, c-format msgid " +i, --no-ignore-case regard case\n" msgstr " +i, --no-ignore-case distingue entre mayúsculas y minúsculas\n" #: wcd.c:1963 #, c-format msgid " -i, --ignore-case Ignore case\n" msgstr " -i, --ignore-case ignora las diferencias entre mayúsculas y minúsculas\n" #: wcd.c:1964 #, c-format msgid " +i, --no-ignore-case regard case (default)\n" msgstr " +i, --no-ignore-case distingue entre mayúsculas y minúsculas (por defecto)\n" #: wcd.c:1967 #, c-format msgid " -I, --ignore-diacritics Ignore diacritics\n" msgstr " -I, --ignore-diacritics ignora signos diacríticos\n" #: wcd.c:1968 #, c-format msgid " +I, --no-ignore-diacritics regard diacritics (default)\n" msgstr " +I, --no-ignore-diacritics contempla signos diacríticos (por defecto)\n" #: wcd.c:1969 #, c-format msgid " -j, --just-go Just go mode\n" msgstr " -j, --just-go modo directo\n" #: wcd.c:1970 #, c-format msgid " -k, --keep-paths Keep paths\n" msgstr " -k, --keep-paths conservar rutas\n" #: wcd.c:1971 #, c-format msgid " -K, --color colors\n" msgstr " -K, --color colores\n" #: wcd.c:1972 #, c-format msgid " -l ALIAS aLias current directory\n" msgstr " -l ALIAS Crea un ALIAS para el directorio actual\n" #: wcd.c:1973 #, c-format msgid " -ls List the aliases\n" msgstr " -ls lista de aliases\n" #: wcd.c:1974 #, c-format msgid " -L, --license show software License\n" msgstr " -L, --license Imprime la Licencia del Programa\n" #: wcd.c:1975 #, c-format msgid " -m DIR Make DIR, add to treefile\n" msgstr " -m DIRECTORIO crea DIRECTORIO, y añádelo al fichero de árbol\n" #: wcd.c:1976 #, c-format msgid " -M DIR Make DIR, add to extra treefile\n" msgstr " -M DIRECTORIO crea DIRECTORIO, y añádelo al fichero adicional de árbol\n" #: wcd.c:1977 #, c-format msgid " -n PATH use relative treefile in PATH\n" msgstr " -n RUTA Emplea fichero de árbol relativo en RUTA\n" #: wcd.c:1978 #, c-format msgid " +n PATH add relative treefile in PATH\n" msgstr " +n RUTA añade fichero de árbol relativo en RUTA\n" #: wcd.c:1979 #, c-format msgid " -N, --numbers use Numbers\n" msgstr " -N, --numbers Emplea números\n" #: wcd.c:1980 #, c-format msgid " -o use stdOut\n" msgstr " -o Emplea la salida estándar (stdout)\n" #: wcd.c:1981 #, c-format msgid " -od, --to-stdout dump matches\n" msgstr " -od, --to-stdout vuelca coincidencias\n" #: wcd.c:1982 #, c-format msgid " -q, --quiet Quieter operation\n" msgstr " -q, --quiet operación silenciosa\n" #: wcd.c:1983 #, c-format msgid " -r DIR Remove DIR\n" msgstr " -r DIRECTORIO Remueve DIRECTORIO\n" #: wcd.c:1984 #, c-format msgid " -rmtree DIR Remove DIR recursive\n" msgstr " -rmtree DIR. Remueve recursivamente desde DIRECTORIO\n" #: wcd.c:1985 #, c-format msgid " -s Scan disk from $HOME\n" msgstr " -s Explora disco desde $HOME\n" #: wcd.c:1986 #, c-format msgid " -S PATH Scan disk from PATH\n" msgstr " -S RUTA Explora disco desde RUTA\n" #: wcd.c:1987 #, c-format msgid " +S PATH Scan disk from PATH, create relative treefile\n" msgstr " +S RUTA analiza disco desde RUTA, crea fichero de árbol relativo\n" #: wcd.c:1988 #, c-format msgid " -t don't strip /tmp_mnt from paths\n" msgstr " -t No remuevas /tmp_mnt de las rutas\n" #: wcd.c:1989 #, c-format msgid " -T, --ascii-tree draw tree with ASCII characters\n" msgstr " -T, --ascii-tree Dibuja el árbol con caracteres ASCII\n" #: wcd.c:1990 #, c-format msgid " -Ta, --alt-tree-nav Alternative tree navigation\n" msgstr " -Ta, --alt-tree-nav navegación de árbol alternativa\n" #: wcd.c:1991 #, c-format msgid " -TC, --center-tree Centered tree view\n" msgstr " -TC, --center-tree vista centrada en árbol\n" #: wcd.c:1992 #, c-format msgid " -Tc, --compact-tree Compact tree\n" msgstr " -Tc, --compact-tree Árbol compacto\n" #: wcd.c:1993 #, c-format msgid " -Td, --cjk-width support legacy CJK fonts\n" msgstr " -Td, --cjk-width soporte para fuentes antiguas CJK\n" #: wcd.c:1994 #, c-format msgid " -u USER use USER's treefile\n" msgstr " -u USUARIO Emplea fichero de árbol de USUARIO\n" #: wcd.c:1995 #, c-format msgid " +u USER add USER's treefile\n" msgstr " +u USUARIO añade fichero de árbol de USUARIO\n" #: wcd.c:1996 #, c-format msgid " -v, --verbose Verbose operation\n" msgstr " -v, --verbose operación detallada\n" #: wcd.c:1997 #, c-format msgid " -V, --version show Version info\n" msgstr " -V, --version muestra información sobre versión\n" #: wcd.c:1998 #, c-format msgid " -w, --wild-match-only Wild matching only\n" msgstr " -w, --wild-match-only Emplea sólo concordancias inexactas\n" #: wcd.c:1999 #, c-format msgid " -x PATH eXclude PATH during disk scan\n" msgstr " -x RUTA Excluye RUTA durante la exploración del disco\n" #: wcd.c:2000 #, c-format msgid " -xf FILE eXclude paths from FILE\n" msgstr " -xf FICHERO eXcluye rutas desde FICHERO\n" #: wcd.c:2001 #, c-format msgid " -y, --assume-yes assume Yes on all queries\n" msgstr " -y, --assume-yes suprime las confirmaciones suponiendo 'Sí'\n" #: wcd.c:2002 #, c-format msgid " -z NUMBER set max stack siZe\n" msgstr " -z NÚMERO establece el tamaño máximo para la pila\n" #: wcd.c:2003 #, c-format msgid " -[NUMBER] push dir (NUMBER times)\n" msgstr " -[NÚMERO] Mete directorio a la pila (NÚMERO veces)\n" #: wcd.c:2004 #, c-format msgid " +[NUMBER] pop dir (NUMBER times)\n" msgstr " +[NÚMERO] saca directorio de la pila (NÚMERO veces)\n" #: wcd.c:2005 #, c-format msgid " = show stack\n" msgstr " = mostrar pila\n" #: wcd.c:2014 wcd.c:2143 #, c-format msgid "wcd %s (%s) - Wherever Change Directory\n" msgstr "wcd %s (%s) - Wherever Change Directory\n" #: wcd.c:2015 #, c-format msgid "" "Chdir for Dos and Unix.\n" "\n" msgstr "" "Chdir para Dos y Unix.\n" "\n" #: wcd.c:2019 #, c-format msgid "DOS 16 bit version (WATCOMC).\n" msgstr "Versión DOS de 16 bit (WATCOMC).\n" #: wcd.c:2021 #, c-format msgid "DOS 16 bit version (TURBOC).\n" msgstr "Versión DOS de 16 bit (TURBOC).\n" #: wcd.c:2023 #, c-format msgid "DOS 32 bit version (DJGPP).\n" msgstr "Versión DOS de 32 bit (DJGPP).\n" #: wcd.c:2025 #, c-format msgid "DOS 32 bit version (WATCOMC).\n" msgstr "Versión DOS de 32 bit (WATCOMC).\n" #: wcd.c:2032 #, c-format msgid "Win64 version (MSVC %d).\n" msgstr "Versión para Win64 (MSVC %d).\n" #: wcd.c:2034 #, c-format msgid "Win64 version (MinGW-w64).\n" msgstr "Versión para Win64 (MinGW-w64).\n" #: wcd.c:2038 #, c-format msgid "Win32 version (WATCOMC).\n" msgstr "Versión para Win32 (WATCOMC).\n" #: wcd.c:2040 #, c-format msgid "Win32 version (MSVC %d).\n" msgstr "Versión para Win32 (MSVC %d).\n" #: wcd.c:2042 #, c-format msgid "Win32 version (MinGW-w64).\n" msgstr "Versión para Win32 (MinGW-w64).\n" #: wcd.c:2044 #, c-format msgid "Win32 version (MinGW).\n" msgstr "Versión para Win32 (MinGW).\n" #: wcd.c:2051 #, c-format msgid "This version is for MSYS and WinZsh.\n" msgstr "Esta versión es para la implementación MSYS y WinZsh.\n" #: wcd.c:2053 #, c-format msgid "This version is for Windows PowerShell.\n" msgstr "Esta versión es para Windows PowerShell.\n" #: wcd.c:2055 #, c-format msgid "This version is for Windows Command Prompt (cmd.exe).\n" msgstr "Esta versión es para el Símbolo del sistema de Windows (cmd.exe).\n" #: wcd.c:2060 #, c-format msgid "OS/2 version" msgstr "Versión para OS/2" #: wcd.c:2071 #, c-format msgid "This version is for native MSYS.\n" msgstr "Esta versión es para MSYS nativos.\n" #: wcd.c:2074 #, c-format msgid "Cygwin version.\n" msgstr "Versión para Cygwin.\n" #: wcd.c:2077 #, c-format msgid "This version is for DJGPP DOS bash.\n" msgstr "Esta versión es para DJGPP DOS bash.\n" #: wcd.c:2080 #, c-format msgid "This version is for OS/2 bash.\n" msgstr "Esta versión es para OS/2 bash.\n" #: wcd.c:2083 #, c-format msgid "Interface: " msgstr "Interfaz: " #: wcd.c:2089 #, c-format msgid "ncurses version %s.%d\n" msgstr "versión ncurses %s.%d\n" #: wcd.c:2092 #, c-format msgid "PDCurses build %d\n" msgstr "PDCurses versión %d\n" #: wcd.c:2094 #, c-format msgid "curses\n" msgstr "cursores\n" #: wcd.c:2103 #, c-format msgid "stdout\n" msgstr "stdout\n" #: wcd.c:2107 #, c-format msgid "Native language support included.\n" msgstr "Soporte de lenguaje nativo incluido.\n" #: wcd.c:2108 #, c-format msgid "LOCALEDIR=%s\n" msgstr "LOCALEDIR=%s\n" #: wcd.c:2110 #, c-format msgid "No native language support included.\n" msgstr "No incluye soporte de lenguaje nativo.\n" #: wcd.c:2113 #, c-format msgid "Current locale uses CP%u encoding.\n" msgstr "Localización actual emplea codificación CP%u.\n" #: wcd.c:2115 #, c-format msgid "Current locale uses %s encoding.\n" msgstr "Localización actual emplea codificación %s.\n" #: wcd.c:2118 #, c-format msgid "With Unicode support.\n" msgstr "Con compatibilidad Unicode.\n" #: wcd.c:2123 #, c-format msgid " Euro symbol: " msgstr " Símbolo Euro: " #: wcd.c:2125 #, c-format msgid " Chinese characters: " msgstr " Caracteres chinos: " #: wcd.c:2129 #, c-format msgid "Without Unicode support.\n" msgstr "Sin soporte para Unicode.\n" #: wcd.c:2132 #, c-format msgid "With Unicode normalization.\n" msgstr "Con normalización Unicode.\n" #: wcd.c:2134 #, c-format msgid "Without Unicode normalization.\n" msgstr "Sin normalización Unicode.\n" #: wcd.c:2137 #, c-format msgid "Download the latest executables and sources from:\n" msgstr "Descarga los últimos ejecutables y ficheros fuente de:\n" #: wcd.c:2144 #, c-format msgid "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp on C3PO\n" "Copyright (C) 1995-1996 DJ Delorie on _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews on DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel and Igor Mandrichenko on recmatch()\n" msgstr "" "Copyright © 1996-%d Erwin Waterlander\n" "Copyright © 1994-2002 Ondrej Popp en C3PO\n" "Copyright © 1995-1996 DJ Delorie en _fixpath()\n" "Copyright © 1995-1996 Borja Etxebarria y Olivier Sirol en Ninux Czo Directory\n" "Copyright © 1994-1996 Jason Mathews en DOSDIR\n" "Copyright © 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel e Igor Mandrichenko en recmatch()\n" #: wcd.c:2152 #, c-format msgid "" "Source code to scan Windows LAN was originally written and placed\n" "in the public domain by Felix Kasza.\n" "Markus Kuhn's free wcwidth() and wcswidth() implementations are used.\n" "Rugxulo is the original author of query_con_codepage() (public domain).\n" "\n" msgstr "" "Código fuente para analizar LAN Winodws fue escrito originalmente y\n" "ubicado en el dominio público por Felix Kasza.\n" "Utilizadas implementaciones libres wcwidth() y wcswidth() de Markus Kuhn.\n" "Rugxulo es el autor original de query_con_codepage() (public domain).\n" "\n" #: wcd.c:2158 #, c-format msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" "\n" msgstr "" "Este programa es software libre: puede redistribuirlo y/o modificarlo\n" "bajo los términos de la Licencia Pública General de GNU tal y como se\n" "publica por la Free Software Foundation, bien en la versión 3 de la\n" "Licencia, o (a su elección), cualquier versión posterior.\n" "\n" #: wcd.c:2164 #, c-format msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Este programa se distribuye con la esperanza que será útil,\n" "pero SIN NINGUNA GARANTÍA; aún sin la garantía implícita de\n" "COMERCIABILIDAD o IDONEIDAD PARA UN FIN DETERMINADO. Vea la\n" "Licencia Pública General de GNU para más detalles.\n" "\n" #: wcd.c:2170 #, c-format msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" msgstr "" "Debería haber recibido una copia de la Licencia General Pública de GNU\n" "junto con este programa; si no, escriba a su Fundación de Software Libre\n" "en:\n" "Free Software Foundation, Inc., \n" "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 EE. UU.\n" #: wcd.c:2203 #, c-format msgid "creating directory %s\n" msgstr "creando directorio %s\n" #: wcd.c:2535 wcd.c:2575 wcd.c:2590 wcd.c:2658 wcd.c:2727 wcd.c:3229 wcd.c:3248 #, c-format msgid "Value of environment variable %s is too long.\n" msgstr "El valor de la variable de ambiente %s es demasiado largo.\n" #: wcd.c:2564 #, c-format msgid "Failed to unset environment variable TERM: %s\n" msgstr "Error al suprimir la variable de entorno TERM: %s\n" #: wcd.c:2622 wcd.c:2651 msgid "Environment variable HOME or WCDHOME is not set.\n" msgstr "La variable de ambiente HOME o WCDHOME no tiene valor.\n" #: wcd.c:2834 #, c-format msgid "aliasfile: %s\n" msgstr "" "ficheroalias: %s\n" "\n" #: wcd.c:2848 msgid "HOME is not defined\n" msgstr "La variable de entorno HOME no está definida\n" #: wcd.c:2852 msgid "WCDHOME is not defined\n" msgstr "La variable de entorno WCDHOME no está definida\n" #: wcd.c:2856 msgid "WCDSCAN is not defined\n" msgstr "La variable de entorno WCDSCAN no está definida\n" #: wcd.c:2881 msgid "Graphics mode only supported in wcd with curses-based interface.\n" msgstr "Modo gráfico sólo soportado en wcd con interfase basada en curses.\n" #: wcd.c:3162 #, c-format msgid "%s added to aliasfile %s\n" msgstr "%s se añadió al fichero de alias %s\n" #: wcd.c:3261 #, c-format msgid "Unable to read file %s or %s\n" msgstr "Incapaz de leer el fichero %s: %s\n" #: wcd.c:3411 #, c-format msgid "WCDSCAN directory {%s}\n" msgstr "Directorio de WCDSCAN {%s}\n" #: wcd.c:3413 #, c-format msgid "banning {%s}\n" msgstr "rechazando {%s}\n" #: wcd.c:3415 #, c-format msgid "excluding {%s}\n" msgstr "excluyendo {%s}\n" #: wcd.c:3417 #, c-format msgid "filtering {%s}\n" msgstr "filtrando {%s}\n" #: wcd.c:3677 #, c-format msgid "No directory found matching %s\n" msgstr "No se encontró algún directorio que concordara con %s\n" #: wcd.c:3678 msgid "Perhaps you need to rescan the disk or path is banned.\n" msgstr "Quizá necesite reexplorar el disco o la ruta.\n" #: wcd.c:3807 #, c-format msgid "Cannot change to %s\n" msgstr "No puedo modificar el directorio a %s\n" #: wcddir.c:109 #, c-format msgid "%lu (\"%s\") reported by \"%s\".\n" msgstr "%lu (\"%s\") reportado por \"%s\".\n" #: wcddir.c:131 msgid "access denied.\n" msgstr "acceso denegado.\n" #: wcddir.c:206 #, c-format msgid "Searching for shared directories on server %s\n" msgstr "Buscando ficheros compartidos en el servidor %s\n" #: wcddir.c:218 #, c-format msgid "Found %lu shared directories on server %s\n" msgstr "Se encontraron %lu directorios compartidos en el servidor %s\n" #: wcddir.c:335 msgid "Unable to get current working directory: " msgstr "Incapaz de obtener el directorio actual de trabajo: " #: wcddir.c:362 #, c-format msgid "Unable to change to directory %s: " msgstr "Incapaz de cambiarse al directorio %s: " #: wcddir.c:392 #, c-format msgid "Unable to create directory %s: " msgstr "Incapaz de cambiarse al directorio %s: " #: wcddir.c:420 #, c-format msgid "Unable to remove directory %s: " msgstr "Incapaz de quitar el directorio %s: " #: wcddir.c:543 wcddir.c:554 #, c-format msgid "Unable to create directory %s: %s\n" msgstr "Incapaz de cambiarse al directorio %s: %s\n" #: wcddir.c:660 #, c-format msgid "Unable to get current working directory: %s\n" msgstr "Incapaz de obtener el directorio actual de trabajo: %s\n" #: wcddir.c:674 #, c-format msgid "Unable to change to directory %s: %s\n" msgstr "Incapaz de cambiarse al directorio %s: %s\n" #: wcddir.c:683 #, c-format msgid "Unable to remove directory %s: %s\n" msgstr "Incapaz de quitar el fichero %s: %s\n" #: stack.c:101 msgid "Error parsing stack\n" msgstr "Error al analizar la pila\n" #: display.c:263 msgid "internal error in maxLength(), list == NULL\n" msgstr "error interno en maxLength(), list == NULO\n" #: display.c:284 msgid "internal error in maxLengthStack(), s == NULL\n" msgstr "error interno en maxLengthStack(), s == NULO\n" #: display.c:524 display.c:1150 display.c:1538 #, c-format msgid "Perfect match for %d directories." msgstr "Perfecta concordancia para %d directorios." #: display.c:526 display.c:1152 display.c:1540 #, c-format msgid "Wild match for %d directories." msgstr "Inexacta concordancia para %d directorios." #: display.c:530 display.c:1164 display.c:1542 display.c:1585 #, c-format msgid "Please choose one ( to abort): " msgstr "Favor de elegir uno ( para abortar): " #: display.c:532 display.c:608 display.c:640 display.c:1157 #, c-format msgid " w=up x=down ?=help Page %d/%d " msgstr " w=arriba x=abajo ?=ayuda Página %d/%d " #: display.c:684 display.c:1180 msgid "Screenheight must be > 20 for help." msgstr "La altura de la pantalla debe ser > 20 para la ayuda." #: display.c:689 display.c:1183 msgid "w or page up" msgstr "w o avanza página" #: display.c:690 display.c:1184 msgid "x or z or page down" msgstr "x o retrocede página" #: display.c:691 display.c:1185 msgid ", or scroll 1 left" msgstr ", o desliza 1 a la izquierda" #: display.c:692 display.c:1186 msgid ". or scroll 1 right" msgstr ". o desliza 1 a la derecha" #: display.c:693 display.c:1187 msgid "< or [ scroll 10 left" msgstr "< o [ desliza 10 a la izquierda" #: display.c:694 display.c:1188 msgid "> or ] scroll 10 right" msgstr "> o ] desliza 10 a la derecha" #: display.c:695 display.c:1189 msgid "CTRL-a or scroll to beginning" msgstr "CTRL-a o desliza al inicio" #: display.c:696 display.c:1190 msgid "CTRL-e or scroll to end" msgstr "CTRL-e o desliza al fin" #: display.c:697 display.c:1192 msgid "CTRL-c or abort" msgstr "CTRL-c o aborta" #: display.c:698 display.c:1193 msgid " abort" msgstr " aborta" #: display.c:699 msgid "Type w or x to quit help." msgstr "Teclee w o x para quitar la ayuda." #: display.c:1191 graphics.c:1994 msgid "CTRL-l or F5 redraw screen" msgstr "CTRL-l o F5 redibujar pantalla" #: display.c:1194 graphics.c:1979 graphics.c:1996 graphics.c:2019 #: graphics.c:2036 msgid "Press any key." msgstr "Presione alguna tecla." #: display.c:1256 graphics.c:2289 msgid "Error opening terminal, falling back to stdout interface.\n" msgstr "Error al abrir terminal, volviendo a interfaz de salida.\n" #: display.c:1277 msgid "screen height must be larger than 3 lines.\n" msgstr "la altura de la pantalla debe ser mayor de 3 líneas.\n" #: display.c:1318 graphics.c:2314 msgid "error creating scroll window.\n" msgstr "error al crear ventana deslizable.\n" #: display.c:1334 graphics.c:2330 msgid "error creating input window.\n" msgstr "error al crear ventana de entrada.\n" #: graphics.c:290 #, c-format msgid "Wcd: error: path too long" msgstr "Wcd: error: la ruta es demasiado larga" #: graphics.c:1940 msgid "/ = search forward, ? = search backward, : = help" msgstr "/ = busca adelante, ? = busca atrás, : = ayuda" #: graphics.c:1945 msgid "SEARCH: " msgstr "BÚSQUEDA: " #: graphics.c:1948 msgid "Search: " msgstr "Búsqueda: " #: graphics.c:1964 msgid "NAVIGATION MODE (1/2):" msgstr "MODO NAVEGACIÓN (1/2):" #: graphics.c:1965 msgid "h or go left" msgstr "h o ir a la izquierda" #: graphics.c:1966 msgid "j or go down" msgstr "j o bajar" #: graphics.c:1967 msgid "k or go up" msgstr "k o subir" #: graphics.c:1968 msgid "l or go right" msgstr "l o ir a la derecha" #: graphics.c:1969 msgid "* or v or go forward to dir with same name" msgstr "* o v o ir hacia adelante al directorio con el mismo nombre" #: graphics.c:1970 msgid "# or p or go backward to dir with same name" msgstr "# o p o ir hacia atrás al directorio con el mismo nombre" #: graphics.c:1971 msgid "^ or a go to beginning of line" msgstr "^ o a ir al inicio de la línea" #: graphics.c:1972 msgid "$ or e go to end of line" msgstr "$ o e ir al final de la línea" #: graphics.c:1973 msgid "1 go to root dir" msgstr "1 ir al directorio raiz" #: graphics.c:1974 msgid "g or G go to last dir" msgstr "g o G ir al último directorio" #: graphics.c:1975 msgid "f go page forward" msgstr "f avanzar página" #: graphics.c:1976 msgid "b go page backward" msgstr "b retroceder página" #: graphics.c:1977 msgid "u go half page up" msgstr "u avanzar media página" #: graphics.c:1978 msgid "d go half page down" msgstr "d retroceder media página" #: graphics.c:1985 msgid "NAVIGATION MODE (2/2):" msgstr "MODO NAVEGACIÓN (2/2):" #: graphics.c:1986 msgid "A switch alternative tree navigation on/off" msgstr "A enciende/apaga navegación de árbol alternativa" #: graphics.c:1987 msgid "t switch centered mode on/off" msgstr "t enciende/apaga el modo centrado" #: graphics.c:1988 msgid "T toggle between line drawing and ASCII characters" msgstr "T intercambia entre gráficas y caracteres ASCII" #: graphics.c:1989 msgid "m toggle between compact and wide tree" msgstr "m selecciona entre árbol compacto y expandido" #: graphics.c:1990 msgid " or q abort" msgstr " o q Aborta" #: graphics.c:1991 msgid "/ search forward" msgstr "/ busca hacia adelante" #: graphics.c:1992 msgid "? search backward" msgstr "? Busca hacia atrás" #: graphics.c:1993 msgid "n repeat last / or ? search" msgstr "n repetir / o ? en la última búsqueda" #: graphics.c:1995 graphics.c:2018 msgid " select directory" msgstr " Selecciona directorio" #: graphics.c:2002 msgid "SEARCH MODE with wildcard and subdir support:" msgstr "MODO BUSQUEDA con soporte de comodines y subdirectorios:" #: graphics.c:2003 msgid " go left" msgstr " ir a la izquierda" #: graphics.c:2004 msgid " go down" msgstr " ir hacia abajo" #: graphics.c:2005 msgid " go up" msgstr " ir hacia arriba" #: graphics.c:2006 msgid " go right" msgstr " ir a la derecha" #: graphics.c:2007 msgid "CTRL-v go forward to dir with same name" msgstr "CTRL-v ir hacia delante al directorio con el mismo nombre" #: graphics.c:2008 msgid "CTRL-p go backward to dir with same name" msgstr "CTRL-p ir hacia atrás al directorio con el mismo nombre" #: graphics.c:2009 msgid "CTRL-a go to beginning of line" msgstr "CTRL-a ir al inicio de la línea" #: graphics.c:2010 msgid "CTRL-e go to end of line" msgstr "CTRL-e ir al final de la línea" #: graphics.c:2011 msgid "CTRL-g go to last dir" msgstr "CTRL-g ir al último directorio" #: graphics.c:2012 msgid "CTRL-f go page forward" msgstr "CTRL-f avanzar página" #: graphics.c:2013 msgid "CTRL-b go page backward" msgstr "CTRL-b retroceder página" #: graphics.c:2014 msgid "CTRL-u go half page up" msgstr "CTRL-u avanzar media página" #: graphics.c:2015 msgid "CTRL-d go half page down" msgstr "CTRL-d retroceder media página" #: graphics.c:2016 msgid " or CTRL-x abort SEARCH MODE" msgstr " o CTRL-x Abortar MODO BUSQUEDA" #: graphics.c:2017 msgid "CTRL-n repeat last / or ? search" msgstr "CTRL-n repetir la última / o ? buscados" #: graphics.c:2025 msgid "ZOOMING:" msgstr "ZOOMING:" #: graphics.c:2026 msgid "z or i or CTRL-i zoom in" msgstr "z o i o CTRL-i acercamiento" #: graphics.c:2027 msgid "Z or o or CTRL-o zoom out" msgstr "Z o o o CTRL-o alejamiento" #: graphics.c:2028 msgid "c condense: fold current level" msgstr "c condensar: encarpetar nivel actual" #: graphics.c:2029 msgid "C condense: fold subdir level" msgstr "C condensar: encarpetar nivel del subdirectorio" #: graphics.c:2030 msgid "w condense: fold current and subdir levels" msgstr "w condensar: condensar nivel actual y subdirectorios" #: graphics.c:2031 msgid "y or CTRL-y uncondense: unfold current and subdir levels" msgstr "y o CTRL-y expandir: expandir nivel actual y subdirectorios" #: graphics.c:2032 msgid "r or CTRL-r uncondense: unfold all directories" msgstr "r o CTRL-r expandir: expandir todos los directorios" #: graphics.c:2033 msgid "- fold directory" msgstr "- abrir directorio" #: graphics.c:2034 msgid "+ or = unfold directory" msgstr "+ o = cerrar directorio" #: graphics.c:2035 msgid "l or unfold and go right" msgstr "l o cerrar e ir a la derecha" #: graphics.c:2039 msgid "Screenheight must be > 21 for help." msgstr "La altura de la pantalla debe ser > 21 para la ayuda." #: graphics.c:2271 graphics.c:2757 #, c-format msgid "Cannot find the current path %s in the directory tree.\n" msgstr "No puede encontrar la ruta actual %s dentro del árbol directorio.\n" #: finddirs.c:241 finddirs.c:249 finddirs.c:273 finddirs.c:300 finddirs.c:314 #, c-format msgid "Unable to remove file %s: %s\n" msgstr "Incapaz de quitar el fichero %s: %s\n" #: finddirs.c:322 finddirs.c:486 #, c-format msgid "Unable to close directory %s: %s\n" msgstr "Incapaz de cerrar directorio %s: %s\n" #: finddirs.c:365 #, c-format msgid "finddirs(): can't determine path in directory %s\n" msgstr "finddirs(): imposible determinar la ruta en el directorio %s\n" #: finddirs.c:366 msgid "path probably too long.\n" msgstr "probablemente la ruta es demasiado larga.\n" #: c3po/Error.c:41 #, c-format msgid "in '%s', insufficient memory for allocation\n" msgstr "en «%s», memoria insuficiente para ubicación\n" #~ msgid "malloc error in wcd_fixpath()\n" #~ msgstr "error de malloc en wcd_fixpath()\n" #~ msgid "" #~ "Wcd: error in '%s', no space left for allocation\n" #~ "Wcd: Insufficient memory\n" #~ msgstr "" #~ "Wcd: error en '%s', no hay espacio para asignación\n" #~ "Wcd: Memoria insuficiente\n" wcd-6.0.3/src/po/fi.po0000644000175500010010000010525413524756537013737 0ustar waterlanGeen# Finnish translations for wcd package. # Copyright © 2008-2016 Erwin Waterlander (msgids). # This file is distributed under the same license as the wcd package. # # Jari Aalto , 2009, 2013. # Jorma Karvonen , 2014, 2016. msgid "" msgstr "" "Project-Id-Version: wcd 5.3.3-beta9\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-08-18 11:44+0200\n" "PO-Revision-Date: 2016-09-28 15:49+0300\n" "Last-Translator: Jorma Karvonen \n" "Language-Team: Finnish \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: wcd.c:170 #, c-format msgid "Wcd: error: " msgstr "Wcd: virhe: " #: wcd.c:183 wcd.c:237 wcd.c:257 #, c-format msgid "Unable to read file %s: %s\n" msgstr "Tiedoston %s lukeminen epäonnistui: %s\n" #: wcd.c:246 #, c-format msgid "Unable to read file %s: Not a regular file.\n" msgstr "Tiedoston %s lukeminen epäonnistui: ei ole tavallinen tiedosto.\n" #: wcd.c:259 wcd.c:346 #, c-format msgid "Unable to write file %s: %s\n" msgstr "Tiedoston %s kirjoittaminen epäonnistui: %s\n" #: wcd.c:348 #, c-format msgid "Unable to close file %s: %s\n" msgstr "Tiedoston %s sulkeminen epäonnistui: %s\n" #: wcd.c:409 wcd.c:414 wfixpath.c:65 #, c-format msgid "Memory allocation error in %s: %s\n" msgstr "Muistivarausvirhe kohteessa %s: %s\n" #: wcd.c:716 wcd.c:730 #, c-format msgid "%s added to file %s\n" msgstr "%s lisätty tiedostoon %s\n" #: wcd.c:765 wcd.c:1097 #, c-format msgid "%s is not a directory.\n" msgstr "%s ei ole hakemisto.\n" #: wcd.c:770 #, c-format msgid "Please wait. Scanning disk. Building treedata-file %s from %s\n" msgstr "Odota, levyasemaa tutkitaan. Treedata-tiedostoa %s rakennetaan lähteestä %s\n" #: wcd.c:832 wcd.c:2223 wcd.c:2246 wcd.c:2326 #, c-format msgid "Writing file \"%s\"\n" msgstr "Kirjoitetaan tiedostoa ”%s”\n" #: wcd.c:837 msgid "Write access to tree-file denied.\n" msgstr "Ei kirjoitusoikeutta tree-file-tiedostoon.\n" #: wcd.c:838 msgid "Set TEMP environment variable if this is a read-only disk.\n" msgstr "Aseta ympäristömuuttuja TEMP eri paikkaan, jos kyseessä on kirjoitussuojattu levy.\n" #: wcd.c:967 #, c-format msgid "Removed symbolic link %s\n" msgstr "Symbolinen linkki tiedostoon %s poistettu\n" #: wcd.c:971 #, c-format msgid "Unable to remove symbolic link %s: %s\n" msgstr "Symbolisen linkin %s poistaminen epäonnistui: %s\n" #: wcd.c:975 #, c-format msgid "%s is a symbolic link to a file.\n" msgstr "%s on symbolinen linkki tiedostoon.\n" #: wcd.c:1058 #, c-format msgid "Recursively remove %s? Are you sure? y/n :" msgstr "Poistetaanko %s rekursiivisesti? Oletko varma (yes/no)? y/n :" #: wcd.c:1080 wcd.c:1090 #, c-format msgid "Removed directory %s\n" msgstr "Hakemisto %s poistettu\n" #: wcd.c:1122 wcd.c:1191 wcd.c:1259 #, fuzzy, c-format msgid "line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n" msgstr "liian pitkä rivi kohteessa %s ( > %d). Tiedosto treefile saattaa olla rikkinäinen, kasvata DD_MAXPATH-kokoa lähdekoodissa.\n" #: wcd.c:1123 wcd.c:1192 wcd.c:1260 #, c-format msgid "file: %s, line: %d," msgstr "tiedosto: %s, rivi: %d," #: wcd.c:1130 wcd.c:1199 wcd.c:1267 #, c-format msgid " length: %d\n" msgstr " pituus: %d\n" #: wcd.c:1768 wcd.c:1837 msgid "Alias file in UTF-16 format is not supported.\n" msgstr "" #: wcd.c:1937 #, c-format msgid "" "Usage: wcd [options] [directory]\n" "\n" msgstr "" "Käyttö: wcd [valitsimet] [hakemisto]\n" "\n" #: wcd.c:1938 #, c-format msgid "directory: Name of directory to change to.\n" msgstr "hakemisto: Hakemiston nimi, johon siirtyä.\n" #: wcd.c:1939 #, c-format msgid "" " Wildcards *, ? and [SET] are supported.\n" "\n" msgstr "" " Jokerimerkit *, ? ja [] ovat tuettuja\n" "\n" #: wcd.c:1941 #, c-format msgid "options:\n" msgstr "valitsimet:\n" #: wcd.c:1942 #, c-format msgid " -a Add current path to treefile\n" msgstr " -a Lisää polku tiedostoon treefile\n" #: wcd.c:1943 #, c-format msgid " -aa Add current and all parent paths to treefile\n" msgstr " -aa Lisää nykyinen ja kaikki polut yläpuolelta tiedostoon treefile\n" #: wcd.c:1944 #, c-format msgid " -A PATH Add tree from PATH\n" msgstr " -A POLKU Lisää puuhierarkia argumentista POLKU\n" #: wcd.c:1945 #, c-format msgid " -b Ban current path\n" msgstr " -b Lisää polku mustalle listalle\n" #: wcd.c:1946 #, c-format msgid " -c, --direct-cd direct CD mode\n" msgstr " -c, --direct-cd Suora CD-tila\n" #: wcd.c:1947 #, c-format msgid " -d DRIVE set DRIVE for stack & go files (DOS)\n" msgstr " -d ASEMA aseta ASEMA toimintojen stack & go tiedostoille (DOS)\n" #: wcd.c:1948 #, c-format msgid " -e add current path to Extra treefile\n" msgstr " -e lisää polku tiedostoon Extra treefile\n" #: wcd.c:1949 #, c-format msgid " -ee add current and all parent paths to Extra treefile\n" msgstr " -ee lisää nykyinen ja kaikki polut yläpuolelta tiedostoon Extra treefile\n" #: wcd.c:1950 #, c-format msgid " -E PATH add tree from PATH to Extra treefile\n" msgstr " -E POLKU lisää puuhierarkia argumentista POLKU tiedostoon Extra treefile\n" #: wcd.c:1951 #, c-format msgid " -f FILE use extra treeFile\n" msgstr " -f TIEDOSTO käytä extra treeFile\n" #: wcd.c:1952 #, c-format msgid " +f FILE add extra treeFile\n" msgstr " +f TIEDOSTO Lisää extra treeFile\n" #: wcd.c:1953 #, c-format msgid " -g Graphics\n" msgstr " -g Graafinen tila\n" #: wcd.c:1954 #, c-format msgid " -gd Graphics, dump tree\n" msgstr " -gd Graafinen tila, vedosta puuhierarkia\n" #: wcd.c:1955 #, c-format msgid " -G PATH set PATH Go-script\n" msgstr " -G POLKU aseta POLKU-go-skripti\n" #: wcd.c:1956 #, c-format msgid " -GN, --no-go-script No Go-script\n" msgstr " -GN, --no-go-script Poista go-skripti käytöstä\n" #: wcd.c:1957 #, c-format msgid " -h, --help show this Help\n" msgstr " -h, --help näytä tämä opaste\n" #: wcd.c:1960 #, c-format msgid " -i, --ignore-case Ignore case (default)\n" msgstr " -i, --ignore-case Isot ja pienet kirjaimet - eivät merkityksellisiä (oletus)\n" #: wcd.c:1961 #, c-format msgid " +i, --no-ignore-case regard case\n" msgstr " +i, --no-ignore-case Isot ja pienet kirjaimet - merkityksellisiä\n" #: wcd.c:1963 #, c-format msgid " -i, --ignore-case Ignore case\n" msgstr " -i, --ignore-case Isot ja pienet kirjaimet - eivät merkityksellisiä\n" #: wcd.c:1964 #, c-format msgid " +i, --no-ignore-case regard case (default)\n" msgstr " +i, --no-ignore-case Isot ja pienet kirjaimet - merkityksellisiä (oletus)\n" #: wcd.c:1967 #, c-format msgid " -I, --ignore-diacritics Ignore diacritics\n" msgstr " -I, --ignore-diacritics Ohita diakrittiset merkit\n" #: wcd.c:1968 #, c-format msgid " +I, --no-ignore-diacritics regard diacritics (default)\n" msgstr " +I, --no-ignore-diacritics Ota huomioon diakriittiset merkit (oletus)\n" #: wcd.c:1969 #, c-format msgid " -j, --just-go Just go mode\n" msgstr " -j, --just-go Ainoastaan go-tila\n" #: wcd.c:1970 #, c-format msgid " -k, --keep-paths Keep paths\n" msgstr " -k, --keep-paths Säilytä polut\n" #: wcd.c:1971 #, c-format msgid " -K, --color colors\n" msgstr " -K, --color näytä värit\n" #: wcd.c:1972 #, c-format msgid " -l ALIAS aLias current directory\n" msgstr " -l ALIAS Määritä ALIAS nykyiselle hakemistolle\n" #: wcd.c:1973 #, c-format msgid " -ls List the aliases\n" msgstr " -ls Aliasluettelo\n" #: wcd.c:1974 #, c-format msgid " -L, --license show software License\n" msgstr " -L, --license näytä ohjelman lisenssi\n" #: wcd.c:1975 #, c-format msgid " -m DIR Make DIR, add to treefile\n" msgstr " -m HAKEMISTO Tee HAKEMISTO, lisää tiedostoon treefile\n" #: wcd.c:1976 #, c-format msgid " -M DIR Make DIR, add to extra treefile\n" msgstr " -M HAKEMISTO Tee HAKEMISTO, lisää tiedostoon extra treefile\n" #: wcd.c:1977 #, c-format msgid " -n PATH use relative treefile in PATH\n" msgstr " -n POLKU käytä suhteellista treefile-tiedostoa argumentissa POLKU\n" #: wcd.c:1978 #, c-format msgid " +n PATH add relative treefile in PATH\n" msgstr " +n POLKU lisää suhteellinen treefile-tiedosto argumentissa POLKU\n" #: wcd.c:1979 #, c-format msgid " -N, --numbers use Numbers\n" msgstr " -N, --numbers käytä numerointia\n" #: wcd.c:1980 #, c-format msgid " -o use stdOut\n" msgstr " -o läytä vakiotulostetta\n" #: wcd.c:1981 #, c-format msgid " -od, --to-stdout dump matches\n" msgstr " -od, --to-stdout vedosta esiintymät\n" #: wcd.c:1982 #, c-format msgid " -q, --quiet Quieter operation\n" msgstr " -q, --quiet Hiljainen tila, ei viestejä\n" #: wcd.c:1983 #, c-format msgid " -r DIR Remove DIR\n" msgstr " -r HAKEMISTO Poista HAKEMISTO\n" #: wcd.c:1984 #, c-format msgid " -rmtree DIR Remove DIR recursive\n" msgstr " -rmtree HAKEMISTO Poista HAKEMISTO rekursiivisesti\n" #: wcd.c:1985 #, c-format msgid " -s Scan disk from $HOME\n" msgstr " -s Tutki levyasema hakemistosta $HOME alaspäin\n" #: wcd.c:1986 #, c-format msgid " -S PATH Scan disk from PATH\n" msgstr " -S POLKU Tutki levyasema argumentista POLKU alaspäin\n" #: wcd.c:1987 #, c-format msgid " +S PATH Scan disk from PATH, create relative treefile\n" msgstr " +S POLKU Tutki levyasema argumentista POLKU alaspäin, luo suhteellinen treefile\n" #: wcd.c:1988 #, c-format msgid " -t don't strip /tmp_mnt from paths\n" msgstr " -t älä poista /tmp_mnt-osoitetta poluista\n" #: wcd.c:1989 #, c-format msgid " -T, --ascii-tree draw tree with ASCII characters\n" msgstr " -T, --ascii-tree piirrä hakemistopuu ASCII-kirjaimin\n" #: wcd.c:1990 #, c-format msgid " -Ta, --alt-tree-nav Alternative tree navigation\n" msgstr " -Ta, --alt-tree-nav Vaihtoehtoinen navigointitapa\n" #: wcd.c:1991 #, c-format msgid " -TC, --center-tree Centered tree view\n" msgstr " -TC, --center-tree Keskitä näkymä\n" #: wcd.c:1992 #, c-format msgid " -Tc, --compact-tree Compact tree\n" msgstr " -Tc, --compact-tree Kompakti esitystapa\n" #: wcd.c:1993 #, c-format msgid " -Td, --cjk-width support legacy CJK fonts\n" msgstr " -Td, --cjk-width Aktivoi tuki perinteisille CJK-kirjasimille\n" #: wcd.c:1994 #, c-format msgid " -u USER use USER's treefile\n" msgstr " -u KÄYTTÄJÄ käytä KÄYTTÄJÄN treefil-tiedostoa\n" #: wcd.c:1995 #, c-format msgid " +u USER add USER's treefile\n" msgstr " +u KÄYTTÄJÄ lisää KÄYTTÄJÄN treefil-tiedosto\n" #: wcd.c:1996 #, c-format msgid " -v, --verbose Verbose operation\n" msgstr " -v, --verbose Lavea tila, lisää viestien määrää\n" #: wcd.c:1997 #, c-format msgid " -V, --version show Version info\n" msgstr " -V, --version näytä ohjelman versio\n" #: wcd.c:1998 #, c-format msgid " -w, --wild-match-only Wild matching only\n" msgstr " -w, --wild-match-only Jokerimerkkihaku, etsi annetun säännön mukaan\n" #: wcd.c:1999 #, c-format msgid " -x PATH eXclude PATH during disk scan\n" msgstr " -x POLKU Jätä huomioimatta POLKU tutkinnan aikana\n" #: wcd.c:2000 #, c-format msgid " -xf FILE eXclude paths from FILE\n" msgstr " -xf TIEDOSTO Jätä huomioimatta kaikki TIEDOSTO-polut\n" #: wcd.c:2001 #, c-format msgid " -y, --assume-yes assume Yes on all queries\n" msgstr " -y, --assume-yes käytä oletusarvoa KYLLÄ kaikkiin kysymyksiin\n" #: wcd.c:2002 #, c-format msgid " -z NUMBER set max stack siZe\n" msgstr " -z NUMERO aseta pinon maksimikoko\n" #: wcd.c:2003 #, c-format msgid " -[NUMBER] push dir (NUMBER times)\n" msgstr " -[NUMERO] lisää hakemisto pinoon (NUMERO kertaa)\n" #: wcd.c:2004 #, c-format msgid " +[NUMBER] pop dir (NUMBER times)\n" msgstr " +[NUMERO] ota hakemisto pinosta (NUMERO kertaa)\n" #: wcd.c:2005 #, c-format msgid " = show stack\n" msgstr " = näytä pino\n" #: wcd.c:2014 wcd.c:2143 #, c-format msgid "wcd %s (%s) - Wherever Change Directory\n" msgstr "wcd %s (%s) - Siirry mihin tahansa hakemistoon\n" #: wcd.c:2015 #, c-format msgid "" "Chdir for Dos and Unix.\n" "\n" msgstr "" "Hakemiston vaihto Dos- ja Unix-käyttöjärjestelmille.\n" "\n" #: wcd.c:2019 #, c-format msgid "DOS 16 bit version (WATCOMC).\n" msgstr "DOS 16-bittinen versio (WATCOMC).\n" #: wcd.c:2021 #, c-format msgid "DOS 16 bit version (TURBOC).\n" msgstr "DOS 16-bittinen versio (TURBOC).\n" #: wcd.c:2023 #, c-format msgid "DOS 32 bit version (DJGPP).\n" msgstr "DOS 32-bittinen versio (DJGPP).\n" #: wcd.c:2025 #, c-format msgid "DOS 32 bit version (WATCOMC).\n" msgstr "DOS 32-bittinen versio (WATCOMC).\n" #: wcd.c:2032 #, c-format msgid "Win64 version (MSVC %d).\n" msgstr "Win64-versio (MSVC %d).\n" #: wcd.c:2034 #, c-format msgid "Win64 version (MinGW-w64).\n" msgstr "Win64-versio (MinGW-w64).\n" #: wcd.c:2038 #, c-format msgid "Win32 version (WATCOMC).\n" msgstr "Win32-versio (WATCOMC).\n" #: wcd.c:2040 #, c-format msgid "Win32 version (MSVC %d).\n" msgstr "Win32-versio (MSVC %d).\n" #: wcd.c:2042 #, c-format msgid "Win32 version (MinGW-w64).\n" msgstr "Win32-versio (MinGW-w64).\n" #: wcd.c:2044 #, c-format msgid "Win32 version (MinGW).\n" msgstr "Win32-versio (MinGW).\n" #: wcd.c:2051 #, c-format msgid "This version is for MSYS and WinZsh.\n" msgstr "Tämä versio on tarkoitettu MSYS ja WinZsh käyttöön.\n" #: wcd.c:2053 #, c-format msgid "This version is for Windows PowerShell.\n" msgstr "Tämä versio on tarkoitettu Windows PowerShell käyttöön.\n" #: wcd.c:2055 #, c-format msgid "This version is for Windows Command Prompt (cmd.exe).\n" msgstr "Tämä ohjelma toimii vain Windowsin cmd.exe komentotulkissa.\n" #: wcd.c:2060 #, c-format msgid "OS/2 version" msgstr "OS/2-versio" #: wcd.c:2071 #, c-format msgid "This version is for native MSYS.\n" msgstr "Tämä versio on alkuperäistä MSYS-tiedostoa varten.\n" #: wcd.c:2074 #, c-format msgid "Cygwin version.\n" msgstr "Cygwin-versio.\n" #: wcd.c:2077 #, c-format msgid "This version is for DJGPP DOS bash.\n" msgstr "Tämä versio on tarkoitettu DJGPP DOS bash-käyttöön.\n" #: wcd.c:2080 #, c-format msgid "This version is for OS/2 bash.\n" msgstr "Tämä version on OS/2 bash-käyttöön.\n" #: wcd.c:2083 #, c-format msgid "Interface: " msgstr "Käyttöliittymä: " #: wcd.c:2089 #, c-format msgid "ncurses version %s.%d\n" msgstr "ncurses-tuella varustettu versio %s.%d\n" #: wcd.c:2092 #, c-format msgid "PDCurses build %d\n" msgstr "PDCurses-rakennettu %d\n" #: wcd.c:2094 #, c-format msgid "curses\n" msgstr "curses\n" #: wcd.c:2103 #, c-format msgid "stdout\n" msgstr "vakiotuloste\n" #: wcd.c:2107 #, c-format msgid "Native language support included.\n" msgstr "Kieliasetusten tuki sisäänrakennettu.\n" #: wcd.c:2108 #, c-format msgid "LOCALEDIR=%s\n" msgstr "LOCALEDIR=%s\n" #: wcd.c:2110 #, c-format msgid "No native language support included.\n" msgstr "Ei kieliasetusten tukea sisäänrakennettu.\n" #: wcd.c:2113 #, c-format msgid "Current locale uses CP%u encoding.\n" msgstr "Nykyinen paikallisasetus käyttää CP%u-koodausta.\n" #: wcd.c:2115 #, c-format msgid "Current locale uses %s encoding.\n" msgstr "Nykyinen paikallisasetus käyttää %s-koodausta.\n" #: wcd.c:2118 #, c-format msgid "With Unicode support.\n" msgstr "Unicode-kirjaimiston tuki sisäänrakennettu.\n" #: wcd.c:2123 #, c-format msgid " Euro symbol: " msgstr " Euro-symboli: " #: wcd.c:2125 #, c-format msgid " Chinese characters: " msgstr " Kiinalaiset kirjaimet: " #: wcd.c:2129 #, c-format msgid "Without Unicode support.\n" msgstr "Ei Unicode-kirjaimiston tukea sisäänrakennettu.\n" #: wcd.c:2132 #, c-format msgid "With Unicode normalization.\n" msgstr "Unicode-normalisointi käytössä.\n" #: wcd.c:2134 #, c-format msgid "Without Unicode normalization.\n" msgstr "Ilman Unicode-normalisointia.\n" #: wcd.c:2137 #, c-format msgid "Download the latest executables and sources from:\n" msgstr "Lataa viimeisin versio ohjelmasta ja sen lähdekoodista osoitteesta:\n" #: wcd.c:2144 #, c-format msgid "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp on C3PO\n" "Copyright (C) 1995-1996 DJ Delorie on _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews on DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel and Igor Mandrichenko on recmatch()\n" msgstr "" "Copyright © 1996-%d Erwin Waterlander\n" "Copyright © 1994-2002 Ondrej Popp on C3PO\n" "Copyright © 1995-1996 DJ Delorie on _fixpath()\n" "Copyright © 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Copyright © 1994-1996 Jason Mathews on DOSDIR\n" "Copyright © 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel ja Igor Mandrichenko on recmatch()\n" #: wcd.c:2152 #, c-format msgid "" "Source code to scan Windows LAN was originally written and placed\n" "in the public domain by Felix Kasza.\n" "Markus Kuhn's free wcwidth() and wcswidth() implementations are used.\n" "Rugxulo is the original author of query_con_codepage() (public domain).\n" "\n" msgstr "" "Felix Kasza kirjoitti alunperin public domain-lähdekoodin Windows\n" "LAN-verkon tutkimiseksi.\n" "Koodissa käytettiin Markus Kuhnin vapaita wcwidth() ja wcswidth()\n" "-toteutuksia.\n" "Rugxulo oli (public domain) query_con_codepage()-funktion alkuperäinen\n" "tekijä.\n" "\n" #: wcd.c:2158 #, c-format msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" "\n" msgstr "" "Tämä on vapaa ohjelmisto; sitä saa vapaasti levittää edelleen ja muuttaa\n" "Free Software Foundation julkistaman GNU General Public License-lisenssin\n" "version 2 tai (valintasi mukaan) minkä tahansa myöhäisemmän version alaisena.\n" "\n" #: wcd.c:2164 #, c-format msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Tätä ohjelmaa jaetaan toivossa, että se on hyödyllinen, mutta\n" "ILMAN MITÄÄN TAKUUTA, siinä määrin kuin laki sallii ja ilman\n" "TAKUUTA KAUPALLISUUDESTA tai SOPIVUUDESTA TIETTYYN TARKOITUKSEEN.\n" "Katso lisätietoja lisenssistä GNU General Public License.\n" "\n" #: wcd.c:2170 #, c-format msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" msgstr "" "Sinun pitäisi vastaanottaa kopion GNU General Public License-lisenssistä\n" "tämän ohjelman mukana; jos niin ei ole, kirjoita osoitteeseen Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" #: wcd.c:2203 #, c-format msgid "creating directory %s\n" msgstr "Luodaan hakemisto %s\n" #: wcd.c:2535 wcd.c:2575 wcd.c:2590 wcd.c:2658 wcd.c:2727 wcd.c:3229 wcd.c:3248 #, c-format msgid "Value of environment variable %s is too long.\n" msgstr "Ympäristömuuttujan %s arvo on liian pitkä.\n" #: wcd.c:2564 #, c-format msgid "Failed to unset environment variable TERM: %s\n" msgstr "Ympäristömuuttujan TERM poistaminen epäonnistui: %s\n" #: wcd.c:2622 wcd.c:2651 msgid "Environment variable HOME or WCDHOME is not set.\n" msgstr "Ympäristömuuttujaa HOME tai WCDHOME is ole asetettu.\n" #: wcd.c:2834 #, c-format msgid "aliasfile: %s\n" msgstr "aliastiedosto: %s\n" #: wcd.c:2848 msgid "HOME is not defined\n" msgstr "HOME-ympäristömuuttujaa ei ole asetettu\n" #: wcd.c:2852 msgid "WCDHOME is not defined\n" msgstr "WCDHOME ympäristömuuttujaa ei ole asetettu\n" #: wcd.c:2856 msgid "WCDSCAN is not defined\n" msgstr "WCDSCAN-ympäristömuuttujaa ei ole asetettu\n" #: wcd.c:2881 msgid "Graphics mode only supported in wcd with curses-based interface.\n" msgstr "Graafinen tila tuettu ainoastaan ohjelman curses-perustaisessa käyttöliittymässä.\n" #: wcd.c:3162 #, c-format msgid "%s added to aliasfile %s\n" msgstr "%s lisätty alias-tiedostoon %s\n" #: wcd.c:3261 #, c-format msgid "Unable to read file %s or %s\n" msgstr "Tiedoston %s tai %s lukeminen epäonnistui\n" #: wcd.c:3411 #, c-format msgid "WCDSCAN directory {%s}\n" msgstr "WCDSCAN-hakemisto {%s}\n" #: wcd.c:3413 #, c-format msgid "banning {%s}\n" msgstr "asetettu mustalle listalle {%s}\n" #: wcd.c:3415 #, c-format msgid "excluding {%s}\n" msgstr "jätetään ottamatta huomioon {%s}\n" #: wcd.c:3417 #, c-format msgid "filtering {%s}\n" msgstr "suodatetaan {%s}\n" #: wcd.c:3677 #, c-format msgid "No directory found matching %s\n" msgstr "Ei hakemistoa kriteerillä %s\n" #: wcd.c:3678 msgid "Perhaps you need to rescan the disk or path is banned.\n" msgstr "Levyasema on ehkä tutkittava uudelleen tai hakemisto on mustalla listalla.\n" #: wcd.c:3807 #, c-format msgid "Cannot change to %s\n" msgstr "Hakemistoon %s vaihtaminen epäonnistui\n" #: wcddir.c:109 #, c-format msgid "%lu (\"%s\") reported by \"%s\".\n" msgstr "%lu (”%s”) ilmoittaja: ”%s”.\n" #: wcddir.c:131 msgid "access denied.\n" msgstr "pääsy kielletty.\n" #: wcddir.c:206 #, c-format msgid "Searching for shared directories on server %s\n" msgstr "Etsitään jaettuja hakemistoja palvelimelta %s\n" #: wcddir.c:218 #, c-format msgid "Found %lu shared directories on server %s\n" msgstr "Löydetty %lu hakemistoa palvelimelta %s\n" #: wcddir.c:335 msgid "Unable to get current working directory: " msgstr "Nykyisen hakemiston sijainnin lukeminen epäonnistui: " #: wcddir.c:362 #, c-format msgid "Unable to change to directory %s: " msgstr "Hakemistoon %s siirtyminen epäonnistui: " #: wcddir.c:392 #, c-format msgid "Unable to create directory %s: " msgstr "Hakemiston %s luominen epäonnistui: " #: wcddir.c:420 #, c-format msgid "Unable to remove directory %s: " msgstr "Hakemiston %s poistaminen epäonnistui: " #: wcddir.c:543 wcddir.c:554 #, c-format msgid "Unable to create directory %s: %s\n" msgstr "Hakemiston %s luominen epäonnistui: %s\n" #: wcddir.c:660 #, c-format msgid "Unable to get current working directory: %s\n" msgstr "Nykyisen hakemiston sijainnin lukeminen epäonnistui: %s\n" #: wcddir.c:674 #, c-format msgid "Unable to change to directory %s: %s\n" msgstr "Hakemistoon %s siirtyminen epäonnistui: %s\n" #: wcddir.c:683 #, c-format msgid "Unable to remove directory %s: %s\n" msgstr "Ei oikeutta poistaa tiedostoa %s: %s\n" #: stack.c:101 msgid "Error parsing stack\n" msgstr "Virhe jäsennettäessä pinoa\n" #: display.c:263 msgid "internal error in maxLength(), list == NULL\n" msgstr "sisäinen virhe funktiossa maxLength(), list == NULL\n" #: display.c:284 msgid "internal error in maxLengthStack(), s == NULL\n" msgstr "sisäinen virhe funktiossa maxLengthStack(), s == NULL\n" #: display.c:524 display.c:1150 display.c:1538 #, c-format msgid "Perfect match for %d directories." msgstr "Täydelliset täsmäykset %d hakemistoa." #: display.c:526 display.c:1152 display.c:1540 #, c-format msgid "Wild match for %d directories." msgstr "Jokerimerkkitäsmäys %d hakemistoa." #: display.c:530 display.c:1164 display.c:1542 display.c:1585 #, c-format msgid "Please choose one ( to abort): " msgstr "Valitse toiminta ( keskeytys): " #: display.c:532 display.c:608 display.c:640 display.c:1157 #, c-format msgid " w=up x=down ?=help Page %d/%d " msgstr " w=ylös x=alas ?=opaste Sivu %d/%d " #: display.c:684 display.c:1180 msgid "Screenheight must be > 20 for help." msgstr "Opasteikkunan avaaminen epäonnistui. Ikkunan korkeuden tulee olla > 20 riviä." #: display.c:689 display.c:1183 msgid "w or page up" msgstr "w tai Sivu ylös" #: display.c:690 display.c:1184 msgid "x or z or page down" msgstr "x tai z tai Sivu alas" #: display.c:691 display.c:1185 msgid ", or scroll 1 left" msgstr ", tai Vieritys 1 vasemmalle" #: display.c:692 display.c:1186 msgid ". or scroll 1 right" msgstr ". tai Vieritys 1 oikealle" #: display.c:693 display.c:1187 msgid "< or [ scroll 10 left" msgstr "< tai [ Vieritys 10 vasemmalle" #: display.c:694 display.c:1188 msgid "> or ] scroll 10 right" msgstr "> tai ] Vieritys 10 oikealle" #: display.c:695 display.c:1189 msgid "CTRL-a or scroll to beginning" msgstr "CTRL-a tai Sivun alkuun" #: display.c:696 display.c:1190 msgid "CTRL-e or scroll to end" msgstr "CTRL-e tai Sivun loppuun" #: display.c:697 display.c:1192 msgid "CTRL-c or abort" msgstr "CTRL-c tai Keskeytys" #: display.c:698 display.c:1193 msgid " abort" msgstr " Keskeytys" #: display.c:699 msgid "Type w or x to quit help." msgstr "Opasteesta poistumiseksi kirjoita w tai x." #: display.c:1191 graphics.c:1994 msgid "CTRL-l or F5 redraw screen" msgstr "CTRL-l tai F5 piirrä näyttö uudelleen" #: display.c:1194 graphics.c:1979 graphics.c:1996 graphics.c:2019 #: graphics.c:2036 msgid "Press any key." msgstr "Paina jotakin näppäintä." #: display.c:1256 graphics.c:2289 msgid "Error opening terminal, falling back to stdout interface.\n" msgstr "Pääteikkunan avaus ei onnistu, käytössä vain vakiotulostekäyttöliittymä.\n" #: display.c:1277 msgid "screen height must be larger than 3 lines.\n" msgstr "pääteikkunan korkeuden on oltava suurempi kuin 3 riviä.\n" #: display.c:1318 graphics.c:2314 msgid "error creating scroll window.\n" msgstr "virhe luotaessa vierityspalkkia.\n" #: display.c:1334 graphics.c:2330 msgid "error creating input window.\n" msgstr "virhe luotaessa syöteikkunaa.\n" #: graphics.c:290 #, c-format msgid "Wcd: error: path too long" msgstr "Wcd: virhe: polku on liian pitkä" #: graphics.c:1940 msgid "/ = search forward, ? = search backward, : = help" msgstr "/ = etsi eteenpäin, ? = etsi taaksepäin, : = opaste" #: graphics.c:1945 msgid "SEARCH: " msgstr "HAKU: " #: graphics.c:1948 msgid "Search: " msgstr "Haku: " #: graphics.c:1964 msgid "NAVIGATION MODE (1/2):" msgstr "NAVIGOINTITILa (1/2):" #: graphics.c:1965 msgid "h or go left" msgstr "h tai vasemmalle" #: graphics.c:1966 msgid "j or go down" msgstr "j tai alas" #: graphics.c:1967 msgid "k or go up" msgstr "k tai ylös" #: graphics.c:1968 msgid "l or go right" msgstr "l tai oikealle" #: graphics.c:1969 msgid "* or v or go forward to dir with same name" msgstr "* tai v tai siirry eteenpäin samannimiseen hakemistoon" #: graphics.c:1970 msgid "# or p or go backward to dir with same name" msgstr "# tai p tai siirry taaksepäin samannimiseen hakemistoon" #: graphics.c:1971 msgid "^ or a go to beginning of line" msgstr "^ tai a rivin alkuun" #: graphics.c:1972 msgid "$ or e go to end of line" msgstr "$ tai e rivin loppuun" #: graphics.c:1973 msgid "1 go to root dir" msgstr "1 siirry juurihakemistoon" #: graphics.c:1974 msgid "g or G go to last dir" msgstr "g tai G siirry viimeiseen hakemistoon" #: graphics.c:1975 msgid "f go page forward" msgstr "f sivu alas" #: graphics.c:1976 msgid "b go page backward" msgstr "b sivu ylös" #: graphics.c:1977 msgid "u go half page up" msgstr "u puolisivua ylös" #: graphics.c:1978 msgid "d go half page down" msgstr "d puolisivua alas" #: graphics.c:1985 msgid "NAVIGATION MODE (2/2):" msgstr "NAVIGOINTITILA (2/2):" #: graphics.c:1986 msgid "A switch alternative tree navigation on/off" msgstr "A vaihtoehtoinen navigointitapa päälle/pois" #: graphics.c:1987 msgid "t switch centered mode on/off" msgstr "t keskitetty tila päälle/pois" #: graphics.c:1988 msgid "T toggle between line drawing and ASCII characters" msgstr "T kytke viivanpiirto ASCII kirjaimin päälle/pois" #: graphics.c:1989 msgid "m toggle between compact and wide tree" msgstr "m vaihda kompaktin ja tavallisen puuesitystavan välillä" #: graphics.c:1990 msgid " or q abort" msgstr " tai q keskeytä" #: graphics.c:1991 msgid "/ search forward" msgstr "/ haku eteenpäin" #: graphics.c:1992 msgid "? search backward" msgstr "? haku taaksepäin" #: graphics.c:1993 msgid "n repeat last / or ? search" msgstr "n toista viimeisen / tai ? etsintä" #: graphics.c:1995 graphics.c:2018 msgid " select directory" msgstr " valitse hakemisto" #: graphics.c:2002 msgid "SEARCH MODE with wildcard and subdir support:" msgstr "HAKUTILA jokerimerkkien ja alihakemistojen tuella:" #: graphics.c:2003 msgid " go left" msgstr " vasemmalle" #: graphics.c:2004 msgid " go down" msgstr " siirry alas" #: graphics.c:2005 msgid " go up" msgstr " ylös" #: graphics.c:2006 msgid " go right" msgstr " oikealle" #: graphics.c:2007 msgid "CTRL-v go forward to dir with same name" msgstr "CTRL-v siirry seuraavaan samannimiseen hakemistoon" #: graphics.c:2008 msgid "CTRL-p go backward to dir with same name" msgstr "CTRL-p siirry edelliseen samannimiseen hakemistoon" #: graphics.c:2009 msgid "CTRL-a go to beginning of line" msgstr "CTRL-a rivin alkuun" #: graphics.c:2010 msgid "CTRL-e go to end of line" msgstr "CTRL-e rivin loppuun" #: graphics.c:2011 msgid "CTRL-g go to last dir" msgstr "CTRL-g siirry viimeiseen hakemistoon" #: graphics.c:2012 msgid "CTRL-f go page forward" msgstr "CTRL-f sivu alas" #: graphics.c:2013 msgid "CTRL-b go page backward" msgstr "CTRL-b sivu ylös" #: graphics.c:2014 msgid "CTRL-u go half page up" msgstr "CTRL-u puolisivua ylös" #: graphics.c:2015 msgid "CTRL-d go half page down" msgstr "CTRL-d puolisivua alas" #: graphics.c:2016 msgid " or CTRL-x abort SEARCH MODE" msgstr " tai CTRL-x Keskeytä HAKUTILA" #: graphics.c:2017 msgid "CTRL-n repeat last / or ? search" msgstr "CTRL-n toista viimeisin / tai ? etsintä" #: graphics.c:2025 msgid "ZOOMING:" msgstr "ZOOMAUS:" #: graphics.c:2026 msgid "z or i or CTRL-i zoom in" msgstr "z tai i tai CTRL-i lähennä" #: graphics.c:2027 msgid "Z or o or CTRL-o zoom out" msgstr "Z tai o tai CTRL-o loitonna" #: graphics.c:2028 msgid "c condense: fold current level" msgstr "c näkymä: tiivistä nykyinen taso" #: graphics.c:2029 msgid "C condense: fold subdir level" msgstr "C näkymä: tiivistä alihakemiston taso" #: graphics.c:2030 msgid "w condense: fold current and subdir levels" msgstr "w näkymä: tiivistä nykyinen ja kaikki alitasot" #: graphics.c:2031 msgid "y or CTRL-y uncondense: unfold current and subdir levels" msgstr "y tai CTRL-y näkymä: avaa nykyinen ja alitasot" #: graphics.c:2032 msgid "r or CTRL-r uncondense: unfold all directories" msgstr "r tai CTRL-r näkymä: avaa kaikki hakemistot" #: graphics.c:2033 msgid "- fold directory" msgstr "- näkymä: tiivistä hakemisto" #: graphics.c:2034 msgid "+ or = unfold directory" msgstr "+ tai = näkymä: avaa hakemisto" #: graphics.c:2035 msgid "l or unfold and go right" msgstr "l tai näkymä: avaa ja siirry oikealle" #: graphics.c:2039 msgid "Screenheight must be > 21 for help." msgstr "Opasteikkunan avaaminen ei onnistu. Ikkunan korkeuden tulee olla > 21 riviä." #: graphics.c:2271 graphics.c:2757 #, c-format msgid "Cannot find the current path %s in the directory tree.\n" msgstr "Nykyisen polun %s löytäminen hakemistopuussa epäonnistui.\n" #: finddirs.c:241 finddirs.c:249 finddirs.c:273 finddirs.c:300 finddirs.c:314 #, c-format msgid "Unable to remove file %s: %s\n" msgstr "Tiedoston %s poistaminen epäonnistui: %s\n" #: finddirs.c:322 finddirs.c:486 #, fuzzy, c-format msgid "Unable to close directory %s: %s\n" msgstr "Hakemiston %s luominen epäonnistui: %s\n" #: finddirs.c:365 #, c-format msgid "finddirs(): can't determine path in directory %s\n" msgstr "finddirs(): polun määrittäminen hakemistossa %s epäonnistui\n" #: finddirs.c:366 msgid "path probably too long.\n" msgstr "polun pituus on todennäköisesti liian suuri.\n" #: c3po/Error.c:41 #, c-format msgid "in '%s', insufficient memory for allocation\n" msgstr "kohteessa ’%s’, muistia riittämättömästä varausta varten\n" #~ msgid "malloc error in wcd_fixpath()\n" #~ msgstr "malloc-virhe funktiossa wcd_fixpath()\n" #~ msgid "" #~ "Wcd: error in '%s', no space left for allocation\n" #~ "Wcd: Insufficient memory\n" #~ msgstr "" #~ "Wcd: virhe kohdassa ’%s’, muistin varaus ei onnistu\n" #~ "Wcd: Riitämätön määrä muistia\n" wcd-6.0.3/src/po/fr.po0000644000175500010010000010531413524756537013745 0ustar waterlanGeen# wcd french translation # Copyright (C) 2015 Erwin Waterlander (msgids) # This file is distributed under the same license as the wcd package. # # Stéphane Aulery , 2015. # Grégoire Scano , 2019. msgid "" msgstr "" "Project-Id-Version: wcd-6.0.3-beta6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-01-10 23:45+0100\n" "PO-Revision-Date: 2019-04-14 10:26+0800\n" "Last-Translator: Grégoire Scano \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" #: wcd.c:170 #, c-format msgid "Wcd: error: " msgstr "Wcd : erreur : " #: wcd.c:183 wcd.c:237 wcd.c:257 #, c-format msgid "Unable to read file %s: %s\n" msgstr "Incapable de lire le fichier %s : %s\n" #: wcd.c:246 #, c-format msgid "Unable to read file %s: Not a regular file.\n" msgstr "Incapable de lire le fichier %s : Fichier non régulier.\n" #: wcd.c:259 wcd.c:346 #, c-format msgid "Unable to write file %s: %s\n" msgstr "Incapable d'écrire le fichier %s : %s\n" #: wcd.c:348 #, c-format msgid "Unable to close file %s: %s\n" msgstr "Incapable de fermer le fichier %s : %s\n" #: wcd.c:409 wcd.c:414 wfixpath.c:65 #, c-format msgid "Memory allocation error in %s: %s\n" msgstr "Erreur d'allocation mémoire dans %s : %s\n" #: wcd.c:716 wcd.c:730 #, c-format msgid "%s added to file %s\n" msgstr "%s ajouté au fichier %s\n" #: wcd.c:765 wcd.c:1097 #, c-format msgid "%s is not a directory.\n" msgstr "%s n'est pas un répertoire.\n" #: wcd.c:770 #, c-format msgid "Please wait. Scanning disk. Building treedata-file %s from %s\n" msgstr "Merci de patienter. Examen du disque. Construction du fichier d'arborescence %s depuis %s\n" #: wcd.c:832 wcd.c:2223 wcd.c:2246 wcd.c:2326 #, c-format msgid "Writing file \"%s\"\n" msgstr "Ecriture du fichier « %s »\n" #: wcd.c:837 msgid "Write access to tree-file denied.\n" msgstr "Accès en écriture au fichier d'arborescence refusé.\n" #: wcd.c:838 msgid "Set TEMP environment variable if this is a read-only disk.\n" msgstr "Définir la variable d'environnement TEMP s'il s'agit d'un disque en lecture seule.\n" #: wcd.c:967 #, c-format msgid "Removed symbolic link %s\n" msgstr "Lien symbolique %s supprimé\n" #: wcd.c:971 #, c-format msgid "Unable to remove symbolic link %s: %s\n" msgstr "Incapable de supprimer le lien symbolique %s : %s\n" #: wcd.c:975 #, c-format msgid "%s is a symbolic link to a file.\n" msgstr "%s est un lien symbolique vers un fichier.\n" #: wcd.c:1058 #, c-format msgid "Recursively remove %s? Are you sure? y/n :" msgstr "Supprimer %s de façon récursive ? En êtes-vous sûr ? o/n :" #: wcd.c:1080 wcd.c:1090 #, c-format msgid "Removed directory %s\n" msgstr "Répertoire supprimé %s\n" #: wcd.c:1122 wcd.c:1191 wcd.c:1259 #, c-format msgid "line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n" msgstr "ligne trop longue dans %s ( > %d). Le fichier d'arborescence pourrait être corrompu, sinon résoudre en augmentant WCD_MAXPATH dans le code source.\n" #: wcd.c:1123 wcd.c:1192 wcd.c:1260 #, c-format msgid "file: %s, line: %d," msgstr "fichier : %s, ligne : %d," #: wcd.c:1130 wcd.c:1199 wcd.c:1267 #, c-format msgid " length: %d\n" msgstr " longueur : %d\n" #: wcd.c:1768 wcd.c:1837 msgid "Alias file in UTF-16 format is not supported.\n" msgstr "Fichier d'alias au format UTF-16 non pris en charge.\n" #: wcd.c:1937 #, c-format msgid "" "Usage: wcd [options] [directory]\n" "\n" msgstr "" "Usage : wcd [options] [répertoire]\n" "\n" #: wcd.c:1938 #, c-format msgid "directory: Name of directory to change to.\n" msgstr "répertoire : Nom du répertoire vers lequel basculer.\n" #: wcd.c:1939 #, c-format msgid "" " Wildcards *, ? and [SET] are supported.\n" "\n" msgstr "" " Les caractères étendus *, ? et [SET] sont prise en charge.\n" "\n" #: wcd.c:1941 #, c-format msgid "options:\n" msgstr "options :\n" #: wcd.c:1942 #, c-format msgid " -a Add current path to treefile\n" msgstr " -a Ajouter le chemin courant au fichier d'arborescence\n" #: wcd.c:1943 #, c-format msgid " -aa Add current and all parent paths to treefile\n" msgstr " -aa Ajouter le chemin courant ainsi que tous les chemins parents au fichier d'arborescence\n" #: wcd.c:1944 #, c-format msgid " -A PATH Add tree from PATH\n" msgstr " -A CHEMIN Ajouter l'arbre depuis CHEMIN\n" #: wcd.c:1945 #, c-format msgid " -b Ban current path\n" msgstr " -b Interdire le chemin courant\n" #: wcd.c:1946 #, c-format msgid " -c, --direct-cd direct CD mode\n" msgstr " -c, --direct-cd mode direct de CD\n" #: wcd.c:1947 #, c-format msgid " -d DRIVE set DRIVE for stack & go files (DOS)\n" msgstr " -d LECTEUR définir le LECTEUR pour les fichiers de pile et de « go » (DOS)\n" #: wcd.c:1948 #, c-format msgid " -e add current path to Extra treefile\n" msgstr " -e ajouter le chemin courant au fichier d'arboresence supplémentaire\n" #: wcd.c:1949 #, c-format msgid " -ee add current and all parent paths to Extra treefile\n" msgstr " -ee ajouter le chemin courant ainsi que tous les chemins parents au fichier d'arborescence supplémentaire\n" #: wcd.c:1950 #, c-format msgid " -E PATH add tree from PATH to Extra treefile\n" msgstr " -E CHEMIN ajouter l'arbre depuis CHEMIN au fichier d'arborescence supplémentaure\n" #: wcd.c:1951 #, c-format msgid " -f FILE use extra treeFile\n" msgstr " -f FICHIER utiliser le Fichier d'arborescence supplémentaire\n" #: wcd.c:1952 #, c-format msgid " +f FILE add extra treeFile\n" msgstr " +f FICHIER ajouter un fichier d'arborescence supplémentaire\n" #: wcd.c:1953 #, c-format msgid " -g Graphics\n" msgstr " -g représentation Graphique\n" #: wcd.c:1954 #, c-format msgid " -gd Graphics, dump tree\n" msgstr " -gd représentation Graphique, décharger l'arbre\n" #: wcd.c:1955 #, c-format msgid " -G PATH set PATH Go-script\n" msgstr " -G CHEMIN définir le CHEMIN des scripts « go »\n" #: wcd.c:1956 #, c-format msgid " -GN, --no-go-script No Go-script\n" msgstr " -GN, --no-go-script Pas de script « go »\n" #: wcd.c:1957 #, c-format msgid " -h, --help show this Help\n" msgstr " -h, --help afficher cette aide\n" #: wcd.c:1960 #, c-format msgid " -i, --ignore-case Ignore case (default)\n" msgstr " -i, --ignore-case Ignorer la casse (défaut)\n" #: wcd.c:1961 #, c-format msgid " +i, --no-ignore-case regard case\n" msgstr " +i, --no-ignore-case tenir compte de la casse\n" #: wcd.c:1963 #, c-format msgid " -i, --ignore-case Ignore case\n" msgstr " -i, --ignore-case Ignorer la casse\n" #: wcd.c:1964 #, c-format msgid " +i, --no-ignore-case regard case (default)\n" msgstr " +i, --no-ignore-case respecter la casse (défaut)\n" #: wcd.c:1967 #, c-format msgid " -I, --ignore-diacritics Ignore diacritics\n" msgstr " -I, --ignore-diacritics Ignorer les signes diacritiques\n" #: wcd.c:1968 #, c-format msgid " +I, --no-ignore-diacritics regard diacritics (default)\n" msgstr " +I, --no-ignore-diacritics respecter les signes diacritiques (défaut)\n" #: wcd.c:1969 #, c-format msgid " -j, --just-go Just go mode\n" msgstr " -j, --just-go mode à accès direct\n" #: wcd.c:1970 #, c-format msgid " -k, --keep-paths Keep paths\n" msgstr " -k, --keep-paths garder les chemins\n" #: wcd.c:1971 #, c-format msgid " -K, --color colors\n" msgstr " -K, --color couleurs\n" #: wcd.c:1972 #, c-format msgid " -l ALIAS aLias current directory\n" msgstr " -l ALIAS donner un nom d'emprunt au répertoire courant\n" #: wcd.c:1973 #, c-format msgid " -ls List the aliases\n" msgstr " -ls Lister les alias\n" #: wcd.c:1974 #, c-format msgid " -L, --license show software License\n" msgstr " -L, --license afficher la licence du logiciel\n" #: wcd.c:1975 #, c-format msgid " -m DIR Make DIR, add to treefile\n" msgstr " -m REP créer REP, l'ajouter au fichier d'arborescence\n" #: wcd.c:1976 #, c-format msgid " -M DIR Make DIR, add to extra treefile\n" msgstr " -M REP créer REP, l'ajouter au fichier d'arborescence supplémentaire\n" #: wcd.c:1977 #, c-format msgid " -n PATH use relative treefile in PATH\n" msgstr " -n CHEMIN utiliser le fichier d'arborescence relatif dans CHEMIN\n" #: wcd.c:1978 #, c-format msgid " +n PATH add relative treefile in PATH\n" msgstr " +n CHEMIN ajouter le fichier d'arborescence relatif dans CHEMIN\n" #: wcd.c:1979 #, c-format msgid " -N, --numbers use Numbers\n" msgstr " -N, --numbers utiliser les Nombres\n" #: wcd.c:1980 #, c-format msgid " -o use stdOut\n" msgstr " -o utiliser la sortie standard\n" #: wcd.c:1981 #, c-format msgid " -od, --to-stdout dump matches\n" msgstr " -od, --to-stdout afficher toutes les correspondances\n" #: wcd.c:1982 #, c-format msgid " -q, --quiet Quieter operation\n" msgstr " -q, --quiet opérations plus silencieuses\n" #: wcd.c:1983 #, c-format msgid " -r DIR Remove DIR\n" msgstr " -r REP Supprimer REP\n" #: wcd.c:1984 #, c-format msgid " -rmtree DIR Remove DIR recursive\n" msgstr " -rmtree REP Supprimer REP récursivement\n" #: wcd.c:1985 #, c-format msgid " -s Scan disk from $HOME\n" msgstr " -s Examiner le disque depuis $HOME\n" #: wcd.c:1986 #, c-format msgid " -S PATH Scan disk from PATH\n" msgstr " -S CHEMIN Examiner le disque depuis CHEMIN\n" #: wcd.c:1987 #, c-format msgid " +S PATH Scan disk from PATH, create relative treefile\n" msgstr " +S CHEMIN Examiner le disque depuis CHEMIN, créer un fichier d'arborescence relatif\n" #: wcd.c:1988 #, c-format msgid " -t don't strip /tmp_mnt from paths\n" msgstr " -t ne pas retirer /tmp_mnt des chemins\n" #: wcd.c:1989 #, c-format msgid " -T, --ascii-tree draw tree with ASCII characters\n" msgstr " -T, --ascii-tree dessiner l'arbre avec des caractères ASCII\n" #: wcd.c:1990 #, c-format msgid " -Ta, --alt-tree-nav Alternative tree navigation\n" msgstr " -Ta, --alt-tree-nav Navigation alternative de l'arbre\n" #: wcd.c:1991 #, c-format msgid " -TC, --center-tree Centered tree view\n" msgstr " -TC, --center-tree Vue de l'arbre centrée\n" #: wcd.c:1992 #, c-format msgid " -Tc, --compact-tree Compact tree\n" msgstr " -Tc, --compact-tree Arbre compact\n" #: wcd.c:1993 #, c-format msgid " -Td, --cjk-width support legacy CJK fonts\n" msgstr " -Td, --cjk-width prendre en charge les polices CJK historiques\n" #: wcd.c:1994 #, c-format msgid " -u USER use USER's treefile\n" msgstr " -u UTILISATEUR utiliser le fichier d'arborescence de l'utilisateur\n" #: wcd.c:1995 #, c-format msgid " +u USER add USER's treefile\n" msgstr " +u UTILISATEUR ajouter le fichier d'arborescence de l'utilisateur\n" #: wcd.c:1996 #, c-format msgid " -v, --verbose Verbose operation\n" msgstr " -v, --verbose opération baVarde\n" #: wcd.c:1997 #, c-format msgid " -V, --version show Version info\n" msgstr " -V, --version afficher les informations de Version\n" #: wcd.c:1998 #, c-format msgid " -w, --wild-match-only Wild matching only\n" msgstr " -w, --wild-match-only Correspondance étendue seulement\n" #: wcd.c:1999 #, c-format msgid " -x PATH eXclude PATH during disk scan\n" msgstr " -x CHEMIN eXclure CHEMIN lors de l'examen du disque\n" #: wcd.c:2000 #, c-format msgid " -xf FILE eXclude paths from FILE\n" msgstr " -xf FICHIER eXclure les chemins du FICHIER\n" #: wcd.c:2001 #, c-format msgid " -y, --assume-yes assume Yes on all queries\n" msgstr " -y, --assume-yes supposer Oui pour toutes les requêtes\n" #: wcd.c:2002 #, c-format msgid " -z NUMBER set max stack siZe\n" msgstr " -z NOMBRE définir la taille maximale de la pile\n" #: wcd.c:2003 #, c-format msgid " -[NUMBER] push dir (NUMBER times)\n" msgstr " -[NOMBRE] empiler le répertoire (NOMBRE fois)\n" #: wcd.c:2004 #, c-format msgid " +[NUMBER] pop dir (NUMBER times)\n" msgstr " +[NOMBRE] dépiler le répertoire (NOMBRE fois)\n" #: wcd.c:2005 #, c-format msgid " = show stack\n" msgstr " = montrer la pile\n" #: wcd.c:2014 wcd.c:2143 #, c-format msgid "wcd %s (%s) - Wherever Change Directory\n" msgstr "wcd %s (%s) - Wherever Change Directory\n" #: wcd.c:2015 #, c-format msgid "" "Chdir for Dos and Unix.\n" "\n" msgstr "" "Chdir pour Dos et Unix.\n" "\n" #: wcd.c:2019 #, c-format msgid "DOS 16 bit version (WATCOMC).\n" msgstr "version 16 bits de DOS (WATCOMC).\n" #: wcd.c:2021 #, c-format msgid "DOS 16 bit version (TURBOC).\n" msgstr "version 16 bits de DOS (TURBOC).\n" #: wcd.c:2023 #, c-format msgid "DOS 32 bit version (DJGPP).\n" msgstr "version 32 bits de DOS (DJGPP).\n" #: wcd.c:2025 #, c-format msgid "DOS 32 bit version (WATCOMC).\n" msgstr "version 32 bits de DOS (WATCOMC).\n" #: wcd.c:2032 #, c-format msgid "Win64 version (MSVC %d).\n" msgstr "version Win64 (MSVC %d).\n" #: wcd.c:2034 #, c-format msgid "Win64 version (MinGW-w64).\n" msgstr "version Win64 (MinGW-w64).\n" #: wcd.c:2038 #, c-format msgid "Win32 version (WATCOMC).\n" msgstr "version Win32 (WATCOMC).\n" #: wcd.c:2040 #, c-format msgid "Win32 version (MSVC %d).\n" msgstr "version Win32 (MSVC %d).\n" #: wcd.c:2042 #, c-format msgid "Win32 version (MinGW-w64).\n" msgstr "version Win32 (MinGW-w64).\n" #: wcd.c:2044 #, c-format msgid "Win32 version (MinGW).\n" msgstr "version Win32 (MinGW).\n" #: wcd.c:2051 #, c-format msgid "This version is for MSYS and WinZsh.\n" msgstr "Cette version est pour MSYS et WinZsh.\n" #: wcd.c:2053 #, c-format msgid "This version is for Windows PowerShell.\n" msgstr "Cette version est pour Windows PowerShell.\n" #: wcd.c:2055 #, c-format msgid "This version is for Windows Command Prompt (cmd.exe).\n" msgstr "Cette version est pour Windows Command Prompt (cmd.exe).\n" #: wcd.c:2060 #, c-format msgid "OS/2 version" msgstr "Version OS/2" #: wcd.c:2071 #, c-format msgid "This version is for native MSYS.\n" msgstr "Cette version est pour MSYS natif.\n" #: wcd.c:2074 #, c-format msgid "Cygwin version.\n" msgstr "version Cygwin.\n" #: wcd.c:2077 #, c-format msgid "This version is for DJGPP DOS bash.\n" msgstr "Cette version est pour DJGPP DOS bash.\n" #: wcd.c:2080 #, c-format msgid "This version is for OS/2 bash.\n" msgstr "Cette version est pour OS/2 bash.\n" #: wcd.c:2083 #, c-format msgid "Interface: " msgstr "Interface : " #: wcd.c:2089 #, c-format msgid "ncurses version %s.%d\n" msgstr "ncurses version %s.%d\n" #: wcd.c:2092 #, c-format msgid "PDCurses build %d\n" msgstr "PDCurses build %d\n" #: wcd.c:2094 #, c-format msgid "curses\n" msgstr "curses\n" #: wcd.c:2103 #, c-format msgid "stdout\n" msgstr "stdout\n" #: wcd.c:2107 #, c-format msgid "Native language support included.\n" msgstr "Prise en charge du langage natif inclue.\n" #: wcd.c:2108 #, c-format msgid "LOCALEDIR=%s\n" msgstr "LOCALEDIR=%s\n" #: wcd.c:2110 #, c-format msgid "No native language support included.\n" msgstr "Pas de prise en charge du langage natif inclue.\n" #: wcd.c:2113 #, c-format msgid "Current locale uses CP%u encoding.\n" msgstr "La configuration linguistique courante utilise l'encodage CP%u.\n" #: wcd.c:2115 #, c-format msgid "Current locale uses %s encoding.\n" msgstr "La configuration linguistique courante utilise l'encodage %s.\n" #: wcd.c:2118 #, c-format msgid "With Unicode support.\n" msgstr "Avec prise en charge Unicode.\n" #: wcd.c:2123 #, c-format msgid " Euro symbol: " msgstr " Symbole Euro : " #: wcd.c:2125 #, c-format msgid " Chinese characters: " msgstr " Caractères chinois : " #: wcd.c:2129 #, c-format msgid "Without Unicode support.\n" msgstr "Sans prise en charge Unicode.\n" #: wcd.c:2132 #, c-format msgid "With Unicode normalization.\n" msgstr "Avec normalisation Unicode.\n" #: wcd.c:2134 #, c-format msgid "Without Unicode normalization.\n" msgstr "Sans normalisation Unicode.\n" #: wcd.c:2137 #, c-format msgid "Download the latest executables and sources from:\n" msgstr "Téléchargez le dernier exécutable et ses sources depuis :\n" #: wcd.c:2144 #, c-format msgid "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp on C3PO\n" "Copyright (C) 1995-1996 DJ Delorie on _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews on DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel and Igor Mandrichenko on recmatch()\n" msgstr "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp on C3PO\n" "Copyright (C) 1995-1996 DJ Delorie on _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews on DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel and Igor Mandrichenko on recmatch()\n" #: wcd.c:2152 #, c-format msgid "" "Source code to scan Windows LAN was originally written and placed\n" "in the public domain by Felix Kasza.\n" "Markus Kuhn's free wcwidth() and wcswidth() implementations are used.\n" "Rugxulo is the original author of query_con_codepage() (public domain).\n" "\n" msgstr "" "Le code source pour examiner les LAN Windows a initialement été écrit par\n" "Felix Kasza et placé dans le domaine public.\n" "Les implémentations libres de wcwidth() et wcswidth() écrites par Markus Kuhn sont utilisées.\n" "Rugxulo est l'auteur initial de query_con_codepage() (domaine public).\n" "\n" #: wcd.c:2158 #, c-format msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" "\n" msgstr "" "Ce logiciel est libre ; vous pouvez le redistribuer et/ou\n" "le modifier selon les termes de la licence GNU General Public License\n" "comme publiée par la Free Software Foundation ; sous sa version 2,\n" "ou (à votre discrétion) sous toute autre version ultérieure.\n" "\n" #: wcd.c:2164 #, c-format msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Ce logiciel est distribué dans l'espoir qu'il sera utile,\n" "mais SANS AUCUNE GARANTIE ; sans même la garantie tacite de\n" "QUALITE MARCHANDE ou d'ADEQUATION A TOUTE FIN PARTICULIERE. Voir\n" "la licence GNU General Public License pour plus détails.\n" #: wcd.c:2170 #, c-format msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" msgstr "" "Vous avez du recevoir une copie de la licence GNU General Public License\n" "avec ce logiciel ; si tel n'était pas le cas, écrivez à la Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" #: wcd.c:2203 #, c-format msgid "creating directory %s\n" msgstr " création du répertoire %s\n" #: wcd.c:2535 wcd.c:2575 wcd.c:2590 wcd.c:2658 wcd.c:2727 wcd.c:3229 #: wcd.c:3248 #, c-format msgid "Value of environment variable %s is too long.\n" msgstr "La valeur de la variable d'environnement %s est trop longue.\n" #: wcd.c:2564 #, c-format msgid "Failed to unset environment variable TERM: %s\n" msgstr "Echec lors de la suppression de la variable d'environnement TERM : %s\n" #: wcd.c:2622 wcd.c:2651 msgid "Environment variable HOME or WCDHOME is not set.\n" msgstr "La variable d'environnement HOME ou WCDHOME n'est pas définie.\n" #: wcd.c:2834 #, c-format msgid "aliasfile: %s\n" msgstr "fichier d'alias : %s\n" #: wcd.c:2848 msgid "HOME is not defined\n" msgstr "HOME n'est pas défini\n" #: wcd.c:2852 msgid "WCDHOME is not defined\n" msgstr "WCDHOME n'est pas défini\n" #: wcd.c:2856 msgid "WCDSCAN is not defined\n" msgstr "WCDSCAN n'est pas défini\n" #: wcd.c:2881 msgid "Graphics mode only supported in wcd with curses-based interface.\n" msgstr "Le mode graphique de wcd n'est pris en charge qu'avec des interfaces basées sur curses.\n" #: wcd.c:3162 #, c-format msgid "%s added to aliasfile %s\n" msgstr "%s ajouté au fichier d'alias %s\n" #: wcd.c:3261 #, c-format msgid "Unable to read file %s or %s\n" msgstr "Incapable de lire le fichier %s ou %s\n" #: wcd.c:3411 #, c-format msgid "WCDSCAN directory {%s}\n" msgstr "répertoire WCDSCAN {%s}\n" #: wcd.c:3413 #, c-format msgid "banning {%s}\n" msgstr "interdiction {%s}\n" #: wcd.c:3415 #, c-format msgid "excluding {%s}\n" msgstr "exclusion {%s}\n" #: wcd.c:3417 #, c-format msgid "filtering {%s}\n" msgstr "filtrage {%s}\n" #: wcd.c:3677 #, c-format msgid "No directory found matching %s\n" msgstr "Pas de répertoire correspondant à %s trouvé.\n" #: wcd.c:3678 msgid "Perhaps you need to rescan the disk or path is banned.\n" msgstr "Peut-être vous faut-il examiner le disque à nouveau ou bien le chemin est interdit.\n" #: wcd.c:3807 #, c-format msgid "Cannot change to %s\n" msgstr "Impossible de changer vers %s\n" #: wcddir.c:109 #, c-format msgid "%lu (\"%s\") reported by \"%s\".\n" msgstr "%lu (« %s ») signalé par « %s ».\n" #: wcddir.c:131 msgid "access denied.\n" msgstr "accès refusé.\n" #: wcddir.c:206 #, c-format msgid "Searching for shared directories on server %s\n" msgstr "Recherche de répertoires partagés sur le serveur %s\n" #: wcddir.c:218 #, c-format msgid "Found %lu shared directories on server %s\n" msgstr "%lu bibliothèques partagées trouvées sur le serveur %s\n" #: wcddir.c:335 msgid "Unable to get current working directory: " msgstr "Incapable de récupérer le répertoire de travail courant : " #: wcddir.c:362 #, c-format msgid "Unable to change to directory %s: " msgstr "Incapable de changer vers le répertoire %s : " #: wcddir.c:392 #, c-format msgid "Unable to create directory %s: " msgstr "Incapable de créer le répertoire %s : " #: wcddir.c:420 #, c-format msgid "Unable to remove directory %s: " msgstr "Incapable de supprimer le répertoire %s: " #: wcddir.c:543 wcddir.c:554 #, c-format msgid "Unable to create directory %s: %s\n" msgstr "Incapable de créer le répertoire %s : %s\n" #: wcddir.c:660 #, c-format msgid "Unable to get current working directory: %s\n" msgstr "Incapable de récupérer le répertoire de travail courant : %s\n" #: wcddir.c:674 #, c-format msgid "Unable to change to directory %s: %s\n" msgstr "Incapable de changer vers le répertoire %s : %s\n" #: wcddir.c:683 #, c-format msgid "Unable to remove directory %s: %s\n" msgstr "Incapable de supprimer le répertoire %s : %s\n" #: stack.c:101 msgid "Error parsing stack\n" msgstr "Erreur lors de l'analyse de la pile\n" #: display.c:263 msgid "internal error in maxLength(), list == NULL\n" msgstr "erreur interne dans maxLength(), list == NULL\n" #: display.c:284 msgid "internal error in maxLengthStack(), s == NULL\n" msgstr "erreur interne dans maxLengthStack(), s == NULL\n" #: display.c:524 display.c:1150 display.c:1538 #, c-format msgid "Perfect match for %d directories." msgstr "Correspondance parfaite pour %d répertoires." #: display.c:526 display.c:1152 display.c:1540 #, c-format msgid "Wild match for %d directories." msgstr "Correspondance étendue pour %d répertoires." #: display.c:530 display.c:1164 display.c:1542 display.c:1585 #, c-format msgid "Please choose one ( to abort): " msgstr "Veuillez en choisir un ( pour abandonner) : " #: display.c:532 display.c:608 display.c:640 display.c:1157 #, c-format msgid " w=up x=down ?=help Page %d/%d " msgstr " w=haut x=bas ?=help Page %d/%d " #: display.c:684 display.c:1180 msgid "Screenheight must be > 20 for help." msgstr "La hauteur de l'écran doit être supérieure à 20 pour l'aide." #: display.c:689 display.c:1183 msgid "w or page up" msgstr "w ou page précédente" #: display.c:690 display.c:1184 msgid "x or z or page down" msgstr "x ou z ou page suivante" #: display.c:691 display.c:1185 msgid ", or scroll 1 left" msgstr ", ou défiler de 1 à gauche" #: display.c:692 display.c:1186 msgid ". or scroll 1 right" msgstr ". ou défiler de 1 à droite" #: display.c:693 display.c:1187 msgid "< or [ scroll 10 left" msgstr "< ou [ défiler de 10 à gauche" #: display.c:694 display.c:1188 msgid "> or ] scroll 10 right" msgstr "> ou ] défiler de 10 à droite" #: display.c:695 display.c:1189 msgid "CTRL-a or scroll to beginning" msgstr "CTRL-a ou aller au début" #: display.c:696 display.c:1190 msgid "CTRL-e or scroll to end" msgstr "CTRL-e ou aller à la fin" #: display.c:697 display.c:1192 msgid "CTRL-c or abort" msgstr "CTRL-c ou abandonner" #: display.c:698 display.c:1193 msgid " abort" msgstr " abandonner" #: display.c:699 msgid "Type w or x to quit help." msgstr "Taper w ou x pour quitter l'aide." #: display.c:1191 graphics.c:1994 msgid "CTRL-l or F5 redraw screen" msgstr "CTRL-l ou F5 redessiner l'écran" #: display.c:1194 graphics.c:1979 graphics.c:1996 graphics.c:2019 #: graphics.c:2036 msgid "Press any key." msgstr "Appuyer sur n'importe qu'elle touche." #: display.c:1256 graphics.c:2289 msgid "Error opening terminal, falling back to stdout interface.\n" msgstr "Erreur lors de l'ouverture du terminal, recours à l'interface stdout.\n" #: display.c:1277 msgid "screen height must be larger than 3 lines.\n" msgstr "la hauteur de l'écran doit être supérieure à 3 lignes.\n" #: display.c:1318 graphics.c:2314 msgid "error creating scroll window.\n" msgstr "erreur lors de la création d'une fenêtre de défilement.\n" #: display.c:1334 graphics.c:2330 msgid "error creating input window.\n" msgstr "erreur lors de la création d'une fenêtre d'entrée.\n" #: graphics.c:290 #, c-format msgid "Wcd: error: path too long" msgstr "Wcd : erreur : chemin trop long" #: graphics.c:1940 msgid "/ = search forward, ? = search backward, : = help" msgstr "/ = rechercher en profondeur, ? = rechercher vers la racine, : = aide" #: graphics.c:1945 msgid "SEARCH: " msgstr "RECHERCHE :" #: graphics.c:1948 msgid "Search: " msgstr "Recherche :" #: graphics.c:1964 msgid "NAVIGATION MODE (1/2):" msgstr "MODE DE NAVIGATION (1/2) :" #: graphics.c:1965 msgid "h or go left" msgstr "h ou aller à gauche" #: graphics.c:1966 msgid "j or go down" msgstr "j ou aller vers le bas" #: graphics.c:1967 msgid "k or go up" msgstr "k ou aller vers le haut" #: graphics.c:1968 msgid "l or go right" msgstr "l ou aller à droite" #: graphics.c:1969 msgid "* or v or go forward to dir with same name" msgstr "* ou v ou avancer vers un répertoire de même nom" #: graphics.c:1970 msgid "# or p or go backward to dir with same name" msgstr "# ou p ou reculer vers un répertoire de même nom" #: graphics.c:1971 msgid "^ or a go to beginning of line" msgstr "^ ou a aller en début de ligne" #: graphics.c:1972 msgid "$ or e go to end of line" msgstr "$ ou e aller en fin de ligne" #: graphics.c:1973 msgid "1 go to root dir" msgstr "1 aller au répertoire racine" #: graphics.c:1974 msgid "g or G go to last dir" msgstr "g ou G aller au dernier répertoire" #: graphics.c:1975 msgid "f go page forward" msgstr "f avancer d'une page" #: graphics.c:1976 msgid "b go page backward" msgstr "b avancer d'une page" #: graphics.c:1977 msgid "u go half page up" msgstr "u remonter d'une demi page" #: graphics.c:1978 msgid "d go half page down" msgstr "d descendre d'une demi page" #: graphics.c:1985 msgid "NAVIGATION MODE (2/2):" msgstr "MODE DE NAVIGATION (2/2) :" #: graphics.c:1986 msgid "A switch alternative tree navigation on/off" msgstr "A activer/désactiver la navigation d'arbre alternative" #: graphics.c:1987 msgid "t switch centered mode on/off" msgstr "t activer/désactiver le mode centré" #: graphics.c:1988 msgid "T toggle between line drawing and ASCII characters" msgstr "T basculer entre le tracé de lignes et les caratères ASCII" #: graphics.c:1989 msgid "m toggle between compact and wide tree" msgstr "m basculer entre l'arbre compact ou étendu" #: graphics.c:1990 msgid " or q abort" msgstr " ou q annuler" #: graphics.c:1991 msgid "/ search forward" msgstr "/ chercher en profondeur" #: graphics.c:1992 msgid "? search backward" msgstr "? rechercher vers la racine" #: graphics.c:1993 msgid "n repeat last / or ? search" msgstr "n répéter la dernière recherche / ou ?" #: graphics.c:1995 graphics.c:2018 msgid " select directory" msgstr " sélectionner un répertoire" #: graphics.c:2002 msgid "SEARCH MODE with wildcard and subdir support:" msgstr "MODE DE RECHERCHE avec la prise en charge de sous-répertoires et de caractères étendus" #: graphics.c:2003 msgid " go left" msgstr " aller à gauche" #: graphics.c:2004 msgid " go down" msgstr " aller vers le bas" #: graphics.c:2005 msgid " go up" msgstr " aller vers le haut" #: graphics.c:2006 msgid " go right" msgstr " aller à droite" #: graphics.c:2007 msgid "CTRL-v go forward to dir with same name" msgstr "CTRL-v avancer vers un répertoire de même nom" #: graphics.c:2008 msgid "CTRL-p go backward to dir with same name" msgstr "CTRL-p reculer vers un répertoire de même nom" #: graphics.c:2009 msgid "CTRL-a go to beginning of line" msgstr "CTRL-a aller en début de ligne" #: graphics.c:2010 msgid "CTRL-e go to end of line" msgstr "CTRL-e aller en fin de ligne" #: graphics.c:2011 msgid "CTRL-g go to last dir" msgstr "CTRL-g aller au dernier répertoire" #: graphics.c:2012 msgid "CTRL-f go page forward" msgstr "CTRL-f avancer d'une page" #: graphics.c:2013 msgid "CTRL-b go page backward" msgstr "CTRL-b reculer d'une page" #: graphics.c:2014 msgid "CTRL-u go half page up" msgstr "CTRL-u remonter d'une demi page" #: graphics.c:2015 msgid "CTRL-d go half page down" msgstr "CTRL-d reculer d'une demi page" #: graphics.c:2016 msgid " or CTRL-x abort SEARCH MODE" msgstr " ou CTRL-x abandonner le MODE DE RECHERCHE" #: graphics.c:2017 msgid "CTRL-n repeat last / or ? search" msgstr "CTRL-n réperter la dernière recherche / ou ?" #: graphics.c:2025 msgid "ZOOMING:" msgstr "ZOOM :" #: graphics.c:2026 msgid "z or i or CTRL-i zoom in" msgstr "z ou i ou CTRL-i zoomer en avant" #: graphics.c:2027 msgid "Z or o or CTRL-o zoom out" msgstr "Z ou o ou CTRL-o zoomer en arrière" #: graphics.c:2028 msgid "c condense: fold current level" msgstr "c réduire: replier le niveau courant" #: graphics.c:2029 msgid "C condense: fold subdir level" msgstr "C réduire: replier le niveau de sous-répertoires" #: graphics.c:2030 msgid "w condense: fold current and subdir levels" msgstr "w réduire: replier les niveaux courant et de sous-répertoires" #: graphics.c:2031 msgid "y or CTRL-y uncondense: unfold current and subdir levels" msgstr "y ou CTRL-y étendre: déplier les niveaux courant et de sous-répertoires" #: graphics.c:2032 msgid "r or CTRL-r uncondense: unfold all directories" msgstr "r ou CTRL-r étendre: déplier tous les répertoires" #: graphics.c:2033 msgid "- fold directory" msgstr "- replier le répertoire" #: graphics.c:2034 msgid "+ or = unfold directory" msgstr "+ ou = déplier le répertoire" #: graphics.c:2035 msgid "l or unfold and go right" msgstr "l ou déplier et aller à gauche" #: graphics.c:2039 msgid "Screenheight must be > 21 for help." msgstr "La hauteur de l'écran doit être supérieure à 21 pour l'aide." #: graphics.c:2271 graphics.c:2757 #, c-format msgid "Cannot find the current path %s in the directory tree.\n" msgstr "Impossible de trouver le chemin courant %s dans l'arborescence de répertoires.\n" #: finddirs.c:241 finddirs.c:249 finddirs.c:273 finddirs.c:300 finddirs.c:314 #, c-format msgid "Unable to remove file %s: %s\n" msgstr "Incapable de supprimer le fichier %s : %s\n" #: finddirs.c:322 finddirs.c:486 #, c-format msgid "Unable to close directory %s: %s\n" msgstr "Incapable de fermer le répertoire %s : %s\n" #: finddirs.c:365 #, c-format msgid "finddirs(): can't determine path in directory %s\n" msgstr "finddirs() : impossible d'établie le chemin dans le répertoire %s\n" #: finddirs.c:366 msgid "path probably too long.\n" msgstr "le chemin est probablement trop long.\n" #: c3po/Error.c:41 #, c-format msgid "in '%s', insufficient memory for allocation\n" msgstr "dans « %s », mémoire insuffisante pour l'allocation\n" wcd-6.0.3/src/po/fur.po0000644000175500010010000010046713524756537014136 0ustar waterlanGeen# Friulian translation of wcd. # Copyright (C) 2018 Erwin Waterlander (msgids) # This file is distributed under the same license as the wcd package. # Fabio Tomat , 2018. # msgid "" msgstr "" "Project-Id-Version: wcd-6.0.0-beta4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-08-18 11:44+0200\n" "PO-Revision-Date: 2018-03-15 09:39+0100\n" "Last-Translator: Fabio Tomat \n" "Language-Team: Friulian \n" "Language: fur\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "X-Generator: Poedit 2.0.6\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: wcd.c:170 #, c-format msgid "Wcd: error: " msgstr "Wcd: erôr: " #: wcd.c:183 wcd.c:237 wcd.c:257 #, c-format msgid "Unable to read file %s: %s\n" msgstr "Impussibil lei il file %s: %s\n" #: wcd.c:246 #, c-format msgid "Unable to read file %s: Not a regular file.\n" msgstr "Impussibil lei il file %s: Nol è un file regolâr.\n" #: wcd.c:259 wcd.c:346 #, c-format msgid "Unable to write file %s: %s\n" msgstr "Impussibil lei il file %s: %s\n" #: wcd.c:348 #, c-format msgid "Unable to close file %s: %s\n" msgstr "Impussibil sierâ il file %s: %s\n" #: wcd.c:409 wcd.c:414 wfixpath.c:65 #, c-format msgid "Memory allocation error in %s: %s\n" msgstr "Erôr di assegnazion memorie in %s: %s\n" #: wcd.c:716 wcd.c:730 #, c-format msgid "%s added to file %s\n" msgstr "%s zontât al file %s\n" #: wcd.c:765 wcd.c:1097 #, c-format msgid "%s is not a directory.\n" msgstr "%s nol è une cartele.\n" #: wcd.c:770 #, c-format msgid "Please wait. Scanning disk. Building treedata-file %s from %s\n" msgstr "Par plasê spiete. Analisi dal disc. Costruzion di treedata-file %s di %s\n" #: wcd.c:832 wcd.c:2223 wcd.c:2246 wcd.c:2326 #, c-format msgid "Writing file \"%s\"\n" msgstr "Daûr a scrivi il file \"%s\"\n" #: wcd.c:837 msgid "Write access to tree-file denied.\n" msgstr "Acès in scriture a tree-file dineât.\n" #: wcd.c:838 msgid "Set TEMP environment variable if this is a read-only disk.\n" msgstr "Stabilìs la variabile di ambient TEMP se chest al è un disc in dome-leture.\n" #: wcd.c:967 #, c-format msgid "Removed symbolic link %s\n" msgstr "Gjave colegament simbolic %s\n" #: wcd.c:971 #, c-format msgid "Unable to remove symbolic link %s: %s\n" msgstr "Impussibil gjavâ il colegament simbolic %s: %s\n" #: wcd.c:975 #, c-format msgid "%s is a symbolic link to a file.\n" msgstr "%s al è un colegament simbolic a un file.\n" #: wcd.c:1058 #, c-format msgid "Recursively remove %s? Are you sure? y/n :" msgstr "Gjavâ in maniere ricorsive %s? sigûrs? y(sì)/n(no) :" #: wcd.c:1080 wcd.c:1090 #, c-format msgid "Removed directory %s\n" msgstr "Cartele %s gjavade\n" #: wcd.c:1122 wcd.c:1191 wcd.c:1259 #, c-format msgid "line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n" msgstr "rie masse lungje in %s ( > %d). Il treefile al podarès jessi ruvinât, se no comede aumentant WCD_MAXPATH tal codiç sorzint.\n" #: wcd.c:1123 wcd.c:1192 wcd.c:1260 #, c-format msgid "file: %s, line: %d," msgstr "file: %s, rie: %d," #: wcd.c:1130 wcd.c:1199 wcd.c:1267 #, c-format msgid " length: %d\n" msgstr " lungjece: %d\n" #: wcd.c:1768 wcd.c:1837 msgid "Alias file in UTF-16 format is not supported.\n" msgstr "Il file alias intal formât UTF-16 nol è supuartât.\n" #: wcd.c:1937 #, c-format msgid "" "Usage: wcd [options] [directory]\n" "\n" msgstr "" "Ûs: wcd [opzions] [cartele]\n" "\n" #: wcd.c:1938 #, c-format msgid "directory: Name of directory to change to.\n" msgstr "cartele: Non de cartele dulà passâ.\n" #: wcd.c:1939 #, c-format msgid "" " Wildcards *, ? and [SET] are supported.\n" "\n" msgstr "" " I caratars mate *, ? e [SET] a son supuartâts.\n" "\n" #: wcd.c:1941 #, c-format msgid "options:\n" msgstr "opzions:\n" #: wcd.c:1942 #, c-format msgid " -a Add current path to treefile\n" msgstr "" #: wcd.c:1943 #, c-format msgid " -aa Add current and all parent paths to treefile\n" msgstr "" #: wcd.c:1944 #, c-format msgid " -A PATH Add tree from PATH\n" msgstr " -A PERCORS Zonte arbul dal PERCORS\n" #: wcd.c:1945 #, c-format msgid " -b Ban current path\n" msgstr " -b Proibìs il percors atuâl\n" #: wcd.c:1946 #, c-format msgid " -c, --direct-cd direct CD mode\n" msgstr " -c, --direct-cd modalitât CD direte\n" #: wcd.c:1947 #, c-format msgid " -d DRIVE set DRIVE for stack & go files (DOS)\n" msgstr "" #: wcd.c:1948 #, c-format msgid " -e add current path to Extra treefile\n" msgstr "" #: wcd.c:1949 #, c-format msgid " -ee add current and all parent paths to Extra treefile\n" msgstr "" #: wcd.c:1950 #, c-format msgid " -E PATH add tree from PATH to Extra treefile\n" msgstr "" #: wcd.c:1951 #, c-format msgid " -f FILE use extra treeFile\n" msgstr "" #: wcd.c:1952 #, c-format msgid " +f FILE add extra treeFile\n" msgstr "" #: wcd.c:1953 #, c-format msgid " -g Graphics\n" msgstr " -g Ambient grafic\n" #: wcd.c:1954 #, c-format msgid " -gd Graphics, dump tree\n" msgstr " -gd Ambient grafic, scrîf fûr l'arbul\n" #: wcd.c:1955 #, c-format msgid " -G PATH set PATH Go-script\n" msgstr " -G PERCORS stabilìs il PERCORS dal script Go\n" #: wcd.c:1956 #, c-format msgid " -GN, --no-go-script No Go-script\n" msgstr " -GN, --no-go-script No doprâ il script Go\n" #: wcd.c:1957 #, c-format msgid " -h, --help show this Help\n" msgstr " -h, --help mostre chest Jutori\n" #: wcd.c:1960 #, c-format msgid " -i, --ignore-case Ignore case (default)\n" msgstr " -i, --ignore-case Ignore maiusculis/minusculis (predefinît)\n" #: wcd.c:1961 #, c-format msgid " +i, --no-ignore-case regard case\n" msgstr " +i, --no-ignore-case ten di cont des maiusculis\n" #: wcd.c:1963 #, c-format msgid " -i, --ignore-case Ignore case\n" msgstr " -i, --ignore-case Ignore maiusculis/minusculis\n" #: wcd.c:1964 #, c-format msgid " +i, --no-ignore-case regard case (default)\n" msgstr " +i, --no-ignore-case ten di cont des maiusculis (predefinît) \n" #: wcd.c:1967 #, c-format msgid " -I, --ignore-diacritics Ignore diacritics\n" msgstr " -I, --ignore-diacritics Ignore segns diacritics\n" #: wcd.c:1968 #, c-format msgid " +I, --no-ignore-diacritics regard diacritics (default)\n" msgstr " +I, --no-ignore-diacritics ten di cont i segns diacritics (predefinît)\n" #: wcd.c:1969 #, c-format msgid " -j, --just-go Just go mode\n" msgstr " -j, --just-go Modalitât direte\n" #: wcd.c:1970 #, c-format msgid " -k, --keep-paths Keep paths\n" msgstr " -k, --keep-paths Ten i percors\n" #: wcd.c:1971 #, c-format msgid " -K, --color colors\n" msgstr " -K, --color colôrs\n" #: wcd.c:1972 #, c-format msgid " -l ALIAS aLias current directory\n" msgstr " -l ALIAS cree un ALIAS pe cartele atuâl\n" #: wcd.c:1973 #, c-format msgid " -ls List the aliases\n" msgstr " -ls Liste i alias\n" #: wcd.c:1974 #, c-format msgid " -L, --license show software License\n" msgstr " -L, --license mostre la Licence dal software\n" #: wcd.c:1975 #, c-format msgid " -m DIR Make DIR, add to treefile\n" msgstr "" #: wcd.c:1976 #, c-format msgid " -M DIR Make DIR, add to extra treefile\n" msgstr "" #: wcd.c:1977 #, c-format msgid " -n PATH use relative treefile in PATH\n" msgstr "" #: wcd.c:1978 #, c-format msgid " +n PATH add relative treefile in PATH\n" msgstr "" #: wcd.c:1979 #, c-format msgid " -N, --numbers use Numbers\n" msgstr " -N, --numbers dopre Numars\n" #: wcd.c:1980 #, c-format msgid " -o use stdOut\n" msgstr " -o dopre stdOut\n" #: wcd.c:1981 #, c-format msgid " -od, --to-stdout dump matches\n" msgstr " -od, --to-stdout scrîf fûr lis corispondencis\n" #: wcd.c:1982 #, c-format msgid " -q, --quiet Quieter operation\n" msgstr " -q, --quiet Operazion plui cuiete\n" #: wcd.c:1983 #, c-format msgid " -r DIR Remove DIR\n" msgstr " -r DIR Gjave CARTELE\n" #: wcd.c:1984 #, c-format msgid " -rmtree DIR Remove DIR recursive\n" msgstr " -rmtree DIR Gjave CARTELE in maniere ricorsive\n" #: wcd.c:1985 #, c-format msgid " -s Scan disk from $HOME\n" msgstr " -s Analize disc tacant di $HOME\n" #: wcd.c:1986 #, c-format msgid " -S PATH Scan disk from PATH\n" msgstr " -S PATH Analize disc tacant di PATH\n" #: wcd.c:1987 #, c-format msgid " +S PATH Scan disk from PATH, create relative treefile\n" msgstr "" #: wcd.c:1988 #, c-format msgid " -t don't strip /tmp_mnt from paths\n" msgstr " -t no sta gjavâ /tmp_mnt dai percors\n" #: wcd.c:1989 #, c-format msgid " -T, --ascii-tree draw tree with ASCII characters\n" msgstr " -T, --ascii-tree disegne arbul cui caratars ASCII\n" #: wcd.c:1990 #, c-format msgid " -Ta, --alt-tree-nav Alternative tree navigation\n" msgstr " -Ta, --alt-tree-nav Navigazion arbul alternative\n" #: wcd.c:1991 #, c-format msgid " -TC, --center-tree Centered tree view\n" msgstr " -TC, --center-tree Viodude arbul centrade\n" #: wcd.c:1992 #, c-format msgid " -Tc, --compact-tree Compact tree\n" msgstr " -Tc, --compact-tree Arbul compat\n" #: wcd.c:1993 #, c-format msgid " -Td, --cjk-width support legacy CJK fonts\n" msgstr " -Td, --cjk-width supuarte caratars CJK vecje maniere\n" #: wcd.c:1994 #, c-format msgid " -u USER use USER's treefile\n" msgstr "" #: wcd.c:1995 #, c-format msgid " +u USER add USER's treefile\n" msgstr "" #: wcd.c:1996 #, c-format msgid " -v, --verbose Verbose operation\n" msgstr " -v, --verbose Operazion prolisse\n" #: wcd.c:1997 #, c-format msgid " -V, --version show Version info\n" msgstr " -V, --version mostre informazions di Version\n" #: wcd.c:1998 #, c-format msgid " -w, --wild-match-only Wild matching only\n" msgstr " -w, --wild-match-only dome corispuindincis imperfetis\n" #: wcd.c:1999 #, c-format msgid " -x PATH eXclude PATH during disk scan\n" msgstr " -x PERCORS esclût PERCORS de analisi dal disc\n" #: wcd.c:2000 #, c-format msgid " -xf FILE eXclude paths from FILE\n" msgstr " -xf FILE esclût i percors di FILE\n" #: wcd.c:2001 #, c-format msgid " -y, --assume-yes assume Yes on all queries\n" msgstr " -y, --assume-yes rispuint Sì a dutis lis domandis\n" #: wcd.c:2002 #, c-format msgid " -z NUMBER set max stack siZe\n" msgstr " -z NUMBER stabilìs la dimension massime dal stack\n" #: wcd.c:2003 #, c-format msgid " -[NUMBER] push dir (NUMBER times)\n" msgstr " -[NUMAR] met la cartele in tasse (NUMAR di voltis)\n" #: wcd.c:2004 #, c-format msgid " +[NUMBER] pop dir (NUMBER times)\n" msgstr " -[NUMAR] gjave la cartele de tasse (NUMAR di voltis)\n" #: wcd.c:2005 #, c-format msgid " = show stack\n" msgstr " = mostre il stack\n" #: wcd.c:2014 wcd.c:2143 #, c-format msgid "wcd %s (%s) - Wherever Change Directory\n" msgstr "wcd %s (%s) - Wherever Change Directory\n" #: wcd.c:2015 #, c-format msgid "" "Chdir for Dos and Unix.\n" "\n" msgstr "" "Chdir par Dos e Unix.\n" "\n" #: wcd.c:2019 #, c-format msgid "DOS 16 bit version (WATCOMC).\n" msgstr "Version DOS a 16 bit (WATCOMC).\n" #: wcd.c:2021 #, c-format msgid "DOS 16 bit version (TURBOC).\n" msgstr "Version DOS a 16 bit (TURBOC).\n" #: wcd.c:2023 #, c-format msgid "DOS 32 bit version (DJGPP).\n" msgstr "Version DOS a 32 bit (DJGPP).\n" #: wcd.c:2025 #, c-format msgid "DOS 32 bit version (WATCOMC).\n" msgstr "Version DOS a 32 bit (WATCOMC).\n" #: wcd.c:2032 #, c-format msgid "Win64 version (MSVC %d).\n" msgstr "Version Win64 (MSVC %d).\n" #: wcd.c:2034 #, c-format msgid "Win64 version (MinGW-w64).\n" msgstr "Version Win64 (MinGW-w64).\n" #: wcd.c:2038 #, c-format msgid "Win32 version (WATCOMC).\n" msgstr "Version Win32 (WATCOMC).\n" #: wcd.c:2040 #, c-format msgid "Win32 version (MSVC %d).\n" msgstr "Version Win32 (MSVC %d).\n" #: wcd.c:2042 #, c-format msgid "Win32 version (MinGW-w64).\n" msgstr "Version Win32 (MinGW-w64).\n" #: wcd.c:2044 #, c-format msgid "Win32 version (MinGW).\n" msgstr "Version Win32 (MinGW).\n" #: wcd.c:2051 #, c-format msgid "This version is for MSYS and WinZsh.\n" msgstr "Cheste version e je par MSYS e WinZsh.\n" #: wcd.c:2053 #, c-format msgid "This version is for Windows PowerShell.\n" msgstr "Cheste version e je pe PowerShell di Windows.\n" #: wcd.c:2055 #, c-format msgid "This version is for Windows Command Prompt (cmd.exe).\n" msgstr "Cheste version e je par Windows Command Prompt (cmd.exe).\n" #: wcd.c:2060 #, c-format msgid "OS/2 version" msgstr "Version OS/2" #: wcd.c:2071 #, c-format msgid "This version is for native MSYS.\n" msgstr "Cheste version e je par MSYS natîf.\n" #: wcd.c:2074 #, c-format msgid "Cygwin version.\n" msgstr "Version Cygwin.\n" #: wcd.c:2077 #, c-format msgid "This version is for DJGPP DOS bash.\n" msgstr "Cheste version e je pe bash DOS di DJGPP.\n" #: wcd.c:2080 #, c-format msgid "This version is for OS/2 bash.\n" msgstr "Cheste version e je pe bash di OS/2.\n" #: wcd.c:2083 #, c-format msgid "Interface: " msgstr "Interface: " #: wcd.c:2089 #, c-format msgid "ncurses version %s.%d\n" msgstr "version ncurses %s.%d\n" #: wcd.c:2092 #, c-format msgid "PDCurses build %d\n" msgstr "PDCurses version %d\n" #: wcd.c:2094 #, c-format msgid "curses\n" msgstr "curses\n" #: wcd.c:2103 #, c-format msgid "stdout\n" msgstr "stdout\n" #: wcd.c:2107 #, c-format msgid "Native language support included.\n" msgstr "Supuart includût pe lenghe native.\n" #: wcd.c:2108 #, c-format msgid "LOCALEDIR=%s\n" msgstr "LOCALEDIR=%s\n" #: wcd.c:2110 #, c-format msgid "No native language support included.\n" msgstr "Nissun supuart includût pe lenghe native.\n" #: wcd.c:2113 #, c-format msgid "Current locale uses CP%u encoding.\n" msgstr "La localizazion atuâl e dopre la codifiche CP%u.\n" #: wcd.c:2115 #, c-format msgid "Current locale uses %s encoding.\n" msgstr "La localizazion atuâl e dopre la codifiche %s.\n" #: wcd.c:2118 #, c-format msgid "With Unicode support.\n" msgstr "Cun supuart Unicode.\n" #: wcd.c:2123 #, c-format msgid " Euro symbol: " msgstr " Simbul Euro: " #: wcd.c:2125 #, c-format msgid " Chinese characters: " msgstr " Caratars cinês: " #: wcd.c:2129 #, c-format msgid "Without Unicode support.\n" msgstr "Cence supuart Unicode.\n" #: wcd.c:2132 #, c-format msgid "With Unicode normalization.\n" msgstr "Cun normalizazion Unicode.\n" #: wcd.c:2134 #, c-format msgid "Without Unicode normalization.\n" msgstr "Cence normalizazion Unicode.\n" #: wcd.c:2137 #, c-format msgid "Download the latest executables and sources from:\n" msgstr "Discjarie i ultins eseguibii e sorzints di:\n" #: wcd.c:2144 #, c-format msgid "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp on C3PO\n" "Copyright (C) 1995-1996 DJ Delorie on _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews on DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel and Igor Mandrichenko on recmatch()\n" msgstr "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp su C3PO\n" "Copyright (C) 1995-1996 DJ Delorie su _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol su Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews su DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel e Igor Mandrichenko su recmatch()\n" #: wcd.c:2152 #, c-format msgid "" "Source code to scan Windows LAN was originally written and placed\n" "in the public domain by Felix Kasza.\n" "Markus Kuhn's free wcwidth() and wcswidth() implementations are used.\n" "Rugxulo is the original author of query_con_codepage() (public domain).\n" "\n" msgstr "" "Il codiç sorzint par analizâ la LAN di Windows sul imprin al è stât scrit e metût\n" "su public domini di Felix Kasza.\n" "Lis implementazions libaris di wcwidth() e wcswidth() di Markus Kuhn a vegnin dopradis.\n" "Rugxulo al è l'autôr origjinâl di query_con_codepage() (domini public).\n" "\n" #: wcd.c:2158 #, c-format msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" "\n" msgstr "" "Chest program al è software libar; tu puedis redistribuîlu e/o \n" "modificâlu secont i tiermins de GNU General Public License \n" "come publicade de Free Software Foundation; sedi la version 2 \n" "de licence, o (a to plasê) cualsisei version sucessive.\n" "\n" #: wcd.c:2164 #, c-format msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Chest program al è distribuît inte sperance che al sedi util, \n" "ma CENCE NISSUNE GARANZIE; cence nancje la implicite garanzie di \n" "CUMIERÇABILITÂT o IDONEITÂT A UNE PARTICOLÂR FINALITÂT. Viodi la \n" "GNU General Public License par vê plui detais.\n" "\n" #: wcd.c:2170 #, c-format msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" msgstr "" "Tu varessis di vê ricevût un copie de licence GNU General Public License\n" "adun cun chest program; se no, scrîf ae Free Software \n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n" #: wcd.c:2203 #, c-format msgid "creating directory %s\n" msgstr "daûr a creâ la cartele %s\n" #: wcd.c:2535 wcd.c:2575 wcd.c:2590 wcd.c:2658 wcd.c:2727 wcd.c:3229 wcd.c:3248 #, c-format msgid "Value of environment variable %s is too long.\n" msgstr "Il valôr de variabile di ambient %s al è masse lunc.\n" #: wcd.c:2564 #, c-format msgid "Failed to unset environment variable TERM: %s\n" msgstr "No si è rivâts a azerâ la variabile di ambient TERM: %s\n" #: wcd.c:2622 wcd.c:2651 msgid "Environment variable HOME or WCDHOME is not set.\n" msgstr "La variabile di ambient HOME o WCDHOME no je stabilide.\n" #: wcd.c:2834 #, c-format msgid "aliasfile: %s\n" msgstr "file alias: %s\n" #: wcd.c:2848 msgid "HOME is not defined\n" msgstr "HOME nol è definît\n" #: wcd.c:2852 msgid "WCDHOME is not defined\n" msgstr "WCDHOME nol è definît\n" #: wcd.c:2856 msgid "WCDSCAN is not defined\n" msgstr "WCDSCAN nol è definît\n" #: wcd.c:2881 msgid "Graphics mode only supported in wcd with curses-based interface.\n" msgstr "Modalitât grafiche supuartade dome in wcd cun interface basade su curses.\n" #: wcd.c:3162 #, c-format msgid "%s added to aliasfile %s\n" msgstr "%s zontât al file alias %s\n" #: wcd.c:3261 #, c-format msgid "Unable to read file %s or %s\n" msgstr "Impussibil lei il file %s o %s\n" #: wcd.c:3411 #, c-format msgid "WCDSCAN directory {%s}\n" msgstr "WCDSCAN cartele {%s}\n" #: wcd.c:3413 #, c-format msgid "banning {%s}\n" msgstr "daûr a proibî {%s}\n" #: wcd.c:3415 #, c-format msgid "excluding {%s}\n" msgstr "daûr a escludi {%s}\n" #: wcd.c:3417 #, c-format msgid "filtering {%s}\n" msgstr "daûr a filtrâ {%s}\n" #: wcd.c:3677 #, c-format msgid "No directory found matching %s\n" msgstr "Nissune cartele cjatade che e corispuindi a %s\n" #: wcd.c:3678 msgid "Perhaps you need to rescan the disk or path is banned.\n" msgstr "Forsit si scugne tornâ a analizâ il disc o il percors al è proibît.\n" #: wcd.c:3807 #, c-format msgid "Cannot change to %s\n" msgstr "Impussibil passâ su %s\n" #: wcddir.c:109 #, c-format msgid "%lu (\"%s\") reported by \"%s\".\n" msgstr "%lu (\"%s\") segnalât di \"%s\".\n" #: wcddir.c:131 msgid "access denied.\n" msgstr "acès dineât.\n" #: wcddir.c:206 #, c-format msgid "Searching for shared directories on server %s\n" msgstr "Daûr a cirî cartelis condividudis sul servidôr %s\n" #: wcddir.c:218 #, c-format msgid "Found %lu shared directories on server %s\n" msgstr "Cjatât %lu cartelis condividudis sul servidôr %s\n" #: wcddir.c:335 msgid "Unable to get current working directory: " msgstr "Impussibil otignî la cartele di lavôr atuâl: " #: wcddir.c:362 #, c-format msgid "Unable to change to directory %s: " msgstr "Impussibil passâ ae cartele %s: " #: wcddir.c:392 #, c-format msgid "Unable to create directory %s: " msgstr "Impussibil creâ la cartele %s: " #: wcddir.c:420 #, c-format msgid "Unable to remove directory %s: " msgstr "Impussibil gjavâ la cartele %s: " #: wcddir.c:543 wcddir.c:554 #, c-format msgid "Unable to create directory %s: %s\n" msgstr "Impussibil creâ la cartele %s: %s\n" #: wcddir.c:660 #, c-format msgid "Unable to get current working directory: %s\n" msgstr "Impussibil otignî la cartele di lavôr atuâl: %s\n" #: wcddir.c:674 #, c-format msgid "Unable to change to directory %s: %s\n" msgstr "Impussibil passâ ae cartele %s: %s\n" #: wcddir.c:683 #, c-format msgid "Unable to remove directory %s: %s\n" msgstr "Impussibil gjavâ la cartele %s: %s\n" #: stack.c:101 msgid "Error parsing stack\n" msgstr "Erôr tal analizâ il stack\n" #: display.c:263 msgid "internal error in maxLength(), list == NULL\n" msgstr "erôr interni in maxLength(), list == NULL\n" #: display.c:284 msgid "internal error in maxLengthStack(), s == NULL\n" msgstr "erôr interni in maxLengthStack(), s == NULL\n" #: display.c:524 display.c:1150 display.c:1538 #, c-format msgid "Perfect match for %d directories." msgstr "Corispuindince perfete par %d cartelis." #: display.c:526 display.c:1152 display.c:1540 #, c-format msgid "Wild match for %d directories." msgstr "Corispuindince imperfete par %d cartelis." #: display.c:530 display.c:1164 display.c:1542 display.c:1585 #, c-format msgid "Please choose one ( to abort): " msgstr "Sielzi un ( par interompi): " #: display.c:532 display.c:608 display.c:640 display.c:1157 #, c-format msgid " w=up x=down ?=help Page %d/%d " msgstr " w=sù x=jù ?=jutori Pagjine %d/%d " #: display.c:684 display.c:1180 msgid "Screenheight must be > 20 for help." msgstr "La altece dal schermi e scugne jessi > 20 pal jutori." #: display.c:689 display.c:1183 msgid "w or page up" msgstr "w o pagjine sù" #: display.c:690 display.c:1184 msgid "x or z or page down" msgstr "x o z o pagjine jù" #: display.c:691 display.c:1185 msgid ", or scroll 1 left" msgstr ", o scor 1 a çampe" #: display.c:692 display.c:1186 msgid ". or scroll 1 right" msgstr ". o scor 1 a drete" #: display.c:693 display.c:1187 msgid "< or [ scroll 10 left" msgstr "< o [ scor 10 a çampe" #: display.c:694 display.c:1188 msgid "> or ] scroll 10 right" msgstr "> o ] scor 10 a drete" #: display.c:695 display.c:1189 msgid "CTRL-a or scroll to beginning" msgstr "CTRL-a o scor al inizi" #: display.c:696 display.c:1190 msgid "CTRL-e or scroll to end" msgstr "CTRL-e o scor ae fin" #: display.c:697 display.c:1192 msgid "CTRL-c or abort" msgstr "CTRL-c o interomp" #: display.c:698 display.c:1193 msgid " abort" msgstr " interomp" #: display.c:699 msgid "Type w or x to quit help." msgstr "Scrîf w o x par jessi dal jutori." #: display.c:1191 graphics.c:1994 msgid "CTRL-l or F5 redraw screen" msgstr "CTRL-l or F5 torne disegne il schermi" #: display.c:1194 graphics.c:1979 graphics.c:1996 graphics.c:2019 #: graphics.c:2036 msgid "Press any key." msgstr "Frache cualsisei tast." #: display.c:1256 graphics.c:2289 msgid "Error opening terminal, falling back to stdout interface.\n" msgstr "Erôr tal vierzi il terminâl, si torne ae interface stdout.\n" #: display.c:1277 msgid "screen height must be larger than 3 lines.\n" msgstr "la altece dal schermi e scugne jessi plui grande di 3 riis.\n" #: display.c:1318 graphics.c:2314 msgid "error creating scroll window.\n" msgstr "erôr tal creâ il barcon pal scoriment.\n" #: display.c:1334 graphics.c:2330 msgid "error creating input window.\n" msgstr "erôr tal creâ il barcon pal input.\n" #: graphics.c:290 #, c-format msgid "Wcd: error: path too long" msgstr "Wcd: erôr: percors masse lunc" #: graphics.c:1940 msgid "/ = search forward, ? = search backward, : = help" msgstr "/ = cir indenant, ? = cîr indaûr, : = jutori" #: graphics.c:1945 msgid "SEARCH: " msgstr "CÎR: " #: graphics.c:1948 msgid "Search: " msgstr "Cîr: " #: graphics.c:1964 msgid "NAVIGATION MODE (1/2):" msgstr "MODALITÂT NAVIGAZION (1/2):" #: graphics.c:1965 msgid "h or go left" msgstr "h o va a çampe" #: graphics.c:1966 msgid "j or go down" msgstr "j o va jù" #: graphics.c:1967 msgid "k or go up" msgstr "k o va sù" #: graphics.c:1968 msgid "l or go right" msgstr "l o va a drete" #: graphics.c:1969 msgid "* or v or go forward to dir with same name" msgstr "* opûr v opûr va indenant ae cartele cul stes non" #: graphics.c:1970 msgid "# or p or go backward to dir with same name" msgstr "# opûr p opûr va indaûr ae cartele cul stes non" #: graphics.c:1971 msgid "^ or a go to beginning of line" msgstr "^ o a va al inizi de rie" #: graphics.c:1972 msgid "$ or e go to end of line" msgstr "$ o e va ae fin de rie" #: graphics.c:1973 msgid "1 go to root dir" msgstr "1 va ae cartele lidrîs" #: graphics.c:1974 msgid "g or G go to last dir" msgstr "g o G va ae ultime cartele" #: graphics.c:1975 msgid "f go page forward" msgstr "f va indenant di pagjine" #: graphics.c:1976 msgid "b go page backward" msgstr "b va indaûr di pagjine" #: graphics.c:1977 msgid "u go half page up" msgstr "u va mieze pagjine in sù" #: graphics.c:1978 msgid "d go half page down" msgstr "d va mieze pagjine in jù" #: graphics.c:1985 msgid "NAVIGATION MODE (2/2):" msgstr "MODALITÂT NAVIGAZION (2/2):" #: graphics.c:1986 msgid "A switch alternative tree navigation on/off" msgstr "A passaç navigazion arbul alternative on/off" #: graphics.c:1987 msgid "t switch centered mode on/off" msgstr "t passaç modalitât centrade on/off" #: graphics.c:1988 msgid "T toggle between line drawing and ASCII characters" msgstr "T comute tra disen cun liniis e caratars ASCII" #: graphics.c:1989 msgid "m toggle between compact and wide tree" msgstr "m comute tra arbul compat e pandût" #: graphics.c:1990 msgid " or q abort" msgstr " o q interomp" #: graphics.c:1991 msgid "/ search forward" msgstr "/ cîr indenant" #: graphics.c:1992 msgid "? search backward" msgstr "? cîr indaûr" #: graphics.c:1993 msgid "n repeat last / or ? search" msgstr "n ripet la ultime ricercje / o ?" #: graphics.c:1995 graphics.c:2018 msgid " select directory" msgstr " selezione cartele" #: graphics.c:2002 msgid "SEARCH MODE with wildcard and subdir support:" msgstr "MODALITÂT RICERCJE cun supuart a caratars speciâi e sot-cartelis:" #: graphics.c:2003 msgid " go left" msgstr " va a çampe" #: graphics.c:2004 msgid " go down" msgstr " va jù" #: graphics.c:2005 msgid " go up" msgstr " va sù" #: graphics.c:2006 msgid " go right" msgstr " va a drete" #: graphics.c:2007 msgid "CTRL-v go forward to dir with same name" msgstr "CTRL-v va indenant ae cartele cul stes non" #: graphics.c:2008 msgid "CTRL-p go backward to dir with same name" msgstr "CTRL-p va indaûr ae cartele cul stes non" #: graphics.c:2009 msgid "CTRL-a go to beginning of line" msgstr "CTRL-a va al inizi de rie" #: graphics.c:2010 msgid "CTRL-e go to end of line" msgstr "CTRL-e va ae fin de rie" #: graphics.c:2011 msgid "CTRL-g go to last dir" msgstr "CTRL-g va ae ultime cartele" #: graphics.c:2012 msgid "CTRL-f go page forward" msgstr "CTRL-f va indenant di pagjine" #: graphics.c:2013 msgid "CTRL-b go page backward" msgstr "CTRL-b va indaûr di pagjine" #: graphics.c:2014 msgid "CTRL-u go half page up" msgstr "CTRL-u va mieze pagjine in sù" #: graphics.c:2015 msgid "CTRL-d go half page down" msgstr "CTRL-d va mieze pagjine in jù" #: graphics.c:2016 msgid " or CTRL-x abort SEARCH MODE" msgstr " o CTRL-x interomp MODALITÂT RICERCJE" #: graphics.c:2017 msgid "CTRL-n repeat last / or ? search" msgstr "CTRL-n ripet la ultime ricercje / o ?" #: graphics.c:2025 msgid "ZOOMING:" msgstr "INGRANDIMENT:" #: graphics.c:2026 msgid "z or i or CTRL-i zoom in" msgstr "z opûr i opûr CTRL-i ingrandìs" #: graphics.c:2027 msgid "Z or o or CTRL-o zoom out" msgstr "Z opûr o opûr CTRL-o impiçulìs" #: graphics.c:2028 msgid "c condense: fold current level" msgstr "c condense: invuluce il nivel atuâl" #: graphics.c:2029 msgid "C condense: fold subdir level" msgstr "C condense: invuluce il nivel des sot-cartelis" #: graphics.c:2030 msgid "w condense: fold current and subdir levels" msgstr "w condense: invuluce i nivei des sot-cartelis e chel atuâl" #: graphics.c:2031 msgid "y or CTRL-y uncondense: unfold current and subdir levels" msgstr "y o CTRL-y pant: disvuluce i nivei des sot-cartelis e chel atuâl" #: graphics.c:2032 msgid "r or CTRL-r uncondense: unfold all directories" msgstr "r o CTRL-r pant: disvuluce dutis lis cartelis" #: graphics.c:2033 msgid "- fold directory" msgstr "- invuluce la cartele" #: graphics.c:2034 msgid "+ or = unfold directory" msgstr "+ o = disvuluce la cartele" #: graphics.c:2035 msgid "l or unfold and go right" msgstr "l o disvuluce e va a drete" #: graphics.c:2039 msgid "Screenheight must be > 21 for help." msgstr "La altece dal schermi e scugne jessi > 21 pal jutori." #: graphics.c:2271 graphics.c:2757 #, c-format msgid "Cannot find the current path %s in the directory tree.\n" msgstr "Impussibil cjatâ il percors atuâl %s intal arbul des cartelis.\n" #: finddirs.c:241 finddirs.c:249 finddirs.c:273 finddirs.c:300 finddirs.c:314 #, c-format msgid "Unable to remove file %s: %s\n" msgstr "Impussibil gjavâ il file %s: %s\n" #: finddirs.c:322 finddirs.c:486 #, c-format msgid "Unable to close directory %s: %s\n" msgstr "Impussibil sierâ la cartele %s: %s\n" #: finddirs.c:365 #, c-format msgid "finddirs(): can't determine path in directory %s\n" msgstr "finddirs(): impussibil determinâ il percors te cartele %s\n" #: finddirs.c:366 msgid "path probably too long.\n" msgstr "probabil percors masse lunc.\n" #: c3po/Error.c:41 #, c-format msgid "in '%s', insufficient memory for allocation\n" msgstr "in '%s', memorie no suficiente pe assegnazion\n" wcd-6.0.3/src/po/nl.po0000644000175500010010000010375213524756536013752 0ustar waterlanGeen# Dutch translations for wcd. # Copyright (C) 2017 Erwin Waterlander (msgids) # This file is distributed under the same license as the wcd package. # # """ On demandait à monsieur Chamfort pourquoi la nature avait # rendu l'amour indépendant de notre raison. « C'est, dit-il, # parce que la nature ne songe qu'au maintien de l'espèce, et, # pour la perpétuer, elle n'a que faire de notre sottise. » """ # # Erwin Waterlander , 2008-2014. # Benno Schulenberg , 2014, 2016, 2017. msgid "" msgstr "" "Project-Id-Version: wcd 6.0.0-beta4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-08-18 11:44+0200\n" "PO-Revision-Date: 2017-02-22 13:36+0100\n" "Last-Translator: Benno Schulenberg \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 1.0\n" #: wcd.c:170 #, c-format msgid "Wcd: error: " msgstr "Wcd: fout: " #: wcd.c:183 wcd.c:237 wcd.c:257 #, c-format msgid "Unable to read file %s: %s\n" msgstr "Kan bestand %s niet lezen: %s\n" #: wcd.c:246 #, c-format msgid "Unable to read file %s: Not a regular file.\n" msgstr "Kan bestand %s niet lezen: geen regulier bestand.\n" #: wcd.c:259 wcd.c:346 #, c-format msgid "Unable to write file %s: %s\n" msgstr "Kan bestand %s niet schrijven: %s\n" #: wcd.c:348 #, c-format msgid "Unable to close file %s: %s\n" msgstr "Kan bestand %s niet sluiten: %s\n" #: wcd.c:409 wcd.c:414 wfixpath.c:65 #, c-format msgid "Memory allocation error in %s: %s\n" msgstr "Onvoldoende geheugen beschikbaar in %s: %s\n" #: wcd.c:716 wcd.c:730 #, c-format msgid "%s added to file %s\n" msgstr "%s toegevoegd aan bestand %s\n" #: wcd.c:765 wcd.c:1097 #, c-format msgid "%s is not a directory.\n" msgstr "%s is geen map.\n" #: wcd.c:770 #, c-format msgid "Please wait. Scanning disk. Building treedata-file %s from %s\n" msgstr "Even geduld, schijf wordt gescand. Boombestand %s wordt opgebouwd vanaf %s\n" #: wcd.c:832 wcd.c:2223 wcd.c:2246 wcd.c:2326 #, c-format msgid "Writing file \"%s\"\n" msgstr "Schrijven van bestand '%s'\n" #: wcd.c:837 msgid "Write access to tree-file denied.\n" msgstr "Schrijftoegang tot boombestand is geweigerd.\n" #: wcd.c:838 msgid "Set TEMP environment variable if this is a read-only disk.\n" msgstr "Stel omgevingsvariabele TEMP in wanneer dit een alleen-lezen schijf is.\n" #: wcd.c:967 #, c-format msgid "Removed symbolic link %s\n" msgstr "Symbolische koppeling %s is verwijderd.\n" #: wcd.c:971 #, c-format msgid "Unable to remove symbolic link %s: %s\n" msgstr "Kan symbolische koppeling %s niet verwijderen: %s\n" #: wcd.c:975 #, c-format msgid "%s is a symbolic link to a file.\n" msgstr "%s is een symbolische koppeling naar een bestand.\n" #: wcd.c:1058 #, c-format msgid "Recursively remove %s? Are you sure? y/n :" msgstr "Map %s recursief verwijderen? Weet u het zeker? y(ja)/n(nee) :" #: wcd.c:1080 wcd.c:1090 #, c-format msgid "Removed directory %s\n" msgstr "Map %s is verwijderd.\n" #: wcd.c:1122 wcd.c:1191 wcd.c:1259 #, c-format msgid "line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n" msgstr "" "Regel in %s is te lang (> %d). Het boombestand kan beschadigd zijn,\n" "of anders is het op te lossen door WCD_MAXPATH in broncode te verhogen.\n" #: wcd.c:1123 wcd.c:1192 wcd.c:1260 #, c-format msgid "file: %s, line: %d," msgstr "bestand: %s, regel: %d," #: wcd.c:1130 wcd.c:1199 wcd.c:1267 #, c-format msgid " length: %d\n" msgstr " lengte: %d\n" #: wcd.c:1768 wcd.c:1837 msgid "Alias file in UTF-16 format is not supported.\n" msgstr "Een aliassenbestand in UTF-16-codering wordt niet ondersteund.\n" #: wcd.c:1937 #, c-format msgid "" "Usage: wcd [options] [directory]\n" "\n" msgstr "" "Gebruik: wcd [opties] [MAP]\n" "\n" #: wcd.c:1938 #, c-format msgid "directory: Name of directory to change to.\n" msgstr "MAP is de naam van de map waarnaartoe veranderd moet worden.\n" #: wcd.c:1939 #, c-format msgid "" " Wildcards *, ? and [SET] are supported.\n" "\n" msgstr "" "De jokertekens * en ? worden ondersteund, en ook [SET].\n" "\n" #: wcd.c:1941 #, c-format msgid "options:\n" msgstr "Opties:\n" #: wcd.c:1942 #, c-format msgid " -a Add current path to treefile\n" msgstr " -a huidig pad toevoegen aan boombestand\n" #: wcd.c:1943 #, c-format msgid " -aa Add current and all parent paths to treefile\n" msgstr " -aa huidig pad en alle hogere paden toevoegen aan boombestand\n" #: wcd.c:1944 #, c-format msgid " -A PATH Add tree from PATH\n" msgstr " -A PAD boom vanaf dit pad toevoegen\n" #: wcd.c:1945 #, c-format msgid " -b Ban current path\n" msgstr " -b huidig pad verbannen\n" #: wcd.c:1946 #, c-format msgid " -c, --direct-cd direct CD mode\n" msgstr " -c, --direct-cd direkte CD-modus\n" #: wcd.c:1947 #, c-format msgid " -d DRIVE set DRIVE for stack & go files (DOS)\n" msgstr " -d SCHIJF te gebruiken schijf voor stapel- & go-bestanden in (DOS)\n" #: wcd.c:1948 #, c-format msgid " -e add current path to Extra treefile\n" msgstr " -e huidig pad toevoegen aan extra boombestand\n" #: wcd.c:1949 #, c-format msgid " -ee add current and all parent paths to Extra treefile\n" msgstr " -ee huidig pad en alle hogere paden toevoegen aan extra boombestand\n" #: wcd.c:1950 #, c-format msgid " -E PATH add tree from PATH to Extra treefile\n" msgstr " -E PAD boom vanaf dit pad toevoegen aan extra boombestand\n" # FIXME: s/extra/this/ #: wcd.c:1951 #, c-format msgid " -f FILE use extra treeFile\n" msgstr " -f BESTAND te gebruiken boombestand\n" #: wcd.c:1952 #, c-format msgid " +f FILE add extra treeFile\n" msgstr " +f BESTAND toe te voegen extra boombestand\n" #: wcd.c:1953 #, c-format msgid " -g Graphics\n" msgstr " -g grafisch\n" #: wcd.c:1954 #, c-format msgid " -gd Graphics, dump tree\n" msgstr " -gd grafisch, de boom dumpen\n" #: wcd.c:1955 #, c-format msgid " -G PATH set PATH Go-script\n" msgstr " -G PAD te gebruiken pad voor Go-script\n" #: wcd.c:1956 #, c-format msgid " -GN, --no-go-script No Go-script\n" msgstr " -GN, --no-go-script geen Go-script gebruiken\n" #: wcd.c:1957 #, c-format msgid " -h, --help show this Help\n" msgstr " -h, --help deze hulptekst tonen\n" #: wcd.c:1960 #, c-format msgid " -i, --ignore-case Ignore case (default)\n" msgstr " -i, --ignore-case hoofdletterongevoelig (standaard)\n" #: wcd.c:1961 #, c-format msgid " +i, --no-ignore-case regard case\n" msgstr " +i, --no-ignore-case hoofdlettergevoelig\n" #: wcd.c:1963 #, c-format msgid " -i, --ignore-case Ignore case\n" msgstr " -i, --ignore-case hoofdletterongevoelig\n" #: wcd.c:1964 #, c-format msgid " +i, --no-ignore-case regard case (default)\n" msgstr " +i, --no-ignore-case hoofdlettergevoelig (standaard)\n" #: wcd.c:1967 #, c-format msgid " -I, --ignore-diacritics Ignore diacritics\n" msgstr " -I, --ignore-diacritics diakritische tekens negeren\n" #: wcd.c:1968 #, c-format msgid " +I, --no-ignore-diacritics regard diacritics (default)\n" msgstr " +I, --no-ignore-diacritics diakritische tekens achten (standaard)\n" #: wcd.c:1969 #, c-format msgid " -j, --just-go Just go mode\n" msgstr " -j, --just-go ga-nou-maar-modus\n" #: wcd.c:1970 #, c-format msgid " -k, --keep-paths Keep paths\n" msgstr " -k, --keep-paths paden bewaren\n" #: wcd.c:1971 #, c-format msgid " -K, --color colors\n" msgstr " -K, --color kleuren gebruiken\n" #: wcd.c:1972 #, c-format msgid " -l ALIAS aLias current directory\n" msgstr " -l ALIAS alias voor huidige map\n" #: wcd.c:1973 #, c-format msgid " -ls List the aliases\n" msgstr " -ls de aliassen opsommen\n" #: wcd.c:1974 #, c-format msgid " -L, --license show software License\n" msgstr " -L, --license softwarelicentie tonen\n" #: wcd.c:1975 #, c-format msgid " -m DIR Make DIR, add to treefile\n" msgstr " -m MAP deze MAP aanmaken, en toevoegen aan boombestand\n" #: wcd.c:1976 #, c-format msgid " -M DIR Make DIR, add to extra treefile\n" msgstr " -M MAP deze MAP aanmaken, en toevoegen aan extra boombestand\n" #: wcd.c:1977 #, c-format msgid " -n PATH use relative treefile in PATH\n" msgstr " -n PAD relatief boombestand in dit pad gebruiken\n" #: wcd.c:1978 #, c-format msgid " +n PATH add relative treefile in PATH\n" msgstr " +n PAD relatief boombestand in dit pad toevoegen\n" #: wcd.c:1979 #, c-format msgid " -N, --numbers use Numbers\n" msgstr " -N, --numbers nummers gebruiken\n" #: wcd.c:1980 #, c-format msgid " -o use stdOut\n" msgstr " -o standaarduitvoer gebruiken\n" #: wcd.c:1981 #, c-format msgid " -od, --to-stdout dump matches\n" msgstr " -od, --to-stdout treffers dumpen\n" #: wcd.c:1982 #, c-format msgid " -q, --quiet Quieter operation\n" msgstr " -q, --quiet stillere werking\n" #: wcd.c:1983 #, c-format msgid " -r DIR Remove DIR\n" msgstr " -r MAP deze map verwijderen\n" #: wcd.c:1984 #, c-format msgid " -rmtree DIR Remove DIR recursive\n" msgstr " -rmtree MAP deze map recursief verwijderen\n" #: wcd.c:1985 #, c-format msgid " -s Scan disk from $HOME\n" msgstr " -s schijf scannen vanaf $HOME\n" #: wcd.c:1986 #, c-format msgid " -S PATH Scan disk from PATH\n" msgstr " -S PAD schijf scannen vanaf dit pad\n" #: wcd.c:1987 #, c-format msgid " +S PATH Scan disk from PATH, create relative treefile\n" msgstr " +S PAD schijf scannen vanaf dit pad, en relatief boombestand aanmaken\n" #: wcd.c:1988 #, c-format msgid " -t don't strip /tmp_mnt from paths\n" msgstr " -t paden niet van '/tmp_mnt' ontdoen\n" #: wcd.c:1989 #, c-format msgid " -T, --ascii-tree draw tree with ASCII characters\n" msgstr " -T, --ascii-tree boom weergeven via ASCII-tekens\n" #: wcd.c:1990 #, c-format msgid " -Ta, --alt-tree-nav Alternative tree navigation\n" msgstr " -Ta, --alt-tree-nav alternatieve boomnavigatie\n" #: wcd.c:1991 #, c-format msgid " -TC, --center-tree Centered tree view\n" msgstr " -TC, --center-tree gecentreerde boomweergave\n" #: wcd.c:1992 #, c-format msgid " -Tc, --compact-tree Compact tree\n" msgstr " -Tc, --compact-tree compacte boomweergave\n" #: wcd.c:1993 #, c-format msgid " -Td, --cjk-width support legacy CJK fonts\n" msgstr " -Td, --cjk-width oude CJK-lettertypes ondersteunen\n" #: wcd.c:1994 #, c-format msgid " -u USER use USER's treefile\n" msgstr " -u GEBRUIKER boombestand van deze gebruiker gebruiken\n" #: wcd.c:1995 #, c-format msgid " +u USER add USER's treefile\n" msgstr " +u GEBRUIKER boombestand van deze gebruiker toevoegen\n" #: wcd.c:1996 #, c-format msgid " -v, --verbose Verbose operation\n" msgstr " -v, --verbose gedetailleerde uitvoer produceren\n" #: wcd.c:1997 #, c-format msgid " -V, --version show Version info\n" msgstr " -V, --version programmaversie tonen\n" #: wcd.c:1998 #, c-format msgid " -w, --wild-match-only Wild matching only\n" msgstr " -w, --wild-match-only alleen jokervergelijkingen doen\n" #: wcd.c:1999 #, c-format msgid " -x PATH eXclude PATH during disk scan\n" msgstr " -x PAD uit te sluiten pad tijdens scannen van schijf\n" #: wcd.c:2000 #, c-format msgid " -xf FILE eXclude paths from FILE\n" msgstr " -xf BESTAND paden uit dit bestand uitsluiten\n" #: wcd.c:2001 #, c-format msgid " -y, --assume-yes assume Yes on all queries\n" msgstr " -y, --assume-yes op alle vragen als antwoord Ja aannemen\n" #: wcd.c:2002 #, c-format msgid " -z NUMBER set max stack siZe\n" msgstr " -z GETAL te gebruiken maximum stapelgrootte\n" #: wcd.c:2003 #, c-format msgid " -[NUMBER] push dir (NUMBER times)\n" msgstr " -[GETAL] map aan stapel toevoegen (dit aantal maal)\n" #: wcd.c:2004 #, c-format msgid " +[NUMBER] pop dir (NUMBER times)\n" msgstr " +[GETAL] map van stapel halen (dit aantal maal)\n" #: wcd.c:2005 #, c-format msgid " = show stack\n" msgstr " = stapel tonen\n" #: wcd.c:2014 wcd.c:2143 #, c-format msgid "wcd %s (%s) - Wherever Change Directory\n" msgstr "wcd %s (%s) - Wherever Change Directory\n" #: wcd.c:2015 #, c-format msgid "" "Chdir for Dos and Unix.\n" "\n" msgstr "" "Een slimme 'chdir' voor DOS en Unix.\n" "\n" #: wcd.c:2019 #, c-format msgid "DOS 16 bit version (WATCOMC).\n" msgstr "DOS 16-bits versie (WATCOMC).\n" #: wcd.c:2021 #, c-format msgid "DOS 16 bit version (TURBOC).\n" msgstr "DOS 16-bits versie (TURBOC).\n" #: wcd.c:2023 #, c-format msgid "DOS 32 bit version (DJGPP).\n" msgstr "DOS 32-bits versie (DJGPP).\n" #: wcd.c:2025 #, c-format msgid "DOS 32 bit version (WATCOMC).\n" msgstr "DOS 32-bits versie (WATCOMC).\n" #: wcd.c:2032 #, c-format msgid "Win64 version (MSVC %d).\n" msgstr "Windows 64-bits versie (MSVC %d).\n" #: wcd.c:2034 #, c-format msgid "Win64 version (MinGW-w64).\n" msgstr "Windows 64-bits versie (MinGW-w64).\n" #: wcd.c:2038 #, c-format msgid "Win32 version (WATCOMC).\n" msgstr "Windows 32-bits versie (WATCOMC).\n" #: wcd.c:2040 #, c-format msgid "Win32 version (MSVC %d).\n" msgstr "Windows 32-bits versie (MSVC %d).\n" #: wcd.c:2042 #, c-format msgid "Win32 version (MinGW-w64).\n" msgstr "Windows 32-bits versie (MinGW-w64).\n" #: wcd.c:2044 #, c-format msgid "Win32 version (MinGW).\n" msgstr "Windows 32-bits versie (MinGW)\n" #: wcd.c:2051 #, c-format msgid "This version is for MSYS and WinZsh.\n" msgstr "Deze versie is voor MSYS en WinZsh.\n" #: wcd.c:2053 #, c-format msgid "This version is for Windows PowerShell.\n" msgstr "Deze versie is voor Windows PowerShell.\n" #: wcd.c:2055 #, c-format msgid "This version is for Windows Command Prompt (cmd.exe).\n" msgstr "Deze versie is voor Windows Opdrachtprompt (cmd.exe).\n" #: wcd.c:2060 #, c-format msgid "OS/2 version" msgstr "OS/2-versie" #: wcd.c:2071 #, c-format msgid "This version is for native MSYS.\n" msgstr "Deze versie is voor MSYS.\n" #: wcd.c:2074 #, c-format msgid "Cygwin version.\n" msgstr "Cygwin-versie.\n" #: wcd.c:2077 #, c-format msgid "This version is for DJGPP DOS bash.\n" msgstr "Deze versie is voor DJGPP DOS bash.\n" #: wcd.c:2080 #, c-format msgid "This version is for OS/2 bash.\n" msgstr "Deze versie is voor OS/2 bash.\n" #: wcd.c:2083 #, c-format msgid "Interface: " msgstr "Interface: " #: wcd.c:2089 #, c-format msgid "ncurses version %s.%d\n" msgstr "ncurses-versie %s.%d\n" #: wcd.c:2092 #, c-format msgid "PDCurses build %d\n" msgstr "PDCurses-versie %d\n" #: wcd.c:2094 #, c-format msgid "curses\n" msgstr "curses\n" #: wcd.c:2103 #, c-format msgid "stdout\n" msgstr "standaarduitvoer\n" #: wcd.c:2107 #, c-format msgid "Native language support included.\n" msgstr "Met ondersteuning voor taalregio's.\n" #: wcd.c:2108 #, c-format msgid "LOCALEDIR=%s\n" msgstr "LOCALEDIR=%s\n" #: wcd.c:2110 #, c-format msgid "No native language support included.\n" msgstr "Zonder ondersteuning voor taalregio's.\n" #: wcd.c:2113 #, c-format msgid "Current locale uses CP%u encoding.\n" msgstr "Huidige taalregio gebruikt CP%u-codering.\n" #: wcd.c:2115 #, c-format msgid "Current locale uses %s encoding.\n" msgstr "Huidige taalregio gebruikt %s-codering.\n" #: wcd.c:2118 #, c-format msgid "With Unicode support.\n" msgstr "Met ondersteuning voor Unicode.\n" #: wcd.c:2123 #, c-format msgid " Euro symbol: " msgstr " Euro-symbool: " #: wcd.c:2125 #, c-format msgid " Chinese characters: " msgstr " Chinese karakters: " #: wcd.c:2129 #, c-format msgid "Without Unicode support.\n" msgstr "Zonder ondersteuning voor Unicode.\n" #: wcd.c:2132 #, c-format msgid "With Unicode normalization.\n" msgstr "Met Unicode-normalisatie.\n" #: wcd.c:2134 #, c-format msgid "Without Unicode normalization.\n" msgstr "Zonder Unicode-normalisatie.\n" #: wcd.c:2137 #, c-format msgid "Download the latest executables and sources from:\n" msgstr "Download de nieuwste versie en/of de broncode van:\n" #: wcd.c:2144 #, c-format msgid "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp on C3PO\n" "Copyright (C) 1995-1996 DJ Delorie on _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews on DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel and Igor Mandrichenko on recmatch()\n" msgstr "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp [op C3PO]\n" "Copyright (C) 1995-1996 DJ Delorie [on _fixpath()]\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol [op Ninux Czo Directory]\n" "Copyright (C) 1994-1996 Jason Mathews [op DOSDIR]\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel en Igor Mandrichenko [op recmatch()]\n" #: wcd.c:2152 #, c-format msgid "" "Source code to scan Windows LAN was originally written and placed\n" "in the public domain by Felix Kasza.\n" "Markus Kuhn's free wcwidth() and wcswidth() implementations are used.\n" "Rugxulo is the original author of query_con_codepage() (public domain).\n" "\n" msgstr "" "Het programmadeel om een Windows-LAN te scannen werd oorspronkelijk\n" "geschreven en in het publieke domein geplaatst door Felix Kasza.\n" "Markus Kuhns vrije implementaties van wcwidth() en wcswidth() worden gebruikt.\n" "Rugxulo is de oorspronkelijke auteur van query_con_codepage() (publiek domein).\n" "\n" #: wcd.c:2158 #, c-format msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" "\n" msgstr "" "Dit programma is vrije software: u mag het vrijelijk wijzigen en/of verder\n" "verspreiden onder de voorwaarden van de GNU General Public License (versie 2\n" "of nieuwer) zoals die gepubliceerd is door de Free Software Foundation.\n" "Zie voor de volledige (Engelse) tekst.\n" "\n" #: wcd.c:2164 #, c-format msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Dit programma wordt uitgegeven in de hoop dat het nuttig is,\n" "maar ZONDER ENIGE GARANTIE; zelfs zonder de impliciete garantie\n" "van VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD DOEL.\n" "Zie de GNU General Public License voor meer details.\n" "\n" #: wcd.c:2170 #, c-format msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" msgstr "" "Bij dit programma hoort u een kopie van de GNU General Public License\n" "ontvangen te hebben; is dit niet het geval, dan kunt u deze licentie\n" "ook vinden op http://www.gnu.org/licenses/\n" #: wcd.c:2203 #, c-format msgid "creating directory %s\n" msgstr "aanmaken van map %s\n" #: wcd.c:2535 wcd.c:2575 wcd.c:2590 wcd.c:2658 wcd.c:2727 wcd.c:3229 wcd.c:3248 #, c-format msgid "Value of environment variable %s is too long.\n" msgstr "Waarde van omgevingsvariabele %s is te lang.\n" #: wcd.c:2564 #, c-format msgid "Failed to unset environment variable TERM: %s\n" msgstr "Verwijderen van omgevingsvariabele TERM is mislukt: %s\n" #: wcd.c:2622 wcd.c:2651 msgid "Environment variable HOME or WCDHOME is not set.\n" msgstr "Omgevingsvariabelen HOME en WCDHOME zijn niet ingesteld.\n" #: wcd.c:2834 #, c-format msgid "aliasfile: %s\n" msgstr "aliassenbestand: %s\n" #: wcd.c:2848 msgid "HOME is not defined\n" msgstr "HOME is niet gedefinieerd.\n" #: wcd.c:2852 msgid "WCDHOME is not defined\n" msgstr "WCDHOME is niet gedefinieerd.\n" #: wcd.c:2856 msgid "WCDSCAN is not defined\n" msgstr "WCDSCAN is niet gedefinieerd.\n" #: wcd.c:2881 msgid "Graphics mode only supported in wcd with curses-based interface.\n" msgstr "Grafische modus wordt alleen ondersteund met een op 'curses' gebaseerde interface.\n" #: wcd.c:3162 #, c-format msgid "%s added to aliasfile %s\n" msgstr "%s is toegevoegd aan aliassenbestand %s\n" #: wcd.c:3261 #, c-format msgid "Unable to read file %s or %s\n" msgstr "Kan bestand %s of %s niet lezen.\n" #: wcd.c:3411 #, c-format msgid "WCDSCAN directory {%s}\n" msgstr "WCDSCAN-map {%s}\n" #: wcd.c:3413 #, c-format msgid "banning {%s}\n" msgstr "verbannen van {%s}\n" #: wcd.c:3415 #, c-format msgid "excluding {%s}\n" msgstr "uitsluiten van {%s}\n" #: wcd.c:3417 #, c-format msgid "filtering {%s}\n" msgstr "filteren van {%s}\n" #: wcd.c:3677 #, c-format msgid "No directory found matching %s\n" msgstr "Geen map gevonden die overeenkomt met %s\n" #: wcd.c:3678 msgid "Perhaps you need to rescan the disk or path is banned.\n" msgstr "Misschien moet u de schijf opnieuw scannen of is het pad verbannen.\n" #: wcd.c:3807 #, c-format msgid "Cannot change to %s\n" msgstr "Kan niet veranderen naar %s\n" #: wcddir.c:109 #, c-format msgid "%lu (\"%s\") reported by \"%s\".\n" msgstr "%lu (\"%s\") gerapporteerd door \"%s\".\n" #: wcddir.c:131 msgid "access denied.\n" msgstr "toegang is geweigerd.\n" #: wcddir.c:206 #, c-format msgid "Searching for shared directories on server %s\n" msgstr "Zoeken naar gedeelde mappen op server %s\n" #: wcddir.c:218 #, c-format msgid "Found %lu shared directories on server %s\n" msgstr "Er zijn %lu gedeelde mappen gevonden op server %s\n" #: wcddir.c:335 msgid "Unable to get current working directory: " msgstr "Kan huidige werkmap niet verkrijgen: " #: wcddir.c:362 #, c-format msgid "Unable to change to directory %s: " msgstr "Kan niet veranderen naar map %s: " #: wcddir.c:392 #, c-format msgid "Unable to create directory %s: " msgstr "Kan map %s niet aanmaken: " #: wcddir.c:420 #, c-format msgid "Unable to remove directory %s: " msgstr "Kan map %s niet verwijderen: " #: wcddir.c:543 wcddir.c:554 #, c-format msgid "Unable to create directory %s: %s\n" msgstr "Kan map %s niet aanmaken: %s\n" #: wcddir.c:660 #, c-format msgid "Unable to get current working directory: %s\n" msgstr "Kan huidige werkmap niet verkrijgen: %s\n" #: wcddir.c:674 #, c-format msgid "Unable to change to directory %s: %s\n" msgstr "Kan niet veranderen naar map %s: %s\n" #: wcddir.c:683 #, c-format msgid "Unable to remove directory %s: %s\n" msgstr "Kan bestand %s niet verwijderen: %s\n" #: stack.c:101 msgid "Error parsing stack\n" msgstr "Fout bij verwerken van stapel\n" #: display.c:263 msgid "internal error in maxLength(), list == NULL\n" msgstr "**interne programmafout** in maxLength(): list == NULL\n" #: display.c:284 msgid "internal error in maxLengthStack(), s == NULL\n" msgstr "**interne programmafout** in maxLengthStack(): s == NULL\n" #: display.c:524 display.c:1150 display.c:1538 #, c-format msgid "Perfect match for %d directories." msgstr "Perfecte overeenkomst voor %d mappen." #: display.c:526 display.c:1152 display.c:1540 #, c-format msgid "Wild match for %d directories." msgstr "Jokerovereenkomst voor %d mappen." #: display.c:530 display.c:1164 display.c:1542 display.c:1585 #, c-format msgid "Please choose one ( to abort): " msgstr "Maak een keuze ( om af te breken): " #: display.c:532 display.c:608 display.c:640 display.c:1157 #, c-format msgid " w=up x=down ?=help Page %d/%d " msgstr " w=omhoog x=omlaag ?=help Pagina %d/%d " #: display.c:684 display.c:1180 msgid "Screenheight must be > 20 for help." msgstr "Schermhoogte moet groter zijn dan 20 voor hulp." #: display.c:689 display.c:1183 msgid "w or page up" msgstr "w of pagina omhoog" #: display.c:690 display.c:1184 msgid "x or z or page down" msgstr "x of z of pagina omlaag" #: display.c:691 display.c:1185 msgid ", or scroll 1 left" msgstr ", of scroll 1 naar links" #: display.c:692 display.c:1186 msgid ". or scroll 1 right" msgstr ". of scroll 1 naar rechts" #: display.c:693 display.c:1187 msgid "< or [ scroll 10 left" msgstr "< of [ scroll 10 naar links" #: display.c:694 display.c:1188 msgid "> or ] scroll 10 right" msgstr "> of ] scroll 10 naar rechts" #: display.c:695 display.c:1189 msgid "CTRL-a or scroll to beginning" msgstr "Ctrl-a of scroll naar begin" #: display.c:696 display.c:1190 msgid "CTRL-e or scroll to end" msgstr "Ctrl-e of scroll naar einde" #: display.c:697 display.c:1192 msgid "CTRL-c or abort" msgstr "Ctrl-c of afbreken" #: display.c:698 display.c:1193 msgid " abort" msgstr " afbreken" #: display.c:699 msgid "Type w or x to quit help." msgstr "Typ w of x om hulp te verlaten." #: display.c:1191 graphics.c:1994 msgid "CTRL-l or F5 redraw screen" msgstr "Ctrl-l of F5 scherm opnieuw schrijven" #: display.c:1194 graphics.c:1979 graphics.c:1996 graphics.c:2019 #: graphics.c:2036 msgid "Press any key." msgstr "Druk op een toets." #: display.c:1256 graphics.c:2289 msgid "Error opening terminal, falling back to stdout interface.\n" msgstr "Fout tijdens openen van terminal, teruggevallen op standaarduitvoer-interface.\n" #: display.c:1277 msgid "screen height must be larger than 3 lines.\n" msgstr "Schermhoogte moet groter zijn dan 3 regels.\n" #: display.c:1318 graphics.c:2314 msgid "error creating scroll window.\n" msgstr "fout bij aanmaken van scroll-venster.\n" #: display.c:1334 graphics.c:2330 msgid "error creating input window.\n" msgstr "fout bij aanmaken van invoervenster.\n" #: graphics.c:290 #, c-format msgid "Wcd: error: path too long" msgstr "Wcd: fout: pad is te lang" #: graphics.c:1940 msgid "/ = search forward, ? = search backward, : = help" msgstr "/ = vooruit zoeken, ? = achteruit zoeken, : = hulp" #: graphics.c:1945 msgid "SEARCH: " msgstr "ZOEK: " #: graphics.c:1948 msgid "Search: " msgstr "Zoek: " #: graphics.c:1964 msgid "NAVIGATION MODE (1/2):" msgstr "NAVIGATIEMODUS (1/2):" #: graphics.c:1965 msgid "h or go left" msgstr "h of naar links" #: graphics.c:1966 msgid "j or go down" msgstr "j of omlaag" #: graphics.c:1967 msgid "k or go up" msgstr "k of omhoog" #: graphics.c:1968 msgid "l or go right" msgstr "l of naar rechts" #: graphics.c:1969 msgid "* or v or go forward to dir with same name" msgstr "* of v of vooruit naar map met dezelfde naam" #: graphics.c:1970 msgid "# or p or go backward to dir with same name" msgstr "# of p of achteruit naar map met dezelfde naam" #: graphics.c:1971 msgid "^ or a go to beginning of line" msgstr "^ of a naar begin van regel" #: graphics.c:1972 msgid "$ or e go to end of line" msgstr "$ of e naar einde van regel" #: graphics.c:1973 msgid "1 go to root dir" msgstr "1 naar eerste map" #: graphics.c:1974 msgid "g or G go to last dir" msgstr "g of G naar laatste map" #: graphics.c:1975 msgid "f go page forward" msgstr "f pagina vooruit" #: graphics.c:1976 msgid "b go page backward" msgstr "b pagina achteruit" #: graphics.c:1977 msgid "u go half page up" msgstr "u halve pagina omhoog" #: graphics.c:1978 msgid "d go half page down" msgstr "d halve pagina omlaag" #: graphics.c:1985 msgid "NAVIGATION MODE (2/2):" msgstr "NAVIGATIEMODUS (2/2):" #: graphics.c:1986 msgid "A switch alternative tree navigation on/off" msgstr "A alternatieve boomnavigatie in- of uitschakelen" #: graphics.c:1987 msgid "t switch centered mode on/off" msgstr "t gecentreerde modus in- of uitschakelen" #: graphics.c:1988 msgid "T toggle between line drawing and ASCII characters" msgstr "T schakelen tussen lijnen en ASCII-tekens" #: graphics.c:1989 msgid "m toggle between compact and wide tree" msgstr "m schakelen tussen compacte boom en brede boom" #: graphics.c:1990 msgid " or q abort" msgstr " of q afbreken" #: graphics.c:1991 msgid "/ search forward" msgstr "/ voorwaarts zoeken" #: graphics.c:1992 msgid "? search backward" msgstr "? achterwaarts zoeken" #: graphics.c:1993 msgid "n repeat last / or ? search" msgstr "n laatste zoekopdracht met / of ? herhalen" #: graphics.c:1995 graphics.c:2018 msgid " select directory" msgstr " de map kiezen" #: graphics.c:2002 msgid "SEARCH MODE with wildcard and subdir support:" msgstr "ZOEKMODUS met ondersteuning voor jokertekens en submappen:" #: graphics.c:2003 msgid " go left" msgstr " naar links" #: graphics.c:2004 msgid " go down" msgstr " omlaag" #: graphics.c:2005 msgid " go up" msgstr " omhoog" #: graphics.c:2006 msgid " go right" msgstr " naar rechts" #: graphics.c:2007 msgid "CTRL-v go forward to dir with same name" msgstr "Ctrl-v vooruit naar map met dezelfde naam" #: graphics.c:2008 msgid "CTRL-p go backward to dir with same name" msgstr "Ctrl-p achteruit naar map met dezelfde naam" #: graphics.c:2009 msgid "CTRL-a go to beginning of line" msgstr "Ctrl-a naar begin van regel" #: graphics.c:2010 msgid "CTRL-e go to end of line" msgstr "Ctrl-e naar einde van regel" #: graphics.c:2011 msgid "CTRL-g go to last dir" msgstr "Ctrl-g naar laatste map" #: graphics.c:2012 msgid "CTRL-f go page forward" msgstr "Ctrl-f pagina vooruit" #: graphics.c:2013 msgid "CTRL-b go page backward" msgstr "Ctrl-b pagina achteruit" #: graphics.c:2014 msgid "CTRL-u go half page up" msgstr "Ctrl-u halve pagina omhoog" #: graphics.c:2015 msgid "CTRL-d go half page down" msgstr "Ctrl-d halve pagina omlaag" #: graphics.c:2016 msgid " or CTRL-x abort SEARCH MODE" msgstr " of Ctrl-x ZOEKMODUS afbreken" #: graphics.c:2017 msgid "CTRL-n repeat last / or ? search" msgstr "Ctrl-n laatste zoekopdracht met / of ? herhalen" #: graphics.c:2025 msgid "ZOOMING:" msgstr "ZOOMEN:" #: graphics.c:2026 msgid "z or i or CTRL-i zoom in" msgstr "z of i of Ctrl-i inzoomen" #: graphics.c:2027 msgid "Z or o or CTRL-o zoom out" msgstr "Z of o of Ctrl-o uitzoomen" #: graphics.c:2028 msgid "c condense: fold current level" msgstr "c huidig niveau opvouwen" #: graphics.c:2029 msgid "C condense: fold subdir level" msgstr "C submapniveau opvouwen" #: graphics.c:2030 msgid "w condense: fold current and subdir levels" msgstr "w huidige niveau en subniveaus opvouwen" #: graphics.c:2031 msgid "y or CTRL-y uncondense: unfold current and subdir levels" msgstr "y of Ctrl-y huidige niveau en subniveaus uitvouwen" #: graphics.c:2032 msgid "r or CTRL-r uncondense: unfold all directories" msgstr "r of Ctrl-r alle mappen uitvouwen" #: graphics.c:2033 msgid "- fold directory" msgstr "- map opvouwen" #: graphics.c:2034 msgid "+ or = unfold directory" msgstr "+ of = map uitvouwen" #: graphics.c:2035 msgid "l or unfold and go right" msgstr "l of uitvouwen en naar rechts gaan" #: graphics.c:2039 msgid "Screenheight must be > 21 for help." msgstr "Schermhoogte moet groter zijn dan 21 voor hulp." #: graphics.c:2271 graphics.c:2757 #, c-format msgid "Cannot find the current path %s in the directory tree.\n" msgstr "Kan huidig pad (%s) niet in mappenboom vinden.\n" #: finddirs.c:241 finddirs.c:249 finddirs.c:273 finddirs.c:300 finddirs.c:314 #, c-format msgid "Unable to remove file %s: %s\n" msgstr "Kan bestand %s niet verwijderen: %s\n" #: finddirs.c:322 finddirs.c:486 #, c-format msgid "Unable to close directory %s: %s\n" msgstr "Kan map %s niet sluiten: %s\n" #: finddirs.c:365 #, c-format msgid "finddirs(): can't determine path in directory %s\n" msgstr "finddirs(): kan pad in map %s niet achterhalen\n" #: finddirs.c:366 msgid "path probably too long.\n" msgstr "pad is waarschijnlijk te lang.\n" #: c3po/Error.c:41 #, c-format msgid "in '%s', insufficient memory for allocation\n" msgstr "in '%s', onvoldoende geheugen beschikbaar voor reservering\n" #~ msgid "malloc error in wcd_fixpath()\n" #~ msgstr "onvoldoende geheugen beschikbaar in wcd_fixpath()\n" wcd-6.0.3/src/po/pt_BR.po0000644000175500010010000010355213524756537014346 0ustar waterlanGeen# Brazilian Portuguese translation for wcd # Copyright (C) 2017 Erwin Waterlander (msgids) # Copyright (C) 2017 Free Software Foundation # This file is distributed under the same license as the wcd package. # Rafael Fontenelle , 2017. msgid "" msgstr "" "Project-Id-Version: wcd 6.0.0-beta4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-08-18 11:44+0200\n" "PO-Revision-Date: 2017-07-29 15:28-0200\n" "Last-Translator: Rafael Fontenelle \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" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Virtaal 1.0.0-beta1\n" #: wcd.c:170 #, c-format msgid "Wcd: error: " msgstr "Wcd: erro: " #: wcd.c:183 wcd.c:237 wcd.c:257 #, c-format msgid "Unable to read file %s: %s\n" msgstr "Não foi possível ler %s: %s\n" #: wcd.c:246 #, c-format msgid "Unable to read file %s: Not a regular file.\n" msgstr "Não foi possível ler %s: não é um arquivo comum.\n" #: wcd.c:259 wcd.c:346 #, c-format msgid "Unable to write file %s: %s\n" msgstr "Não foi possível escrever no arquivo %s: %s\n" #: wcd.c:348 #, c-format msgid "Unable to close file %s: %s\n" msgstr "Não foi possível fechar o arquivo %s: %s\n" #: wcd.c:409 wcd.c:414 wfixpath.c:65 #, c-format msgid "Memory allocation error in %s: %s\n" msgstr "Erro de alocação de memória em %s: %s\n" #: wcd.c:716 wcd.c:730 #, c-format msgid "%s added to file %s\n" msgstr "%s adicionado ao arquivo %s\n" #: wcd.c:765 wcd.c:1097 #, c-format msgid "%s is not a directory.\n" msgstr "%s não é um diretório.\n" #: wcd.c:770 #, c-format msgid "Please wait. Scanning disk. Building treedata-file %s from %s\n" msgstr "Por favor, aguarde. Varrendo disco. Construindo arquivo de dados de árvore %s de %s\n" #: wcd.c:832 wcd.c:2223 wcd.c:2246 wcd.c:2326 #, c-format msgid "Writing file \"%s\"\n" msgstr "Escrevendo o arquivo \"%s\"\n" #: wcd.c:837 msgid "Write access to tree-file denied.\n" msgstr "Acesso negado para escrita no arquivo-árvore.\n" #: wcd.c:838 msgid "Set TEMP environment variable if this is a read-only disk.\n" msgstr "Define a variável de ambiente TEMP se esse é um disco de somente leitura.\n" #: wcd.c:967 #, c-format msgid "Removed symbolic link %s\n" msgstr "Removido o link simbólico %s\n" #: wcd.c:971 #, c-format msgid "Unable to remove symbolic link %s: %s\n" msgstr "Não foi possível remover link simbólico %s: %s\n" #: wcd.c:975 #, c-format msgid "%s is a symbolic link to a file.\n" msgstr "%s não é um link simbólico para um arquivo.\n" #: wcd.c:1058 #, c-format msgid "Recursively remove %s? Are you sure? y/n :" msgstr "Remover recursivamente %s? Tem certeza? y/n :" #: wcd.c:1080 wcd.c:1090 #, c-format msgid "Removed directory %s\n" msgstr "Removido o diretório %s\n" #: wcd.c:1122 wcd.c:1191 wcd.c:1259 #, c-format msgid "line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n" msgstr "linha longa demais em %s ( > %d). O arquivo-árvore pode estar corrompido, ou tente corrigir incrementando WCD_MAXPATH no código-fonte.\n" #: wcd.c:1123 wcd.c:1192 wcd.c:1260 #, c-format msgid "file: %s, line: %d," msgstr "arquivo: %s, linha: %d," #: wcd.c:1130 wcd.c:1199 wcd.c:1267 #, c-format msgid " length: %d\n" msgstr " tamanho: %d\n" #: wcd.c:1768 wcd.c:1837 msgid "Alias file in UTF-16 format is not supported.\n" msgstr "Não há suporte a arquivo de alias no formato UTF-16.\n" #: wcd.c:1937 #, c-format msgid "" "Usage: wcd [options] [directory]\n" "\n" msgstr "" "Uso: wcd [opções] [diretório]\n" "\n" #: wcd.c:1938 #, c-format msgid "directory: Name of directory to change to.\n" msgstr "diretório: Nome de diretório para o qual deseja-se mudar.\n" #: wcd.c:1939 #, c-format msgid "" " Wildcards *, ? and [SET] are supported.\n" "\n" msgstr "" " Há suporte a caracteres curingas *, ? e [SET].\n" "\n" #: wcd.c:1941 #, c-format msgid "options:\n" msgstr "opções:\n" #: wcd.c:1942 #, c-format msgid " -a Add current path to treefile\n" msgstr " -a Adiciona o caminho atual ao arquivo-árvore\n" #: wcd.c:1943 #, c-format msgid " -aa Add current and all parent paths to treefile\n" msgstr " -aa Adiciona caminhos atual e todos pais ao arquivo-árvore\n" #: wcd.c:1944 #, c-format msgid " -A PATH Add tree from PATH\n" msgstr " -A CAMINHO Adiciona o árvore a partir de CAMINHO\n" #: wcd.c:1945 #, c-format msgid " -b Ban current path\n" msgstr " -b Bane o caminho atual\n" #: wcd.c:1946 #, c-format msgid " -c, --direct-cd direct CD mode\n" msgstr " -c, --direct-cd modo CD direto\n" #: wcd.c:1947 #, c-format msgid " -d DRIVE set DRIVE for stack & go files (DOS)\n" msgstr " -d UNIDADE define UNIDADE para arquivos de pilha & go (DOS)\n" #: wcd.c:1948 #, c-format msgid " -e add current path to Extra treefile\n" msgstr " -e adiciona o caminho atual para arquivo-árvore Extra\n" #: wcd.c:1949 #, c-format msgid " -ee add current and all parent paths to Extra treefile\n" msgstr " -ee adiciona caminhos atual e todos pais ao arquivo-árvore Extra\n" #: wcd.c:1950 #, c-format msgid " -E PATH add tree from PATH to Extra treefile\n" msgstr " -E CAMINHO adiciona árvore de CAMINHO para arquivo-árvore Extra\n" #: wcd.c:1951 #, c-format msgid " -f FILE use extra treeFile\n" msgstr " -f ARQUIVO usa o arquivo-árvore extra\n" #: wcd.c:1952 #, c-format msgid " +f FILE add extra treeFile\n" msgstr " +f ARQUIVO adiciona o arquivo-árvore extra\n" #: wcd.c:1953 #, c-format msgid " -g Graphics\n" msgstr " -g Gráficos\n" #: wcd.c:1954 #, c-format msgid " -gd Graphics, dump tree\n" msgstr " -gd Gráficos, despeja árvore\n" #: wcd.c:1955 #, c-format msgid " -G PATH set PATH Go-script\n" msgstr " -G CAMINHO define o CAMINHO do Go-script\n" #: wcd.c:1956 #, c-format msgid " -GN, --no-go-script No Go-script\n" msgstr " -GN, --no-go-script Nenhum Go-script\n" #: wcd.c:1957 #, c-format msgid " -h, --help show this Help\n" msgstr " -h, --help mostra essa ajuda\n" #: wcd.c:1960 #, c-format msgid " -i, --ignore-case Ignore case (default)\n" msgstr " -i, --ignore-case Ignora diferença maiúsculo/minúsculo (padrão)\n" #: wcd.c:1961 #, c-format msgid " +i, --no-ignore-case regard case\n" msgstr " +i, --no-ignore-case considera maiúsculo/minúsculo\n" #: wcd.c:1963 #, c-format msgid " -i, --ignore-case Ignore case\n" msgstr " -i, --ignore-case Ignora diferença maiúsculo/minúsculo\n" #: wcd.c:1964 #, c-format msgid " +i, --no-ignore-case regard case (default)\n" msgstr " +i, --no-ignore-case considera maiúsculo/minúsculo (padrão)\n" #: wcd.c:1967 #, c-format msgid " -I, --ignore-diacritics Ignore diacritics\n" msgstr " -I, --ignore-diacritics Ignora diacríticos\n" #: wcd.c:1968 #, c-format msgid " +I, --no-ignore-diacritics regard diacritics (default)\n" msgstr " +I, --no-ignore-diacritics considera diacríticos (padrão)\n" #: wcd.c:1969 #, c-format msgid " -j, --just-go Just go mode\n" msgstr " -j, --just-go modo \"Just go\"\n" #: wcd.c:1970 #, c-format msgid " -k, --keep-paths Keep paths\n" msgstr " -k, --keep-paths mantém caminhos\n" #: wcd.c:1971 #, c-format msgid " -K, --color colors\n" msgstr " -K, --color cores\n" #: wcd.c:1972 #, c-format msgid " -l ALIAS aLias current directory\n" msgstr " -l ALIAS aLias do diretório atual\n" #: wcd.c:1973 #, c-format msgid " -ls List the aliases\n" msgstr " -ls Lista os apelidos\n" #: wcd.c:1974 #, c-format msgid " -L, --license show software License\n" msgstr " -L, --license mostra a Licença de software\n" #: wcd.c:1975 #, c-format msgid " -m DIR Make DIR, add to treefile\n" msgstr " -m DIR cria DIR, adiciona ao arquivo-árvore\n" #: wcd.c:1976 #, c-format msgid " -M DIR Make DIR, add to extra treefile\n" msgstr " -M DIR cria DIR, adiciona ao arquivo-árvore extra\n" #: wcd.c:1977 #, c-format msgid " -n PATH use relative treefile in PATH\n" msgstr " -n CAMINHO usa arquivo-árvore relativo no CAMINHO\n" #: wcd.c:1978 #, c-format msgid " +n PATH add relative treefile in PATH\n" msgstr " +n CAMINHO adiciona arquivo-árvore relativo no CAMINHO\n" #: wcd.c:1979 #, c-format msgid " -N, --numbers use Numbers\n" msgstr " -N, --numbers usa Números\n" #: wcd.c:1980 #, c-format msgid " -o use stdOut\n" msgstr " -o usa a saída padrão (stdOut)\n" #: wcd.c:1981 #, c-format msgid " -od, --to-stdout dump matches\n" msgstr " -od, --to-stdout despeja correspondências\n" #: wcd.c:1982 #, c-format msgid " -q, --quiet Quieter operation\n" msgstr " -q, --quiet operação mais Quieta\n" #: wcd.c:1983 #, c-format msgid " -r DIR Remove DIR\n" msgstr " -r DIR Remove DIR\n" #: wcd.c:1984 #, c-format msgid " -rmtree DIR Remove DIR recursive\n" msgstr " -rmtree DIR Remove DIR recursivamente\n" #: wcd.c:1985 #, c-format msgid " -s Scan disk from $HOME\n" msgstr " -s varre o disco a partir de $HOME\n" #: wcd.c:1986 #, c-format msgid " -S PATH Scan disk from PATH\n" msgstr " -S CAMINHO varre o disco a partir de CAMINHO\n" #: wcd.c:1987 #, c-format msgid " +S PATH Scan disk from PATH, create relative treefile\n" msgstr " +S CAMINHO varre o disco a partir de PATH, cria arquivo-árvore relativo\n" #: wcd.c:1988 #, c-format msgid " -t don't strip /tmp_mnt from paths\n" msgstr " -t não remove /tmp_mnt dos caminhos\n" #: wcd.c:1989 #, c-format msgid " -T, --ascii-tree draw tree with ASCII characters\n" msgstr " -T, --ascii-tree desenha árvore com caracteres ASCII\n" #: wcd.c:1990 #, c-format msgid " -Ta, --alt-tree-nav Alternative tree navigation\n" msgstr " -Ta, --alt-tree-nav navegação Alternativa de árvore\n" #: wcd.c:1991 #, c-format msgid " -TC, --center-tree Centered tree view\n" msgstr " -TC, --center-tree visão Centralizada de árvore\n" #: wcd.c:1992 #, c-format msgid " -Tc, --compact-tree Compact tree\n" msgstr " -Tc, --compact-tree árvore Compacta\n" #: wcd.c:1993 #, c-format msgid " -Td, --cjk-width support legacy CJK fonts\n" msgstr " -Td, --cjk-width suporte a fontes CJK legadas\n" #: wcd.c:1994 #, c-format msgid " -u USER use USER's treefile\n" msgstr " -u USUÁRIO usa arquivo-árvore do USUÁRIO\n" #: wcd.c:1995 #, c-format msgid " +u USER add USER's treefile\n" msgstr " +u USUÁRIO adiciona arquivo-árvore do USUÁRIO\n" #: wcd.c:1996 #, c-format msgid " -v, --verbose Verbose operation\n" msgstr " -v, --verbose operação Verbosa\n" #: wcd.c:1997 #, c-format msgid " -V, --version show Version info\n" msgstr " -V, --version mostra informações da versão\n" #: wcd.c:1998 #, c-format msgid " -w, --wild-match-only Wild matching only\n" msgstr " -w, --wild-match-only apenas correspondência curinga\n" #: wcd.c:1999 #, c-format msgid " -x PATH eXclude PATH during disk scan\n" msgstr " -x CAMINHO eXclui CAMINHO durante varredura de disco\n" #: wcd.c:2000 #, c-format msgid " -xf FILE eXclude paths from FILE\n" msgstr " -xf ARQUIVO eXclui caminhos do ARQUIVO\n" #: wcd.c:2001 #, c-format msgid " -y, --assume-yes assume Yes on all queries\n" msgstr " -y, --assume-yes presume sim para todas as perguntas\n" #: wcd.c:2002 #, c-format msgid " -z NUMBER set max stack siZe\n" msgstr " -z NÚMERO define o tamanho máximo da pilha\n" #: wcd.c:2003 #, c-format msgid " -[NUMBER] push dir (NUMBER times)\n" msgstr " -[NÚMERO] adiciona dir (NÚMERO de vezes)\n" #: wcd.c:2004 #, c-format msgid " +[NUMBER] pop dir (NUMBER times)\n" msgstr " +[NÚMERO] retira dir (NÚMERO de vezes)\n" #: wcd.c:2005 #, c-format msgid " = show stack\n" msgstr " = mostra pilha\n" #: wcd.c:2014 wcd.c:2143 #, c-format msgid "wcd %s (%s) - Wherever Change Directory\n" msgstr "wcd %s (%s) - Wherever Change Directory\n" #: wcd.c:2015 #, c-format msgid "" "Chdir for Dos and Unix.\n" "\n" msgstr "" "Chdir para Dos e Unix.\n" "\n" #: wcd.c:2019 #, c-format msgid "DOS 16 bit version (WATCOMC).\n" msgstr "Versão DOS 16 bits (WATCOMC).\n" #: wcd.c:2021 #, c-format msgid "DOS 16 bit version (TURBOC).\n" msgstr "Versão DOS 16 bits (TURBOC).\n" #: wcd.c:2023 #, c-format msgid "DOS 32 bit version (DJGPP).\n" msgstr "Versão DOS 32 bits (DJGPP).\n" #: wcd.c:2025 #, c-format msgid "DOS 32 bit version (WATCOMC).\n" msgstr "Versão DOS 32 bits (WATCOMC).\n" #: wcd.c:2032 #, c-format msgid "Win64 version (MSVC %d).\n" msgstr "Versão Win64 (MSVC %d).\n" #: wcd.c:2034 #, c-format msgid "Win64 version (MinGW-w64).\n" msgstr "Versão Win64 (MinGW-w64).\n" #: wcd.c:2038 #, c-format msgid "Win32 version (WATCOMC).\n" msgstr "Versão Win32 (WATCOMC).\n" #: wcd.c:2040 #, c-format msgid "Win32 version (MSVC %d).\n" msgstr "Versão Win32 (MSVC %d).\n" #: wcd.c:2042 #, c-format msgid "Win32 version (MinGW-w64).\n" msgstr "Versão Win32 (MinGW-w64).\n" #: wcd.c:2044 #, c-format msgid "Win32 version (MinGW).\n" msgstr "Versão Win32 (MinGW).\n" #: wcd.c:2051 #, c-format msgid "This version is for MSYS and WinZsh.\n" msgstr "Essa versão é para MSYS e WinZsh.\n" #: wcd.c:2053 #, c-format msgid "This version is for Windows PowerShell.\n" msgstr "Essa versão é para PowerShell do Windows.\n" #: wcd.c:2055 #, c-format msgid "This version is for Windows Command Prompt (cmd.exe).\n" msgstr "Essa versão é para Prompt de Comando do Windows (cmd.exe).\n" #: wcd.c:2060 #, c-format msgid "OS/2 version" msgstr "Versão OS/2" #: wcd.c:2071 #, c-format msgid "This version is for native MSYS.\n" msgstr "Essa versão é para MSYS nativo.\n" #: wcd.c:2074 #, c-format msgid "Cygwin version.\n" msgstr "Versão Cygwin.\n" #: wcd.c:2077 #, c-format msgid "This version is for DJGPP DOS bash.\n" msgstr "Essa versão é para bash de DOS do DJGPP.\n" #: wcd.c:2080 #, c-format msgid "This version is for OS/2 bash.\n" msgstr "Essa versão é para bash de OS/2.\n" #: wcd.c:2083 #, c-format msgid "Interface: " msgstr "Interface: " #: wcd.c:2089 #, c-format msgid "ncurses version %s.%d\n" msgstr "ncurses versão %s.%d\n" #: wcd.c:2092 #, c-format msgid "PDCurses build %d\n" msgstr "PDCurses compilação %d\n" #: wcd.c:2094 #, c-format msgid "curses\n" msgstr "curses\n" #: wcd.c:2103 #, c-format msgid "stdout\n" msgstr "stdout\n" #: wcd.c:2107 #, c-format msgid "Native language support included.\n" msgstr "Suporte a idioma nativo incluído.\n" #: wcd.c:2108 #, c-format msgid "LOCALEDIR=%s\n" msgstr "LOCALEDIR=%s\n" #: wcd.c:2110 #, c-format msgid "No native language support included.\n" msgstr "Sem suporte a idioma nativo.\n" #: wcd.c:2113 #, c-format msgid "Current locale uses CP%u encoding.\n" msgstr "A localidade atual usa a codificação CP%u.\n" #: wcd.c:2115 #, c-format msgid "Current locale uses %s encoding.\n" msgstr "A localidade atual usa a codificação %s.\n" #: wcd.c:2118 #, c-format msgid "With Unicode support.\n" msgstr "Com suporte a Unicode.\n" #: wcd.c:2123 #, c-format msgid " Euro symbol: " msgstr " Símbolo do euro: " #: wcd.c:2125 #, c-format msgid " Chinese characters: " msgstr " Caracteres chineses: " #: wcd.c:2129 #, c-format msgid "Without Unicode support.\n" msgstr "Sem suporte a Unicode.\n" #: wcd.c:2132 #, c-format msgid "With Unicode normalization.\n" msgstr "Com normalização Unicode.\n" #: wcd.c:2134 #, c-format msgid "Without Unicode normalization.\n" msgstr "Sem normalização Unicode.\n" #: wcd.c:2137 #, c-format msgid "Download the latest executables and sources from:\n" msgstr "Baixe os executáveis e fontes mais recentes de:\n" #: wcd.c:2144 #, c-format msgid "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp on C3PO\n" "Copyright (C) 1995-1996 DJ Delorie on _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews on DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel and Igor Mandrichenko on recmatch()\n" msgstr "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp no C3PO\n" "Copyright (C) 1995-1996 DJ Delorie no _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol no Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews no DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel e Igor Mandrichenko no recmatch()\n" #: wcd.c:2152 #, c-format msgid "" "Source code to scan Windows LAN was originally written and placed\n" "in the public domain by Felix Kasza.\n" "Markus Kuhn's free wcwidth() and wcswidth() implementations are used.\n" "Rugxulo is the original author of query_con_codepage() (public domain).\n" "\n" msgstr "" "O código-fonte para varrer LAN de Windows foi originalmente escrito e\n" "colocado no domínio público por Felix Kasza.\n" "Implementações livres wcwidth() e wcswidth() do Markus Kuhn são usadas.\n" "Rugxulo é o autor original de query_con_codepage() (domínio público).\n" "\n" #: wcd.c:2158 #, c-format msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" "\n" msgstr "" "Este programa é um software livre; você pode redistribuí-lo e/ou\n" "modificá-lo sob os termos da Licença Pública Geral do GNU como\n" "publicada pela Free Software Foundation (FSF); na versão\n" "2 da Licença, ou (a seu critério) qualquer versão posterior.\n" "\n" #: wcd.c:2164 #, c-format msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Este programa é distribuído na expectativa de ser útil, mas\n" "SEM QUALQUER GARANTIA; sem mesmo a garantia implícita de\n" "COMERCIALIZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM\n" "PARTICULAR. Consulte a Licença Pública Geral do GNU para obter\n" "mais detalhes.\n" "\n" #: wcd.c:2170 #, c-format msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" msgstr "" "Você deve ter recebido uma cópia da Licença Pública Geral do GNU\n" "junto com este programa; se não, escreva para a Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" #: wcd.c:2203 #, c-format msgid "creating directory %s\n" msgstr "criando diretório %s\n" #: wcd.c:2535 wcd.c:2575 wcd.c:2590 wcd.c:2658 wcd.c:2727 wcd.c:3229 wcd.c:3248 #, c-format msgid "Value of environment variable %s is too long.\n" msgstr "O valor da variável de ambiente %s é muito longo.\n" #: wcd.c:2564 #, c-format msgid "Failed to unset environment variable TERM: %s\n" msgstr "Falha ao remover definição da variável de ambiente TERM: %s\n" #: wcd.c:2622 wcd.c:2651 msgid "Environment variable HOME or WCDHOME is not set.\n" msgstr "A variável de ambiente HOME ou WCDHOME não está definida.\n" #: wcd.c:2834 #, c-format msgid "aliasfile: %s\n" msgstr "arquivo alias: %s\n" #: wcd.c:2848 msgid "HOME is not defined\n" msgstr "HOME não está definido\n" #: wcd.c:2852 msgid "WCDHOME is not defined\n" msgstr "WCDHOME não está definido\n" #: wcd.c:2856 msgid "WCDSCAN is not defined\n" msgstr "WCDSCAN não está definido\n" #: wcd.c:2881 msgid "Graphics mode only supported in wcd with curses-based interface.\n" msgstr "Suporte ao modo gráfico no wcd com interface baseada a curses.\n" #: wcd.c:3162 #, c-format msgid "%s added to aliasfile %s\n" msgstr "%s adicionado ao arquivo alias: %s\n" #: wcd.c:3261 #, c-format msgid "Unable to read file %s or %s\n" msgstr "Não foi possível ler o arquivo %s ou %s\n" #: wcd.c:3411 #, c-format msgid "WCDSCAN directory {%s}\n" msgstr "WCDSCAN diretório {%s}\n" #: wcd.c:3413 #, c-format msgid "banning {%s}\n" msgstr "banindo {%s}\n" #: wcd.c:3415 #, c-format msgid "excluding {%s}\n" msgstr "excluindo {%s}\n" #: wcd.c:3417 #, c-format msgid "filtering {%s}\n" msgstr "filtrando {%s}\n" #: wcd.c:3677 #, c-format msgid "No directory found matching %s\n" msgstr "Nenhum diretório localizado correspondendo a %s\n" #: wcd.c:3678 msgid "Perhaps you need to rescan the disk or path is banned.\n" msgstr "Talvez você precise varrer novamente o disco ou o caminho está banido.\n" #: wcd.c:3807 #, c-format msgid "Cannot change to %s\n" msgstr "Não foi possível mudar para %s\n" #: wcddir.c:109 #, c-format msgid "%lu (\"%s\") reported by \"%s\".\n" msgstr "%lu (\"%s\") relatado por \"%s\".\n" #: wcddir.c:131 msgid "access denied.\n" msgstr "acesso negado.\n" #: wcddir.c:206 #, c-format msgid "Searching for shared directories on server %s\n" msgstr "Pesquisando por diretórios compartilhados no servidor %s\n" #: wcddir.c:218 #, c-format msgid "Found %lu shared directories on server %s\n" msgstr "Encontrados %lu diretórios compartilhados no servidor %s\n" #: wcddir.c:335 msgid "Unable to get current working directory: " msgstr "Não foi possível obter o diretório de trabalho atual: " #: wcddir.c:362 #, c-format msgid "Unable to change to directory %s: " msgstr "Não foi possível mudar para o diretório %s: " #: wcddir.c:392 #, c-format msgid "Unable to create directory %s: " msgstr "Não foi possível criar o diretório %s: " #: wcddir.c:420 #, c-format msgid "Unable to remove directory %s: " msgstr "Não foi possível remover o diretório %s: " #: wcddir.c:543 wcddir.c:554 #, c-format msgid "Unable to create directory %s: %s\n" msgstr "Não foi possível criar o diretório %s: %s\n" #: wcddir.c:660 #, c-format msgid "Unable to get current working directory: %s\n" msgstr "Não foi possível obter o diretório de trabalho atual: %s\n" #: wcddir.c:674 #, c-format msgid "Unable to change to directory %s: %s\n" msgstr "Não foi possível mudar para o diretório %s: %s\n" #: wcddir.c:683 #, c-format msgid "Unable to remove directory %s: %s\n" msgstr "Não foi possível remover o diretório %s: %s\n" #: stack.c:101 msgid "Error parsing stack\n" msgstr "Erro ao analisar a pilha\n" #: display.c:263 msgid "internal error in maxLength(), list == NULL\n" msgstr "erro interno em maxLength(), list == NULL\n" #: display.c:284 msgid "internal error in maxLengthStack(), s == NULL\n" msgstr "erro interno em maxLengthStack(), s == NULL\n" #: display.c:524 display.c:1150 display.c:1538 #, c-format msgid "Perfect match for %d directories." msgstr "Correspondência perfeita para diretórios %d." #: display.c:526 display.c:1152 display.c:1540 #, c-format msgid "Wild match for %d directories." msgstr "Correspondência curinga para %d diretórios." #: display.c:530 display.c:1164 display.c:1542 display.c:1585 #, c-format msgid "Please choose one ( to abort): " msgstr "Por favor, escolha um ( para abortar): " #: display.c:532 display.c:608 display.c:640 display.c:1157 #, c-format msgid " w=up x=down ?=help Page %d/%d " msgstr " w=cima x=baixo ?=ajuda Página %d/%d " #: display.c:684 display.c:1180 msgid "Screenheight must be > 20 for help." msgstr "Altura da tela deve ser > 20 para a ajuda." #: display.c:689 display.c:1183 msgid "w or page up" msgstr "w ou paginação para cima" #: display.c:690 display.c:1184 msgid "x or z or page down" msgstr "x ou z ou paginação para baixo" #: display.c:691 display.c:1185 msgid ", or scroll 1 left" msgstr ", ou rola 1 para esquerda" #: display.c:692 display.c:1186 msgid ". or scroll 1 right" msgstr ". ou rola 1 para direita" #: display.c:693 display.c:1187 msgid "< or [ scroll 10 left" msgstr "< ou [ rola 10 para esquerda" #: display.c:694 display.c:1188 msgid "> or ] scroll 10 right" msgstr "> ou ] rola 10 para direita" #: display.c:695 display.c:1189 msgid "CTRL-a or scroll to beginning" msgstr "CTRL-a ou rola para o começo" #: display.c:696 display.c:1190 msgid "CTRL-e or scroll to end" msgstr "CTRL-e ou rola para o final" #: display.c:697 display.c:1192 msgid "CTRL-c or abort" msgstr "CTRL-c ou aborta" #: display.c:698 display.c:1193 msgid " abort" msgstr " aborta" #: display.c:699 msgid "Type w or x to quit help." msgstr "Digite w ou x para sair da ajuda." #: display.c:1191 graphics.c:1994 msgid "CTRL-l or F5 redraw screen" msgstr "CTRL-l ou F5 desenha novamente a tela" #: display.c:1194 graphics.c:1979 graphics.c:1996 graphics.c:2019 #: graphics.c:2036 msgid "Press any key." msgstr "Pressione qualquer tecla." #: display.c:1256 graphics.c:2289 msgid "Error opening terminal, falling back to stdout interface.\n" msgstr "Erro ao abrir o terminal, voltando para interface de stdout.\n" #: display.c:1277 msgid "screen height must be larger than 3 lines.\n" msgstr "a altura da tela deve ser maior que 3 linhas.\n" #: display.c:1318 graphics.c:2314 msgid "error creating scroll window.\n" msgstr "erro ao criar janela de rolagem.\n" #: display.c:1334 graphics.c:2330 msgid "error creating input window.\n" msgstr "erro ao criar janela de entrada.\n" #: graphics.c:290 #, c-format msgid "Wcd: error: path too long" msgstr "Wcd: erro: caminho grande demais" #: graphics.c:1940 msgid "/ = search forward, ? = search backward, : = help" msgstr "/ = pesquisa para frente, ? = pesquisa para trás, : = help" #: graphics.c:1945 msgid "SEARCH: " msgstr "PESQUISA: " #: graphics.c:1948 msgid "Search: " msgstr "Pesquisa: " #: graphics.c:1964 msgid "NAVIGATION MODE (1/2):" msgstr "MODO DE NAVEGAÇÃO (1/2):" #: graphics.c:1965 msgid "h or go left" msgstr "h ou vai para a esquerda" #: graphics.c:1966 msgid "j or go down" msgstr "j ou vai para baixo" #: graphics.c:1967 msgid "k or go up" msgstr "k ou vai para cima" #: graphics.c:1968 msgid "l or go right" msgstr "l ou vai para a direita" #: graphics.c:1969 msgid "* or v or go forward to dir with same name" msgstr "* ou v ou avança para o diretório com mesmo nome" #: graphics.c:1970 msgid "# or p or go backward to dir with same name" msgstr "# ou p ou volta para dir com o mesmo nome" #: graphics.c:1971 msgid "^ or a go to beginning of line" msgstr "^ ou a vai para o começo da linha" #: graphics.c:1972 msgid "$ or e go to end of line" msgstr "$ ou e vai para o fim da linha" #: graphics.c:1973 msgid "1 go to root dir" msgstr "1 vai para o diretório raiz" #: graphics.c:1974 msgid "g or G go to last dir" msgstr "g ou G vai para o último diretório" #: graphics.c:1975 msgid "f go page forward" msgstr "f avança uma página" #: graphics.c:1976 msgid "b go page backward" msgstr "b volta uma página" #: graphics.c:1977 msgid "u go half page up" msgstr "u sobe metade da página" #: graphics.c:1978 msgid "d go half page down" msgstr "d desce metade da página" #: graphics.c:1985 msgid "NAVIGATION MODE (2/2):" msgstr "MODO DE NAVEGAÇÃO (2/2):" #: graphics.c:1986 msgid "A switch alternative tree navigation on/off" msgstr "A ativa/desativa navegação alternativa de árvore" #: graphics.c:1987 msgid "t switch centered mode on/off" msgstr "t ativa/desativa modo centralizado" #: graphics.c:1988 msgid "T toggle between line drawing and ASCII characters" msgstr "T alterna entre desenho de linha e caracteres ASCII" #: graphics.c:1989 msgid "m toggle between compact and wide tree" msgstr "m alterna entre árvore compacta e ampla" #: graphics.c:1990 msgid " or q abort" msgstr " ou q aborta" #: graphics.c:1991 msgid "/ search forward" msgstr "/ pesquisa para frente" #: graphics.c:1992 msgid "? search backward" msgstr "? pesquisa para trás" #: graphics.c:1993 msgid "n repeat last / or ? search" msgstr "n repete último / ou ? de pesquisa" #: graphics.c:1995 graphics.c:2018 msgid " select directory" msgstr " seleciona diretório" #: graphics.c:2002 msgid "SEARCH MODE with wildcard and subdir support:" msgstr "MODO DE PESQUISA com suporte a subdir e caracteres curingas:" #: graphics.c:2003 msgid " go left" msgstr " vai para a esquerda" #: graphics.c:2004 msgid " go down" msgstr " vai para baixo" #: graphics.c:2005 msgid " go up" msgstr " vai para cima" #: graphics.c:2006 msgid " go right" msgstr " vai para a direita" #: graphics.c:2007 msgid "CTRL-v go forward to dir with same name" msgstr "CTRL-v avança para dir com o mesmo nome" #: graphics.c:2008 msgid "CTRL-p go backward to dir with same name" msgstr "CTRL-p volta para dir com mesmo nome" #: graphics.c:2009 msgid "CTRL-a go to beginning of line" msgstr "CTRL-a vai para o começo da linha" #: graphics.c:2010 msgid "CTRL-e go to end of line" msgstr "CTRL-e vai para o fim da linha" #: graphics.c:2011 msgid "CTRL-g go to last dir" msgstr "CTRL-g vai para o último diretório" #: graphics.c:2012 msgid "CTRL-f go page forward" msgstr "CTRL-f avança uma página" #: graphics.c:2013 msgid "CTRL-b go page backward" msgstr "CTRL-b volta uma página" #: graphics.c:2014 msgid "CTRL-u go half page up" msgstr "CTRL-u sobe metade da página" #: graphics.c:2015 msgid "CTRL-d go half page down" msgstr "CTRL-d desce metade da página" #: graphics.c:2016 msgid " or CTRL-x abort SEARCH MODE" msgstr " ou CTRL-x aborta o MODO DE PESQUISA" #: graphics.c:2017 msgid "CTRL-n repeat last / or ? search" msgstr "CTRL-n repete a último / ou ? de pesquisa" #: graphics.c:2025 msgid "ZOOMING:" msgstr "AMPLIAÇÃO:" #: graphics.c:2026 msgid "z or i or CTRL-i zoom in" msgstr "z ou i ou CTRL-i amplia" #: graphics.c:2027 msgid "Z or o or CTRL-o zoom out" msgstr "Z ou o ou CTRL-o reduz a ampliação" #: graphics.c:2028 msgid "c condense: fold current level" msgstr "c condensa: dobra o nível atual" #: graphics.c:2029 msgid "C condense: fold subdir level" msgstr "C condensa: dobra o nível de subdir" #: graphics.c:2030 msgid "w condense: fold current and subdir levels" msgstr "w condensa: dobra os níveis atual e de subdir" #: graphics.c:2031 msgid "y or CTRL-y uncondense: unfold current and subdir levels" msgstr "y ou CTRL-y descondensa: desdobra os níveis atual e de subdir" #: graphics.c:2032 msgid "r or CTRL-r uncondense: unfold all directories" msgstr "r ou CTRL-r descondensa: desdobra todos diretórios" #: graphics.c:2033 msgid "- fold directory" msgstr "- dobra diretório" #: graphics.c:2034 msgid "+ or = unfold directory" msgstr "+ ou = desdobra diretório" #: graphics.c:2035 msgid "l or unfold and go right" msgstr "l ou desdobra e vai para direita" #: graphics.c:2039 msgid "Screenheight must be > 21 for help." msgstr "A altura da tela deve ser > 21 para a ajuda." #: graphics.c:2271 graphics.c:2757 #, c-format msgid "Cannot find the current path %s in the directory tree.\n" msgstr "Não foi possível localizar o caminho atual %s na árvore de diretório.\n" #: finddirs.c:241 finddirs.c:249 finddirs.c:273 finddirs.c:300 finddirs.c:314 #, c-format msgid "Unable to remove file %s: %s\n" msgstr "Não foi possível remover o arquivo %s: %s\n" #: finddirs.c:322 finddirs.c:486 #, c-format msgid "Unable to close directory %s: %s\n" msgstr "Não foi possível fechar o diretório %s: %s\n" #: finddirs.c:365 #, c-format msgid "finddirs(): can't determine path in directory %s\n" msgstr "finddirs(): não é possível determinar o caminho no diretório %s\n" #: finddirs.c:366 msgid "path probably too long.\n" msgstr "caminho provavelmente muito longo.\n" #: c3po/Error.c:41 #, c-format msgid "in '%s', insufficient memory for allocation\n" msgstr "em \"%s\", memória insuficiente para alocação\n" wcd-6.0.3/src/po/sr.po0000644000175500010010000012172413524756540013757 0ustar waterlanGeen# Serbian translations for wcd. # Copyright © 2008-2017 Erwin Waterlander (msgids). # This file is distributed under the same license as the wcd package. # Мирослав Николић , 2016—2017. msgid "" msgstr "" "Project-Id-Version: wcd-6.0.0-beta4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-08-18 11:44+0200\n" "PO-Revision-Date: 2017-05-07 18:41+0200\n" "Last-Translator: Мирослав Николић \n" "Language-Team: Serbian <(nothing)>\n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\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" "X-Bugs: Report translation errors to the Language-Team address.\n" #: wcd.c:170 #, c-format msgid "Wcd: error: " msgstr "Вцд: грешка: " #: wcd.c:183 wcd.c:237 wcd.c:257 #, c-format msgid "Unable to read file %s: %s\n" msgstr "Не могу да прочитам датотеку „%s“: %s\n" #: wcd.c:246 #, c-format msgid "Unable to read file %s: Not a regular file.\n" msgstr "Не могу да прочитам датотеку „%s“: Није обична датотека.\n" #: wcd.c:259 wcd.c:346 #, c-format msgid "Unable to write file %s: %s\n" msgstr "Не могу да запишем датотеку „%s“: %s\n" #: wcd.c:348 #, c-format msgid "Unable to close file %s: %s\n" msgstr "Не могу да затворим датотеку „%s“: %s\n" #: wcd.c:409 wcd.c:414 wfixpath.c:65 #, c-format msgid "Memory allocation error in %s: %s\n" msgstr "Грешка доделе меморије у „%s“: %s\n" #: wcd.c:716 wcd.c:730 #, c-format msgid "%s added to file %s\n" msgstr "„%s“ је додато датотеци „%s“\n" #: wcd.c:765 wcd.c:1097 #, c-format msgid "%s is not a directory.\n" msgstr "„%s“ није директоријуму.\n" #: wcd.c:770 #, c-format msgid "Please wait. Scanning disk. Building treedata-file %s from %s\n" msgstr "Сачекајте. Прегледам диск. Градим датотеку стабла података „%s“ из „%s“\n" #: wcd.c:832 wcd.c:2223 wcd.c:2246 wcd.c:2326 #, c-format msgid "Writing file \"%s\"\n" msgstr "Записујем датотеку „%s“\n" #: wcd.c:837 msgid "Write access to tree-file denied.\n" msgstr "Приступ писања у датотеку стабла је забрањен.\n" #: wcd.c:838 msgid "Set TEMP environment variable if this is a read-only disk.\n" msgstr "Подесите променљиву окружења ПРИВРЕМЕНО ако је ово диск само за читање.\n" #: wcd.c:967 #, c-format msgid "Removed symbolic link %s\n" msgstr "Уклонио сам симболичку везу „%s“\n" #: wcd.c:971 #, c-format msgid "Unable to remove symbolic link %s: %s\n" msgstr "Не могу да уклоним симболичку везу „%s“: %s\n" #: wcd.c:975 #, c-format msgid "%s is a symbolic link to a file.\n" msgstr "„%s“ је симболичка веза до датотеке.\n" #: wcd.c:1058 #, c-format msgid "Recursively remove %s? Are you sure? y/n :" msgstr "Да уклоним „%s“ дубински? Да ли сте сигурни? y/n (д/н) :" #: wcd.c:1080 wcd.c:1090 #, c-format msgid "Removed directory %s\n" msgstr "Уклонио сам директоријум „%s“\n" #: wcd.c:1122 wcd.c:1191 wcd.c:1259 #, c-format msgid "line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n" msgstr "ред је предуг у „%s“ ( > %d). Можда је оштећена датотека стабла, исправите ово повећавши „WCD_MAXPATH“ у изворном коду.\n" #: wcd.c:1123 wcd.c:1192 wcd.c:1260 #, c-format msgid "file: %s, line: %d," msgstr "датотека: %s, ред: %d," #: wcd.c:1130 wcd.c:1199 wcd.c:1267 #, c-format msgid " length: %d\n" msgstr " дужина: %d\n" #: wcd.c:1768 wcd.c:1837 msgid "Alias file in UTF-16 format is not supported.\n" msgstr "Датотека алијаса у УТФ-16 формату није подржана.\n" #: wcd.c:1937 #, c-format msgid "" "Usage: wcd [options] [directory]\n" "\n" msgstr "" "Употреба: wcd [опције] [директоријум]\n" "\n" #: wcd.c:1938 #, c-format msgid "directory: Name of directory to change to.\n" msgstr "директоријум: Назив директоријума у који ће се променити.\n" #: wcd.c:1939 #, c-format msgid "" " Wildcards *, ? and [SET] are supported.\n" "\n" msgstr "" " Џокери *, ? и [СКУП] су подржани.\n" "\n" #: wcd.c:1941 #, c-format msgid "options:\n" msgstr "опције:\n" #: wcd.c:1942 #, c-format msgid " -a Add current path to treefile\n" msgstr " -a Додаје текућу путању у датотеку стабла\n" #: wcd.c:1943 #, c-format msgid " -aa Add current and all parent paths to treefile\n" msgstr " -aa Додаје текућу и све родитељске путање у датотеку стабла\n" #: wcd.c:1944 #, c-format msgid " -A PATH Add tree from PATH\n" msgstr " -A ПУТАЊА Додаје стабло из ПУТАЊЕ\n" #: wcd.c:1945 #, c-format msgid " -b Ban current path\n" msgstr " -b Забрањује текућу путању\n" #: wcd.c:1946 #, c-format msgid " -c, --direct-cd direct CD mode\n" msgstr " -c, --direct-cd директан ЦД режим\n" #: wcd.c:1947 #, c-format msgid " -d DRIVE set DRIVE for stack & go files (DOS)\n" msgstr " -d УРЕЂАЈ поставља УРЕЂАЈ за датотеке спремника и отпреме (ДОС)\n" #: wcd.c:1948 #, c-format msgid " -e add current path to Extra treefile\n" msgstr " -e додаје текућу путању у додатну датотеку стабла\n" #: wcd.c:1949 #, c-format msgid " -ee add current and all parent paths to Extra treefile\n" msgstr " -ee додаје текућу и све родитељске путање у додатну датотеку стабла\n" #: wcd.c:1950 #, c-format msgid " -E PATH add tree from PATH to Extra treefile\n" msgstr " -E ПУТАЊА додаје стабло из ПУТАЊЕ у додатну датотеку стабла\n" #: wcd.c:1951 #, c-format msgid " -f FILE use extra treeFile\n" msgstr " -f ДАТОТЕКА користи додатну датотеку стабла\n" #: wcd.c:1952 #, c-format msgid " +f FILE add extra treeFile\n" msgstr " +f ДАТОТЕКА додаје додатну датотеку стабла\n" #: wcd.c:1953 #, c-format msgid " -g Graphics\n" msgstr " -g Графици\n" #: wcd.c:1954 #, c-format msgid " -gd Graphics, dump tree\n" msgstr " -gd Графици, исписује стабло\n" #: wcd.c:1955 #, c-format msgid " -G PATH set PATH Go-script\n" msgstr " -G ПУТАЊА поставља ПУТАЊУ на Иди-скрипту\n" #: wcd.c:1956 #, c-format msgid " -GN, --no-go-script No Go-script\n" msgstr " -GN, --no-go-script Без Иди-скрипте\n" #: wcd.c:1957 #, c-format msgid " -h, --help show this Help\n" msgstr " -h, --help приказује ову помоћ\n" #: wcd.c:1960 #, c-format msgid " -i, --ignore-case Ignore case (default)\n" msgstr " -i, --ignore-case Занемарује величину слова (основно)\n" #: wcd.c:1961 #, c-format msgid " +i, --no-ignore-case regard case\n" msgstr " +i, --no-ignore-case разматра величину слова\n" #: wcd.c:1963 #, c-format msgid " -i, --ignore-case Ignore case\n" msgstr " -i, --ignore-case Занемарује величину слова\n" #: wcd.c:1964 #, c-format msgid " +i, --no-ignore-case regard case (default)\n" msgstr " +i, --no-ignore-case разматра величину слова (основно)\n" #: wcd.c:1967 #, c-format msgid " -I, --ignore-diacritics Ignore diacritics\n" msgstr " -I, --ignore-diacritics Занемарује дијакритике\n" #: wcd.c:1968 #, c-format msgid " +I, --no-ignore-diacritics regard diacritics (default)\n" msgstr " +I, --no-ignore-diacritics разматра дијакритике (основно)\n" #: wcd.c:1969 #, c-format msgid " -j, --just-go Just go mode\n" msgstr " -j, --just-go Само режим иди\n" #: wcd.c:1970 #, c-format msgid " -k, --keep-paths Keep paths\n" msgstr " -k, --keep-paths Чува путање\n" #: wcd.c:1971 #, c-format msgid " -K, --color colors\n" msgstr " -K, --color боје\n" #: wcd.c:1972 #, c-format msgid " -l ALIAS aLias current directory\n" msgstr " -l АЛИЈАС алијализује текући директоријум\n" #: wcd.c:1973 #, c-format msgid " -ls List the aliases\n" msgstr " -ls Исписуе алијасе\n" #: wcd.c:1974 #, c-format msgid " -L, --license show software License\n" msgstr " -L, --license приказује дозволу програма\n" #: wcd.c:1975 #, c-format msgid " -m DIR Make DIR, add to treefile\n" msgstr " -m ДИР Прави ДИР, додаје у датотеку стабла\n" #: wcd.c:1976 #, c-format msgid " -M DIR Make DIR, add to extra treefile\n" msgstr " -M ДИР Прави ДИР, додаје у додатну датотеку стабла\n" #: wcd.c:1977 #, c-format msgid " -n PATH use relative treefile in PATH\n" msgstr " -n ПУТАЊА користи релативну датотеку стабла у ПУТАЊИ\n" #: wcd.c:1978 #, c-format msgid " +n PATH add relative treefile in PATH\n" msgstr " +n ПУТАЊА додаје релативну датотеку стабла у ПУТАЊУ\n" #: wcd.c:1979 #, c-format msgid " -N, --numbers use Numbers\n" msgstr " -N, --numbers користи бројеве\n" #: wcd.c:1980 #, c-format msgid " -o use stdOut\n" msgstr " -o користи стандардни излаз\n" #: wcd.c:1981 #, c-format msgid " -od, --to-stdout dump matches\n" msgstr " -od, --to-stdout исписује поклапања\n" #: wcd.c:1982 #, c-format msgid " -q, --quiet Quieter operation\n" msgstr " -q, --quiet Радње без исписивања\n" #: wcd.c:1983 #, c-format msgid " -r DIR Remove DIR\n" msgstr " -r ДИР Уклања ДИР\n" #: wcd.c:1984 #, c-format msgid " -rmtree DIR Remove DIR recursive\n" msgstr " -rmtree ДИР Уклања дубински ДИР\n" #: wcd.c:1985 #, c-format msgid " -s Scan disk from $HOME\n" msgstr " -s Прегледа диск из $ЛИЧНЕ_ФАСЦИКЛЕ\n" #: wcd.c:1986 #, c-format msgid " -S PATH Scan disk from PATH\n" msgstr " -S ПУТАЊА Прегледа диск из ПУТАЊЕ\n" #: wcd.c:1987 #, c-format msgid " +S PATH Scan disk from PATH, create relative treefile\n" msgstr " +S ПУТАЊА Прегледа диск из ПУТАЊЕ, прави релативну датотеку стабла\n" #: wcd.c:1988 #, c-format msgid " -t don't strip /tmp_mnt from paths\n" msgstr " -t не откида „/tmp_mnt“ из путања\n" #: wcd.c:1989 #, c-format msgid " -T, --ascii-tree draw tree with ASCII characters\n" msgstr " -T, --ascii-tree исцртава стабло АСКРИ знацима\n" #: wcd.c:1990 #, c-format msgid " -Ta, --alt-tree-nav Alternative tree navigation\n" msgstr " -Ta, --alt-tree-nav Алтернативна навигација стабла\n" #: wcd.c:1991 #, c-format msgid " -TC, --center-tree Centered tree view\n" msgstr " -TC, --center-tree Усредиштени преглед стабла\n" #: wcd.c:1992 #, c-format msgid " -Tc, --compact-tree Compact tree\n" msgstr " -Tc, --compact-tree Збијено стабло\n" #: wcd.c:1993 #, c-format msgid " -Td, --cjk-width support legacy CJK fonts\n" msgstr " -Td, --cjk-width подржава старе КЈК словне ликове\n" #: wcd.c:1994 #, c-format msgid " -u USER use USER's treefile\n" msgstr " -u КОРИСНИК користи КОРИСНИКОВУ датотеку стабла\n" #: wcd.c:1995 #, c-format msgid " +u USER add USER's treefile\n" msgstr " +u КОРИСНИК додаје КОРИСНИКОВУ датотеку стабла\n" #: wcd.c:1996 #, c-format msgid " -v, --verbose Verbose operation\n" msgstr " -v, --verbose Радње са исписивањем\n" #: wcd.c:1997 #, c-format msgid " -V, --version show Version info\n" msgstr " -V, --version приказује податке о верзији\n" #: wcd.c:1998 #, c-format msgid " -w, --wild-match-only Wild matching only\n" msgstr " -w, --wild-match-only Само дивље поклапање\n" #: wcd.c:1999 #, c-format msgid " -x PATH eXclude PATH during disk scan\n" msgstr " -x ПУТАЊА искључује ПУТАЊУ за време прегледања диска\n" #: wcd.c:2000 #, c-format msgid " -xf FILE eXclude paths from FILE\n" msgstr " -xf ДАТОТЕКА искључује путање из ДАТОТЕКЕ\n" #: wcd.c:2001 #, c-format msgid " -y, --assume-yes assume Yes on all queries\n" msgstr " -y, --assume-yes подразумева „Да“ на свим упитима\n" #: wcd.c:2002 #, c-format msgid " -z NUMBER set max stack siZe\n" msgstr " -z БРОЈ поставља највећу величину спремника\n" #: wcd.c:2003 #, c-format msgid " -[NUMBER] push dir (NUMBER times)\n" msgstr " -[БРОЈ] гура директоријум (БРОЈ пута)\n" #: wcd.c:2004 #, c-format msgid " +[NUMBER] pop dir (NUMBER times)\n" msgstr " +[БРОЈ] потискује директоријум (БРОЈ пута)\n" #: wcd.c:2005 #, c-format msgid " = show stack\n" msgstr " = приказује спремник\n" #: wcd.c:2014 wcd.c:2143 #, c-format msgid "wcd %s (%s) - Wherever Change Directory\n" msgstr "wcd %s (%s) — Промените директоријум било где\n" #: wcd.c:2015 #, c-format msgid "" "Chdir for Dos and Unix.\n" "\n" msgstr "" "Промена директоријума за Дос и Јуникс.\n" "\n" #: wcd.c:2019 #, c-format msgid "DOS 16 bit version (WATCOMC).\n" msgstr "Верзија за ДОС 16 бита (WATCOMC).\n" #: wcd.c:2021 #, c-format msgid "DOS 16 bit version (TURBOC).\n" msgstr "Верзија за ДОС 16 бита (TURBOC).\n" #: wcd.c:2023 #, c-format msgid "DOS 32 bit version (DJGPP).\n" msgstr "Верзија за ДОС 32 бита (DJGPP).\n" #: wcd.c:2025 #, c-format msgid "DOS 32 bit version (WATCOMC).\n" msgstr "Верзија за ДОС 32 бита (WATCOMC).\n" #: wcd.c:2032 #, c-format msgid "Win64 version (MSVC %d).\n" msgstr "Верзија за Вин64 (MSVC %d).\n" #: wcd.c:2034 #, c-format msgid "Win64 version (MinGW-w64).\n" msgstr "Верзија за Вин64 (MinGW-w64).\n" #: wcd.c:2038 #, c-format msgid "Win32 version (WATCOMC).\n" msgstr "Верзија за Вин32 (WATCOMC).\n" #: wcd.c:2040 #, c-format msgid "Win32 version (MSVC %d).\n" msgstr "Верзија за Вин32 (MSVC %d).\n" #: wcd.c:2042 #, c-format msgid "Win32 version (MinGW-w64).\n" msgstr "Верзија за Вин32 (MinGW-w64).\n" #: wcd.c:2044 #, c-format msgid "Win32 version (MinGW).\n" msgstr "Верзија за Вин32 (MinGW).\n" #: wcd.c:2051 #, c-format msgid "This version is for MSYS and WinZsh.\n" msgstr "Ова верзија је за „MSYS“ и „WinZsh“.\n" #: wcd.c:2053 #, c-format msgid "This version is for Windows PowerShell.\n" msgstr "Ова верзија је за Моћну конзолу Виндоуза.\n" #: wcd.c:2055 #, c-format msgid "This version is for Windows Command Prompt (cmd.exe).\n" msgstr "Ова верзија је за Командни упит Виндоуза (cmd.exe).\n" #: wcd.c:2060 #, c-format msgid "OS/2 version" msgstr "Верзија за ОС/2" #: wcd.c:2071 #, c-format msgid "This version is for native MSYS.\n" msgstr "Ова верзија је за изворни МСИС.\n" #: wcd.c:2074 #, c-format msgid "Cygwin version.\n" msgstr "Верзија за Цигвин.\n" #: wcd.c:2077 #, c-format msgid "This version is for DJGPP DOS bash.\n" msgstr "Ова верзија је за ДЈГПП ДОС шкољку.\n" #: wcd.c:2080 #, c-format msgid "This version is for OS/2 bash.\n" msgstr "Ова верзија је за ОС/2 шкољку.\n" #: wcd.c:2083 #, c-format msgid "Interface: " msgstr "Сучеље: " #: wcd.c:2089 #, c-format msgid "ncurses version %s.%d\n" msgstr "Верзија за нкјурзис %s.%d\n" #: wcd.c:2092 #, c-format msgid "PDCurses build %d\n" msgstr "ПДКјурзис изградња %d\n" #: wcd.c:2094 #, c-format msgid "curses\n" msgstr "кјурзис\n" #: wcd.c:2103 #, c-format msgid "stdout\n" msgstr "стндизлз\n" #: wcd.c:2107 #, c-format msgid "Native language support included.\n" msgstr "Подршка матерњег језика је укључена.\n" #: wcd.c:2108 #, c-format msgid "LOCALEDIR=%s\n" msgstr "ДИРЈЕЗИКА=%s\n" #: wcd.c:2110 #, c-format msgid "No native language support included.\n" msgstr "Подршка матерњег језика није укључена.\n" #: wcd.c:2113 #, c-format msgid "Current locale uses CP%u encoding.\n" msgstr "Текући језик користи „CP%u“ кодирање.\n" #: wcd.c:2115 #, c-format msgid "Current locale uses %s encoding.\n" msgstr "Текући језик користи „%s“ кодирање.\n" #: wcd.c:2118 #, c-format msgid "With Unicode support.\n" msgstr "Са подршком Јуникода.\n" #: wcd.c:2123 #, c-format msgid " Euro symbol: " msgstr " Симбол евра: " #: wcd.c:2125 #, c-format msgid " Chinese characters: " msgstr " Кинески знаци: " #: wcd.c:2129 #, c-format msgid "Without Unicode support.\n" msgstr "Без подршке Јуникода.\n" #: wcd.c:2132 #, c-format msgid "With Unicode normalization.\n" msgstr "Са нормализацијом Јуникода.\n" #: wcd.c:2134 #, c-format msgid "Without Unicode normalization.\n" msgstr "Без нормализације Јуникода.\n" #: wcd.c:2137 #, c-format msgid "Download the latest executables and sources from:\n" msgstr "Преузмите најновије извршне и датотеке извора са:\n" #: wcd.c:2144 #, c-format msgid "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp on C3PO\n" "Copyright (C) 1995-1996 DJ Delorie on _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews on DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel and Igor Mandrichenko on recmatch()\n" msgstr "" "Ауторска права © 1996-%d Ервин Вотерландер\n" "Ауторска права © 1994-2002 Ондреј Поп на „C3PO“\n" "Ауторска права © 1995-1996 Диџеј Делори за „_fixpath()“\n" "Ауторска права © 1995-1996 Борха Етксебарја & Оливер Сирол за „Ninux Czo Directory“\n" "Ауторска права © 1994-1996 Џејсон Метју за „DOSDIR“\n" "Ауторска права © 1990-1992 Марк Адлер, Ричард Б. Велс, Жан-луп Гели,\n" "Каи Уве Ромел и Игор Мандриченко за „recmatch()“\n" #: wcd.c:2152 #, c-format msgid "" "Source code to scan Windows LAN was originally written and placed\n" "in the public domain by Felix Kasza.\n" "Markus Kuhn's free wcwidth() and wcswidth() implementations are used.\n" "Rugxulo is the original author of query_con_codepage() (public domain).\n" "\n" msgstr "" "Изворни код за прегледање Виндоуз ЛАН-а је првобитно написао и ставио\n" "у јавни домен, Феликс Каса.\n" "Коришћене су слободне имплементације „wcwidth()“ и „wcswidth()“ Маркуса Куна.\n" "Ругксуло је првобитни аутор функције „query_con_codepage()“ (јавни домен).\n" "\n" #: wcd.c:2158 #, c-format msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" "\n" msgstr "" "Овај програм је слободан софтвер; можете га расподељивати\n" "и/или мењати под условима Гнуове опште јавне лиценце коју\n" "је објавила Задужбина слободног софтвера; издања 2 лиценце\n" "или (по вашем избору) било којег новијег издања.\n" "\n" #: wcd.c:2164 #, c-format msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Овај програм се расподељује у нади да ће бити користан,\n" "али БЕЗ ИКАКВЕ ГАРАНЦИЈЕ; чак и без примењене гаранције\n" "ТРЖИШНЕ ВРЕДНОСТИ или ПРИЛАГОЂЕНОСТИ ОДРЕЂЕНОЈ НАМЕНИ.\n" "Погледајте Гнуову Општу јавну лиценцу за више детаља.\n" "\n" #: wcd.c:2170 #, c-format msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" msgstr "" "Требали сте да примите примерак Гнуове Опште јавне лиценце\n" "уз овај програм. Ако нисте, пишите Задужбини слободног\n" "софтвера на адресу: „Free Software Foundation, Inc., 51\n" "Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.“.\n" #: wcd.c:2203 #, c-format msgid "creating directory %s\n" msgstr "правим директоријум „%s“\n" #: wcd.c:2535 wcd.c:2575 wcd.c:2590 wcd.c:2658 wcd.c:2727 wcd.c:3229 wcd.c:3248 #, c-format msgid "Value of environment variable %s is too long.\n" msgstr "Вредност променљиве окружења „%s“ је превелика.\n" #: wcd.c:2564 #, c-format msgid "Failed to unset environment variable TERM: %s\n" msgstr "Нисам успео да поништим променљиву окружења „TERM“: %s\n" #: wcd.c:2622 wcd.c:2651 msgid "Environment variable HOME or WCDHOME is not set.\n" msgstr "Променљива окружења „HOME“ или „WCDHOME“ није подешена.\n" #: wcd.c:2834 #, c-format msgid "aliasfile: %s\n" msgstr "датотека алијаса: %s\n" #: wcd.c:2848 msgid "HOME is not defined\n" msgstr "„HOME“ није одређено\n" #: wcd.c:2852 msgid "WCDHOME is not defined\n" msgstr "„WCDHOME“ није одређено\n" #: wcd.c:2856 msgid "WCDSCAN is not defined\n" msgstr "„WCDSCAN“ није одређено\n" #: wcd.c:2881 msgid "Graphics mode only supported in wcd with curses-based interface.\n" msgstr "Графички режим је подржан само у вцд-у са сучељем заснованом на кјурзису.\n" #: wcd.c:3162 #, c-format msgid "%s added to aliasfile %s\n" msgstr "„%s“ је додато датотеци алијаса „%s“\n" #: wcd.c:3261 #, c-format msgid "Unable to read file %s or %s\n" msgstr "Не могу да прочитам датотеку „%s“ или „%s“\n" #: wcd.c:3411 #, c-format msgid "WCDSCAN directory {%s}\n" msgstr "„WCDSCAN“ директоријум {%s}\n" #: wcd.c:3413 #, c-format msgid "banning {%s}\n" msgstr "забрањујем {%s}\n" #: wcd.c:3415 #, c-format msgid "excluding {%s}\n" msgstr "искључујем {%s}\n" #: wcd.c:3417 #, c-format msgid "filtering {%s}\n" msgstr "издвајам {%s}\n" #: wcd.c:3677 #, c-format msgid "No directory found matching %s\n" msgstr "Нисам нашао директоријум који одговара „%s“\n" #: wcd.c:3678 msgid "Perhaps you need to rescan the disk or path is banned.\n" msgstr "Можда би требало поново да прегледате диск или забрањену путању.\n" #: wcd.c:3807 #, c-format msgid "Cannot change to %s\n" msgstr "Не могу да се пребацим у „%s“\n" #: wcddir.c:109 #, c-format msgid "%lu (\"%s\") reported by \"%s\".\n" msgstr "О %lu (%s) је известио „%s“.\n" #: wcddir.c:131 msgid "access denied.\n" msgstr "приступ је забрањен.\n" #: wcddir.c:206 #, c-format msgid "Searching for shared directories on server %s\n" msgstr "Тражим дељене директоријуме на серверу „%s“\n" #: wcddir.c:218 #, c-format msgid "Found %lu shared directories on server %s\n" msgstr "Нађох %lu дељена директоријума на серверу „%s“\n" #: wcddir.c:335 msgid "Unable to get current working directory: " msgstr "Не могу да добавим текући радни директоријум: " #: wcddir.c:362 #, c-format msgid "Unable to change to directory %s: " msgstr "Не могу да пређем у директоријум „%s“: " #: wcddir.c:392 #, c-format msgid "Unable to create directory %s: " msgstr "Не могу да направим директоријум „%s“: " #: wcddir.c:420 #, c-format msgid "Unable to remove directory %s: " msgstr "Не могу да уклоним директоријум „%s“: " #: wcddir.c:543 wcddir.c:554 #, c-format msgid "Unable to create directory %s: %s\n" msgstr "Не могу да направим директоријум „%s“: %s\n" #: wcddir.c:660 #, c-format msgid "Unable to get current working directory: %s\n" msgstr "Не могу да добавим текући радни директоријум: %s\n" #: wcddir.c:674 #, c-format msgid "Unable to change to directory %s: %s\n" msgstr "Не могу да пређем у директоријум „%s“: %s\n" #: wcddir.c:683 #, c-format msgid "Unable to remove directory %s: %s\n" msgstr "Не могу да уклоним директоријум „%s“: %s\n" #: stack.c:101 msgid "Error parsing stack\n" msgstr "Грешка обраде спремника\n" #: display.c:263 msgid "internal error in maxLength(), list == NULL\n" msgstr "унутрашња грешка у функцији „највећаДужина()“, „list“ == НИШТА\n" #: display.c:284 msgid "internal error in maxLengthStack(), s == NULL\n" msgstr "унутрашња грешка у функцији „СпремникНајвећеДужина()“, „s“ == НИШТА\n" #: display.c:524 display.c:1150 display.c:1538 #, c-format msgid "Perfect match for %d directories." msgstr "Савршено подударање за %d директоријума." #: display.c:526 display.c:1152 display.c:1540 #, c-format msgid "Wild match for %d directories." msgstr "Несавршено подударање за %d директоријума." #: display.c:530 display.c:1164 display.c:1542 display.c:1585 #, c-format msgid "Please choose one ( to abort): " msgstr "Изаберите један (<Унеси> да откажете): " #: display.c:532 display.c:608 display.c:640 display.c:1157 #, c-format msgid " w=up x=down ?=help Page %d/%d " msgstr " w=горе x=доле ?=помоћ Страница %d/%d " #: display.c:684 display.c:1180 msgid "Screenheight must be > 20 for help." msgstr "Висина екрана мора бити > 20 за помоћ." #: display.c:689 display.c:1183 msgid "w or page up" msgstr "„w“ или <Горе> страница на горе" #: display.c:690 display.c:1184 msgid "x or z or page down" msgstr "„x“ или „z“ или <Доле> страница на доле" #: display.c:691 display.c:1185 msgid ", or scroll 1 left" msgstr ", или <Лево> премиче 1 на лево" #: display.c:692 display.c:1186 msgid ". or scroll 1 right" msgstr ". или <Десно> премиче 1 на десно" #: display.c:693 display.c:1187 msgid "< or [ scroll 10 left" msgstr "< или [ премиче 10 на лево" #: display.c:694 display.c:1188 msgid "> or ] scroll 10 right" msgstr "> или ] премиче 10 на десно" #: display.c:695 display.c:1189 msgid "CTRL-a or scroll to beginning" msgstr "Ктрл-a или <ПОЧЕТАК> премиче на почетак" #: display.c:696 display.c:1190 msgid "CTRL-e or scroll to end" msgstr "Ктрл-e или <КРАЈ> премиче на крај" #: display.c:697 display.c:1192 msgid "CTRL-c or abort" msgstr "Ктрл-c или <Есц> прекида" #: display.c:698 display.c:1193 msgid " abort" msgstr "<Унеси> прекида" #: display.c:699 msgid "Type w or x to quit help." msgstr "Укуцајте „w“ или „x“ да изађете из помоћи." #: display.c:1191 graphics.c:1994 msgid "CTRL-l or F5 redraw screen" msgstr "Ктрл-л или Ф5 поново исцртава екран" #: display.c:1194 graphics.c:1979 graphics.c:1996 graphics.c:2019 #: graphics.c:2036 msgid "Press any key." msgstr "Притисните неки тастер." #: display.c:1256 graphics.c:2289 msgid "Error opening terminal, falling back to stdout interface.\n" msgstr "Грешка отварања терминала, пребацујем се на сучеље стандардног излаза.\n" #: display.c:1277 msgid "screen height must be larger than 3 lines.\n" msgstr "висина екрана мора бити већа од 3 реда.\n" #: display.c:1318 graphics.c:2314 msgid "error creating scroll window.\n" msgstr "грешка прављења прозора премицања.\n" #: display.c:1334 graphics.c:2330 msgid "error creating input window.\n" msgstr "грешка прављења прозора уноса.\n" #: graphics.c:290 #, c-format msgid "Wcd: error: path too long" msgstr "Вцд: грешка: путања је предуга" #: graphics.c:1940 msgid "/ = search forward, ? = search backward, : = help" msgstr "/ = тражи унапред, ? = тражи уназад, : = помоћ" #: graphics.c:1945 msgid "SEARCH: " msgstr "ТРАЖИ: " #: graphics.c:1948 msgid "Search: " msgstr "Тражи: " #: graphics.c:1964 msgid "NAVIGATION MODE (1/2):" msgstr "РЕЖИМ НАВИГАЦИЈЕ (1/2):" #: graphics.c:1965 msgid "h or go left" msgstr "„h“ или <Лево> иде лево" #: graphics.c:1966 msgid "j or go down" msgstr "„j“ или <Доле> иде доле" #: graphics.c:1967 msgid "k or go up" msgstr "„k“ или <Горе> иде горе" #: graphics.c:1968 msgid "l or go right" msgstr "„l“ или <Десно> иде десно" #: graphics.c:1969 msgid "* or v or go forward to dir with same name" msgstr "* или „v“ или <Размак> иде напред до директоријума са истим називом" #: graphics.c:1970 msgid "# or p or go backward to dir with same name" msgstr "# или „p“ или <БС> иде назад до директоријума саистим називом" #: graphics.c:1971 msgid "^ or a go to beginning of line" msgstr "^ или „a“ иде на почетак реда" #: graphics.c:1972 msgid "$ or e go to end of line" msgstr "$ или „e“ иде на крај реда" #: graphics.c:1973 msgid "1 go to root dir" msgstr "1 иде до кореног директоријума" #: graphics.c:1974 msgid "g or G go to last dir" msgstr "„g“ или „G“ иде до последњег директоријума" #: graphics.c:1975 msgid "f go page forward" msgstr "„f“ иде страницу напред" #: graphics.c:1976 msgid "b go page backward" msgstr "„b“ иде страницу назад" #: graphics.c:1977 msgid "u go half page up" msgstr "„u“ иде пола странице горе" #: graphics.c:1978 msgid "d go half page down" msgstr "„d“ иде пола странице доле" #: graphics.c:1985 msgid "NAVIGATION MODE (2/2):" msgstr "РЕЖИМ НАВИГАЦИЈЕ (2/2):" #: graphics.c:1986 msgid "A switch alternative tree navigation on/off" msgstr "„A“ укључује/искључује алтернативну навигацију стаблом" #: graphics.c:1987 msgid "t switch centered mode on/off" msgstr "„t“ укључује режим усредиштења" #: graphics.c:1988 msgid "T toggle between line drawing and ASCII characters" msgstr "„T“ пребацује се између исцртавања реда и АСКРИ знакова" #: graphics.c:1989 msgid "m toggle between compact and wide tree" msgstr "„m“ пребацује се између скупљеног и раширеног стабла" #: graphics.c:1990 msgid " or q abort" msgstr "<Есц> или „q“ прекида" #: graphics.c:1991 msgid "/ search forward" msgstr "/ тражи унапред" #: graphics.c:1992 msgid "? search backward" msgstr "? тражи уназад" #: graphics.c:1993 msgid "n repeat last / or ? search" msgstr "„n“ понавља последњу / или ? претрагу" #: graphics.c:1995 graphics.c:2018 msgid " select directory" msgstr "<Унеси> бира директоријум" #: graphics.c:2002 msgid "SEARCH MODE with wildcard and subdir support:" msgstr "РЕЖИМ ПРЕТРАГЕ са подршком џокера и поддиректоријума:" #: graphics.c:2003 msgid " go left" msgstr "<Лево> иде лево" #: graphics.c:2004 msgid " go down" msgstr "<Доле> иде доле" #: graphics.c:2005 msgid " go up" msgstr "<Горе> иде горе" #: graphics.c:2006 msgid " go right" msgstr "<Десно> иде десно" #: graphics.c:2007 msgid "CTRL-v go forward to dir with same name" msgstr "Ктрл-v иде напред до директоријума са истим називом" #: graphics.c:2008 msgid "CTRL-p go backward to dir with same name" msgstr "Ктрл-p иде назад до директоријума саистим називом" #: graphics.c:2009 msgid "CTRL-a go to beginning of line" msgstr "Ктрл-a иде на почетак реда" #: graphics.c:2010 msgid "CTRL-e go to end of line" msgstr "Ктрл-e иде на крај реда" #: graphics.c:2011 msgid "CTRL-g go to last dir" msgstr "Ктрл-g иде до последњег директоријума" #: graphics.c:2012 msgid "CTRL-f go page forward" msgstr "Ктрл-f иде страницу напред" #: graphics.c:2013 msgid "CTRL-b go page backward" msgstr "Ктрл-b иде страницу назад" #: graphics.c:2014 msgid "CTRL-u go half page up" msgstr "Ктрл-u иде пола странице горе" #: graphics.c:2015 msgid "CTRL-d go half page down" msgstr "Ктрл-d иде пола странице доле" #: graphics.c:2016 msgid " or CTRL-x abort SEARCH MODE" msgstr "<Есц> или Ктрл-x прекида РЕЖИМ ПРЕТРАГЕ" #: graphics.c:2017 msgid "CTRL-n repeat last / or ? search" msgstr "Ктрл-n понавља последњу / или ? претрагу" #: graphics.c:2025 msgid "ZOOMING:" msgstr "ЗУМИРАЊЕ:" #: graphics.c:2026 msgid "z or i or CTRL-i zoom in" msgstr "„z“ или „i“ или „Ктрл-i“ приближава" #: graphics.c:2027 msgid "Z or o or CTRL-o zoom out" msgstr "„Z“ или „o“ или „Ктрл-o“ удаљава" #: graphics.c:2028 msgid "c condense: fold current level" msgstr "„c“ сабија: завија текући ниво" #: graphics.c:2029 msgid "C condense: fold subdir level" msgstr "„C“ сабија: завија ниво поддиректоријума" #: graphics.c:2030 msgid "w condense: fold current and subdir levels" msgstr "„w“ сабија: завија текући и нивое поддиректоријума" #: graphics.c:2031 msgid "y or CTRL-y uncondense: unfold current and subdir levels" msgstr "„y“ или „Ктрл-y“ шири: развија текући и нивое поддиректоријума" #: graphics.c:2032 msgid "r or CTRL-r uncondense: unfold all directories" msgstr "„r“ или „Ктрл-r“ шири: развија све директоријуме" #: graphics.c:2033 msgid "- fold directory" msgstr "- завија директоријум" #: graphics.c:2034 msgid "+ or = unfold directory" msgstr "+ или = развија директоријум" #: graphics.c:2035 msgid "l or unfold and go right" msgstr "„l“ или <Десно> развија и иде десно" #: graphics.c:2039 msgid "Screenheight must be > 21 for help." msgstr "Висина екрана мора бити > 21 за помоћ." #: graphics.c:2271 graphics.c:2757 #, c-format msgid "Cannot find the current path %s in the directory tree.\n" msgstr "Не могу да нађем текућу путању „%s“ у стаблу директоријума.\n" #: finddirs.c:241 finddirs.c:249 finddirs.c:273 finddirs.c:300 finddirs.c:314 #, c-format msgid "Unable to remove file %s: %s\n" msgstr "Не могу да уклоним датотеку „%s“: %s\n" #: finddirs.c:322 finddirs.c:486 #, c-format msgid "Unable to close directory %s: %s\n" msgstr "Не могу да затворим директоријум „%s“: %s\n" #: finddirs.c:365 #, c-format msgid "finddirs(): can't determine path in directory %s\n" msgstr "„finddirs()“: не могу да одредим путању у директоријуму „%s“\n" #: finddirs.c:366 msgid "path probably too long.\n" msgstr "пуутања је вероватно предуга.\n" #: c3po/Error.c:41 #, c-format msgid "in '%s', insufficient memory for allocation\n" msgstr "у „%s“, недовољно меморије за додељивање\n" wcd-6.0.3/src/po/uk.po0000644000175500010010000012305013524756537013752 0ustar waterlanGeen# Ukrainian translation of wcd # Copyright 2014 Erwin Waterlander (msgids). # This file is distributed under the same license as the wcd package. # # Yuri Chornoivan , 2014, 2016, 2017. msgid "" msgstr "" "Project-Id-Version: wcd-6.0.0-beta4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-08-18 11:44+0200\n" "PO-Revision-Date: 2017-02-10 11:45+0200\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\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" "X-Generator: Lokalize 1.5\n" #: wcd.c:170 #, c-format msgid "Wcd: error: " msgstr "Wcd: помилка: " #: wcd.c:183 wcd.c:237 wcd.c:257 #, c-format msgid "Unable to read file %s: %s\n" msgstr "Не вдалося прочитати файл %s: %s\n" #: wcd.c:246 #, c-format msgid "Unable to read file %s: Not a regular file.\n" msgstr "Не вдалося прочитати файл %s: це не звичайний файл.\n" #: wcd.c:259 wcd.c:346 #, c-format msgid "Unable to write file %s: %s\n" msgstr "Не вдалося виконати запис до файла %s: %s\n" #: wcd.c:348 #, c-format msgid "Unable to close file %s: %s\n" msgstr "Не вдалося закрити файл %s: %s\n" #: wcd.c:409 wcd.c:414 wfixpath.c:65 #, c-format msgid "Memory allocation error in %s: %s\n" msgstr "помилка розподілу пам’яті у %s: %s\n" #: wcd.c:716 wcd.c:730 #, c-format msgid "%s added to file %s\n" msgstr "%s додано до файла %s\n" #: wcd.c:765 wcd.c:1097 #, c-format msgid "%s is not a directory.\n" msgstr "%s не є каталогом.\n" #: wcd.c:770 #, c-format msgid "Please wait. Scanning disk. Building treedata-file %s from %s\n" msgstr "Будь ласка, зачекайте. Скануємо диск. Збираємо файл treedata %s з %s\n" #: wcd.c:832 wcd.c:2223 wcd.c:2246 wcd.c:2326 #, c-format msgid "Writing file \"%s\"\n" msgstr "Записуємо файл «%s»\n" #: wcd.c:837 msgid "Write access to tree-file denied.\n" msgstr "Доступ до запису файла ієрархії заборонено.\n" #: wcd.c:838 msgid "Set TEMP environment variable if this is a read-only disk.\n" msgstr "Встановити змінну середовища TEMP, якщо цей диск є придатним лише для читання.\n" #: wcd.c:967 #, c-format msgid "Removed symbolic link %s\n" msgstr "Вилучено символічне посилання %s\n" #: wcd.c:971 #, c-format msgid "Unable to remove symbolic link %s: %s\n" msgstr "Не вдалося вилучити символічне посилання %s: %s\n" #: wcd.c:975 #, c-format msgid "%s is a symbolic link to a file.\n" msgstr "%s є символічним посиланням на файл.\n" #: wcd.c:1058 #, c-format msgid "Recursively remove %s? Are you sure? y/n :" msgstr "Рекурсивно вилучити %s? Ви впевнені? y (так)/n (ні):" #: wcd.c:1080 wcd.c:1090 #, c-format msgid "Removed directory %s\n" msgstr "Вилучено каталог %s\n" #: wcd.c:1122 wcd.c:1191 wcd.c:1259 #, c-format msgid "line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n" msgstr "надто довгий рядок у %s ( > %d). Можливо, файл ієрархії пошкоджено. Якщо це не так, виправити ситуацію можна збільшивши значення WCD_MAXPATH у початковому коді.\n" #: wcd.c:1123 wcd.c:1192 wcd.c:1260 #, c-format msgid "file: %s, line: %d," msgstr "файл: %s, рядок: %d," #: wcd.c:1130 wcd.c:1199 wcd.c:1267 #, c-format msgid " length: %d\n" msgstr " довжина: %d\n" #: wcd.c:1768 wcd.c:1837 msgid "Alias file in UTF-16 format is not supported.\n" msgstr "Підтримки файлів псевдонімів у форматі UTF-16 не передбачено.\n" #: wcd.c:1937 #, c-format msgid "" "Usage: wcd [options] [directory]\n" "\n" msgstr "" "Користування: wcd [параметри] [каталого]\n" "\n" #: wcd.c:1938 #, c-format msgid "directory: Name of directory to change to.\n" msgstr "каталог: назва каталогу, до якого слід внести зміни.\n" #: wcd.c:1939 #, c-format msgid "" " Wildcards *, ? and [SET] are supported.\n" "\n" msgstr "" " Передбачено підтримку символів-замінників: *, ? та [НАБІР].\n" "\n" #: wcd.c:1941 #, c-format msgid "options:\n" msgstr "параметри:\n" #: wcd.c:1942 #, c-format msgid " -a Add current path to treefile\n" msgstr " -a додати поточний файл до файла ієрархії\n" #: wcd.c:1943 #, c-format msgid " -aa Add current and all parent paths to treefile\n" msgstr " -aa додати поточний і усі батьківські шляхи до файла ієрархії\n" #: wcd.c:1944 #, c-format msgid " -A PATH Add tree from PATH\n" msgstr " -A ШЛЯХ додати ієрархію зі шляху ШЛЯХ\n" #: wcd.c:1945 #, c-format msgid " -b Ban current path\n" msgstr " -b заблокувати поточний шлях\n" #: wcd.c:1946 #, c-format msgid " -c, --direct-cd direct CD mode\n" msgstr " -c, --direct-cd безпосередній режим CD\n" #: wcd.c:1947 #, c-format msgid " -d DRIVE set DRIVE for stack & go files (DOS)\n" msgstr " -d ДИСК встановити ДИСК для файлів стосу і переходу (DOS)\n" #: wcd.c:1948 #, c-format msgid " -e add current path to Extra treefile\n" msgstr " -e додати поточний шлях до додаткового файла ієрархії\n" #: wcd.c:1949 #, c-format msgid " -ee add current and all parent paths to Extra treefile\n" msgstr " -ee додати поточний і усі батьківські шляхи до додаткового файла ієрархії\n" #: wcd.c:1950 #, c-format msgid " -E PATH add tree from PATH to Extra treefile\n" msgstr " -E ШЛЯХ додати ієрархію зі шляху ШЛЯХ до додаткового файла ієрархії\n" #: wcd.c:1951 #, c-format msgid " -f FILE use extra treeFile\n" msgstr " -f ФАЙЛ використовувати додатковий файл ієрархії\n" #: wcd.c:1952 #, c-format msgid " +f FILE add extra treeFile\n" msgstr " +f ФАЙЛ додати додатковий файл ієрархії\n" #: wcd.c:1953 #, c-format msgid " -g Graphics\n" msgstr " -g графіка\n" #: wcd.c:1954 #, c-format msgid " -gd Graphics, dump tree\n" msgstr " -gd графіка, створити дамп ієрархії\n" #: wcd.c:1955 #, c-format msgid " -G PATH set PATH Go-script\n" msgstr " -G ШЛЯХ встановити шлях для скрипту переходу\n" #: wcd.c:1956 #, c-format msgid " -GN, --no-go-script No Go-script\n" msgstr " -GN, --no-go-script без скрипту переходу\n" #: wcd.c:1957 #, c-format msgid " -h, --help show this Help\n" msgstr " -h, --help показати цю довідкову інформацію\n" #: wcd.c:1960 #, c-format msgid " -i, --ignore-case Ignore case (default)\n" msgstr " -i, --ignore-case не брати до уваги регістр символів (типово)\n" #: wcd.c:1961 #, c-format msgid " +i, --no-ignore-case regard case\n" msgstr " +i, --no-ignore-case брати до уваги регістр символів\n" #: wcd.c:1963 #, c-format msgid " -i, --ignore-case Ignore case\n" msgstr " -i, --ignore-case не брати до уваги регістр символів\n" #: wcd.c:1964 #, c-format msgid " +i, --no-ignore-case regard case (default)\n" msgstr " +i, --no-ignore-case брати до уваги регістр символів (типово)\n" #: wcd.c:1967 #, c-format msgid " -I, --ignore-diacritics Ignore diacritics\n" msgstr " -I, --ignore-diacritics не брати до уваги діакритичні позначки\n" #: wcd.c:1968 #, c-format msgid " +I, --no-ignore-diacritics regard diacritics (default)\n" msgstr " +I, --no-ignore-diacritics брати до уваги діакритичні позначки (типово)\n" #: wcd.c:1969 #, c-format msgid " -j, --just-go Just go mode\n" msgstr " -j, --just-go режим простого переходу\n" #: wcd.c:1970 #, c-format msgid " -k, --keep-paths Keep paths\n" msgstr " -k, --keep-paths зберігати шляхи\n" #: wcd.c:1971 #, c-format msgid " -K, --color colors\n" msgstr " -K, --color використовувати розфарбовування\n" #: wcd.c:1972 #, c-format msgid " -l ALIAS aLias current directory\n" msgstr " -l ПСЕВДОНІМ створити псевдонім для поточного каталогу\n" #: wcd.c:1973 #, c-format msgid " -ls List the aliases\n" msgstr " -ls вивести список псевдонімів\n" #: wcd.c:1974 #, c-format msgid " -L, --license show software License\n" msgstr " -L, --license показати ліцензійну угоду щодо програмного забезпечення\n" #: wcd.c:1975 #, c-format msgid " -m DIR Make DIR, add to treefile\n" msgstr " -m КАТАЛОГ створити каталог, додати його до файла ієрархії\n" #: wcd.c:1976 #, c-format msgid " -M DIR Make DIR, add to extra treefile\n" msgstr " -M КАТАЛОГ створити каталог, додати його до додаткового файла ієрархії\n" #: wcd.c:1977 #, c-format msgid " -n PATH use relative treefile in PATH\n" msgstr " -n ШЛЯХ використовувати відносний файл ієрархії у каталозі ШЛЯХ\n" #: wcd.c:1978 #, c-format msgid " +n PATH add relative treefile in PATH\n" msgstr " +n ШЛЯХ додати відносний файл ієрархії у каталозі ШЛЯХ\n" #: wcd.c:1979 #, c-format msgid " -N, --numbers use Numbers\n" msgstr " -N, --numbers використовувати числа\n" #: wcd.c:1980 #, c-format msgid " -o use stdOut\n" msgstr " -o використовувати stdOut\n" #: wcd.c:1981 #, c-format msgid " -od, --to-stdout dump matches\n" msgstr " -od, --to-stdout показати дамп відповідників\n" #: wcd.c:1982 #, c-format msgid " -q, --quiet Quieter operation\n" msgstr " -q, --quiet обробка без виведення додаткових повідомлень\n" #: wcd.c:1983 #, c-format msgid " -r DIR Remove DIR\n" msgstr " -r КАТАЛОГ вилучити КАТАЛОГ\n" #: wcd.c:1984 #, c-format msgid " -rmtree DIR Remove DIR recursive\n" msgstr " -rmtree КАТАЛОГ вилучити КАТАЛОГ рекурсивно\n" #: wcd.c:1985 #, c-format msgid " -s Scan disk from $HOME\n" msgstr " -s сканувати диск починаючи від $HOME\n" #: wcd.c:1986 #, c-format msgid " -S PATH Scan disk from PATH\n" msgstr " -S ШЛЯХ сканувати диск починаючи від каталогу ШЛЯХ\n" #: wcd.c:1987 #, c-format msgid " +S PATH Scan disk from PATH, create relative treefile\n" msgstr " +S ШЛЯХ сканувати диск починаючи від каталогу ШЛЯХ, створити відносний файл ієрархії\n" #: wcd.c:1988 #, c-format msgid " -t don't strip /tmp_mnt from paths\n" msgstr " -t не вилучати рядок /tmp_mnt зі шляхів\n" #: wcd.c:1989 #, c-format msgid " -T, --ascii-tree draw tree with ASCII characters\n" msgstr " -T, --ascii-tree малювати ієрархію за допомогою символів ASCII\n" #: wcd.c:1990 #, c-format msgid " -Ta, --alt-tree-nav Alternative tree navigation\n" msgstr " -Ta, --alt-tree-nav альтернативна навігація ієрархією\n" #: wcd.c:1991 #, c-format msgid " -TC, --center-tree Centered tree view\n" msgstr " -TC, --center-tree центрований перегляд ієрархії\n" #: wcd.c:1992 #, c-format msgid " -Tc, --compact-tree Compact tree\n" msgstr " -Tc, --compact-tree ущільнена ієрархія\n" #: wcd.c:1993 #, c-format msgid " -Td, --cjk-width support legacy CJK fonts\n" msgstr " -Td, --cjk-width використати підтримку застарілих ієрогліфічних шрифтів\n" #: wcd.c:1994 #, c-format msgid " -u USER use USER's treefile\n" msgstr " -u КОРИСТУВАЧ використати файл ієрархії вказаного користувача\n" #: wcd.c:1995 #, c-format msgid " +u USER add USER's treefile\n" msgstr " +u КОРИСТУВАЧ додати файл ієрархії вказаного користувача\n" #: wcd.c:1996 #, c-format msgid " -v, --verbose Verbose operation\n" msgstr " -v, --verbose режим докладних повідомлень\n" #: wcd.c:1997 #, c-format msgid " -V, --version show Version info\n" msgstr " -V, --version вивести дані щодо версії\n" #: wcd.c:1998 #, c-format msgid " -w, --wild-match-only Wild matching only\n" msgstr " -w, --wild-match-only лише неточна відповідність\n" #: wcd.c:1999 #, c-format msgid " -x PATH eXclude PATH during disk scan\n" msgstr " -x ШЛЯХ виключити вказаний шлях під час сканування диска\n" #: wcd.c:2000 #, c-format msgid " -xf FILE eXclude paths from FILE\n" msgstr " -xf ФАЙЛ виключити шляхи, вказані у файлі ФАЙЛ\n" #: wcd.c:2001 #, c-format msgid " -y, --assume-yes assume Yes on all queries\n" msgstr " -y, --assume-yes відповісти «так» на усі питання\n" #: wcd.c:2002 #, c-format msgid " -z NUMBER set max stack siZe\n" msgstr " -z ЧИСЛО встановити максимальний розмір стека\n" #: wcd.c:2003 #, c-format msgid " -[NUMBER] push dir (NUMBER times)\n" msgstr " -[ЧИСЛО] вставити каталог (вказану кількість разів)\n" #: wcd.c:2004 #, c-format msgid " +[NUMBER] pop dir (NUMBER times)\n" msgstr " +[ЧИСЛО] вийняти каталог (вказану кількість разів)\n" #: wcd.c:2005 #, c-format msgid " = show stack\n" msgstr " = вивести стек\n" #: wcd.c:2014 wcd.c:2143 #, c-format msgid "wcd %s (%s) - Wherever Change Directory\n" msgstr "wcd %s (%s) - довільна зміна каталогу (Wherever Change Directory)\n" #: wcd.c:2015 #, c-format msgid "" "Chdir for Dos and Unix.\n" "\n" msgstr "" "Chdir для Dos та Unix.\n" "\n" #: wcd.c:2019 #, c-format msgid "DOS 16 bit version (WATCOMC).\n" msgstr "16-бітова версія для DOS (WATCOMC).\n" #: wcd.c:2021 #, c-format msgid "DOS 16 bit version (TURBOC).\n" msgstr "16-бітова версія для DOS (TURBOC).\n" #: wcd.c:2023 #, c-format msgid "DOS 32 bit version (DJGPP).\n" msgstr "32-бітова версія для DOS (DJGPP).\n" #: wcd.c:2025 #, c-format msgid "DOS 32 bit version (WATCOMC).\n" msgstr "32-бітова версія для DOS (WATCOMC).\n" #: wcd.c:2032 #, c-format msgid "Win64 version (MSVC %d).\n" msgstr "Версія для Win64 (MSVC %d).\n" #: wcd.c:2034 #, c-format msgid "Win64 version (MinGW-w64).\n" msgstr "Версія для Win64 (MinGW-w64).\n" #: wcd.c:2038 #, c-format msgid "Win32 version (WATCOMC).\n" msgstr "Версія для Win32 (WATCOMC).\n" #: wcd.c:2040 #, c-format msgid "Win32 version (MSVC %d).\n" msgstr "Версія для Win32 (MSVC %d).\n" #: wcd.c:2042 #, c-format msgid "Win32 version (MinGW-w64).\n" msgstr "Версія для Win32 (MinGW-w64).\n" #: wcd.c:2044 #, c-format msgid "Win32 version (MinGW).\n" msgstr "Версія для Win32 (MinGW).\n" #: wcd.c:2051 #, c-format msgid "This version is for MSYS and WinZsh.\n" msgstr "Цю версію призначено для MSYS та WinZsh.\n" #: wcd.c:2053 #, c-format msgid "This version is for Windows PowerShell.\n" msgstr "Цю версію призначено для Windows PowerShell.\n" #: wcd.c:2055 #, c-format msgid "This version is for Windows Command Prompt (cmd.exe).\n" msgstr "Цю версію призначено для командної оболонки Windows (cmd.exe).\n" #: wcd.c:2060 #, c-format msgid "OS/2 version" msgstr "Версія для OS/2" #: wcd.c:2071 #, c-format msgid "This version is for native MSYS.\n" msgstr "Цю версію призначено для використання у MSYS.\n" #: wcd.c:2074 #, c-format msgid "Cygwin version.\n" msgstr "Версія для Cygwin.\n" #: wcd.c:2077 #, c-format msgid "This version is for DJGPP DOS bash.\n" msgstr "Цю версію призначено для bash у DJGPP DOS.\n" #: wcd.c:2080 #, c-format msgid "This version is for OS/2 bash.\n" msgstr "Цю версію призначено для bash у OS/2.\n" #: wcd.c:2083 #, c-format msgid "Interface: " msgstr "Інтерфейс:" #: wcd.c:2089 #, c-format msgid "ncurses version %s.%d\n" msgstr "ncurses, версія %s.%d\n" #: wcd.c:2092 #, c-format msgid "PDCurses build %d\n" msgstr "збірка PDCurses, %d\n" #: wcd.c:2094 #, c-format msgid "curses\n" msgstr "curses\n" #: wcd.c:2103 #, c-format msgid "stdout\n" msgstr "stdout\n" #: wcd.c:2107 #, c-format msgid "Native language support included.\n" msgstr "Передбачено підтримку перекладів різними мовами.\n" #: wcd.c:2108 #, c-format msgid "LOCALEDIR=%s\n" msgstr "LOCALEDIR=%s\n" #: wcd.c:2110 #, c-format msgid "No native language support included.\n" msgstr "Підтримку перекладів не включено.\n" #: wcd.c:2113 #, c-format msgid "Current locale uses CP%u encoding.\n" msgstr "У поточній локалі використовується кодування CP%u.\n" #: wcd.c:2115 #, c-format msgid "Current locale uses %s encoding.\n" msgstr "У поточній локалі використовується кодування %s.\n" #: wcd.c:2118 #, c-format msgid "With Unicode support.\n" msgstr "З підтримкою Unicode.\n" #: wcd.c:2123 #, c-format msgid " Euro symbol: " msgstr " Символ євро: " #: wcd.c:2125 #, c-format msgid " Chinese characters: " msgstr " Китайські ієрогліфи: " #: wcd.c:2129 #, c-format msgid "Without Unicode support.\n" msgstr "Без підтримки Unicode.\n" #: wcd.c:2132 #, c-format msgid "With Unicode normalization.\n" msgstr "З нормалізацією Unicode.\n" #: wcd.c:2134 #, c-format msgid "Without Unicode normalization.\n" msgstr "Без нормалізації Unicode.\n" #: wcd.c:2137 #, c-format msgid "Download the latest executables and sources from:\n" msgstr "Найсвіжіші версії виконуваних файлів та початкового коду можна знайти тут:\n" #: wcd.c:2144 #, c-format msgid "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp on C3PO\n" "Copyright (C) 1995-1996 DJ Delorie on _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews on DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel and Igor Mandrichenko on recmatch()\n" msgstr "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp на C3PO\n" "Copyright (C) 1995-1996 DJ Delorie на _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria та Olivier Sirol на Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews на DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel та Igor Mandrichenko на recmatch()\n" #: wcd.c:2152 #, c-format msgid "" "Source code to scan Windows LAN was originally written and placed\n" "in the public domain by Felix Kasza.\n" "Markus Kuhn's free wcwidth() and wcswidth() implementations are used.\n" "Rugxulo is the original author of query_con_codepage() (public domain).\n" "\n" msgstr "" "Програмний код для сканування локальної мережі у Windows було написано і\n" "викладено для відкритого використання Felix Kasza.\n" "Використано вільні реалізації wcwidth() та wcswidth() від Markus Kuhn.\n" "Першим автором query_con_codepage() є Rugxulo (відкрите використання).\n" "\n" #: wcd.c:2158 #, c-format msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" "\n" msgstr "" "Ця програма є вільним програмним забезпеченням; ви можете поширювати та/або\n" "змінювати її за умов дотримання GNU General Public License у тому вигляді,\n" "що оприлюднений Free Software Foundation; версії цієї Ліцензії, або (якщо\n" "забажаєте) будь-якої іншої версії, випущеної пізніше.\n" "\n" #: wcd.c:2164 #, c-format msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Ця програма поширюється у сподіванні, що вона буде корисною, але БЕЗ БУДЬ-\n" "ЯКИХ ГАРАНТІЙНИХ ЗОБОВ’ЯЗАНЬ; навіть без очевидної гарантії ПРАЦЕЗДАТНОСТІ\n" "або ПРИДАТНОСТІ ДЛЯ ВИКОРИСТАННЯ З ПЕВНОЮ МЕТОЮ. Докладніше про це можна\n" "дізнатися з GNU General Public License.\n" "\n" #: wcd.c:2170 #, c-format msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" msgstr "" "Ви маєте отримати копію GNU General Public License разом з цією програмою;\n" "якщо це не так, повідомте про факт за адресою Free Software Foundation,\n" "Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n" #: wcd.c:2203 #, c-format msgid "creating directory %s\n" msgstr "створюємо каталог %s\n" #: wcd.c:2535 wcd.c:2575 wcd.c:2590 wcd.c:2658 wcd.c:2727 wcd.c:3229 wcd.c:3248 #, c-format msgid "Value of environment variable %s is too long.\n" msgstr "Значення змінної середовища %s є надто довгим.\n" #: wcd.c:2564 #, c-format msgid "Failed to unset environment variable TERM: %s\n" msgstr "Не вдалося скасувати визначення змінної середовища TERM: %s\n" #: wcd.c:2622 wcd.c:2651 msgid "Environment variable HOME or WCDHOME is not set.\n" msgstr "Змінну середовища HOME або WCDHOME не визначено.\n" #: wcd.c:2834 #, c-format msgid "aliasfile: %s\n" msgstr "файл псевдонімів: %s\n" #: wcd.c:2848 msgid "HOME is not defined\n" msgstr "HOME не визначено\n" #: wcd.c:2852 msgid "WCDHOME is not defined\n" msgstr "WCDHOME не визначено\n" #: wcd.c:2856 msgid "WCDSCAN is not defined\n" msgstr "WCDSCAN не визначено\n" #: wcd.c:2881 msgid "Graphics mode only supported in wcd with curses-based interface.\n" msgstr "Підтримку графічного режиму передбачено лише у wcd з інтерфейсом на основі curses.\n" #: wcd.c:3162 #, c-format msgid "%s added to aliasfile %s\n" msgstr "%s додано до файла псевдонімів %s\n" #: wcd.c:3261 #, c-format msgid "Unable to read file %s or %s\n" msgstr "Не вдалося прочитати файл %s або %s\n" #: wcd.c:3411 #, c-format msgid "WCDSCAN directory {%s}\n" msgstr "Каталог WCDSCAN {%s}\n" #: wcd.c:3413 #, c-format msgid "banning {%s}\n" msgstr "блокуємо {%s}\n" #: wcd.c:3415 #, c-format msgid "excluding {%s}\n" msgstr "виключаємо {%s}\n" #: wcd.c:3417 #, c-format msgid "filtering {%s}\n" msgstr "фільтруємо {%s}\n" #: wcd.c:3677 #, c-format msgid "No directory found matching %s\n" msgstr "Каталогу, відповідного до %s, не знайдено\n" #: wcd.c:3678 msgid "Perhaps you need to rescan the disk or path is banned.\n" msgstr "Ймовірно, вам слід виконати повторне сканування диска або відповідний шлях заблоковано.\n" #: wcd.c:3807 #, c-format msgid "Cannot change to %s\n" msgstr "Не вдалося перейти до %s\n" #: wcddir.c:109 #, c-format msgid "%lu (\"%s\") reported by \"%s\".\n" msgstr "%lu («%s») повідомлено «%s».\n" #: wcddir.c:131 msgid "access denied.\n" msgstr "доступ заборонено.\n" #: wcddir.c:206 #, c-format msgid "Searching for shared directories on server %s\n" msgstr "Шукаємо каталоги спільного використання на сервері %s\n" #: wcddir.c:218 #, c-format msgid "Found %lu shared directories on server %s\n" msgstr "На сервері %2$s виявлено %1$lu каталогів спільного використання\n" #: wcddir.c:335 msgid "Unable to get current working directory: " msgstr "Не вдалося визначити поточний робочий каталог: " #: wcddir.c:362 #, c-format msgid "Unable to change to directory %s: " msgstr "Не вдалося перейти до каталогу %s: " #: wcddir.c:392 #, c-format msgid "Unable to create directory %s: " msgstr "Не вдалося створити каталог %s:" #: wcddir.c:420 #, c-format msgid "Unable to remove directory %s: " msgstr "Не вдалося вилучити каталог %s: " #: wcddir.c:543 wcddir.c:554 #, c-format msgid "Unable to create directory %s: %s\n" msgstr "Не вдалося створити каталог %s: %s\n" #: wcddir.c:660 #, c-format msgid "Unable to get current working directory: %s\n" msgstr "Не вдалося отримати дані щодо поточного робочого каталогу: %s\n" #: wcddir.c:674 #, c-format msgid "Unable to change to directory %s: %s\n" msgstr "Не вдалося перейти до каталогу %s: %s\n" #: wcddir.c:683 #, c-format msgid "Unable to remove directory %s: %s\n" msgstr "Не вдалося вилучити каталог %s: %s\n" #: stack.c:101 msgid "Error parsing stack\n" msgstr "Помилка під час обробки стека\n" #: display.c:263 msgid "internal error in maxLength(), list == NULL\n" msgstr "внутрішня помилка у maxLength(), list == NULL\n" #: display.c:284 msgid "internal error in maxLengthStack(), s == NULL\n" msgstr "внутрішня помилка у maxLengthStack(), s == NULL\n" #: display.c:524 display.c:1150 display.c:1538 #, c-format msgid "Perfect match for %d directories." msgstr "Ідеальна відповідність %d каталогів." #: display.c:526 display.c:1152 display.c:1540 #, c-format msgid "Wild match for %d directories." msgstr "Неточна відповідність %d каталогів." #: display.c:530 display.c:1164 display.c:1542 display.c:1585 #, c-format msgid "Please choose one ( to abort): " msgstr "Будь ласка, виберіть одну з команд (натисніть , щоб перервати): " #: display.c:532 display.c:608 display.c:640 display.c:1157 #, c-format msgid " w=up x=down ?=help Page %d/%d " msgstr " w=вгору x=вниз ?=довідка Сторінка %d з %d " #: display.c:684 display.c:1180 msgid "Screenheight must be > 20 for help." msgstr "Для перегляду довідки висота екрана має перевищувати 20." #: display.c:689 display.c:1183 msgid "w or page up" msgstr "w або <Вгору> на сторінку вгору" #: display.c:690 display.c:1184 msgid "x or z or page down" msgstr "x, z або <Вниз> на сторінку вниз" #: display.c:691 display.c:1185 msgid ", or scroll 1 left" msgstr ", або <Ліворуч> гортати на один символ ліворуч" #: display.c:692 display.c:1186 msgid ". or scroll 1 right" msgstr ". або <Праворуч> гортати на один символ праворуч" #: display.c:693 display.c:1187 msgid "< or [ scroll 10 left" msgstr "< або [ гортати на 10 символів ліворуч" #: display.c:694 display.c:1188 msgid "> or ] scroll 10 right" msgstr "> або ] гортати на 10 символів праворуч" #: display.c:695 display.c:1189 msgid "CTRL-a or scroll to beginning" msgstr "CTRL-a або гортати на початок" #: display.c:696 display.c:1190 msgid "CTRL-e or scroll to end" msgstr "CTRL-e або гортати до кінця" #: display.c:697 display.c:1192 msgid "CTRL-c or abort" msgstr "CTRL-c або перервати" #: display.c:698 display.c:1193 msgid " abort" msgstr " перервати" #: display.c:699 msgid "Type w or x to quit help." msgstr "Натисніть клавішу w або x, щоб вийти з режиму довідки." #: display.c:1191 graphics.c:1994 msgid "CTRL-l or F5 redraw screen" msgstr "CTRL-l або F5 оновити вміст екрана" #: display.c:1194 graphics.c:1979 graphics.c:1996 graphics.c:2019 #: graphics.c:2036 msgid "Press any key." msgstr "Натисніть будь-яку клавішу." #: display.c:1256 graphics.c:2289 msgid "Error opening terminal, falling back to stdout interface.\n" msgstr "Помилка під час спроби відкрити термінал, повертаємося до інтерфейсу stdout.\n" #: display.c:1277 msgid "screen height must be larger than 3 lines.\n" msgstr "висота екрана має перевищувати 3 рядки.\n" #: display.c:1318 graphics.c:2314 msgid "error creating scroll window.\n" msgstr "помилка під час створення вікна гортання.\n" #: display.c:1334 graphics.c:2330 msgid "error creating input window.\n" msgstr "помилка під час створення вікна введення даних.\n" #: graphics.c:290 #, c-format msgid "Wcd: error: path too long" msgstr "Wcd: помилка: шлях є надто довгим" #: graphics.c:1940 msgid "/ = search forward, ? = search backward, : = help" msgstr "/ = шукати вперед, ? = шукати назад, : = довідка" #: graphics.c:1945 msgid "SEARCH: " msgstr "ШУКАТИ:" #: graphics.c:1948 msgid "Search: " msgstr "Шукати:" #: graphics.c:1964 msgid "NAVIGATION MODE (1/2):" msgstr "РЕЖИМ НАВІГАЦІЇ (1/2):" #: graphics.c:1965 msgid "h or go left" msgstr "h або <Ліворуч> перейти ліворуч" #: graphics.c:1966 msgid "j or go down" msgstr "j або <Вниз> перейти нижче" #: graphics.c:1967 msgid "k or go up" msgstr "k або <Вгору> перейти вище" #: graphics.c:1968 msgid "l or go right" msgstr "l або <Праворуч> перейти праворуч" #: graphics.c:1969 msgid "* or v or go forward to dir with same name" msgstr "*, v або <Пробіл> перейти вперед до каталогу з тією самою назвою" #: graphics.c:1970 msgid "# or p or go backward to dir with same name" msgstr "#, p або перейти назад до каталогу з тією самою назвою" #: graphics.c:1971 msgid "^ or a go to beginning of line" msgstr "^ або a перейти на початок рядка" #: graphics.c:1972 msgid "$ or e go to end of line" msgstr "$ або e перейти до кінця рядка" #: graphics.c:1973 msgid "1 go to root dir" msgstr "1 перейти до кореневого каталогу" #: graphics.c:1974 msgid "g or G go to last dir" msgstr "g або G перейти до останнього каталогу" #: graphics.c:1975 msgid "f go page forward" msgstr "f перейти на сторінку вперед" #: graphics.c:1976 msgid "b go page backward" msgstr "b перейти на сторінку назад" #: graphics.c:1977 msgid "u go half page up" msgstr "u перейти на пів сторінки вгору" #: graphics.c:1978 msgid "d go half page down" msgstr "d перейти на пів сторінки назад" #: graphics.c:1985 msgid "NAVIGATION MODE (2/2):" msgstr "РЕЖИМ НАВІГАЦІЇ (2/2):" #: graphics.c:1986 msgid "A switch alternative tree navigation on/off" msgstr "A увімкнути або вимкнути альтернативну навігацію ієрархією" #: graphics.c:1987 msgid "t switch centered mode on/off" msgstr "t увімкнути або вимкнути центрований режим" #: graphics.c:1988 msgid "T toggle between line drawing and ASCII characters" msgstr "T перемкнутися між режимом малювання ліній та режимом символів ASCII" #: graphics.c:1989 msgid "m toggle between compact and wide tree" msgstr "m перемкнутися між ущільненим виглядом та широким виглядом ієрархії" #: graphics.c:1990 msgid " or q abort" msgstr " або q перервати" #: graphics.c:1991 msgid "/ search forward" msgstr "/ шукати далі" #: graphics.c:1992 msgid "? search backward" msgstr "? пошук у напрямку назад" #: graphics.c:1993 msgid "n repeat last / or ? search" msgstr "n повторити останній пошук за допомогою / або ?" #: graphics.c:1995 graphics.c:2018 msgid " select directory" msgstr " вибрати каталог" #: graphics.c:2002 msgid "SEARCH MODE with wildcard and subdir support:" msgstr "РЕЖИМ ПОШУКУ з підтримкою символів-замінників та підкаталогів:" #: graphics.c:2003 msgid " go left" msgstr "<Ліворуч> перейти ліворуч" #: graphics.c:2004 msgid " go down" msgstr "<Вниз> перейти вниз" #: graphics.c:2005 msgid " go up" msgstr "<Вгору> перейти вище" #: graphics.c:2006 msgid " go right" msgstr "<Праворуч> перейти праворуч" #: graphics.c:2007 msgid "CTRL-v go forward to dir with same name" msgstr "CTRL-v перейти вперед до каталогу з тією самою назвою" #: graphics.c:2008 msgid "CTRL-p go backward to dir with same name" msgstr "CTRL-p перейти назад до каталогу з тією самою назвою" #: graphics.c:2009 msgid "CTRL-a go to beginning of line" msgstr "CTRL-a перейти на початок рядка" #: graphics.c:2010 msgid "CTRL-e go to end of line" msgstr "CTRL-e перейти до кінця рядка" #: graphics.c:2011 msgid "CTRL-g go to last dir" msgstr "CTRL-g перейти до останнього каталогу" #: graphics.c:2012 msgid "CTRL-f go page forward" msgstr "CTRL-f перейти на сторінку вперед" #: graphics.c:2013 msgid "CTRL-b go page backward" msgstr "CTRL-b перейти на сторінку назад" #: graphics.c:2014 msgid "CTRL-u go half page up" msgstr "CTRL-u перейти на пів сторінки вище" #: graphics.c:2015 msgid "CTRL-d go half page down" msgstr "CTRL-d перейти на пів сторінки нижче" #: graphics.c:2016 msgid " or CTRL-x abort SEARCH MODE" msgstr " або CTRL-x вийти з режиму пошуку" #: graphics.c:2017 msgid "CTRL-n repeat last / or ? search" msgstr "CTRL-n повторити останній пошук за допомогою / або ?" #: graphics.c:2025 msgid "ZOOMING:" msgstr "ЗМІНА МАСШТАБУ:" #: graphics.c:2026 msgid "z or i or CTRL-i zoom in" msgstr "z, i або CTRL-i збільшити" #: graphics.c:2027 msgid "Z or o or CTRL-o zoom out" msgstr "Z, o або CTRL-o зменшити" #: graphics.c:2028 msgid "c condense: fold current level" msgstr "c згорнути поточний рівень" #: graphics.c:2029 msgid "C condense: fold subdir level" msgstr "C згорнути рівень підкаталогів" #: graphics.c:2030 msgid "w condense: fold current and subdir levels" msgstr "w згорнути поточний рівень і рівень підкаталогів" #: graphics.c:2031 msgid "y or CTRL-y uncondense: unfold current and subdir levels" msgstr "y або CTRL-y розгорнути поточний рівень і рівень підкаталогів" #: graphics.c:2032 msgid "r or CTRL-r uncondense: unfold all directories" msgstr "r або CTRL-r розгорнути усі каталоги" #: graphics.c:2033 msgid "- fold directory" msgstr "- згорнути каталог" #: graphics.c:2034 msgid "+ or = unfold directory" msgstr "+ або = розгорнути каталог" #: graphics.c:2035 msgid "l or unfold and go right" msgstr "l або <Праворуч> розгорнути і перейти праворуч" #: graphics.c:2039 msgid "Screenheight must be > 21 for help." msgstr "Для перегляду довідки висота екрана має перевищувати 21." #: graphics.c:2271 graphics.c:2757 #, c-format msgid "Cannot find the current path %s in the directory tree.\n" msgstr "Не вдалося знайти поточний каталог, %s, у ієрархії каталогів.\n" #: finddirs.c:241 finddirs.c:249 finddirs.c:273 finddirs.c:300 finddirs.c:314 #, c-format msgid "Unable to remove file %s: %s\n" msgstr "Не вдалося вилучити файл %s: %s\n" #: finddirs.c:322 finddirs.c:486 #, c-format msgid "Unable to close directory %s: %s\n" msgstr "Не вдалося закрити каталог %s: %s\n" #: finddirs.c:365 #, c-format msgid "finddirs(): can't determine path in directory %s\n" msgstr "finddirs(): не вдалося визначити шлях у каталозі %s\n" #: finddirs.c:366 msgid "path probably too long.\n" msgstr "ймовірно, шлях є надто довгим.\n" #: c3po/Error.c:41 #, c-format msgid "in '%s', insufficient memory for allocation\n" msgstr "у «%s», недостатньо пам’яті для розподілу\n" #~ msgid "malloc error in wcd_fixpath()\n" #~ msgstr "помилка malloc у wcd_fixpath()\n" wcd-6.0.3/src/po/vi.po0000644000175500010010000010633513524756540013752 0ustar waterlanGeen# Vietnamese translations for wcd # Bản dịch tiếng Việt cho gói wcd. # This file is distributed under the same license as the wcd package. # Trần Ngọc Quân , 2014, 2016, 2017. # msgid "" msgstr "" "Project-Id-Version: wcd 6.0.0-beta4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-08-18 11:44+0200\n" "PO-Revision-Date: 2017-02-11 07:11+0700\n" "Last-Translator: Trần Ngọc Quân \n" "Language-Team: Vietnamese \n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Gtranslator 2.91.7\n" #: wcd.c:170 #, c-format msgid "Wcd: error: " msgstr "Wcd: lỗi: " #: wcd.c:183 wcd.c:237 wcd.c:257 #, c-format msgid "Unable to read file %s: %s\n" msgstr "Không thể đọc tập tin %s: %s\n" #: wcd.c:246 #, c-format msgid "Unable to read file %s: Not a regular file.\n" msgstr "Không thể đọc tập tin %s: Đây không phải là một tập tin thường.\n" #: wcd.c:259 wcd.c:346 #, c-format msgid "Unable to write file %s: %s\n" msgstr "Không thể ghi tập tin “%s”: %s\n" #: wcd.c:348 #, c-format msgid "Unable to close file %s: %s\n" msgstr "Không thể đóng tập tin “%s”: %s\n" #: wcd.c:409 wcd.c:414 wfixpath.c:65 #, c-format msgid "Memory allocation error in %s: %s\n" msgstr "Lỗi cấp phát bộ nhớ trong %s: %s\n" #: wcd.c:716 wcd.c:730 #, c-format msgid "%s added to file %s\n" msgstr "%s được thêm vào tập tin %s\n" #: wcd.c:765 wcd.c:1097 #, c-format msgid "%s is not a directory.\n" msgstr "%s: không phải là một thư mục.\n" #: wcd.c:770 #, c-format msgid "Please wait. Scanning disk. Building treedata-file %s from %s\n" msgstr "Vui lòng chờ. Đang quét đĩa. Xây dựng tập-tin-dữ-liệu-cây %s từ %s\n" #: wcd.c:832 wcd.c:2223 wcd.c:2246 wcd.c:2326 #, c-format msgid "Writing file \"%s\"\n" msgstr "Đang ghi tập tin \"%s\"\n" #: wcd.c:837 msgid "Write access to tree-file denied.\n" msgstr "Không đủ thẩm quyền ghi trên tập-tin-cây.\n" #: wcd.c:838 msgid "Set TEMP environment variable if this is a read-only disk.\n" msgstr "Đặt biến môi trường TEMP nếu đây là đĩa chỉ cho đọc.\n" #: wcd.c:967 #, c-format msgid "Removed symbolic link %s\n" msgstr "Đã gỡ bỏ liên kết mềm %s\n" #: wcd.c:971 #, c-format msgid "Unable to remove symbolic link %s: %s\n" msgstr "Không thể gỡ bỏ liên kết mềm %s: %s\n" #: wcd.c:975 #, c-format msgid "%s is a symbolic link to a file.\n" msgstr "%s là một liên kết mềm đến một tập tin.\n" #: wcd.c:1058 #, c-format msgid "Recursively remove %s? Are you sure? y/n :" msgstr "Gỡ bỏ đệ quy %s? Bạn chắc không? y/n c/k :" #: wcd.c:1080 wcd.c:1090 #, c-format msgid "Removed directory %s\n" msgstr "Đã gỡ bỏ thư mục %s\n" #: wcd.c:1122 wcd.c:1191 wcd.c:1259 #, c-format msgid "line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n" msgstr "dòng quá dài trong %s ( > %d). Tập-tin-cây có lẽ đã hỏng, hãy sửa chữa bằng cánh tăng WCD_MAXPATH trong mã nguồn.\n" #: wcd.c:1123 wcd.c:1192 wcd.c:1260 #, c-format msgid "file: %s, line: %d," msgstr "tập tin: %s, dòng: %d," #: wcd.c:1130 wcd.c:1199 wcd.c:1267 #, c-format msgid " length: %d\n" msgstr " kích cỡ: %d\n" #: wcd.c:1768 wcd.c:1837 msgid "Alias file in UTF-16 format is not supported.\n" msgstr "Không hỗ trợ tập tin bí danh ở định dạng UTF-16.\n" #: wcd.c:1937 #, c-format msgid "" "Usage: wcd [options] [directory]\n" "\n" msgstr "" "Cách dùng: wcd [các-tùy-chọn] [thư-mục]\n" "\n" #: wcd.c:1938 #, c-format msgid "directory: Name of directory to change to.\n" msgstr "thư-mục: Tên của thư-mục bạn muốn chuyển đến.\n" #: wcd.c:1939 #, c-format msgid "" " Wildcards *, ? and [SET] are supported.\n" "\n" msgstr "" " Hỗ trợ ký tự đại diện *, ? và [TẬPHỢP].\n" "\n" #: wcd.c:1941 #, c-format msgid "options:\n" msgstr "tùy chọn:\n" #: wcd.c:1942 #, c-format msgid " -a Add current path to treefile\n" msgstr " -a Thêm đường dẫn hiện tại vào tập tin cây\n" #: wcd.c:1943 #, c-format msgid " -aa Add current and all parent paths to treefile\n" msgstr " -aa Thêm thư mục hiện tại và đường dẫn chA mẹ vào tập-tin-cây\n" #: wcd.c:1944 #, c-format msgid " -A PATH Add tree from PATH\n" msgstr " -A ĐƯỜNG_DẪN Thêm cây từ ĐƯỜNG DẪN\n" #: wcd.c:1945 #, c-format msgid " -b Ban current path\n" msgstr " -b Cấm thư mục hiện tại\n" #: wcd.c:1946 #, c-format msgid " -c, --direct-cd direct CD mode\n" msgstr " -c, --direct-cd chế độ CD trực tiếp\n" #: wcd.c:1947 #, c-format msgid " -d DRIVE set DRIVE for stack & go files (DOS)\n" msgstr " -d ĐĨA đặt ĐĨA cho các tập tin stack & go (DOS)\n" #: wcd.c:1948 #, c-format msgid " -e add current path to Extra treefile\n" msgstr " -e thêm đường dẫn hiện tại vào tập-tin-cây mở rộng\n" #: wcd.c:1949 #, c-format msgid " -ee add current and all parent paths to Extra treefile\n" msgstr " -ee thêm đường dẫn cha mẹ và hiện tại vào tập-tin-cây mở rộng\n" #: wcd.c:1950 #, c-format msgid " -E PATH add tree from PATH to Extra treefile\n" msgstr " -E ĐƯỜNG_DẪN thêm cây từ ĐƯỜNG DẪN vào tập-tin-cây mở rộng\n" #: wcd.c:1951 #, c-format msgid " -f FILE use extra treeFile\n" msgstr " -f TẬP-TIN dùng tập-tin-cây\n" #: wcd.c:1952 #, c-format msgid " +f FILE add extra treeFile\n" msgstr " +f TẬP-TIN thêm tập-tin-cây\n" #: wcd.c:1953 #, c-format msgid " -g Graphics\n" msgstr " -g Đồ họa\n" #: wcd.c:1954 #, c-format msgid " -gd Graphics, dump tree\n" msgstr " -gd Đồ họa, đổ cây\n" #: wcd.c:1955 #, c-format msgid " -G PATH set PATH Go-script\n" msgstr " -G ĐƯỜNG_DẪN Đặt ĐƯỜNG DẪN Go-script\n" #: wcd.c:1956 #, c-format msgid " -GN, --no-go-script No Go-script\n" msgstr " -GN, --no-go-script Không Go-script\n" #: wcd.c:1957 #, c-format msgid " -h, --help show this Help\n" msgstr " -h, --help Hiển thị trợ giúp này\n" #: wcd.c:1960 #, c-format msgid " -i, --ignore-case Ignore case (default)\n" msgstr " -i, --ignore-case Không phân biệt HOA/thường (mặc định)\n" #: wcd.c:1961 #, c-format msgid " +i, --no-ignore-case regard case\n" msgstr " +i, --no-ignore-case Phân biệt HOA/thường\n" #: wcd.c:1963 #, c-format msgid " -i, --ignore-case Ignore case\n" msgstr " -i, --ignore-case Không phân biệt HOA/thường\n" #: wcd.c:1964 #, c-format msgid " +i, --no-ignore-case regard case (default)\n" msgstr " +i, --no-ignore-case Phân biệt HOA/thường (mặc định)\n" #: wcd.c:1967 #, c-format msgid " -I, --ignore-diacritics Ignore diacritics\n" msgstr " -I, --ignore-diacritics Bỏ qua dấu phụ\n" #: wcd.c:1968 #, c-format msgid " +I, --no-ignore-diacritics regard diacritics (default)\n" msgstr " +I, --no-ignore-diacritics Quan tâm đến dấu phụ (mặc định)\n" #: wcd.c:1969 #, c-format msgid " -j, --just-go Just go mode\n" msgstr " -j, --just-go Chế độ chỉ di chuyển\n" #: wcd.c:1970 #, c-format msgid " -k, --keep-paths Keep paths\n" msgstr " -k, --keep-paths Giữ lại các đường dẫn\n" #: wcd.c:1971 #, c-format msgid " -K, --color colors\n" msgstr " -K, --color màu\n" #: wcd.c:1972 #, c-format msgid " -l ALIAS aLias current directory\n" msgstr " -l BÍ_DANH bí danh thư mục hiện tại\n" #: wcd.c:1973 #, c-format msgid " -ls List the aliases\n" msgstr " -ls Liệt kê các bí danh\n" #: wcd.c:1974 #, c-format msgid " -L, --license show software License\n" msgstr " -L, --license hiển thị giấy phép phần mềm\n" #: wcd.c:1975 #, c-format msgid " -m DIR Make DIR, add to treefile\n" msgstr " -m THƯ-MỤC Tạo THƯ-MỤC và thêm nó vào tập-tin-cây\n" #: wcd.c:1976 #, c-format msgid " -M DIR Make DIR, add to extra treefile\n" msgstr " -M THƯ-MỤC Tạo THƯ-MỤC, thêm nó vào tập-tin-cây\n" #: wcd.c:1977 #, c-format msgid " -n PATH use relative treefile in PATH\n" msgstr " -n ĐƯỜNG_DẪN dùng tập-tin-cây tương đối trong ĐƯỜNG_DẪN\n" #: wcd.c:1978 #, c-format msgid " +n PATH add relative treefile in PATH\n" msgstr " +n ĐƯỜNG_DẪN thêm tập-tin-cây tương đối trong ĐƯỜNG_DẪN\n" #: wcd.c:1979 #, c-format msgid " -N, --numbers use Numbers\n" msgstr " -N, --numbers dùng số\n" #: wcd.c:1980 #, c-format msgid " -o use stdOut\n" msgstr " -o dùng đầu ra tiêu chuẩn\n" #: wcd.c:1981 #, c-format msgid " -od, --to-stdout dump matches\n" msgstr " -od, --to-stdout đổ mẫu khớp\n" #: wcd.c:1982 #, c-format msgid " -q, --quiet Quieter operation\n" msgstr " -q, --quiet Thực hiện im lặng\n" #: wcd.c:1983 #, c-format msgid " -r DIR Remove DIR\n" msgstr " -r THƯ-MỤC gỡ bỏ THƯ-MỤC\n" #: wcd.c:1984 #, c-format msgid " -rmtree DIR Remove DIR recursive\n" msgstr " -rmtree THƯ-MỤC gỡ bỏ đệ quy THƯ-MỤC\n" #: wcd.c:1985 #, c-format msgid " -s Scan disk from $HOME\n" msgstr " -s quét đĩa từ biến $HOME\n" #: wcd.c:1986 #, c-format msgid " -S PATH Scan disk from PATH\n" msgstr " -S ĐƯỜNG_DẪN quét đĩa từ ĐƯỜNG DẪN\n" #: wcd.c:1987 #, c-format msgid " +S PATH Scan disk from PATH, create relative treefile\n" msgstr " +S ĐƯỜNG_DẪN quét đĩa từ ĐƯỜNG DẪN, tạo tập-tin-cây tương đối\n" #: wcd.c:1988 #, c-format msgid " -t don't strip /tmp_mnt from paths\n" msgstr " -t không cắt bỏ /tmp_mnt khỏi đường dẫn\n" #: wcd.c:1989 #, c-format msgid " -T, --ascii-tree draw tree with ASCII characters\n" msgstr " -T, --ascii-tree vẽ cây dùng các ký tự ASCII\n" #: wcd.c:1990 #, c-format msgid " -Ta, --alt-tree-nav Alternative tree navigation\n" msgstr " -Ta, --alt-tree-nav Điều hướng cây thay thế\n" #: wcd.c:1991 #, c-format msgid " -TC, --center-tree Centered tree view\n" msgstr " -TC, --center-tree hiển thị cây ở giữa\n" #: wcd.c:1992 #, c-format msgid " -Tc, --compact-tree Compact tree\n" msgstr " -Tc, --compact-tree nén cây\n" #: wcd.c:1993 #, c-format msgid " -Td, --cjk-width support legacy CJK fonts\n" msgstr " -Td, --cjk-width hỗ trợ phông chữ cũ CJK\n" #: wcd.c:1994 #, c-format msgid " -u USER use USER's treefile\n" msgstr " -u TÀI_KHOẢN dùng tập-tin-cây của TÀI_KHOẢN này\n" #: wcd.c:1995 #, c-format msgid " +u USER add USER's treefile\n" msgstr " -u TÀI_KHOẢN thêm tập-tin-cây của TÀI_KHOẢN này\n" #: wcd.c:1996 #, c-format msgid " -v, --verbose Verbose operation\n" msgstr " -v, --verbose mô tả các thao tác đang thực hiện\n" #: wcd.c:1997 #, c-format msgid " -V, --version show Version info\n" msgstr " -V, --version hiển thị thông tin về phiên bản\n" #: wcd.c:1998 #, c-format msgid " -w, --wild-match-only Wild matching only\n" msgstr " -w, --wild-match-only Chỉ khớp ký tự đại diện\n" #: wcd.c:1999 #, c-format msgid " -x PATH eXclude PATH during disk scan\n" msgstr " -x ĐƯỜNG_DẪN không lấy những đường dẫn khi quét đĩa\n" #: wcd.c:2000 #, c-format msgid " -xf FILE eXclude paths from FILE\n" msgstr " -xf TẬP-TIN không lấy những đường dẫn có trong TẬP-TIN\n" #: wcd.c:2001 #, c-format msgid " -y, --assume-yes assume Yes on all queries\n" msgstr " -y, --assume-yes trả lời là có cho mọi câu hỏi\n" #: wcd.c:2002 #, c-format msgid " -z NUMBER set max stack siZe\n" msgstr " -z SỐ đặt cỡ ngăn xếp tối đa\n" #: wcd.c:2003 #, c-format msgid " -[NUMBER] push dir (NUMBER times)\n" msgstr " -[SỐ] đẩy thư mục (SỐ lần)\n" #: wcd.c:2004 #, c-format msgid " +[NUMBER] pop dir (NUMBER times)\n" msgstr " +[SỐ] lấy ra thư mục (SỐ lần)\n" #: wcd.c:2005 #, c-format msgid " = show stack\n" msgstr " = hiển thị ngăn xếp\n" #: wcd.c:2014 wcd.c:2143 #, c-format msgid "wcd %s (%s) - Wherever Change Directory\n" msgstr "wcd %s (%s) - Đổi thư mục ở bất kỳ chỗ nào\n" #: wcd.c:2015 #, c-format msgid "" "Chdir for Dos and Unix.\n" "\n" msgstr "" "Chdir dành Dos và Unix.\n" "\n" #: wcd.c:2019 #, c-format msgid "DOS 16 bit version (WATCOMC).\n" msgstr "Phiên bản DOS 16 bit (WATCOMC).\n" #: wcd.c:2021 #, c-format msgid "DOS 16 bit version (TURBOC).\n" msgstr "Phiên bản DOS 16 bit (TURBOC).\n" #: wcd.c:2023 #, c-format msgid "DOS 32 bit version (DJGPP).\n" msgstr "Phiên bản DOS 32 bit (DJGPP).\n" #: wcd.c:2025 #, c-format msgid "DOS 32 bit version (WATCOMC).\n" msgstr "Phiên bản DOS 32 bit (WATCOMC).\n" #: wcd.c:2032 #, c-format msgid "Win64 version (MSVC %d).\n" msgstr "Phiên bản Win64 (MSVC %d).\n" #: wcd.c:2034 #, c-format msgid "Win64 version (MinGW-w64).\n" msgstr "Phiên bản Win64 (MinGW-w64).\n" #: wcd.c:2038 #, c-format msgid "Win32 version (WATCOMC).\n" msgstr "Phiên bản Win32 (WATCOMC).\n" #: wcd.c:2040 #, c-format msgid "Win32 version (MSVC %d).\n" msgstr "Phiên bản Win32 (MSVC %d).\n" #: wcd.c:2042 #, c-format msgid "Win32 version (MinGW-w64).\n" msgstr "Phiên bản Win32 (MinGW-w64).\n" #: wcd.c:2044 #, c-format msgid "Win32 version (MinGW).\n" msgstr "Phiên bản Win32 (MinGW).\n" #: wcd.c:2051 #, c-format msgid "This version is for MSYS and WinZsh.\n" msgstr "Đây là phiên bản dành cho MSYS và WinZsh.\n" #: wcd.c:2053 #, c-format msgid "This version is for Windows PowerShell.\n" msgstr "Đây là phiên bản dành cho Windows PowerShell.\n" #: wcd.c:2055 #, c-format msgid "This version is for Windows Command Prompt (cmd.exe).\n" msgstr "Đây là phiên bản dành cho Windows Command Prompt (cmd.exe).\n" #: wcd.c:2060 #, c-format msgid "OS/2 version" msgstr "Phiên bản OS/2" #: wcd.c:2071 #, c-format msgid "This version is for native MSYS.\n" msgstr "Đây là phiên bản dành cho MSYS nguyên bản.\n" #: wcd.c:2074 #, c-format msgid "Cygwin version.\n" msgstr "Phiên bản Cygwin.\n" #: wcd.c:2077 #, c-format msgid "This version is for DJGPP DOS bash.\n" msgstr "Đây là phiên bản dành cho DJGPP DOS bash.\n" #: wcd.c:2080 #, c-format msgid "This version is for OS/2 bash.\n" msgstr "Đây là phiên bản dành cho OS/2 bash.\n" #: wcd.c:2083 #, c-format msgid "Interface: " msgstr "Giao diện: " #: wcd.c:2089 #, c-format msgid "ncurses version %s.%d\n" msgstr "Phiên bản ncurses %s.%d\n" #: wcd.c:2092 #, c-format msgid "PDCurses build %d\n" msgstr "PDCurses biên dịch %d\n" #: wcd.c:2094 #, c-format msgid "curses\n" msgstr "thư viện curses\n" #: wcd.c:2103 #, c-format msgid "stdout\n" msgstr "đầu ra tiêu chuẩn\n" #: wcd.c:2107 #, c-format msgid "Native language support included.\n" msgstr "Đã bao gồm hỗ trợ ngôn ngữ tự nhiên.\n" #: wcd.c:2108 #, c-format msgid "LOCALEDIR=%s\n" msgstr "LOCALEDIR=%s\n" #: wcd.c:2110 #, c-format msgid "No native language support included.\n" msgstr "Không hỗ trợ ngôn ngữ bản địa.\n" #: wcd.c:2113 #, c-format msgid "Current locale uses CP%u encoding.\n" msgstr "Miền địa phương hiện tại dùng bảng mã CP%u.\n" #: wcd.c:2115 #, c-format msgid "Current locale uses %s encoding.\n" msgstr "Miền địa phương hiện nay dùng bảng mã %s.\n" #: wcd.c:2118 #, c-format msgid "With Unicode support.\n" msgstr "Có hỗ trợ Unicode.\n" #: wcd.c:2123 #, c-format msgid " Euro symbol: " msgstr " Ký hiệu Euro: " #: wcd.c:2125 #, c-format msgid " Chinese characters: " msgstr " Ký tự tiếng Trung Quốc: " #: wcd.c:2129 #, c-format msgid "Without Unicode support.\n" msgstr "Không hỗ trợ Unicode.\n" #: wcd.c:2132 #, c-format msgid "With Unicode normalization.\n" msgstr "Có thường hóa Unicode.\n" #: wcd.c:2134 #, c-format msgid "Without Unicode normalization.\n" msgstr "Không thường hóa Unicode.\n" #: wcd.c:2137 #, c-format msgid "Download the latest executables and sources from:\n" msgstr "Tải về chương trình thực thi và mã nguồn mới nhất từ:\n" #: wcd.c:2144 #, c-format msgid "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp on C3PO\n" "Copyright (C) 1995-1996 DJ Delorie on _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews on DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel and Igor Mandrichenko on recmatch()\n" msgstr "" "Bản quyền (C) 1996-%d Erwin Waterlander\n" "Bản quyền (C) 1994-2002 Ondrej Popp trên C3PO\n" "Bản quyền (C) 1995-1996 DJ Delorie trên _fixpath()\n" "Bản quyền (C) 1995-1996 Borja Etxebarria & Olivier Sirol trên Ninux Czo Directory\n" "Bản quyền (C) 1994-1996 Jason Mathews on DOSDIR\n" "Bản quyền (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel và Igor Mandrichenko trên recmatch()\n" #: wcd.c:2152 #, c-format msgid "" "Source code to scan Windows LAN was originally written and placed\n" "in the public domain by Felix Kasza.\n" "Markus Kuhn's free wcwidth() and wcswidth() implementations are used.\n" "Rugxulo is the original author of query_con_codepage() (public domain).\n" "\n" msgstr "" "Mã nguồn để quét mạng nội bộ Windows nguyên gốc được viết và để\n" "ở miền công cộng bởi Felix Kasza.\n" "Mã thực thi wcwidth() và wcswidth() Markus Kuhn của được dùng.\n" "Rugxulo là tác giả gốc của query_con_codepage() (miền công).\n" "\n" #: wcd.c:2158 #, c-format msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" "\n" msgstr "" "Chương trình này là phần mềm tự do; bạn có thể phát hành lại nó\n" "và/hoặc sửa đổi nó với điều kiện của Giấy Phép Công Cộng GNU\n" "như được xuất bản bởi Tổ Chức Phần Mềm Tự Do; hoặc phiên bản 2\n" "của Giấy Phép này, hoặc (tùy chọn) bất kỳ phiên bản nào mới hơn.\n" "\n" #: wcd.c:2164 #, c-format msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Chương trình này vì hy vọng là nó hữu ích,\n" "nhưng mà KHÔNG BẢO ĐẢM GÌ CẢ, không ngay cả\n" "KHI BÁN hoặc MỤC ĐÍCH ĐẶC THÙ.\n" "Hãy xem Giấy phép Công Chung GNU (GPL) để tìm chi tiết.\n" "\n" #: wcd.c:2170 #, c-format msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" msgstr "" "Bạn đã nhận một bản Giấy Phép Công Cộng GNU đi kèm với chương trình này;\n" "nếu không thì hãy viết thư cho Tổ chức Phần mềm Tự do theo địa chỉ:\n" "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA (Mỹ).\n" #: wcd.c:2203 #, c-format msgid "creating directory %s\n" msgstr "đang tạo thư mục %s\n" #: wcd.c:2535 wcd.c:2575 wcd.c:2590 wcd.c:2658 wcd.c:2727 wcd.c:3229 wcd.c:3248 #, c-format msgid "Value of environment variable %s is too long.\n" msgstr "Giá trị của biến môi trường %s là quá dài.\n" #: wcd.c:2564 #, c-format msgid "Failed to unset environment variable TERM: %s\n" msgstr "Gặp lỗi khi bỏ đặt biến môi trường TERM: %s\n" #: wcd.c:2622 wcd.c:2651 msgid "Environment variable HOME or WCDHOME is not set.\n" msgstr "Biến môi trường HOME hoặc WCDHOME chưa được đặt.\n" #: wcd.c:2834 #, c-format msgid "aliasfile: %s\n" msgstr "tập-tin-bí-danh: %s\n" #: wcd.c:2848 msgid "HOME is not defined\n" msgstr "biến HOME chưa được định nghĩa\n" #: wcd.c:2852 msgid "WCDHOME is not defined\n" msgstr "biến WCDHOME chưa được định nghĩa\n" #: wcd.c:2856 msgid "WCDSCAN is not defined\n" msgstr "biến WCDSCAN chưa được định nghĩa\n" #: wcd.c:2881 msgid "Graphics mode only supported in wcd with curses-based interface.\n" msgstr "Chế độ đồ họa chỉ được hỗ trợ trong wcd với giao diện dựa trên thư viện curse.\n" #: wcd.c:3162 #, c-format msgid "%s added to aliasfile %s\n" msgstr "%s được thêm vào tập-tin-bí-danh %s\n" #: wcd.c:3261 #, c-format msgid "Unable to read file %s or %s\n" msgstr "Không thể đọc tập tin %s hoặc %s\n" #: wcd.c:3411 #, c-format msgid "WCDSCAN directory {%s}\n" msgstr "thư mục WCDSCAN {%s}\n" #: wcd.c:3413 #, c-format msgid "banning {%s}\n" msgstr "cấm {%s}\n" #: wcd.c:3415 #, c-format msgid "excluding {%s}\n" msgstr "loại trừ {%s}\n" #: wcd.c:3417 #, c-format msgid "filtering {%s}\n" msgstr "đang lọc {%s}\n" #: wcd.c:3677 #, c-format msgid "No directory found matching %s\n" msgstr "Không tìm thấy thư mục nào khớp với %s\n" #: wcd.c:3678 msgid "Perhaps you need to rescan the disk or path is banned.\n" msgstr "Có lẽ bạn cần quét lại đĩa hoặc là đường dẫn đã bị cấm.\n" #: wcd.c:3807 #, c-format msgid "Cannot change to %s\n" msgstr "Không thể chuyển sang %s\n" #: wcddir.c:109 #, c-format msgid "%lu (\"%s\") reported by \"%s\".\n" msgstr "%lu (\"%s\") được báo cáo bởi \"%s\".\n" #: wcddir.c:131 msgid "access denied.\n" msgstr "không đủ thẩm quyền.\n" #: wcddir.c:206 #, c-format msgid "Searching for shared directories on server %s\n" msgstr "Đang tìm kếm thư mục chia sẻ trên máy chủ %s\n" #: wcddir.c:218 #, c-format msgid "Found %lu shared directories on server %s\n" msgstr "Tìm thấy %lu thư mục chia sẻ trên máy chủ %s\n" #: wcddir.c:335 msgid "Unable to get current working directory: " msgstr "Không thể lấy thư mục làm việc hiện hành: " #: wcddir.c:362 #, c-format msgid "Unable to change to directory %s: " msgstr "Không thể chuyển sang thư mục %s: " #: wcddir.c:392 #, c-format msgid "Unable to create directory %s: " msgstr "Không thể tạo thư mục %s: " #: wcddir.c:420 #, c-format msgid "Unable to remove directory %s: " msgstr "Không thể gỡ bỏ thư mục %s: " #: wcddir.c:543 wcddir.c:554 #, c-format msgid "Unable to create directory %s: %s\n" msgstr "Không thể tạo thư mục %s: %s\n" #: wcddir.c:660 #, c-format msgid "Unable to get current working directory: %s\n" msgstr "Không thể lấy thư mục làm việc hiện hành: %s\n" #: wcddir.c:674 #, c-format msgid "Unable to change to directory %s: %s\n" msgstr "Không thể đổi sang thư mục %s: %s\n" #: wcddir.c:683 #, c-format msgid "Unable to remove directory %s: %s\n" msgstr "Không thể gỡ bỏ thư mục %s: %s\n" #: stack.c:101 msgid "Error parsing stack\n" msgstr "Gặp lỗi khi phân tích ngăn xếp\n" #: display.c:263 msgid "internal error in maxLength(), list == NULL\n" msgstr "lỗi nội bộ trong hàm maxLength(), list == NULL\n" #: display.c:284 msgid "internal error in maxLengthStack(), s == NULL\n" msgstr "lỗi nộ bộ trong hàm maxLengthStack(), s == NULL\n" #: display.c:524 display.c:1150 display.c:1538 #, c-format msgid "Perfect match for %d directories." msgstr "Khớp hoàn toàn %d thư mục." #: display.c:526 display.c:1152 display.c:1540 #, c-format msgid "Wild match for %d directories." msgstr "Khớp mẫu ký tự đại diện cho %d thư mục." #: display.c:530 display.c:1164 display.c:1542 display.c:1585 #, c-format msgid "Please choose one ( to abort): " msgstr "Vui lòng chọn một ( để bãi bỏ): " #: display.c:532 display.c:608 display.c:640 display.c:1157 #, c-format msgid " w=up x=down ?=help Page %d/%d " msgstr " w=lên x=xuống ?=trợ giúp Trang %d/%d " #: display.c:684 display.c:1180 msgid "Screenheight must be > 20 for help." msgstr "Chiều cao màn hình phải > 20 với trợ giúp." #: display.c:689 display.c:1183 msgid "w or page up" msgstr "w hay lên một trang" #: display.c:690 display.c:1184 msgid "x or z or page down" msgstr "x hay z hay xuống một trang" #: display.c:691 display.c:1185 msgid ", or scroll 1 left" msgstr ", hay cuộn sang trái một trang" #: display.c:692 display.c:1186 msgid ". or scroll 1 right" msgstr ". hay cuộn một trang sang phải" #: display.c:693 display.c:1187 msgid "< or [ scroll 10 left" msgstr "< hay [ cuộn sang trái 10 trang" #: display.c:694 display.c:1188 msgid "> or ] scroll 10 right" msgstr "> hay ] cuộn sang phải 10 trang" #: display.c:695 display.c:1189 msgid "CTRL-a or scroll to beginning" msgstr "CTRL-a hay cuộn lên đầu" #: display.c:696 display.c:1190 msgid "CTRL-e or scroll to end" msgstr "CTRL-e hay cuộn đến cuối" #: display.c:697 display.c:1192 msgid "CTRL-c or abort" msgstr "CTRL-c hay bãi bỏ" #: display.c:698 display.c:1193 msgid " abort" msgstr " bãi bỏ" #: display.c:699 msgid "Type w or x to quit help." msgstr "Gõ w hay x để thoát khỏi trợ giúp." #: display.c:1191 graphics.c:1994 msgid "CTRL-l or F5 redraw screen" msgstr "CTRL-l hay F5 vẽ lại màn hình" #: display.c:1194 graphics.c:1979 graphics.c:1996 graphics.c:2019 #: graphics.c:2036 msgid "Press any key." msgstr "Nhấn phím bất kỳ." #: display.c:1256 graphics.c:2289 msgid "Error opening terminal, falling back to stdout interface.\n" msgstr "Gặp lỗi khi mở thiết-bị cuối, quay trở lại giao diện đầu ra tiêu chuẩn.\n" #: display.c:1277 msgid "screen height must be larger than 3 lines.\n" msgstr "chiều cao màn hình phải lớn hơn 3 dòng.\n" #: display.c:1318 graphics.c:2314 msgid "error creating scroll window.\n" msgstr "gặp lỗi khi tạo màn hình cuộn.\n" #: display.c:1334 graphics.c:2330 msgid "error creating input window.\n" msgstr "gặp lỗi khi tạo cửa sổ đầu vào.\n" #: graphics.c:290 #, c-format msgid "Wcd: error: path too long" msgstr "Wcd: lỗi: đường dẫn quá dài" #: graphics.c:1940 msgid "/ = search forward, ? = search backward, : = help" msgstr "/ = tìm xuôi, ? = tìm ngược, : = trợ giúp" #: graphics.c:1945 msgid "SEARCH: " msgstr "TÌM: " #: graphics.c:1948 msgid "Search: " msgstr "Tìm: " #: graphics.c:1964 msgid "NAVIGATION MODE (1/2):" msgstr "CHẾ ĐỘ DI CHUYỂN (1/2):" #: graphics.c:1965 msgid "h or go left" msgstr "h hay sang trái" #: graphics.c:1966 msgid "j or go down" msgstr "j hay xuống dưới" #: graphics.c:1967 msgid "k or go up" msgstr "k hay lên trên" #: graphics.c:1968 msgid "l or go right" msgstr "l hay sang phải" #: graphics.c:1969 msgid "* or v or go forward to dir with same name" msgstr "* hay v hay đi tiếp đến thư mục có cùng tên" #: graphics.c:1970 msgid "# or p or go backward to dir with same name" msgstr "# hay p hay đi ngược lại thư mục có cùng tên" #: graphics.c:1971 msgid "^ or a go to beginning of line" msgstr "^ hay a đi đến đầu dòng" #: graphics.c:1972 msgid "$ or e go to end of line" msgstr "$ hay e đi đến cuối dòng" #: graphics.c:1973 msgid "1 go to root dir" msgstr "1 nhảy đến thư mục gốc" #: graphics.c:1974 msgid "g or G go to last dir" msgstr "g hay G đi đến thư mục cuối" #: graphics.c:1975 msgid "f go page forward" msgstr "f nhảy một trang kế" #: graphics.c:1976 msgid "b go page backward" msgstr "b nhảy ngược một trang" #: graphics.c:1977 msgid "u go half page up" msgstr "u lên nửa trang" #: graphics.c:1978 msgid "d go half page down" msgstr "d xuống nửa trang" #: graphics.c:1985 msgid "NAVIGATION MODE (2/2):" msgstr "CHẾ ĐỘ DI CHUYỂN (2/2):" #: graphics.c:1986 msgid "A switch alternative tree navigation on/off" msgstr "A bật/tắt điều hướng cây thay thế" #: graphics.c:1987 msgid "t switch centered mode on/off" msgstr "t bật/tắt chế độ căn giữa" #: graphics.c:1988 msgid "T toggle between line drawing and ASCII characters" msgstr "T bật/tắt giữa vẽ bằng đường kẻ và ký tự ASCII" #: graphics.c:1989 msgid "m toggle between compact and wide tree" msgstr "m bật/tắt giữa trải rộng và thu gọn cây" #: graphics.c:1990 msgid " or q abort" msgstr " hay q bãi bỏ" #: graphics.c:1991 msgid "/ search forward" msgstr "/ tìm tiếp" #: graphics.c:1992 msgid "? search backward" msgstr "? tìm ngược lại" #: graphics.c:1993 msgid "n repeat last / or ? search" msgstr "n tìm lặp lại / hay ? cuối" #: graphics.c:1995 graphics.c:2018 msgid " select directory" msgstr " chọn thư mục" #: graphics.c:2002 msgid "SEARCH MODE with wildcard and subdir support:" msgstr "CHẾ ĐỘ TÌM KẾM với hỗ trợ ký tự thay thế và thư mục con:" #: graphics.c:2003 msgid " go left" msgstr " sang trái" #: graphics.c:2004 msgid " go down" msgstr " đi xuống" #: graphics.c:2005 msgid " go up" msgstr " đi lên" #: graphics.c:2006 msgid " go right" msgstr " sang phải" #: graphics.c:2007 msgid "CTRL-v go forward to dir with same name" msgstr "CTRL-v đi tiếp đến thư mục với cùng tên" #: graphics.c:2008 msgid "CTRL-p go backward to dir with same name" msgstr "CTRL-p trở lại thư mục có cùng tên" #: graphics.c:2009 msgid "CTRL-a go to beginning of line" msgstr "CTRL-a đi đến đầu dòng" #: graphics.c:2010 msgid "CTRL-e go to end of line" msgstr "CTRL-e đi đến cuối dòng" #: graphics.c:2011 msgid "CTRL-g go to last dir" msgstr "CTRL-g quay lại thư mục cuối" #: graphics.c:2012 msgid "CTRL-f go page forward" msgstr "CTRL-f đi tiếp một trang" #: graphics.c:2013 msgid "CTRL-b go page backward" msgstr "CTRL-b đi ngược một trang" #: graphics.c:2014 msgid "CTRL-u go half page up" msgstr "CTRL-u đi lên nửa trang" #: graphics.c:2015 msgid "CTRL-d go half page down" msgstr "CTRL-d đi xuống nửa trang" #: graphics.c:2016 msgid " or CTRL-x abort SEARCH MODE" msgstr " hay CTRL-x bỏ CHẾ ĐỘ TÌM KIẾM" #: graphics.c:2017 msgid "CTRL-n repeat last / or ? search" msgstr "CTRL-n lặp lại việc tìm / hoặc ?" #: graphics.c:2025 msgid "ZOOMING:" msgstr "PHÓNG TO:" #: graphics.c:2026 msgid "z or i or CTRL-i zoom in" msgstr "z hoặc i hay CTRL-i phóng to" #: graphics.c:2027 msgid "Z or o or CTRL-o zoom out" msgstr "Z hoặc o hay CTRL-o thu nhỏ" #: graphics.c:2028 msgid "c condense: fold current level" msgstr "c cô đặc: gấp nếp mức hiện tại" #: graphics.c:2029 msgid "C condense: fold subdir level" msgstr "C cô đặc: gấp nếp mức thư mục con" #: graphics.c:2030 msgid "w condense: fold current and subdir levels" msgstr "w cô đặc: gấp nếp mức hiện tại và thư mục con" #: graphics.c:2031 msgid "y or CTRL-y uncondense: unfold current and subdir levels" msgstr "y hay CTRL-y bỏ cô đặc: trải mức thư mục hiện tại và thư mục con" #: graphics.c:2032 msgid "r or CTRL-r uncondense: unfold all directories" msgstr "r hay CTRL-r bỏ cô đặc: trải mọi thư mục ra" #: graphics.c:2033 msgid "- fold directory" msgstr "- gập nếp thư mục" #: graphics.c:2034 msgid "+ or = unfold directory" msgstr "+ hoặc = bỏ gấp nếp thư mục" #: graphics.c:2035 msgid "l or unfold and go right" msgstr "l or bỏ gấp nếp và đi sang phải" #: graphics.c:2039 msgid "Screenheight must be > 21 for help." msgstr "Chiều cao màn hình phải lớn hơn 21 khi dùng trợ giúp." #: graphics.c:2271 graphics.c:2757 #, c-format msgid "Cannot find the current path %s in the directory tree.\n" msgstr "Không thể tìm thấy đường dẫn %s trong cây thư mục.\n" #: finddirs.c:241 finddirs.c:249 finddirs.c:273 finddirs.c:300 finddirs.c:314 #, c-format msgid "Unable to remove file %s: %s\n" msgstr "Không thể gỡ bỏ tập tin %s: %s\n" #: finddirs.c:322 finddirs.c:486 #, c-format msgid "Unable to close directory %s: %s\n" msgstr "Không thể đóng thư mục %s: %s\n" #: finddirs.c:365 #, c-format msgid "finddirs(): can't determine path in directory %s\n" msgstr "finddirs(): không thể dò tìm đường dẫn trong thư mục %s\n" #: finddirs.c:366 msgid "path probably too long.\n" msgstr "đường dẫn gần như chắc chắn là quá dài.\n" #: c3po/Error.c:41 #, c-format msgid "in '%s', insufficient memory for allocation\n" msgstr "trong “%s”, không đủ bộ nhớ để phân bổ\n" #~ msgid "malloc error in wcd_fixpath()\n" #~ msgstr "lỗi malloc trong wcd_fixpath()\n" wcd-6.0.3/src/po/wcd.pot0000644000175500010010000005344613524756536014306 0ustar waterlanGeen# 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: 2019-08-14 12:07+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: wcd.c:170 #, c-format msgid "Wcd: error: " msgstr "" #: wcd.c:183 wcd.c:237 wcd.c:257 #, c-format msgid "Unable to read file %s: %s\n" msgstr "" #: wcd.c:246 #, c-format msgid "Unable to read file %s: Not a regular file.\n" msgstr "" #: wcd.c:259 wcd.c:346 #, c-format msgid "Unable to write file %s: %s\n" msgstr "" #: wcd.c:348 #, c-format msgid "Unable to close file %s: %s\n" msgstr "" #: wcd.c:409 wcd.c:414 wfixpath.c:65 #, c-format msgid "Memory allocation error in %s: %s\n" msgstr "" #: wcd.c:716 wcd.c:730 #, c-format msgid "%s added to file %s\n" msgstr "" #: wcd.c:765 wcd.c:1097 #, c-format msgid "%s is not a directory.\n" msgstr "" #: wcd.c:770 #, c-format msgid "Please wait. Scanning disk. Building treedata-file %s from %s\n" msgstr "" #: wcd.c:832 wcd.c:2223 wcd.c:2246 wcd.c:2326 #, c-format msgid "Writing file \"%s\"\n" msgstr "" #: wcd.c:837 msgid "Write access to tree-file denied.\n" msgstr "" #: wcd.c:838 msgid "Set TEMP environment variable if this is a read-only disk.\n" msgstr "" #: wcd.c:967 #, c-format msgid "Removed symbolic link %s\n" msgstr "" #: wcd.c:971 #, c-format msgid "Unable to remove symbolic link %s: %s\n" msgstr "" #: wcd.c:975 #, c-format msgid "%s is a symbolic link to a file.\n" msgstr "" #: wcd.c:1058 #, c-format msgid "Recursively remove %s? Are you sure? y/n :" msgstr "" #: wcd.c:1080 wcd.c:1090 #, c-format msgid "Removed directory %s\n" msgstr "" #: wcd.c:1122 wcd.c:1191 wcd.c:1259 #, c-format msgid "line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n" msgstr "" #: wcd.c:1123 wcd.c:1192 wcd.c:1260 #, c-format msgid "file: %s, line: %d," msgstr "" #: wcd.c:1130 wcd.c:1199 wcd.c:1267 #, c-format msgid " length: %d\n" msgstr "" #: wcd.c:1768 wcd.c:1837 msgid "Alias file in UTF-16 format is not supported.\n" msgstr "" #: wcd.c:1937 #, c-format msgid "" "Usage: wcd [options] [directory]\n" "\n" msgstr "" #: wcd.c:1938 #, c-format msgid "directory: Name of directory to change to.\n" msgstr "" #: wcd.c:1939 #, c-format msgid "" " Wildcards *, ? and [SET] are supported.\n" "\n" msgstr "" #: wcd.c:1941 #, c-format msgid "options:\n" msgstr "" #: wcd.c:1942 #, c-format msgid " -a Add current path to treefile\n" msgstr "" #: wcd.c:1943 #, c-format msgid " -aa Add current and all parent paths to treefile\n" msgstr "" #: wcd.c:1944 #, c-format msgid " -A PATH Add tree from PATH\n" msgstr "" #: wcd.c:1945 #, c-format msgid " -b Ban current path\n" msgstr "" #: wcd.c:1946 #, c-format msgid " -c, --direct-cd direct CD mode\n" msgstr "" #: wcd.c:1947 #, c-format msgid " -d DRIVE set DRIVE for stack & go files (DOS)\n" msgstr "" #: wcd.c:1948 #, c-format msgid " -e add current path to Extra treefile\n" msgstr "" #: wcd.c:1949 #, c-format msgid " -ee add current and all parent paths to Extra treefile\n" msgstr "" #: wcd.c:1950 #, c-format msgid " -E PATH add tree from PATH to Extra treefile\n" msgstr "" #: wcd.c:1951 #, c-format msgid " -f FILE use extra treeFile\n" msgstr "" #: wcd.c:1952 #, c-format msgid " +f FILE add extra treeFile\n" msgstr "" #: wcd.c:1953 #, c-format msgid " -g Graphics\n" msgstr "" #: wcd.c:1954 #, c-format msgid " -gd Graphics, dump tree\n" msgstr "" #: wcd.c:1955 #, c-format msgid " -G PATH set PATH Go-script\n" msgstr "" #: wcd.c:1956 #, c-format msgid " -GN, --no-go-script No Go-script\n" msgstr "" #: wcd.c:1957 #, c-format msgid " -h, --help show this Help\n" msgstr "" #: wcd.c:1960 #, c-format msgid " -i, --ignore-case Ignore case (default)\n" msgstr "" #: wcd.c:1961 #, c-format msgid " +i, --no-ignore-case regard case\n" msgstr "" #: wcd.c:1963 #, c-format msgid " -i, --ignore-case Ignore case\n" msgstr "" #: wcd.c:1964 #, c-format msgid " +i, --no-ignore-case regard case (default)\n" msgstr "" #: wcd.c:1967 #, c-format msgid " -I, --ignore-diacritics Ignore diacritics\n" msgstr "" #: wcd.c:1968 #, c-format msgid " +I, --no-ignore-diacritics regard diacritics (default)\n" msgstr "" #: wcd.c:1969 #, c-format msgid " -j, --just-go Just go mode\n" msgstr "" #: wcd.c:1970 #, c-format msgid " -k, --keep-paths Keep paths\n" msgstr "" #: wcd.c:1971 #, c-format msgid " -K, --color colors\n" msgstr "" #: wcd.c:1972 #, c-format msgid " -l ALIAS aLias current directory\n" msgstr "" #: wcd.c:1973 #, c-format msgid " -ls List the aliases\n" msgstr "" #: wcd.c:1974 #, c-format msgid " -L, --license show software License\n" msgstr "" #: wcd.c:1975 #, c-format msgid " -m DIR Make DIR, add to treefile\n" msgstr "" #: wcd.c:1976 #, c-format msgid " -M DIR Make DIR, add to extra treefile\n" msgstr "" #: wcd.c:1977 #, c-format msgid " -n PATH use relative treefile in PATH\n" msgstr "" #: wcd.c:1978 #, c-format msgid " +n PATH add relative treefile in PATH\n" msgstr "" #: wcd.c:1979 #, c-format msgid " -N, --numbers use Numbers\n" msgstr "" #: wcd.c:1980 #, c-format msgid " -o use stdOut\n" msgstr "" #: wcd.c:1981 #, c-format msgid " -od, --to-stdout dump matches\n" msgstr "" #: wcd.c:1982 #, c-format msgid " -q, --quiet Quieter operation\n" msgstr "" #: wcd.c:1983 #, c-format msgid " -r DIR Remove DIR\n" msgstr "" #: wcd.c:1984 #, c-format msgid " -rmtree DIR Remove DIR recursive\n" msgstr "" #: wcd.c:1985 #, c-format msgid " -s Scan disk from $HOME\n" msgstr "" #: wcd.c:1986 #, c-format msgid " -S PATH Scan disk from PATH\n" msgstr "" #: wcd.c:1987 #, c-format msgid " +S PATH Scan disk from PATH, create relative treefile\n" msgstr "" #: wcd.c:1988 #, c-format msgid " -t don't strip /tmp_mnt from paths\n" msgstr "" #: wcd.c:1989 #, c-format msgid " -T, --ascii-tree draw tree with ASCII characters\n" msgstr "" #: wcd.c:1990 #, c-format msgid " -Ta, --alt-tree-nav Alternative tree navigation\n" msgstr "" #: wcd.c:1991 #, c-format msgid " -TC, --center-tree Centered tree view\n" msgstr "" #: wcd.c:1992 #, c-format msgid " -Tc, --compact-tree Compact tree\n" msgstr "" #: wcd.c:1993 #, c-format msgid " -Td, --cjk-width support legacy CJK fonts\n" msgstr "" #: wcd.c:1994 #, c-format msgid " -u USER use USER's treefile\n" msgstr "" #: wcd.c:1995 #, c-format msgid " +u USER add USER's treefile\n" msgstr "" #: wcd.c:1996 #, c-format msgid " -v, --verbose Verbose operation\n" msgstr "" #: wcd.c:1997 #, c-format msgid " -V, --version show Version info\n" msgstr "" #: wcd.c:1998 #, c-format msgid " -w, --wild-match-only Wild matching only\n" msgstr "" #: wcd.c:1999 #, c-format msgid " -x PATH eXclude PATH during disk scan\n" msgstr "" #: wcd.c:2000 #, c-format msgid " -xf FILE eXclude paths from FILE\n" msgstr "" #: wcd.c:2001 #, c-format msgid " -y, --assume-yes assume Yes on all queries\n" msgstr "" #: wcd.c:2002 #, c-format msgid " -z NUMBER set max stack siZe\n" msgstr "" #: wcd.c:2003 #, c-format msgid " -[NUMBER] push dir (NUMBER times)\n" msgstr "" #: wcd.c:2004 #, c-format msgid " +[NUMBER] pop dir (NUMBER times)\n" msgstr "" #: wcd.c:2005 #, c-format msgid " = show stack\n" msgstr "" #: wcd.c:2014 wcd.c:2143 #, c-format msgid "wcd %s (%s) - Wherever Change Directory\n" msgstr "" #: wcd.c:2015 #, c-format msgid "" "Chdir for Dos and Unix.\n" "\n" msgstr "" #: wcd.c:2019 #, c-format msgid "DOS 16 bit version (WATCOMC).\n" msgstr "" #: wcd.c:2021 #, c-format msgid "DOS 16 bit version (TURBOC).\n" msgstr "" #: wcd.c:2023 #, c-format msgid "DOS 32 bit version (DJGPP).\n" msgstr "" #: wcd.c:2025 #, c-format msgid "DOS 32 bit version (WATCOMC).\n" msgstr "" #: wcd.c:2032 #, c-format msgid "Win64 version (MSVC %d).\n" msgstr "" #: wcd.c:2034 #, c-format msgid "Win64 version (MinGW-w64).\n" msgstr "" #: wcd.c:2038 #, c-format msgid "Win32 version (WATCOMC).\n" msgstr "" #: wcd.c:2040 #, c-format msgid "Win32 version (MSVC %d).\n" msgstr "" #: wcd.c:2042 #, c-format msgid "Win32 version (MinGW-w64).\n" msgstr "" #: wcd.c:2044 #, c-format msgid "Win32 version (MinGW).\n" msgstr "" #: wcd.c:2051 #, c-format msgid "This version is for MSYS and WinZsh.\n" msgstr "" #: wcd.c:2053 #, c-format msgid "This version is for Windows PowerShell.\n" msgstr "" #: wcd.c:2055 #, c-format msgid "This version is for Windows Command Prompt (cmd.exe).\n" msgstr "" #: wcd.c:2060 #, c-format msgid "OS/2 version" msgstr "" #: wcd.c:2071 #, c-format msgid "This version is for native MSYS.\n" msgstr "" #: wcd.c:2074 #, c-format msgid "Cygwin version.\n" msgstr "" #: wcd.c:2077 #, c-format msgid "This version is for DJGPP DOS bash.\n" msgstr "" #: wcd.c:2080 #, c-format msgid "This version is for OS/2 bash.\n" msgstr "" #: wcd.c:2083 #, c-format msgid "Interface: " msgstr "" #: wcd.c:2089 #, c-format msgid "ncurses version %s.%d\n" msgstr "" #: wcd.c:2092 #, c-format msgid "PDCurses build %d\n" msgstr "" #: wcd.c:2094 #, c-format msgid "curses\n" msgstr "" #: wcd.c:2103 #, c-format msgid "stdout\n" msgstr "" #: wcd.c:2107 #, c-format msgid "Native language support included.\n" msgstr "" #: wcd.c:2108 #, c-format msgid "LOCALEDIR=%s\n" msgstr "" #: wcd.c:2110 #, c-format msgid "No native language support included.\n" msgstr "" #: wcd.c:2113 #, c-format msgid "Current locale uses CP%u encoding.\n" msgstr "" #: wcd.c:2115 #, c-format msgid "Current locale uses %s encoding.\n" msgstr "" #: wcd.c:2118 #, c-format msgid "With Unicode support.\n" msgstr "" #: wcd.c:2123 #, c-format msgid " Euro symbol: " msgstr "" #: wcd.c:2125 #, c-format msgid " Chinese characters: " msgstr "" #: wcd.c:2129 #, c-format msgid "Without Unicode support.\n" msgstr "" #: wcd.c:2132 #, c-format msgid "With Unicode normalization.\n" msgstr "" #: wcd.c:2134 #, c-format msgid "Without Unicode normalization.\n" msgstr "" #: wcd.c:2137 #, c-format msgid "Download the latest executables and sources from:\n" msgstr "" #: wcd.c:2144 #, c-format msgid "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp on C3PO\n" "Copyright (C) 1995-1996 DJ Delorie on _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews on DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel and Igor Mandrichenko on recmatch()\n" msgstr "" #: wcd.c:2152 #, c-format msgid "" "Source code to scan Windows LAN was originally written and placed\n" "in the public domain by Felix Kasza.\n" "Markus Kuhn's free wcwidth() and wcswidth() implementations are used.\n" "Rugxulo is the original author of query_con_codepage() (public domain).\n" "\n" msgstr "" #: wcd.c:2158 #, c-format msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" "\n" msgstr "" #: wcd.c:2164 #, c-format msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" #: wcd.c:2170 #, c-format msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" msgstr "" #: wcd.c:2203 #, c-format msgid "creating directory %s\n" msgstr "" #: wcd.c:2535 wcd.c:2575 wcd.c:2590 wcd.c:2658 wcd.c:2727 wcd.c:3229 wcd.c:3248 #, c-format msgid "Value of environment variable %s is too long.\n" msgstr "" #: wcd.c:2564 #, c-format msgid "Failed to unset environment variable TERM: %s\n" msgstr "" #: wcd.c:2622 wcd.c:2651 msgid "Environment variable HOME or WCDHOME is not set.\n" msgstr "" #: wcd.c:2834 #, c-format msgid "aliasfile: %s\n" msgstr "" #: wcd.c:2848 msgid "HOME is not defined\n" msgstr "" #: wcd.c:2852 msgid "WCDHOME is not defined\n" msgstr "" #: wcd.c:2856 msgid "WCDSCAN is not defined\n" msgstr "" #: wcd.c:2881 msgid "Graphics mode only supported in wcd with curses-based interface.\n" msgstr "" #: wcd.c:3162 #, c-format msgid "%s added to aliasfile %s\n" msgstr "" #: wcd.c:3261 #, c-format msgid "Unable to read file %s or %s\n" msgstr "" #: wcd.c:3411 #, c-format msgid "WCDSCAN directory {%s}\n" msgstr "" #: wcd.c:3413 #, c-format msgid "banning {%s}\n" msgstr "" #: wcd.c:3415 #, c-format msgid "excluding {%s}\n" msgstr "" #: wcd.c:3417 #, c-format msgid "filtering {%s}\n" msgstr "" #: wcd.c:3677 #, c-format msgid "No directory found matching %s\n" msgstr "" #: wcd.c:3678 msgid "Perhaps you need to rescan the disk or path is banned.\n" msgstr "" #: wcd.c:3807 #, c-format msgid "Cannot change to %s\n" msgstr "" #: wcddir.c:109 #, c-format msgid "%lu (\"%s\") reported by \"%s\".\n" msgstr "" #: wcddir.c:131 msgid "access denied.\n" msgstr "" #: wcddir.c:206 #, c-format msgid "Searching for shared directories on server %s\n" msgstr "" #: wcddir.c:218 #, c-format msgid "Found %lu shared directories on server %s\n" msgstr "" #: wcddir.c:335 msgid "Unable to get current working directory: " msgstr "" #: wcddir.c:362 #, c-format msgid "Unable to change to directory %s: " msgstr "" #: wcddir.c:392 #, c-format msgid "Unable to create directory %s: " msgstr "" #: wcddir.c:420 #, c-format msgid "Unable to remove directory %s: " msgstr "" #: wcddir.c:543 wcddir.c:554 #, c-format msgid "Unable to create directory %s: %s\n" msgstr "" #: wcddir.c:660 #, c-format msgid "Unable to get current working directory: %s\n" msgstr "" #: wcddir.c:674 #, c-format msgid "Unable to change to directory %s: %s\n" msgstr "" #: wcddir.c:683 #, c-format msgid "Unable to remove directory %s: %s\n" msgstr "" #: stack.c:101 msgid "Error parsing stack\n" msgstr "" #: display.c:263 msgid "internal error in maxLength(), list == NULL\n" msgstr "" #: display.c:284 msgid "internal error in maxLengthStack(), s == NULL\n" msgstr "" #: display.c:524 display.c:1150 display.c:1538 #, c-format msgid "Perfect match for %d directories." msgstr "" #: display.c:526 display.c:1152 display.c:1540 #, c-format msgid "Wild match for %d directories." msgstr "" #: display.c:530 display.c:1164 display.c:1542 display.c:1585 #, c-format msgid "Please choose one ( to abort): " msgstr "" #: display.c:532 display.c:608 display.c:640 display.c:1157 #, c-format msgid " w=up x=down ?=help Page %d/%d " msgstr "" #: display.c:684 display.c:1180 msgid "Screenheight must be > 20 for help." msgstr "" #: display.c:689 display.c:1183 msgid "w or page up" msgstr "" #: display.c:690 display.c:1184 msgid "x or z or page down" msgstr "" #: display.c:691 display.c:1185 msgid ", or scroll 1 left" msgstr "" #: display.c:692 display.c:1186 msgid ". or scroll 1 right" msgstr "" #: display.c:693 display.c:1187 msgid "< or [ scroll 10 left" msgstr "" #: display.c:694 display.c:1188 msgid "> or ] scroll 10 right" msgstr "" #: display.c:695 display.c:1189 msgid "CTRL-a or scroll to beginning" msgstr "" #: display.c:696 display.c:1190 msgid "CTRL-e or scroll to end" msgstr "" #: display.c:697 display.c:1192 msgid "CTRL-c or abort" msgstr "" #: display.c:698 display.c:1193 msgid " abort" msgstr "" #: display.c:699 msgid "Type w or x to quit help." msgstr "" #: display.c:1191 graphics.c:1994 msgid "CTRL-l or F5 redraw screen" msgstr "" #: display.c:1194 graphics.c:1979 graphics.c:1996 graphics.c:2019 #: graphics.c:2036 msgid "Press any key." msgstr "" #: display.c:1256 graphics.c:2289 msgid "Error opening terminal, falling back to stdout interface.\n" msgstr "" #: display.c:1277 msgid "screen height must be larger than 3 lines.\n" msgstr "" #: display.c:1318 graphics.c:2314 msgid "error creating scroll window.\n" msgstr "" #: display.c:1334 graphics.c:2330 msgid "error creating input window.\n" msgstr "" #: graphics.c:290 #, c-format msgid "Wcd: error: path too long" msgstr "" #: graphics.c:1940 msgid "/ = search forward, ? = search backward, : = help" msgstr "" #: graphics.c:1945 msgid "SEARCH: " msgstr "" #: graphics.c:1948 msgid "Search: " msgstr "" #: graphics.c:1964 msgid "NAVIGATION MODE (1/2):" msgstr "" #: graphics.c:1965 msgid "h or go left" msgstr "" #: graphics.c:1966 msgid "j or go down" msgstr "" #: graphics.c:1967 msgid "k or go up" msgstr "" #: graphics.c:1968 msgid "l or go right" msgstr "" #: graphics.c:1969 msgid "* or v or go forward to dir with same name" msgstr "" #: graphics.c:1970 msgid "# or p or go backward to dir with same name" msgstr "" #: graphics.c:1971 msgid "^ or a go to beginning of line" msgstr "" #: graphics.c:1972 msgid "$ or e go to end of line" msgstr "" #: graphics.c:1973 msgid "1 go to root dir" msgstr "" #: graphics.c:1974 msgid "g or G go to last dir" msgstr "" #: graphics.c:1975 msgid "f go page forward" msgstr "" #: graphics.c:1976 msgid "b go page backward" msgstr "" #: graphics.c:1977 msgid "u go half page up" msgstr "" #: graphics.c:1978 msgid "d go half page down" msgstr "" #: graphics.c:1985 msgid "NAVIGATION MODE (2/2):" msgstr "" #: graphics.c:1986 msgid "A switch alternative tree navigation on/off" msgstr "" #: graphics.c:1987 msgid "t switch centered mode on/off" msgstr "" #: graphics.c:1988 msgid "T toggle between line drawing and ASCII characters" msgstr "" #: graphics.c:1989 msgid "m toggle between compact and wide tree" msgstr "" #: graphics.c:1990 msgid " or q abort" msgstr "" #: graphics.c:1991 msgid "/ search forward" msgstr "" #: graphics.c:1992 msgid "? search backward" msgstr "" #: graphics.c:1993 msgid "n repeat last / or ? search" msgstr "" #: graphics.c:1995 graphics.c:2018 msgid " select directory" msgstr "" #: graphics.c:2002 msgid "SEARCH MODE with wildcard and subdir support:" msgstr "" #: graphics.c:2003 msgid " go left" msgstr "" #: graphics.c:2004 msgid " go down" msgstr "" #: graphics.c:2005 msgid " go up" msgstr "" #: graphics.c:2006 msgid " go right" msgstr "" #: graphics.c:2007 msgid "CTRL-v go forward to dir with same name" msgstr "" #: graphics.c:2008 msgid "CTRL-p go backward to dir with same name" msgstr "" #: graphics.c:2009 msgid "CTRL-a go to beginning of line" msgstr "" #: graphics.c:2010 msgid "CTRL-e go to end of line" msgstr "" #: graphics.c:2011 msgid "CTRL-g go to last dir" msgstr "" #: graphics.c:2012 msgid "CTRL-f go page forward" msgstr "" #: graphics.c:2013 msgid "CTRL-b go page backward" msgstr "" #: graphics.c:2014 msgid "CTRL-u go half page up" msgstr "" #: graphics.c:2015 msgid "CTRL-d go half page down" msgstr "" #: graphics.c:2016 msgid " or CTRL-x abort SEARCH MODE" msgstr "" #: graphics.c:2017 msgid "CTRL-n repeat last / or ? search" msgstr "" #: graphics.c:2025 msgid "ZOOMING:" msgstr "" #: graphics.c:2026 msgid "z or i or CTRL-i zoom in" msgstr "" #: graphics.c:2027 msgid "Z or o or CTRL-o zoom out" msgstr "" #: graphics.c:2028 msgid "c condense: fold current level" msgstr "" #: graphics.c:2029 msgid "C condense: fold subdir level" msgstr "" #: graphics.c:2030 msgid "w condense: fold current and subdir levels" msgstr "" #: graphics.c:2031 msgid "y or CTRL-y uncondense: unfold current and subdir levels" msgstr "" #: graphics.c:2032 msgid "r or CTRL-r uncondense: unfold all directories" msgstr "" #: graphics.c:2033 msgid "- fold directory" msgstr "" #: graphics.c:2034 msgid "+ or = unfold directory" msgstr "" #: graphics.c:2035 msgid "l or unfold and go right" msgstr "" #: graphics.c:2039 msgid "Screenheight must be > 21 for help." msgstr "" #: graphics.c:2271 graphics.c:2757 #, c-format msgid "Cannot find the current path %s in the directory tree.\n" msgstr "" #: finddirs.c:241 finddirs.c:249 finddirs.c:273 finddirs.c:300 finddirs.c:314 #, c-format msgid "Unable to remove file %s: %s\n" msgstr "" #: finddirs.c:322 finddirs.c:486 #, c-format msgid "Unable to close directory %s: %s\n" msgstr "" #: finddirs.c:365 #, c-format msgid "finddirs(): can't determine path in directory %s\n" msgstr "" #: finddirs.c:366 msgid "path probably too long.\n" msgstr "" #: c3po/Error.c:41 #, c-format msgid "in '%s', insufficient memory for allocation\n" msgstr "" wcd-6.0.3/src/po/zh_CN.po0000644000175500010010000010134513524756536014336 0ustar waterlanGeen# Chinese Simplified (China) translations for wcd. # Copyright (C) Erwin Waterlander (msgids) # This file is distributed under the same license as the wcd package. # Mingcong Bai , 2015. # Mingye Wang , 2015. # msgid "" msgstr "" "Project-Id-Version: wcd 5.2.6-beta4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-08-18 11:44+0200\n" "PO-Revision-Date: 2015-11-13 20:29-0500\n" "Last-Translator: Mingye Wang (Arthur2e5) \n" "Language-Team: Chinese (simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "X-Generator: Poedit 1.8.6\n" "Plural-Forms: nplurals=1; plural=0;\n" #: wcd.c:170 #, c-format msgid "Wcd: error: " msgstr "Wcd:错误:" #: wcd.c:183 wcd.c:237 wcd.c:257 #, c-format msgid "Unable to read file %s: %s\n" msgstr "无法读取文件 %s:%s\n" #: wcd.c:246 #, c-format msgid "Unable to read file %s: Not a regular file.\n" msgstr "无法读取文件 %s:不是普通文件。\n" #: wcd.c:259 wcd.c:346 #, c-format msgid "Unable to write file %s: %s\n" msgstr "无法写入文件 %s:%s\n" #: wcd.c:348 #, c-format msgid "Unable to close file %s: %s\n" msgstr "无法关闭文件 %s:%s\n" #: wcd.c:409 wcd.c:414 wfixpath.c:65 #, c-format msgid "Memory allocation error in %s: %s\n" msgstr "" #: wcd.c:716 wcd.c:730 #, c-format msgid "%s added to file %s\n" msgstr "已添加 %s 到文件 %s\n" #: wcd.c:765 wcd.c:1097 #, c-format msgid "%s is not a directory.\n" msgstr "%s 不是目录。\n" #: wcd.c:770 #, c-format msgid "Please wait. Scanning disk. Building treedata-file %s from %s\n" msgstr "请稍等。正在扫描磁盘。正在从 %2$s 构建树状数据文件 %1$s\n" #: wcd.c:832 wcd.c:2223 wcd.c:2246 wcd.c:2326 #, c-format msgid "Writing file \"%s\"\n" msgstr "正在写入文件 \"%s\"\n" #: wcd.c:837 msgid "Write access to tree-file denied.\n" msgstr "数据树文件写入权限被拒绝。\n" #: wcd.c:838 msgid "Set TEMP environment variable if this is a read-only disk.\n" msgstr "如果这是一个只读磁盘,请设置 TEMP 环境变量。\n" #: wcd.c:967 #, c-format msgid "Removed symbolic link %s\n" msgstr "已移除符号链接 %s。\n" #: wcd.c:971 #, c-format msgid "Unable to remove symbolic link %s: %s\n" msgstr "无法移除符号链接 %s:%s\n" #: wcd.c:975 #, c-format msgid "%s is a symbolic link to a file.\n" msgstr "%s 是指向另一个文件的符号链接\n" #: wcd.c:1058 #, c-format msgid "Recursively remove %s? Are you sure? y/n :" msgstr "您确定要递归删除 %s 吗?是/否 (y/n):" #: wcd.c:1080 wcd.c:1090 #, c-format msgid "Removed directory %s\n" msgstr "已删除目录 %s\n" #: wcd.c:1122 wcd.c:1191 wcd.c:1259 #, fuzzy, c-format msgid "line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n" msgstr "%s 中行太长 ( > %d)。目录树文件可能已损坏,如情况并非如此,请于源代码增加 DD_MAXPATH 赋值以修复此问题。\n" #: wcd.c:1123 wcd.c:1192 wcd.c:1260 #, c-format msgid "file: %s, line: %d," msgstr "文件:%s,行:%d," #: wcd.c:1130 wcd.c:1199 wcd.c:1267 #, c-format msgid " length: %d\n" msgstr " 长度:%d\n" #: wcd.c:1768 wcd.c:1837 msgid "Alias file in UTF-16 format is not supported.\n" msgstr "" #: wcd.c:1937 #, c-format msgid "" "Usage: wcd [options] [directory]\n" "\n" msgstr "" "用法:wcd [选项] [路径]\n" "\n" #: wcd.c:1938 #, c-format msgid "directory: Name of directory to change to.\n" msgstr "路径:要切换的路径名称。\n" #: wcd.c:1939 #, c-format msgid "" " Wildcards *, ? and [SET] are supported.\n" "\n" msgstr "" " 支持通配符 *,? 及 [SET]。\n" "\n" #: wcd.c:1941 #, c-format msgid "options:\n" msgstr "选项:\n" #: wcd.c:1942 #, c-format msgid " -a Add current path to treefile\n" msgstr " -a 将当前路径添加到目录树文件\n" #: wcd.c:1943 #, c-format msgid " -aa Add current and all parent paths to treefile\n" msgstr " -aa 将当前及所有父路径添加到目录树文件\n" #: wcd.c:1944 #, c-format msgid " -A PATH Add tree from PATH\n" msgstr " -A 目录 从 <目录> 添加目录树\n" #: wcd.c:1945 #, c-format msgid " -b Ban current path\n" msgstr " -b 禁用当前路径\n" #: wcd.c:1946 #, c-format msgid " -c, --direct-cd direct CD mode\n" msgstr " -c, --direct-cd 直接 CD(目录切换)模式\n" #: wcd.c:1947 #, c-format msgid " -d DRIVE set DRIVE for stack & go files (DOS)\n" msgstr " -d 驱动器 设置存放 stack & go 文件的 <驱动器> (DOS)\n" #: wcd.c:1948 #, c-format msgid " -e add current path to Extra treefile\n" msgstr " -e 将当前路径添加到附加目录树文件\n" #: wcd.c:1949 #, c-format msgid " -ee add current and all parent paths to Extra treefile\n" msgstr " -aa 将当前及所有父路径添加到附加目录树文件\n" #: wcd.c:1950 #, c-format msgid " -E PATH add tree from PATH to Extra treefile\n" msgstr " -E 目录 将 <目录> 内容添加到附加目录树文件\n" #: wcd.c:1951 #, c-format msgid " -f FILE use extra treeFile\n" msgstr " -f 文件 使用附加目录树 <文件>\n" #: wcd.c:1952 #, c-format msgid " +f FILE add extra treeFile\n" msgstr " +f 文件 添加附加目录树 <文件>\n" #: wcd.c:1953 #, c-format msgid " -g Graphics\n" msgstr " -g 图像输出\n" #: wcd.c:1954 #, c-format msgid " -gd Graphics, dump tree\n" msgstr " -g 图像输出,转储目录树\n" #: wcd.c:1955 #, c-format msgid " -G PATH set PATH Go-script\n" msgstr " -G 目录 设置 <目录> 的 Go 脚本\n" #: wcd.c:1956 #, c-format msgid " -GN, --no-go-script No Go-script\n" msgstr " -GN, --no-go-script 无 Go 脚本\n" #: wcd.c:1957 #, c-format msgid " -h, --help show this Help\n" msgstr " -h, --help 显示此帮助信息\n" #: wcd.c:1960 #, c-format msgid " -i, --ignore-case Ignore case (default)\n" msgstr " -i, --ignore-case 忽略大小写(默认)\n" #: wcd.c:1961 #, c-format msgid " +i, --no-ignore-case regard case\n" msgstr " +i, --no-ignore-case 区分大小写\n" #: wcd.c:1963 #, c-format msgid " -i, --ignore-case Ignore case\n" msgstr " -i, --ignore-case 忽略大小写\n" #: wcd.c:1964 #, c-format msgid " +i, --no-ignore-case regard case (default)\n" msgstr " +i, --no-ignore-case 区分大小写(默认)\n" #: wcd.c:1967 #, c-format msgid " -I, --ignore-diacritics Ignore diacritics\n" msgstr " -I, --ignore-diacritics 忽略变音符号\n" #: wcd.c:1968 #, c-format msgid " +I, --no-ignore-diacritics regard diacritics (default)\n" msgstr " -I, --ignore-diacritics 区分变音符号(默认)\n" #: wcd.c:1969 #, c-format msgid " -j, --just-go Just go mode\n" msgstr " -j, --just-go 直接前往模式\n" #: wcd.c:1970 #, c-format msgid " -k, --keep-paths Keep paths\n" msgstr " -k, --keep-paths 保持路径\n" #: wcd.c:1971 #, c-format msgid " -K, --color colors\n" msgstr " -K, --color 彩色输出\n" #: wcd.c:1972 #, c-format msgid " -l ALIAS aLias current directory\n" msgstr " -l 别名 为当前目录指定 <别名>\n" #: wcd.c:1973 #, fuzzy, c-format msgid " -ls List the aliases\n" msgstr " -g 图像输出\n" #: wcd.c:1974 #, c-format msgid " -L, --license show software License\n" msgstr " -L, --license 显示软件许可证\n" #: wcd.c:1975 #, c-format msgid " -m DIR Make DIR, add to treefile\n" msgstr " -m 目录 创建 <目录>,并添加到目录树文件\n" #: wcd.c:1976 #, c-format msgid " -M DIR Make DIR, add to extra treefile\n" msgstr " -m 目录 创建 <目录>,并添加到附加目录树文件\n" #: wcd.c:1977 #, c-format msgid " -n PATH use relative treefile in PATH\n" msgstr " -n 目录 使用 <目录> 中的相对目录树文件\n" #: wcd.c:1978 #, c-format msgid " +n PATH add relative treefile in PATH\n" msgstr " -n 目录 添加 <目录> 中的相对目录树文件\n" #: wcd.c:1979 #, c-format msgid " -N, --numbers use Numbers\n" msgstr " -N, --numbers 使用数字\n" #: wcd.c:1980 #, c-format msgid " -o use stdOut\n" msgstr " -o 使用标准输出\n" #: wcd.c:1981 #, c-format msgid " -od, --to-stdout dump matches\n" msgstr " -od, --to-stdout 转储匹配\n" #: wcd.c:1982 #, c-format msgid " -q, --quiet Quieter operation\n" msgstr " -q, --quiet 静默操作\n" #: wcd.c:1983 #, c-format msgid " -r DIR Remove DIR\n" msgstr " -r 目录 移除 <目录>\n" #: wcd.c:1984 #, c-format msgid " -rmtree DIR Remove DIR recursive\n" msgstr " -rmtree 目录 递归移除 <目录>\n" #: wcd.c:1985 #, c-format msgid " -s Scan disk from $HOME\n" msgstr " -s 从 $HOME 扫描磁盘\n" #: wcd.c:1986 #, c-format msgid " -S PATH Scan disk from PATH\n" msgstr " -S 目录 从 <目录> 扫描磁盘\n" #: wcd.c:1987 #, c-format msgid " +S PATH Scan disk from PATH, create relative treefile\n" msgstr " +S 目录 从 <目录> 扫描磁盘,创建相对目录树文件\n" #: wcd.c:1988 #, c-format msgid " -t don't strip /tmp_mnt from paths\n" msgstr " -t 不要从路径切除 /tmp_mnt\n" #: wcd.c:1989 #, c-format msgid " -T, --ascii-tree draw tree with ASCII characters\n" msgstr " -T, --ascii-tree 使用 ASCII 字符绘制目录树\n" #: wcd.c:1990 #, c-format msgid " -Ta, --alt-tree-nav Alternative tree navigation\n" msgstr " -Ta, --alt-tree-nav 备选目录树浏览模式\n" #: wcd.c:1991 #, c-format msgid " -TC, --center-tree Centered tree view\n" msgstr " -TC, --center-tree 居中目录树视图\n" #: wcd.c:1992 #, c-format msgid " -Tc, --compact-tree Compact tree\n" msgstr " -Tc, --compact-tree 紧凑目录树\n" #: wcd.c:1993 #, c-format msgid " -Td, --cjk-width support legacy CJK fonts\n" msgstr " -Td, --cjk-width 支持传统 CJK 字体\n" #: wcd.c:1994 #, c-format msgid " -u USER use USER's treefile\n" msgstr " -u 用户 使用 <用户> 的目录树文件\n" #: wcd.c:1995 #, c-format msgid " +u USER add USER's treefile\n" msgstr " +u 用户 为 <用户> 添加目录树文件\n" #: wcd.c:1996 #, c-format msgid " -v, --verbose Verbose operation\n" msgstr " -v, --verbose 详尽操作输出\n" #: wcd.c:1997 #, c-format msgid " -V, --version show Version info\n" msgstr " -V, --version 显示版本信息\n" #: wcd.c:1998 #, c-format msgid " -w, --wild-match-only Wild matching only\n" msgstr " -w, --wild-match-only 仅使用通配符匹配\n" #: wcd.c:1999 #, c-format msgid " -x PATH eXclude PATH during disk scan\n" msgstr " -x 目录 磁盘扫描时排除指定 <目录>\n" #: wcd.c:2000 #, c-format msgid " -xf FILE eXclude paths from FILE\n" msgstr " -xf 文件 从指定 <文件> 中确定要排除的目录\n" #: wcd.c:2001 #, c-format msgid " -y, --assume-yes assume Yes on all queries\n" msgstr " -y, --assume-yes 为所有询问项目假设肯定回应\n" #: wcd.c:2002 #, c-format msgid " -z NUMBER set max stack siZe\n" msgstr " -z 大小 设置目录栈的最大 <大小>\n" #: wcd.c:2003 #, c-format msgid " -[NUMBER] push dir (NUMBER times)\n" msgstr " -[NUMBER] 推进到目录(pushd,NUMBER 次)\n" #: wcd.c:2004 #, c-format msgid " +[NUMBER] pop dir (NUMBER times)\n" msgstr " -[NUMBER] 从目录跳出(popd,NUMBER 次)\n" #: wcd.c:2005 #, c-format msgid " = show stack\n" msgstr " = 显示目录栈\n" #: wcd.c:2014 wcd.c:2143 #, c-format msgid "wcd %s (%s) - Wherever Change Directory\n" msgstr "wcd %s (%s) - 目录随意换\n" #: wcd.c:2015 #, c-format msgid "" "Chdir for Dos and Unix.\n" "\n" msgstr "" "用于 Dos 和 Unix 的 Chdir。\n" "\n" #: wcd.c:2019 #, c-format msgid "DOS 16 bit version (WATCOMC).\n" msgstr "DOS 16 位版本(WATCOMC)。\n" #: wcd.c:2021 #, c-format msgid "DOS 16 bit version (TURBOC).\n" msgstr "DOS 16 位版本(TURBOC)。\n" #: wcd.c:2023 #, c-format msgid "DOS 32 bit version (DJGPP).\n" msgstr "DOS 32 位版本(DJGPP)。\n" #: wcd.c:2025 #, c-format msgid "DOS 32 bit version (WATCOMC).\n" msgstr "DOS 32 位版本(WATCOMC)。\n" #: wcd.c:2032 #, c-format msgid "Win64 version (MSVC %d).\n" msgstr "Win64 版本(MSVC %d)。\n" #: wcd.c:2034 #, c-format msgid "Win64 version (MinGW-w64).\n" msgstr "Win64 版本(MinGW-w64)。\n" #: wcd.c:2038 #, c-format msgid "Win32 version (WATCOMC).\n" msgstr "Win32 版本(WATCOMC)。\n" #: wcd.c:2040 #, c-format msgid "Win32 version (MSVC %d).\n" msgstr "Win32 版本(MSVC %d)。\n" #: wcd.c:2042 #, c-format msgid "Win32 version (MinGW-w64).\n" msgstr "Win32 版本(MinGW-w64)。\n" #: wcd.c:2044 #, c-format msgid "Win32 version (MinGW).\n" msgstr "Win32 版本(MinGW)。\n" #: wcd.c:2051 #, c-format msgid "This version is for MSYS and WinZsh.\n" msgstr "该版本适用于 MSYS 及 WinZsh。\n" #: wcd.c:2053 #, c-format msgid "This version is for Windows PowerShell.\n" msgstr "该版本适用于 Windows Powershell。\n" #: wcd.c:2055 #, c-format msgid "This version is for Windows Command Prompt (cmd.exe).\n" msgstr "该版本适用于 Windows 命令提示符(cmd.exe)。\n" #: wcd.c:2060 #, c-format msgid "OS/2 version" msgstr "OS/2 版本" #: wcd.c:2071 #, c-format msgid "This version is for native MSYS.\n" msgstr "该版本适用于原生 MSYS 环境。\n" #: wcd.c:2074 #, c-format msgid "Cygwin version.\n" msgstr "Cygwin 版本。\n" #: wcd.c:2077 #, c-format msgid "This version is for DJGPP DOS bash.\n" msgstr "该版本适用于 DJGPP DOS bash。\n" #: wcd.c:2080 #, c-format msgid "This version is for OS/2 bash.\n" msgstr "该版本适用于 OS/2 bash。\n" #: wcd.c:2083 #, c-format msgid "Interface: " msgstr "界面:" #: wcd.c:2089 #, c-format msgid "ncurses version %s.%d\n" msgstr "ncurses 版本 %s.%d.\n" #: wcd.c:2092 #, c-format msgid "PDCurses build %d\n" msgstr "PDCurses 构建 %d\n" #: wcd.c:2094 #, c-format msgid "curses\n" msgstr "curses\n" #: wcd.c:2103 #, c-format msgid "stdout\n" msgstr "stdout\n" #: wcd.c:2107 #, c-format msgid "Native language support included.\n" msgstr "包含本地语言支持。\n" #: wcd.c:2108 #, c-format msgid "LOCALEDIR=%s\n" msgstr "LOCALEDIR=%s\n" #: wcd.c:2110 #, c-format msgid "No native language support included.\n" msgstr "未包含本地语言支持。\n" #: wcd.c:2113 #, c-format msgid "Current locale uses CP%u encoding.\n" msgstr "当前语言环境使用 CP%u 编码。\n" #: wcd.c:2115 #, c-format msgid "Current locale uses %s encoding.\n" msgstr "当前语言环境使用 %s 编码。\n" #: wcd.c:2118 #, c-format msgid "With Unicode support.\n" msgstr "带有 Unicode 支持。\n" #: wcd.c:2123 #, c-format msgid " Euro symbol: " msgstr " 欧元符号: " #: wcd.c:2125 #, c-format msgid " Chinese characters: " msgstr " 中文字符: " #: wcd.c:2129 #, c-format msgid "Without Unicode support.\n" msgstr "不带有 Unicode 支持。\n" #: wcd.c:2132 #, c-format msgid "With Unicode normalization.\n" msgstr "带有 Unicode 规范化支持。\n" #: wcd.c:2134 #, c-format msgid "Without Unicode normalization.\n" msgstr "不带有 Unicode 归一化支持。\n" #: wcd.c:2137 #, c-format msgid "Download the latest executables and sources from:\n" msgstr "可从此处下载到最新的可执行文件及源代码:\n" #: wcd.c:2144 #, fuzzy, c-format msgid "" "Copyright (C) 1996-%d Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp on C3PO\n" "Copyright (C) 1995-1996 DJ Delorie on _fixpath()\n" "Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews on DOSDIR\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel and Igor Mandrichenko on recmatch()\n" msgstr "" "Copyright (C) 1997-2014 Erwin Waterlander\n" "Copyright (C) 1994-2002 Ondrej Popp 贡献 C3PO 支持\n" "Copyright (C) 1995-1996 DJ Delorie 贡献 _fixpath() 支持\n" "Copyright (C) 1995-1996 Borja Etxebarria 及 Olivier Sirol 贡献 Ninux Czo Directory\n" "Copyright (C) 1994-1996 Jason Mathews 贡献 DOSDIR 支持\n" "Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n" "Kai Uwe Rommel 及 Igor Mandrichenko 贡献 recmatch() 支持\n" #: wcd.c:2152 #, c-format msgid "" "Source code to scan Windows LAN was originally written and placed\n" "in the public domain by Felix Kasza.\n" "Markus Kuhn's free wcwidth() and wcswidth() implementations are used.\n" "Rugxulo is the original author of query_con_codepage() (public domain).\n" "\n" msgstr "" "用于扫描 Windows 局域网的源代码最初由 Felix Kasza 编写并放置于公共领域。\n" "本软件使用了 Markus Kuhn 的自由 wcwidth() 及 wcswidth() 实现。\n" "Rugxulo 是 query_con_codepage() 的原作者(公共领域)。\n" "\n" #: wcd.c:2158 #, c-format msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" "\n" msgstr "" "本软件是自由软件;您可以遵循自由软件基金会所发布的 GNU 通用\n" "公共许可证版本 3 或(您自行选择)之后版本进行再发布和/或修改。\n" "\n" "\n" #: wcd.c:2164 #, c-format msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "发布这个程序只是希望它能有所用途而不附有任何的保证,\n" "甚至也不暗示它有商品价值或能合用于特定的目的。细节请见\n" "GNU 通用公共许可证。\n" "\n" #: wcd.c:2170 #, c-format msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" msgstr "" "你应已与此程序一同获取了一份 GNU 通用公共许可证的副本;\n" "要是没有的话,可以写信给 Free SoftwareFoundation, Inc.,\n" "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 索取。\n" "\n" #: wcd.c:2203 #, c-format msgid "creating directory %s\n" msgstr "正在创建目录 %s\n" #: wcd.c:2535 wcd.c:2575 wcd.c:2590 wcd.c:2658 wcd.c:2727 wcd.c:3229 wcd.c:3248 #, c-format msgid "Value of environment variable %s is too long.\n" msgstr "环境变量 %s 的值太长。\n" #: wcd.c:2564 #, c-format msgid "Failed to unset environment variable TERM: %s\n" msgstr "无法取消设置 TERM 环境变量:%s\n" #: wcd.c:2622 wcd.c:2651 msgid "Environment variable HOME or WCDHOME is not set.\n" msgstr "未设置环境变量 HOME 及 WCDHOME。\n" #: wcd.c:2834 #, fuzzy, c-format msgid "aliasfile: %s\n" msgstr "%s 已添加到别名文件 %s\n" #: wcd.c:2848 msgid "HOME is not defined\n" msgstr "HOME 未定义\n" #: wcd.c:2852 msgid "WCDHOME is not defined\n" msgstr "WCDHOME 未定义\n" #: wcd.c:2856 msgid "WCDSCAN is not defined\n" msgstr "WCDSCAN 未定义\n" #: wcd.c:2881 msgid "Graphics mode only supported in wcd with curses-based interface.\n" msgstr "只有带有基于 curses 界面的 wcd 支持图形模式。\n" #: wcd.c:3162 #, c-format msgid "%s added to aliasfile %s\n" msgstr "%s 已添加到别名文件 %s\n" #: wcd.c:3261 #, c-format msgid "Unable to read file %s or %s\n" msgstr "无法读取文件 %s 或 %s\n" #: wcd.c:3411 #, c-format msgid "WCDSCAN directory {%s}\n" msgstr "WCDSCAN 目录 {%s}\n" #: wcd.c:3413 #, c-format msgid "banning {%s}\n" msgstr "禁止 {%s}\n" #: wcd.c:3415 #, c-format msgid "excluding {%s}\n" msgstr "排除 {%s}\n" #: wcd.c:3417 #, c-format msgid "filtering {%s}\n" msgstr "过滤 {%s}\n" #: wcd.c:3677 #, c-format msgid "No directory found matching %s\n" msgstr "未找到匹配 %s 的路径\n" #: wcd.c:3678 msgid "Perhaps you need to rescan the disk or path is banned.\n" msgstr "磁盘可能需要重新扫描,或此路径可能已被禁止。\n" #: wcd.c:3807 #, c-format msgid "Cannot change to %s\n" msgstr "无法切换到 %s\n" #: wcddir.c:109 #, c-format msgid "%lu (\"%s\") reported by \"%s\".\n" msgstr "\"%3$s\" 报告了 %1$lu(\"%2$s\")。\n" #: wcddir.c:131 msgid "access denied.\n" msgstr "访问被拒绝。\n" #: wcddir.c:206 #, c-format msgid "Searching for shared directories on server %s\n" msgstr "正在搜索服务器 %s 上的共享目录\n" #: wcddir.c:218 #, c-format msgid "Found %lu shared directories on server %s\n" msgstr "在服务器 %2$s 上发现 %1$lu 个共享目录\n" #: wcddir.c:335 msgid "Unable to get current working directory: " msgstr "无法获取当前的工作目录:" #: wcddir.c:362 #, c-format msgid "Unable to change to directory %s: " msgstr "无法切换到目录 %s:" #: wcddir.c:392 #, c-format msgid "Unable to create directory %s: " msgstr "无法创建目录 %s:" #: wcddir.c:420 #, c-format msgid "Unable to remove directory %s: " msgstr "无法移除目录 %s:" #: wcddir.c:543 wcddir.c:554 #, c-format msgid "Unable to create directory %s: %s\n" msgstr "无法创建目录 %s:%s\n" #: wcddir.c:660 #, c-format msgid "Unable to get current working directory: %s\n" msgstr "无法获取当前的工作目录:%s\n" #: wcddir.c:674 #, c-format msgid "Unable to change to directory %s: %s\n" msgstr "无法切换到目录 %s:%s\n" #: wcddir.c:683 #, c-format msgid "Unable to remove directory %s: %s\n" msgstr "无法移除目录 %s:%s\n" #: stack.c:101 msgid "Error parsing stack\n" msgstr "解析目录栈时发生错误\n" #: display.c:263 msgid "internal error in maxLength(), list == NULL\n" msgstr "maxLength(), list == NULL 处发生内部错误\n" #: display.c:284 msgid "internal error in maxLengthStack(), s == NULL\n" msgstr "maxLengthStack(), s == NULL 处发生内部错误\n" #: display.c:524 display.c:1150 display.c:1538 #, c-format msgid "Perfect match for %d directories." msgstr "%d 个完全匹配的目录。" #: display.c:526 display.c:1152 display.c:1540 #, c-format msgid "Wild match for %d directories." msgstr "%d 个通配符匹配的目录。" #: display.c:530 display.c:1164 display.c:1542 display.c:1585 #, c-format msgid "Please choose one ( to abort): " msgstr "请选择其中一个(按回车键中止):" #: display.c:532 display.c:608 display.c:640 display.c:1157 #, c-format msgid " w=up x=down ?=help Page %d/%d " msgstr " w=上移 x=下移 ?=帮助 第 %d/%d 页 " #: display.c:684 display.c:1180 msgid "Screenheight must be > 20 for help." msgstr "屏幕高度必须大于 20 字符才能显示帮助信息" #: display.c:689 display.c:1183 msgid "w or page up" msgstr "w 或 向上翻页" #: display.c:690 display.c:1184 msgid "x or z or page down" msgstr "x 或 z 或 向下翻页" #: display.c:691 display.c:1185 msgid ", or scroll 1 left" msgstr ", 或 向左滚动一个字符" #: display.c:692 display.c:1186 msgid ". or scroll 1 right" msgstr ", 或 向右滚动一个字符" #: display.c:693 display.c:1187 msgid "< or [ scroll 10 left" msgstr "< 或 [ 向左滚动 10 个字符" #: display.c:694 display.c:1188 msgid "> or ] scroll 10 right" msgstr "> 或 ] 向右滚动 10 个字符" #: display.c:695 display.c:1189 msgid "CTRL-a or scroll to beginning" msgstr "CTRL-a 或 滚动到开头" #: display.c:696 display.c:1190 msgid "CTRL-e or scroll to end" msgstr "CTRL-e 或 滚动到结尾" #: display.c:697 display.c:1192 msgid "CTRL-c or abort" msgstr "CTRL-c 或 中止操作" #: display.c:698 display.c:1193 msgid " abort" msgstr " 中止操作" #: display.c:699 msgid "Type w or x to quit help." msgstr "按 w 或 x to 以退出帮助。" #: display.c:1191 graphics.c:1994 msgid "CTRL-l or F5 redraw screen" msgstr "CTRL-l 或 F5 重绘屏幕" #: display.c:1194 graphics.c:1979 graphics.c:1996 graphics.c:2019 #: graphics.c:2036 msgid "Press any key." msgstr "请按任意键。" #: display.c:1256 graphics.c:2289 msgid "Error opening terminal, falling back to stdout interface.\n" msgstr "开启终端失败,回退到 stdout 界面。\n" #: display.c:1277 msgid "screen height must be larger than 3 lines.\n" msgstr "屏幕高度必须高于 3 个字符。\n" #: display.c:1318 graphics.c:2314 msgid "error creating scroll window.\n" msgstr "创建滚动窗口失败。\n" #: display.c:1334 graphics.c:2330 msgid "error creating input window.\n" msgstr "创建输入窗口失败。\n" #: graphics.c:290 #, c-format msgid "Wcd: error: path too long" msgstr "Wcd:错误:路径太长" #: graphics.c:1940 msgid "/ = search forward, ? = search backward, : = help" msgstr "/ = 向前搜索, ? = 向后搜索, : = 帮助" #: graphics.c:1945 msgid "SEARCH: " msgstr "搜索:" #: graphics.c:1948 msgid "Search: " msgstr "搜索:" #: graphics.c:1964 msgid "NAVIGATION MODE (1/2):" msgstr "浏览模式 (1/2):" #: graphics.c:1965 msgid "h or go left" msgstr "h 或 向左" #: graphics.c:1966 msgid "j or go down" msgstr "j 或 向下" #: graphics.c:1967 msgid "k or go up" msgstr "k 或 向上" #: graphics.c:1968 msgid "l or go right" msgstr "l 或 向右" #: graphics.c:1969 msgid "* or v or go forward to dir with same name" msgstr "* 或 v 或 前进到同名目录" #: graphics.c:1970 msgid "# or p or go backward to dir with same name" msgstr "# 或 p 或 后退到同名目录" #: graphics.c:1971 msgid "^ or a go to beginning of line" msgstr "^ 或 a 前往行首" #: graphics.c:1972 msgid "$ or e go to end of line" msgstr "$ 或 e 前往行尾" #: graphics.c:1973 msgid "1 go to root dir" msgstr "1 前往根目录" #: graphics.c:1974 msgid "g or G go to last dir" msgstr "g 或 G 前往最后访问的目录" #: graphics.c:1975 msgid "f go page forward" msgstr "f 向前一个页面" #: graphics.c:1976 msgid "b go page backward" msgstr "b 向后一个页面" #: graphics.c:1977 msgid "u go half page up" msgstr "u 向上翻半页" #: graphics.c:1978 msgid "d go half page down" msgstr "d 向下翻半页" #: graphics.c:1985 msgid "NAVIGATION MODE (2/2):" msgstr "浏览模式 (2/2):" #: graphics.c:1986 msgid "A switch alternative tree navigation on/off" msgstr "A 开启/关闭备选目录树浏览方式" #: graphics.c:1987 msgid "t switch centered mode on/off" msgstr "t 开启/关闭居中模式" #: graphics.c:1988 msgid "T toggle between line drawing and ASCII characters" msgstr "T 切换制表符或 ASCII 字符绘图" #: graphics.c:1989 msgid "m toggle between compact and wide tree" msgstr "m 切换紧凑或宽目录树" #: graphics.c:1990 msgid " or q abort" msgstr " 或 q 中止" #: graphics.c:1991 msgid "/ search forward" msgstr "/ 向前搜索" #: graphics.c:1992 msgid "? search backward" msgstr "? 向后搜索" #: graphics.c:1993 msgid "n repeat last / or ? search" msgstr "n 重复上一个 / 或 ? 搜索操作" #: graphics.c:1995 graphics.c:2018 msgid " select directory" msgstr " 选择目录" #: graphics.c:2002 msgid "SEARCH MODE with wildcard and subdir support:" msgstr "带有通配符及子目录支持的搜索模式:" #: graphics.c:2003 msgid " go left" msgstr " 向左" #: graphics.c:2004 msgid " go down" msgstr " 向下" #: graphics.c:2005 msgid " go up" msgstr " 向上" #: graphics.c:2006 msgid " go right" msgstr " 向右" #: graphics.c:2007 msgid "CTRL-v go forward to dir with same name" msgstr "CTRL-v 前进到同名目录" #: graphics.c:2008 msgid "CTRL-p go backward to dir with same name" msgstr "CTRL-p 后退到同名目录" #: graphics.c:2009 msgid "CTRL-a go to beginning of line" msgstr "CTRL-a 前往行首" #: graphics.c:2010 msgid "CTRL-e go to end of line" msgstr "CTRL-e 前往行尾" #: graphics.c:2011 msgid "CTRL-g go to last dir" msgstr "CTRL-g 前往最后访问的目录" #: graphics.c:2012 msgid "CTRL-f go page forward" msgstr "CTRL-f 向前一个页面" #: graphics.c:2013 msgid "CTRL-b go page backward" msgstr "CTRL-b 向后一个页面" #: graphics.c:2014 msgid "CTRL-u go half page up" msgstr "CTRL-u 向上翻半页" #: graphics.c:2015 msgid "CTRL-d go half page down" msgstr "CTRL-d 向下翻半页" #: graphics.c:2016 msgid " or CTRL-x abort SEARCH MODE" msgstr " 或 CTRL-x 中止搜索模式" #: graphics.c:2017 msgid "CTRL-n repeat last / or ? search" msgstr "CTRL-n 重复上一个 / 或 ? 搜索操作" #: graphics.c:2025 msgid "ZOOMING:" msgstr "缩放:" #: graphics.c:2026 msgid "z or i or CTRL-i zoom in" msgstr "z 或 i 或 CTRL-i 放大" #: graphics.c:2027 msgid "Z or o or CTRL-o zoom out" msgstr "Z 或 o 或 CTRL-o 缩小" #: graphics.c:2028 msgid "c condense: fold current level" msgstr "c 压缩:折叠当前级别" #: graphics.c:2029 msgid "C condense: fold subdir level" msgstr "C 压缩:折叠子目录级别" #: graphics.c:2030 msgid "w condense: fold current and subdir levels" msgstr "w 压缩:折叠当前及子目录级别" #: graphics.c:2031 msgid "y or CTRL-y uncondense: unfold current and subdir levels" msgstr "y 或 CTRL-y 展开:展开当前及子目录级别" #: graphics.c:2032 msgid "r or CTRL-r uncondense: unfold all directories" msgstr "r 或 CTRL-r 展开:展开所有目录" #: graphics.c:2033 msgid "- fold directory" msgstr "- 折叠目录" #: graphics.c:2034 msgid "+ or = unfold directory" msgstr "+ 或 = 展开目录" #: graphics.c:2035 msgid "l or unfold and go right" msgstr "l 或 展开并向右前进" #: graphics.c:2039 msgid "Screenheight must be > 21 for help." msgstr "屏幕高度必须大于 21 字符才能显示帮助信息。" #: graphics.c:2271 graphics.c:2757 #, c-format msgid "Cannot find the current path %s in the directory tree.\n" msgstr "" #: finddirs.c:241 finddirs.c:249 finddirs.c:273 finddirs.c:300 finddirs.c:314 #, c-format msgid "Unable to remove file %s: %s\n" msgstr "无法移除文件 %s:%s\n" #: finddirs.c:322 finddirs.c:486 #, fuzzy, c-format msgid "Unable to close directory %s: %s\n" msgstr "无法创建目录 %s:%s\n" #: finddirs.c:365 #, c-format msgid "finddirs(): can't determine path in directory %s\n" msgstr "finddirs():无法确定目录 %s 中的路径\n" #: finddirs.c:366 msgid "path probably too long.\n" msgstr "路径很可能太长。\n" #: c3po/Error.c:41 #, c-format msgid "in '%s', insufficient memory for allocation\n" msgstr "'%s' 中,无法分配足够内存\n" #~ msgid "malloc error in wcd_fixpath()\n" #~ msgstr "wcd_fixpath() 函数中发生 malloc 错误\n" wcd-6.0.3/src/po-man/0000755000175500010010000000000013524756533013537 5ustar waterlanGeenwcd-6.0.3/src/po-man/de.po0000644000175500010010000034727713524756523014512 0ustar waterlanGeen# German translation of the wcd man page. # Copyright (C) 2014 Erwin Waterlander (msgids) # This file is distributed under the same license as the wcd package. # # Mario Blättermann , 2014, 2016-2017, 2019. msgid "" msgstr "" "Project-Id-Version: wcd-man 6.0.3-beta7\n" "POT-Creation-Date: 2019-01-11 20:02+0100\n" "PO-Revision-Date: 2019-01-19 17:13+0100\n" "Last-Translator: Mario Blättermann \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "X-Generator: Lokalize 18.12.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. type: =head1 #: wcd.pod:43 msgid "NAME" msgstr "BEZEICHNUNG" #. type: textblock #: wcd.pod:45 msgid "wcd - Wherever Change Directory" msgstr "wcd - Wherever Change Directory" #. type: textblock #: wcd.pod:47 msgid "chdir for DOS and Unix" msgstr "chdir für DOS und Unix" #. type: =head1 #: wcd.pod:49 msgid "SYNOPSIS" msgstr "ÜBERSICHT" #. type: verbatim #: wcd.pod:51 #, no-wrap msgid "" " wcd [options] [directory]\n" "\n" msgstr "" " wcd [Optionen] [Verzeichnis]\n" "\n" #. type: =head1 #: wcd.pod:53 msgid "DESCRIPTION" msgstr "BESCHREIBUNG" #. type: =head2 #: wcd.pod:55 msgid "Overview" msgstr "Übersicht" #. type: textblock #: wcd.pod:57 msgid "Wcd is a command-line program to change directory fast. It saves time typing at the keyboard. One needs to type only a part of a directory name and wcd will jump to it. Wcd has a fast selection method in case of multiple matches and allows aliasing and banning of directories. Wcd also includes a full screen interactive directory tree browser with speed search." msgstr "Wcd ist ein Befehlszeilenprogramm zum schnellen Verzeichniswechsel. Es spart Zeit bei Tastatureingaben. Sie brauchen nur den Teil eines Verzeichnisnamens einzugeben, und wcd wechselt dorthin. Im Falle mehrerer Treffer verfügt wcd über eine Methode zur Schnellauswahl und ermöglicht die Definition von Aliasen und das Verbannen von Verzeichnissen. Außerdem beinhaltet wcd einen interaktiven Verzeichnisbaumbrowser im Vollbildmodus mit schneller Suche." #. type: textblock #: wcd.pod:63 msgid "Wcd was modeled after Norton Change Directory (NCD). NCD appeared first in I, for DOS in 1987, published by Peter Norton." msgstr "Wcd wurde nach dem Vorbild des Norton Change Directory (NCD) entworfen. NCD erschien zuerst 1987 in I für DOS, veröffentlicht von Peter Norton." #. type: textblock #: wcd.pod:66 msgid "Wcd has been ported to different command-line shells: DOS command.com, Windows cmd.exe and PowerShell, OS/2 cmd.exe, and Unix shells such as Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), and C (csh) shell and others running on any operating system." msgstr "Wcd wurde auf verschiedene Befehlszeileninterpreter portiert: DOS (command.com), Windows (cmd.exe und PowerShell), OS/2 (cmd.exe) sowie Unix-Shells wie Bourne- (sh), Bourne-Again- (bash), Korn- (ksh), Z- (zsh) und die C- (csh) Shell und weitere auf verschiedenen Betriebssystemen ausführbare Shells." #. type: textblock #: wcd.pod:71 msgid "Wcd supports 8 bit character sets on all systems, and has optional support for Unicode. See section LOCALIZATION." msgstr "Wcd unterstützt 8-Bit-Zeichensätze auf allen Systemen und verfügt über optionale Unterstützung für Unicode. Weitere Informationen hierzu finden Sie im Abschnitt LOKALISIERUNG." #. type: textblock #: wcd.pod:74 msgid "See section INSTALLATION how to setup wcd for personal use." msgstr "Im Abschnitt INSTALLATION finden Sie Anweisungen, wie Sie wcd an Ihre persönlichen Wünsche anpassen können." #. type: =head2 #: wcd.pod:76 msgid "Basic use" msgstr "Grundlegende Verwendung" #. type: textblock #: wcd.pod:78 msgid "By default (if no wildcards are used) wcd searches for a directory with a name that begins with the typed name." msgstr "Per Vorgabe (wenn keine Platzhalter verwendet werden) sucht wcd nach einem Verzeichnis, dessen Name mit dem eingegebenen Namen beginnt." #. type: textblock #: wcd.pod:81 msgid "For instance this command will change to directory to the current user's C:" msgstr "Beispielsweise wechselt dieser Befehl in das Verzeichnis C des aktuellen Benutzers:" #. type: verbatim #: wcd.pod:84 #, no-wrap msgid "" " wcd Desk\n" "\n" msgstr "" " wcd Desk\n" "\n" #. type: textblock #: wcd.pod:86 msgid "When there are multiple matches, wcd will present the user a list of all matches. The user can then make a selection with a few keystrokes (most of the times only one)." msgstr "Bei mehreren möglichen Übereinstimungen zeigt wcd eine Liste aller Möglichkeiten an. Der Benutzer kann dann mit einigen Tastenkürzeln seine Auswahl treffen (meist nur mit einem)." #. type: =head2 #: wcd.pod:90 msgid "Wildcards" msgstr "Platzhalter" #. type: textblock #: wcd.pod:92 msgid "Wcd supports following wildcards:" msgstr "Wcd unterstützt die folgenden Platzhalter:" #. type: verbatim #: wcd.pod:94 #, no-wrap msgid "" " * matches any sequence of characters (zero or more)\n" " ? matches any character\n" " [SET] matches any character in the specified set,\n" " [!SET] or [^SET] matches any character not in the specified set.\n" "\n" msgstr "" " * findet jede Zeichensequenz (kein oder mehr Zeichen)\n" " ? findet jedes einzelne Zeichen\n" " [GRUPPE] findet jedes Zeichen in der angegebenen Gruppe,\n" " [!GRUPPE] oder [^GRUPPE] findet jedes Zeichen, das in der angegebenen\n" " GRUPPE nicht enthalten ist.\n" "\n" #. type: textblock #: wcd.pod:99 msgid "A set is composed of characters or ranges; a range looks like I as in C<0-9> or C. The C<[0-9a-zA-Z_]> is the minimal set of characters allowed in the C<[..]> pattern construct. International characters (i.e. 8 bit characters) are allowed if the system supports them. To suppress the special syntactic significance of any of C<[]*?!^-\\> inside or outside a C<[..]> construct and match the character exactly, precede the character with a backslash (C<\\>) marker." msgstr "Eine Gruppe wird als Zeichen oder Bereich angegeben. Ein Bereich folgt der Form I, zum Beispiel C<0-9> oder C. Dabei ist C<[0-9a-zA-Z_]> die minimal mögliche Gruppe nach dem Muster C<[..]>. Internationale Zeichen (zum Beispiel 8-Bit-Zeichen) sind erlaubt, falls das System diese unterstützt. Um die besondere syntaktische Bedeutung der Zeichen C<[]*?!^-\\> innerhalb oder außerhalb des Musters C<[..]> zu berücksichtigen, so dass das exakte Zeichen gefunden wird, stellen Sie dem Zeichen einen Rückschrägstrich (C<\\>) voran, um es zu maskieren." #. type: textblock #: wcd.pod:108 msgid "Using wildcards makes powerful searching possible. For instance this matches any directory name that ends with \"top\":" msgstr "Die Verwendung von Platzhaltern ermöglicht eine leistungsfähige Suche. Beispielsweise findet folgende Anfrage alle Verzeichnisse, deren Name auf »top« endet:" #. type: verbatim #: wcd.pod:111 #, no-wrap msgid "" " wcd *top\n" "\n" msgstr "" " wcd *top\n" "\n" #. type: textblock #: wcd.pod:113 msgid "Match directories that have \"top\" anywhere in the name:" msgstr "Nach Verzeichnissen suchen, deren Name an einer beliebigen Stelle »top« enthält:" #. type: verbatim #: wcd.pod:115 #, no-wrap msgid "" " wcd *top*\n" "\n" msgstr "" " wcd *top*\n" "\n" #. type: textblock #: wcd.pod:117 msgid "Match any directory name that begins with \"a\", \"b\" or \"c\":" msgstr "Nach Verzeichnissen suchen, deren Name mit »a«, »b«, oder »c« beginnt:" #. type: verbatim #: wcd.pod:119 #, no-wrap msgid "" " wcd [a-c]*\n" "\n" msgstr "" " wcd [a-c]*\n" "\n" #. type: textblock #: wcd.pod:121 msgid "It is also possible to give a part of a directory path. Here Wcd searches for directory that begins with \"Desk\" and which path matches I<*me/Desk*>." msgstr "Es ist auch möglich, einen Teil eines Verzeichnispfades anzugeben. Hier sucht Wcd nach Verzeichnissen, die mit »Desk« beginnen und der Pfad auf I<*me/Desk*> passt." #. type: verbatim #: wcd.pod:124 #, no-wrap msgid "" " wcd me/Desk\n" "\n" msgstr "" " wcd me/Desk\n" "\n" #. type: textblock #: wcd.pod:126 msgid "It is allowed to type any kind of expression with slashes and wildcards. E.g.:" msgstr "Es ist möglich, jede Art von Ausdruck mit Schrägstrichen und Platzhaltern einzugeben, zum Beispiel:" #. type: verbatim #: wcd.pod:129 #, no-wrap msgid "" " wcd src*/*1?/a*2\n" "\n" msgstr "" " wcd src*/*1?/a*2\n" "\n" #. type: =head2 #: wcd.pod:131 msgid "Other uses" msgstr "Weitere Anwendungsfälle" #. type: textblock #: wcd.pod:133 msgid "If no wildcards are used and wcd finds a perfect match, wcd will ignore all wild matches by default. This behaviour can be changed with the B<-w> option." msgstr "Falls keine Platzhalter verwendet werden und wcd eine perfekte Übereinstimmung findet, werden alle »unscharfen« Übereinstimmungen per Vorgabe ignoriert. Dieses Verhalten kann mit der Option B<-w> geändert werden." #. type: textblock #: wcd.pod:136 msgid "The interactive directory tree browser can be started by using option B<-g>." msgstr "Der interaktive Verzeichnisbaumbrowser kann mit der Option B<-g> gestartet werden." #. type: verbatim #: wcd.pod:138 #, no-wrap msgid "" " wcd -g\n" "\n" msgstr "" " wcd -g\n" "\n" #. type: textblock #: wcd.pod:140 msgid "Wcd generates a treedata file where it searches the directory. On Unix and Windows systems wcd does add symbolic links to the treedata file while scanning the disk, but does not follow them. While following links wcd could end up scanning infinite loops, or scan very large portions of a network." msgstr "Wcd generiert eine Baumdatei, in der nach dem Verzeichnis gesucht wird. Auf Unix- und Windows-Systemen fügt wcd beim Einlesen des Laufwerksinhalts symbolische Links zur Baumdatei hinzu, folgt diesen aber nicht. Dies wird deshalb unterdrückt, weil das Einlesen in einer Endlosschleife enden könnte oder größere Teile eines Netzwerks eingelesen werden müssten." #. type: textblock #: wcd.pod:145 msgid "Wcd can also change to directories that are not in the treedata file. E.g.:" msgstr "Wcd kann auch in Verzeichnisse wechseln, die nicht in der Baumdatei enthalten sind, zum Beispiel:" #. type: verbatim #: wcd.pod:147 #, no-wrap msgid "" " wcd ..\n" "\n" msgstr "" " wcd ..\n" "\n" #. type: textblock #: wcd.pod:149 msgid "If wcd found a match but can't change to the directory it tries to remove it from the default treedata file. Not from the extra treedata file. See also option B<-k>." msgstr "Falls wcd einen Treffer findet, aber nicht in das Verzeichnis wechseln kann, versucht es, dieses Verzeichnis aus der Baumdatei zu entfernen, jedoch nicht aus der zusätzlichen Baumdatei. Siehe auch die Option B<-k>." #. type: textblock #: wcd.pod:153 msgid "Wcd keeps a directory stack which is stored on disk. The stack has a default size of 10 and is cyclic. See options B<-z>, B<->, B<+> and B<=>." msgstr "Wcd erstellt einen Verzeichnisstapel, der auf dem Laufwerk gespeichert wird. Der Stapel hat die vorgegebene Größe 10 und ist zyklisch. Siehe die Optionen B<-z>, B<->, B<+> und B<=>." #. type: textblock #: wcd.pod:157 msgid "In multi-user environments option B<-u> can be used to change to directories of other users." msgstr "In Umgebungen mit mehreren Benutzern kann mit der Option B<-u> in die Verzeichnisse anderer Benutzer gewechselt werden." #. type: textblock #: wcd.pod:161 msgid "On DOS and Windows systems it does not matter if you use a slash \"/\" or a backslash \"\\\" as a directory separator." msgstr "Auf DOS- und Windows-Systemen ist es nicht von Bedeutung, ob Sie einen Schrägstrich »/« oder einen Rückschrägstrich »\\« als Verzeichnistrenner verwenden." #. type: textblock #: wcd.pod:164 msgid "It is possible on DOS and Windows systems to change drive and directory in one go by preceding the directory name with the drive name." msgstr "Auf DOS- und Windows-Systemen ist es möglich, gleichzeitig das Laufwerk und das Verzeichnis zu wechseln, indem Sie dem Verzeichnisnamen den Laufwerksnamen voranstellen." #. type: verbatim #: wcd.pod:167 #, no-wrap msgid "" " wcd d:games\n" "\n" msgstr "" " wcd d:games\n" "\n" #. type: =head2 #: wcd.pod:171 msgid "Windows UNC paths" msgstr "UNC-Pfade unter Windows" #. type: textblock #: wcd.pod:173 msgid "The Windows versions (Command Prompt, PowerShell, MSYS, zsh, cygwin) support Windows SMB LAN UNC paths without drive letter such as C<\\\\servername\\sharename>. Wcd for Windows Command Prompt makes use of the \"pushd\" command to automatically map a UNC path to a drive letter. In Windows PowerShell, MSYS, zsh and Cygwin UNC paths are fully supported. The current working directory can be a UNC path." msgstr "Die Windows-Versionen (Befehlszeileninterpreter, PowerShell, MSYS, zsh, cygwin) unterstützen SMB-LAN-UNC-Pfade ohne Laufwerksbuchstaben wie C<\\\\Servername\\Freigabename>. Wcd für den Windows-Befehlszeileninterpreter benutzt den »pushd«-Befehl, um einem UNC-Pfad automatisch einen Laufwerksbuchstaben zuzuordnen. In der Windows PowerShell, MSYS, zsh und Cygwin werden UNC-Pfade vollständig unterstützt. Das aktuelle Arbeitsverzeichnis kann ein UNC-Pfad sein." #. type: =head2 #: wcd.pod:180 msgid "Console resizing on Windows" msgstr "Größenänderung der Konsole unter Windows" #. type: textblock #: wcd.pod:182 msgid "Wcd supports console resizing in Windows 10 console and ConEmu (see L) since version 6.0.3. The Windows 10 console must not be in legacy mode (check the console's properties). The screen may not refresh when the console Layout property \"Wrap text output on resize\" is disabled. The screen can be refreshed manually by pressing the F5 key." msgstr "Wcd unterstützt seit Version 6.0.3 die Größenänderung der Konsole unter Windows 10 und ConEmu (siehe L). Die Windows-10-Konsole darf nicht im Legacy-Modus sein (prüfen sie das in den Einstellungen der Konsole). Der Bildschirm darf nicht aktualisiert werden, wenn »Wrap text output on resize« deaktiviert ist. Der Bildschirm kann manuell durch Drücken von F5 aktualisiert werden." #. type: =head2 #: wcd.pod:189 msgid "Interfaces" msgstr "Schnittstellen" #. type: textblock #: wcd.pod:191 msgid "Wcd has three different interfaces to choose from a list of matches. The interface can be chosen at compile time." msgstr "Wcd verfügt über drei verschiedene Schnittstellen, um aus einer Übereinstimmungsliste zu wählen. Die Schnittstelle wird bei der Kompilierung ausgewählt." #. type: textblock #: wcd.pod:194 msgid "The first interface uses plain stdin/stdout. A numbered list is printed in the terminal. The user has to choose from the list by typing a number followed by . This interface does not provide scroll back functionality in case of a long list. The scroll back capability of the terminal/console has to be used. It is very small and portable." msgstr "Die erste Schnittstelle verwendet die Standardeingabe und -ausgabe (stdin/stdout). Eine nummerierte Liste wird im Terminal ausgegeben. Sie können aus dieser Liste wählen, indem Sie eine Zahl eingeben und die drücken. Diese Liste kann nicht zurückgerollt werden, wenn sie für die Bildschirmausgabe zu lang ist. Dafür muss die Zurückrollfunktion des Terminals oder der Konsole verwendet werden. Diese Schnittstelle ist sehr klein und portabel." #. type: textblock #: wcd.pod:200 msgid "The second interface is built with the conio library. It provides a builtin scroll back capability. The user is presented a list numbered with letters. Choosing from a list can be done by pressing just one letter. This interface is fast because it saves keystrokes. If possible the screen will be restored after exiting. One who prefers to type numbers can use the B<-N> option." msgstr "Die zweite Schnittstelle setzt auf der Conio-Bibliothek auf. Hier ist eine Zurückrollfunktion bereits eingebaut. Wiederum wird eine Liste angezeigt, die aber hier Buchstaben als Aufzählungszeichen verwendet. Zur Auswahl eines Listeneintrags drücken Sie einfach die entsprechende Buchstabentaste. Wenn möglich, wird der Bildschirminhalt nach dem Beenden wiederhergestellt. Wenn Sie Zahlen anstatt Buchstaben bevorzugen, können Sie die Option B<-N> verwenden." #. type: textblock #: wcd.pod:207 msgid "The third interface is built with the curses library. It is similar to the conio interface. The curses version of wcd has also an additional 'graphical' interface. It lets the user select a directory via a full screen interactive directory tree browser. It has a vim(1) like navigation and search method. It can be activated with option B<-g>." msgstr "Die dritte Schnittstelle verwendet die Curses-Bibliothek und ist ähnlich der Conio-Schnittstelle. Die Curses-Schnittstelle von wcd hat zusätzlich auch eine »grafische« Oberfläche. Sie können ein Verzeichnis in einem interaktiven Verzeichnisbaumbrowser im Vollbildmodus auswählen. Die Navigation und Suchmethoden sind ähnlich wie in vim(1). Diese Schnittstelle kann mit der Option B<-g> aktiviert werden." #. type: textblock #: wcd.pod:213 msgid "By using the B<-o> option one can always fall back to the stdin/stdout interface." msgstr "Mit der Option B<-o> ist es jederzeit möglich, auf die stdin/stdout-Schnittstelle (Standardeingabe/Standardausgabe) auszuweichen." #. type: =head1 #: wcd.pod:216 msgid "OPTIONS" msgstr "OPTIONEN" #. type: =item #: wcd.pod:220 msgid "B<-a>" msgstr "B<-a>" #. type: textblock #: wcd.pod:222 msgid "Add current path to the default treedata file." msgstr "fügt den aktuellen Pfad zur vorgegebenen Baumdatei hinzu." #. type: textblock #: wcd.pod:224 msgid "Use this option to quickly add the current path to the default treedata file. Re-scanning the complete disk can take a long time in some cases." msgstr "Verwenden Sie diese Option, um schnell den aktuellen Pfad zur Baumdatei hinzuzufügen. Das erneute Einlesen des kompletten Laufwerks kann in manchen Fällen recht lange dauern." #. type: =item #: wcd.pod:227 msgid "B<-aa>" msgstr "B<-aa>" #. type: textblock #: wcd.pod:229 msgid "Add current and all parent paths to the default treedata file." msgstr "fügt den aktuellen und alle übergeordneten Pfade zur vorgegebenen Baumdatei hinzu." #. type: =item #: wcd.pod:231 msgid "B<-A PATH>" msgstr "B<-A PFAD>" #. type: textblock #: wcd.pod:233 msgid "Scan directory tree from I and append to the default treedata file. Examples:" msgstr "liest den Verzeichnisbaum aus I und fügt ihn zur vorgegebenen Baumdatei hinzu. Beispiele:" #. type: verbatim #: wcd.pod:236 #, no-wrap msgid "" " wcd -A .\n" " wcd -A /home -A /etc\n" " wcd -A d: -A e: -A \\\\server\\share\n" "\n" msgstr "" " wcd -A .\n" " wcd -A /home -A /etc\n" " wcd -A d: -A e: -A \\\\server\\share\n" "\n" #. type: textblock #: wcd.pod:240 msgid "On Windows one can scan all shared directories of a Windows LAN server by typing something like: C." msgstr "Unter Windows können Sie alle freigegebenen Verzeichnisse eines Windows-LAN-Servers einlesen, indem Sie etwa Folgendes eingeben: C." #. type: textblock #: wcd.pod:244 msgid "See also option B<-S> and B<-s> and B<-E>." msgstr "Siehe auch die Optionen B<-S>, B<-s> und B<-E>." #. type: =item #: wcd.pod:246 msgid "B<-b>" msgstr "B<-b>" #. type: textblock #: wcd.pod:248 msgid "Ban current path." msgstr "verbannt den aktuellen Pfad." #. type: textblock #: wcd.pod:250 msgid "Wcd places the current path in the ban file. This means that wcd ignores all matches of this directory and its sub directories." msgstr "Wcd speichert den aktuellen Pfad in der Bann-Datei. Das bedeutet, dass zukünftig alle Übereinstimmungen ignoriert werden, die sich auf dieses Verzeichnis und dessen Unterverzeichnisse beziehen." #. type: textblock #: wcd.pod:253 msgid "The ban file can be edited with a text editor. Use of wildcards is supported and names are matched against the absolute path." msgstr "Die Bann-Datei kann mit einem Texteditor bearbeitet werden. Die Verwendung von Platzhaltern ist möglich, außerdem werden Namensübereinstimmungen auf den absoluten Pfad bezogen." #. type: textblock #: wcd.pod:256 msgid "Banned paths are not excluded from scanning the disk. To do that use option B<-xf>." msgstr "Verbannte Pfade werden beim Einlesen des Laufwerks nicht ausgeschlossen. Um dies zu tun, verwenden Sie die Option B<-xf>." #. type: =item #: wcd.pod:259 msgid "B<-c, --direct-cd>" msgstr "B<-c, --direct-cd>" #. type: textblock #: wcd.pod:261 msgid "Direct CD mode. By default wcd works as follows:" msgstr "Direkter CD-Modus. Per Vorgabe arbeitet wcd wie folgt:" #. type: verbatim #: wcd.pod:263 #, no-wrap msgid "" " 1. Try to find a match in the treedata file(s)\n" " 2. If no match, try to open the directory you typed.\n" "\n" msgstr "" " 1. Es wird versucht, einen Treffer in der oder den Baumdatei(en)\n" " zu finden.\n" " 2. Wird nichts gefunden, wird versucht, das eingegebene\n" " Verzeichnis zu öffnen.\n" "\n" #. type: textblock #: wcd.pod:266 msgid "In direct CD mode wcd works in reversed order." msgstr "Im direkten CD-Modus arbeitet wcd in umgekehrter Reihenfolge." #. type: verbatim #: wcd.pod:268 #, no-wrap msgid "" " 1. Try to open the directory you typed.\n" " 2. If not, try to find a match in the treedata file(s).\n" "\n" msgstr "" " 1. Es wird versucht, das eingegebene Verzeichnis zu öffnen.\n" " 2. Wird nichts gefunden, wird nach einem Treffer in der oder\n" " den Baumdatei(en) gesucht.\n" "\n" #. type: =item #: wcd.pod:272 msgid "B<-d DRIVE>" msgstr "B<-d LAUFWERK>" #. type: textblock #: wcd.pod:274 msgid "Set drive for stack and go file (DOS only)." msgstr "legt das Laufwerk für den Verzeichnisstapel und die Go-Datei fest (nur DOS)." #. type: textblock #: wcd.pod:276 msgid "The stack file and the go-script are by default stored on drive C: if environment variable I is not set. Use this option if drive C: is a read-only drive. This option must be used in front of the stack options B<->, B<+> and B<=>." msgstr "Die Stapeldatei und das Go-Skript werden per Vorgabe im Laufwerk »C:« gespeichert, wenn die Umgebungsvariable I nicht gesetzt ist. Verwenden Sie diese Option, wenn »C:« ein schreibgeschütztes Laufwerk ist. Diese Option muss vor den Stapeloptionen B<->, B<+> und B<=> stehen." #. type: =item #: wcd.pod:281 msgid "B<-e>" msgstr "B<-e>" #. type: textblock #: wcd.pod:283 msgid "Add current path to the extra treedata file." msgstr "fügt den aktuellen Pfad zur zusätzlichen Baumdatei hinzu." #. type: textblock #: wcd.pod:285 msgid "Use this option to quickly add the current path to the extra treedata file." msgstr "Verwenden Sie diese Option, um schnell den aktuellen Pfad zur zusätzlichen Baumdatei hinzuzufügen." #. type: =item #: wcd.pod:287 msgid "B<-ee>" msgstr "B<-ee>" #. type: textblock #: wcd.pod:289 msgid "Add current and all parent paths to extra treedata file." msgstr "fügt den aktuellen Pfad und alle übergeordneten Pfade zur zusätzlichen Baumdatei hinzu." #. type: =item #: wcd.pod:291 msgid "B<-E PATH>" msgstr "B<-E PFAD>" #. type: textblock #: wcd.pod:293 msgid "Scan directory tree from I and append to Extra treedata file. See also options B<-A> and B<-S>." msgstr "liest den Verzeichnisbaum aus I und fügt ihn zur zusätzlichen Baumdatei hinzu. Siehe auch die Optionen B<-A> und B<-S>." #. type: =item #: wcd.pod:296 msgid "B<-f FILE>" msgstr "B<-f DATEI>" #. type: textblock #: wcd.pod:298 msgid "Read treedata file I. Do not read the default treedata file." msgstr "liest die Baumdatei I. Die vorgegebene Baumdatei wird nicht gelesen." #. type: =item #: wcd.pod:300 msgid "B<+f FILE>" msgstr "B<+f DATEI>" #. type: textblock #: wcd.pod:302 msgid "Read treedata file I in addition to the default treedata file." msgstr "liest die Baumdatei I zusätzlich zur vorgegebenen Baumdatei." #. type: =item #: wcd.pod:304 msgid "B<-g>" msgstr "B<-g>" #. type: textblock #: wcd.pod:306 msgid "Graphical interface (only in version with curses interface)." msgstr "verwendet die grafische Benutzeroberfläche (nur in Versionen mit curses-Schnittstelle)." #. type: textblock #: wcd.pod:308 msgid "Wcd starts a textual curses based 'graphical' interface. The user can select a directory via a full-screen interactive directory tree browser. It has a vim(1) like navigation and search method." msgstr "Wcd startet eine textbasierte, auf der Curses-Bibliothek aufsetzende »grafische« Schnittstelle. Sie können ein Verzeichnis in einem interaktiven Verzeichnisbaumbrowser im Vollbildmodus auswählen. Die Navigation und Suchmethoden sind ähnlich wie in vim(1)." #. type: textblock #: wcd.pod:312 msgid "If no search string is given wcd presents the whole tree which is in the default treedata file and the extra treedata files." msgstr "Wenn keine Suchzeichenkette angegeben ist, stellt wcd den gesamten Baum aus den Inhalten der vorgegebenen und der zusätzlichen Baumdatei dar." #. type: textblock #: wcd.pod:315 msgid "If a search string is given the match list is presented as a directory tree." msgstr "Wenn eine Suchzeichenkette angegeben ist, wird die Trefferliste als Verzeichnisbaum angezeigt." #. type: textblock #: wcd.pod:318 msgid "The default tree layout is similar to the tree layout of the original NCD on DOS. The difference in layout is that in NCD all directories of a same depth level were vertically aligned over the whole tree. This was possible in NCD, because the maximum width of a directory name in DOS was 12 (8.3) characters. On modern operating systems directory names can be very long, so also the differences in length can be large. Therefore folders with a same depth are not vertically aligned over the whole tree in wcd, but only in sub-branches. So there is some sideways movement when moving straight up and down from one sub-branch to another sub-branch." msgstr "Die vorgegebene Ansicht des Baums ähnelt der Ansicht im originalen NCD unter DOS. Der Unterschied besteht darin, dass in NCD alle Verzeichnisse der gleichen Pfadtiefe im gesamten Baum vertikal angeordnet werden. Das war in NCD möglich, da ein Verzeichnisname in DOS nicht länger als 12 Zeichen (8.3) sein durfte. Auf modernen Betriebssystemen können Verzeichnisnamen sehr lang sein, außerdem sind große Unterschiede bei den Längen der Namen der verschiedenen Verzeichnisse möglich. Deswegen werden Verzeichnisse der gleichen Pfadtiefe in wcd nicht im gesamten Baum vertikal ausgerichtet, sondern nur in Verzweigungen. Daher kann es zu Seitenbewegungen kommen, wenn Sie eigentlich in der Hierarchie direkt nach oben oder von einer Verzweigung zu einer anderen navigieren wollen." #. type: textblock #: wcd.pod:328 msgid "The navigation behaviour in Wcd is exactly the same as in the original NCD. For instance if you push the Down key you go down to the next directory with the same depth level, jumping over branches. This enables fast navigation through the tree." msgstr "Das Navigationsverhalten in Wcd ist exakt das gleiche wie im originalen NCD. Wenn Sie beispielsweise die Pfeil-ab-Taste drücken, gehen Sie damit zum nächsten Verzeichnis der gleichen Tiefe in der Verzeichnishierarchie, wobei Verzweigungen übersprungen werden. Dies ermöglicht die schnelle Navigation durch den Baum." #. type: textblock #: wcd.pod:333 msgid "See options B<-Ta>, B<-TC>, and B<-Tc> to change the navigation behaviour." msgstr "Siehe die Optionen B<-Ta>, B<-TC> und B<-Tc> zum Ändern des Navigationsverhaltens." #. type: =item #: wcd.pod:335 msgid "B<-gd>" msgstr "B<-gd>" #. type: textblock #: wcd.pod:337 msgid "Dump the treedata files as a tree to stdout." msgstr "gibt die Baumdateien als Baum in die Standardausgabe aus." #. type: =item #: wcd.pod:339 msgid "B<-G PATH>" msgstr "B<-G PFAD>" #. type: textblock #: wcd.pod:341 msgid "Write go-script in directory I. For instance on Unix, C will write a go-script B." msgstr "schreibt das Go-Skript in das Verzeichnis I. Unter Unix beispielsweise schreibt C ein Go-Skript in B." #. type: =item #: wcd.pod:344 msgid "B<-GN, --no-go-script>" msgstr "B<-GN, --no-go-script>" #. type: textblock #: wcd.pod:346 msgid "Do not create go-script. This option can be used in combination with the option B<-j> if one does not want wcd to create a go-script." msgstr "verhindert die Erstellung eines Go-Skripts. Diese Option kann zusammen mit B<-j> verwendet werden, wenn Sie wcd kein Go-Skript schreiben lassen wollen." #. type: =item #: wcd.pod:349 msgid "B<-h, --help>" msgstr "B<-h, --help>" #. type: textblock #: wcd.pod:351 msgid "Show help and exit." msgstr "zeigt eine Hilfe an und beendet das Programm." #. type: =item #: wcd.pod:353 msgid "B<-i, --ignore-case>" msgstr "B<-i, --ignore-case>" #. type: textblock #: wcd.pod:355 msgid "Ignore case. Dos and Windows versions of wcd ignore case default. Unix/Cygwin versions regard case by default." msgstr "ignoriert Groß-/Kleinschreibung. In den DOS- und Windows-Versionen ist dies der Standard. In den Unix- und Cygwin-Versionen wird per Vorgabe die Groß-/Kleinschreibung berücksichtigt." #. type: =item #: wcd.pod:359 msgid "B<+i, --no-ignore-case>" msgstr "B<+i, --no-ignore-case>" #. type: textblock #: wcd.pod:361 msgid "Regard case. See also option B<-i>." msgstr "berücksichtigt Groß-/Kleinschreibung. Siehe auch Option B<-i>." #. type: =item #: wcd.pod:363 msgid "B<-I, --ignore-diacritics>" msgstr "B<-I, --ignore-diacritics>" #. type: textblock #: wcd.pod:365 msgid "Ignore diacritics for Latin-based scripts. Letters with diacritical marks match their base letter without diacritical mark. The following Latin encodings are supported: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, and Unicode Latin-1, Latin Extended-A, and Latin Extended-B. See also L" msgstr "ignoriert diakritische Zeichen des lateinischen Alphabets. Buchstaben mit diakritischen Zeichen werden wie die deren Basisbuchstaben behandelt. Die folgenden Latin-Zeichenkodierungen werden unterstützt: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, sowie Unicode Latin-1, Latin Extended-A, und Latin Extended-B. Siehe auch L" #. type: =item #: wcd.pod:372 msgid "B<+I, --no-ignore-diacritics>" msgstr "B<+I, --no-ignore-diacritics>" #. type: textblock #: wcd.pod:374 msgid "Regard diacritics (default). See also option B<-I>." msgstr "berücksichtigt diakritische Zeichen (Vorgabe). Siehe auch Option B<-I>." #. type: =item #: wcd.pod:376 msgid "B<-j, --just-go>" msgstr "B<-j, --just-go>" #. type: textblock #: wcd.pod:378 msgid "Just go mode." msgstr "Geh-einfach-Modus." #. type: textblock #: wcd.pod:380 msgid "In this mode wcd will not present a list when there is more than one directory that matches the given directory. Wcd will just change to the first option. When wcd is invoked again with the same arguments it will change to the next option, and so on." msgstr "In diesem Modus zeigt wcd keine Liste an, wenn mehr als ein Verzeichnis auf das angegebene Verzeichnis passt. Wcd wechselt nur einfach zum ersten Treffer. Beim erneuten Aufruf von wcd mit den gleichen Argumenten wird zum Verzeichnis im nächsten Treffer gewechselt, und so weiter." #. type: textblock #: wcd.pod:385 msgid "Wcd will print the directory to go to to stdout. So a different installation method can be used. One could make the following function for a POSIX compatible shell:" msgstr "Wcd gibt das Verzeichnis, in das gewechselt wird, in die Standardausgabe aus. So kann eine andere Installationsmethode verwendet werden. Sie könnten die folgende Funktion für eine POSIX-kompatible Shell erstellen:" #. type: verbatim #: wcd.pod:389 #, no-wrap msgid "" " wcd ()\n" " {\n" " cd \"$($HOME/bin/wcd.exe -j $@)\"\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " cd \"$($HOME/bin/wcd.exe -j $@)\"\n" " }\n" "\n" #. type: textblock #: wcd.pod:394 msgid "When you are using an old shell that doesn't support \"$()\" command substitution you have to use old style command substitution with back-quotes." msgstr "Wenn Sie mit einer älteren Shell arbeiten, die nicht über Unterstützung für die Befehlsersetzung mit »$()« verfügt, müssen Sie die auch die ältere Befehlsersetzung mit Gravis-Zeichen (Backtick, »`«) verwenden." #. type: verbatim #: wcd.pod:397 #, no-wrap msgid "" " wcd ()\n" " {\n" " cd \"`$HOME/bin/wcd.exe -j $@`\"\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " cd \"`$HOME/bin/wcd.exe -j $@`\"\n" " }\n" "\n" #. type: textblock #: wcd.pod:403 msgid "On Windows systems, if one is running 4NT shell, one could make the following alias:" msgstr "Auf Windows-Systemen mit einer NT4-Shell können Sie den folgenden Alias anlegen:" #. type: verbatim #: wcd.pod:406 #, no-wrap msgid "" " alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`\n" "\n" msgstr "" " alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`\n" "\n" #. type: textblock #: wcd.pod:409 msgid "This method eliminates the need of the go-script, so one can use option B<-GN> in combination with B<-j>." msgstr "Diese Methode macht ein Go-Skript überflüssig, daher können Sie die Option B<-GN> zusammen mit B<-j> verwenden." #. type: =item #: wcd.pod:412 msgid "B<-k, --keep-paths>" msgstr "B<-k, --keep-paths>" #. type: textblock #: wcd.pod:414 msgid "Keep paths." msgstr "erhält Pfade." #. type: textblock #: wcd.pod:416 msgid "Keep paths in the treedata file when wcd can't change to them. The default behaviour of wcd is that it tries to remove paths from the treedata when wcd can't change to them. With this option this behavior is turned off." msgstr "Die Pfade werden in der Baumdatei weiter vorgehalten, wenn wcd nicht dorthin wechseln kann. Das Vorgabeverhalten in diesem Fall ist, dass wcd versucht, diese Pfade aus der Baumdatei zu entfernen. Mit dieser Option wird das Vorgabeverhalten deaktiviert." #. type: =item #: wcd.pod:420 msgid "B<-K, --color>" msgstr "B<-K, --color>" #. type: textblock #: wcd.pod:422 msgid "Use colors in graphical mode." msgstr "verwendet Farben im grafischen Modus." #. type: =item #: wcd.pod:424 msgid "B<-l ALIAS>" msgstr "B<-l ALIAS>" #. type: textblock #: wcd.pod:426 msgid "Name the current path with I. Wcd places the current path with alias I in the alias file. Aliases are case sensitive." msgstr "benennt den aktuellen Pfad mit I. Wcd speichert den aktuellen Pfad mit dem I in der Alias-Datei. Bei Aliasen wird Groß-/Kleinschreibung berücksichtigt." #. type: =item #: wcd.pod:429 msgid "B<-ls>" msgstr "B<-ls>" #. type: textblock #: wcd.pod:431 msgid "Show the name of the alias file, and list all the aliases." msgstr "zeigt den Namen der Alias-Datei an und listet alle Aliase auf." #. type: =item #: wcd.pod:433 msgid "B<-m DIR>" msgstr "B<-m VERZEICHNIS>" #. type: textblock #: wcd.pod:435 msgid "Make directory and add to treedata file." msgstr "erstellt ein Verzeichnis und fügt es zur Baumdatei hinzu." #. type: =item #: wcd.pod:437 msgid "B<-L, --license>" msgstr "B<-L, --license>" #. type: textblock #: wcd.pod:439 msgid "Print the distribution license." msgstr "zeigt die Lizenz des Programms an." #. type: =item #: wcd.pod:441 msgid "B<-M DIR>" msgstr "B<-M VERZEICHNIS>" #. type: textblock #: wcd.pod:443 msgid "Make directory and add to extra treedata file." msgstr "erstellt ein Verzeichnis und fügt es zur zusätzlichen Baumdatei hinzu." #. type: =item #: wcd.pod:445 msgid "B<-n PATH>" msgstr "B<-n PFAD>" #. type: textblock #: wcd.pod:447 msgid "Read relative treedata file from I." msgstr "liest die relative Baumdatei aus I." #. type: textblock #: wcd.pod:449 msgid "Do not read the default treedata file. The relative treedata file should already have been created using the wcd B<+S> option. I may also point to a file directly." msgstr "Die Datei für die vorgegebene Baumansicht wird nicht gelesen. Die Datei für die relative Baumansicht sollte schon von wcd mit der Option B<+S> angelegt worden sein. I kann auch direkt auf eine Datei verweisen." #. type: textblock #: wcd.pod:453 msgid "An example. Suppose another system has been mounted to mount point C:" msgstr "Ein Beispiel. Nehmen wir an, ein anderes System wurde in C eingehängt:" #. type: verbatim #: wcd.pod:456 #, no-wrap msgid "" " wcd -n /mnt/network src\n" "\n" msgstr "" " wcd -n /mnt/network src\n" "\n" #. type: textblock #: wcd.pod:458 msgid "Wcd opens the relative treedata file in C. The file contains the paths relative from that point." msgstr "Wcd öffnet die Datei der relativen Baumansicht in C. Die Datei enthält die Pfade relativ von diesem Punkt aus betrachtet." #. type: =item #: wcd.pod:461 msgid "B<+n PATH>" msgstr "B<+n PFAD>" #. type: textblock #: wcd.pod:463 msgid "Read relative treedata file in addition to the default treedata file. See option B<-n>." msgstr "liest die Datei der relativen Baumansicht zusätzlich zur vorgegebenen Datei. Siehe Option B<-n>." #. type: =item #: wcd.pod:466 msgid "B<-N, --numbers>" msgstr "B<-N, --numbers>" #. type: textblock #: wcd.pod:468 msgid "Use numbers instead of letters." msgstr "verwendet Zahlen anstelle von Buchstaben." #. type: textblock #: wcd.pod:470 msgid "Wcd with a conio or curses based interface (see section Interfaces) presents a match list by default numbered with letters. When the B<-N> option is used the match list is numbered with numbers. Regardless of the B<-N> option one can type a letter or numbers to make a selection from the list of matches." msgstr "Wcd mit einer Conio- oder Curses-basierten Benutzeroberfläche (siehe Abschnitt »Schnittstellen«) stellt eine Trefferliste mit Buchstaben als Aufzählungszeichen dar. Wenn Sie die Option B<-N> angeben, wird die Trefferliste mit Zahlen nummeriert. Ungeachtet der Option B<-N> können Sie einen Buchstaben oder Zahlen eingeben, um aus der Trefferliste zu wählen." #. type: =item #: wcd.pod:475 msgid "B<-o>" msgstr "B<-o>" #. type: textblock #: wcd.pod:477 msgid "Use stdin/stdout interface." msgstr "verwendet die stdin/stdout-Schnittstelle (Standardeingabe/Standardausgabe)." #. type: textblock #: wcd.pod:479 msgid "When for some kind of reason the conio or curses interface of wcd does not work one can fall back to the stdin/stdout interface of wcd by using the B<-o> option." msgstr "Falls aus verschiedenen Gründen die conio- oder curses-Schnittstelle von wcd nicht funktioniert, können Sie mit der Option B<-o> auf die stdin/stdout-Schnittstelle ausweichen." #. type: =item #: wcd.pod:483 msgid "B<-od, --to-stdout>" msgstr "B<-od, --to-stdout>" #. type: textblock #: wcd.pod:485 msgid "Dump all matches to stdout." msgstr "gibt alle Übereinstimmungen in die Standardausgabe aus." #. type: =item #: wcd.pod:487 msgid "B<-q, --quiet>" msgstr "B<-q, --quiet>" #. type: textblock #: wcd.pod:489 msgid "Quieter operation. Printing of the final match is suppressed." msgstr "Stiller Modus. Die Ausgabe des endgültigen Treffers wird unterdrückt." #. type: =item #: wcd.pod:491 msgid "B<-r DIR>" msgstr "B<-r VERZEICHNIS>" #. type: textblock #: wcd.pod:493 msgid "Remove directory and remove from the treedata file." msgstr "entfernt ein Verzeichnis und entfernt es auch aus der Baumdatei." #. type: textblock #: wcd.pod:495 msgid "If the directory is empty, wcd will remove it, and try to remove it from the treedata file." msgstr "Wenn das Verzeichnis leer ist, wird wcd es entfernen, und versuchen, es aus der Baumdatei zu entfernen." #. type: =item #: wcd.pod:498 msgid "B<-rmtree DIR>" msgstr "B<-rmtree VERZEICHNIS>" #. type: textblock #: wcd.pod:500 msgid "Recursively remove directory and remove from the treedata file." msgstr "entfernt ein Verzeichnis rekursiv und entfernt es auch aus der Baumdatei." #. type: textblock #: wcd.pod:502 msgid "Wcd will remove the directory and all its sub directories and files, and remove the directories from the treedata file." msgstr "Wcd entfernt das Verzeichnis und dessen Untervezeichnisse und Dateien, außerdem werden die Verzeichnisse aus der Baumdatei entfernt." #. type: =item #: wcd.pod:505 msgid "B<-s>" msgstr "B<-s>" #. type: textblock #: wcd.pod:507 msgid "(re)Scan disk from C<$HOME> directory. If I is not defined the disk is scanned from root directory /." msgstr "liest den Laufwerksinhalt (evtl. erneut) aus dem Verzeichnis C<$HOME> ein. Falls I nicht definiert ist, wird das Wurzelverzeichnis »/« des Laufwerks eingelesen." #. type: textblock #: wcd.pod:510 msgid "The existing default treedata file is overwritten." msgstr "Die existierende vorgegebene Baumdatei wird dabei überschrieben." #. type: textblock #: wcd.pod:512 msgid "The default scan directory can be overruled with environment variable C. See section ENVIRONMENT VARIABLES." msgstr "Das vorgegebene einzulesende Verzeichnis kann mit der Umgebungsvariable C außer Kraft gesetzt werden. Weitere Informationen finden Sie im Abschnitt UMGEBUNGSVARIABLEN." #. type: =item #: wcd.pod:515 msgid "B<-S PATH>" msgstr "B<-S PFAD>" #. type: textblock #: wcd.pod:517 msgid "Scan directory tree from I and overwrite the default treedata file. See also options B<-A>, B<-s> and B<-E>. E.g. with option B<-A> you can create a default treedata file of your choice. Examples:" msgstr "liest den Verzeichnisbaum aus I und überschreibt die vorgegebene Baumdatei. Siehe auch die Optionen B<-A>, B<-s> und B<-E>. Zum Beispiel können Sie mit der Option B<-A> eine Vorgabe-Baumdatei Ihrer Wahl erzeugen. Beispiele:" #. type: textblock #: wcd.pod:521 msgid "Unix:" msgstr "Unix:" #. type: verbatim #: wcd.pod:523 #, no-wrap msgid "" " wcd -S /\n" " wcd -S /home -A /etc -A /usr\n" "\n" msgstr "" " wcd -S /\n" " wcd -S /home -A /etc -A /usr\n" "\n" #. type: textblock #: wcd.pod:526 msgid "DOS/Windows:" msgstr "DOS/Windows:" #. type: verbatim #: wcd.pod:528 #, no-wrap msgid "" " wcd -S c:/\n" " wcd -S c: -A d: -A \\\\server\\share\n" "\n" msgstr "" " wcd -S c:/\n" " wcd -S c: -A d: -A \\\\server\\share\n" "\n" #. type: textblock #: wcd.pod:531 msgid "With the Windows versions one can scan all shared directories of a Windows LAN server by typing something like: C." msgstr "Mit den Windows-Versionen können Sie alle freigegebenen Verzeichnisse eines Windows-LAN-Servers einlesen. Geben Sie etwa Folgendes ein: C." #. type: =item #: wcd.pod:535 msgid "B<+S PATH>" msgstr "B<-S PFAD>" #. type: textblock #: wcd.pod:537 msgid "Scan disk from I and place relative paths in a relative treedata file. This file is used by the B<-n> and B<+n> options of wcd. E.g. C." msgstr "liest das Laufwerk aus I ein und platziert relative Pfade in der Datei der relativen Baumansicht. Diese Datei wird in wcd von den Optionen B<-n> und B<+n> verwendet. Beispiel C." #. type: =item #: wcd.pod:541 msgid "B<-t>" msgstr "B<-t>" #. type: textblock #: wcd.pod:543 msgid "Do not strip tmp mount dir C (Unix only)" msgstr "entfernt das temporäre Einhängeverzeichnis C nicht (nur Unix)." #. type: textblock #: wcd.pod:545 msgid "Wcd strips by default C from the match. Directory C is used by the auto-mounter. This behaviour can be turned off with the B<-t> option." msgstr "Wcd entfernt per Vorgabe C aus den Treffern. Dieses Verzeichnis wird vom Auto-Mounter verwendet. Sie können dieses Verhalten mit der Option B<-t> abschalten." #. type: =item #: wcd.pod:549 msgid "B<-T, --ascii-tree>" msgstr "B<-T, --ascii-tree>" #. type: textblock #: wcd.pod:551 msgid "Draw tree with ASCII characters. Use this option if line drawing characters are not displayed properly in your terminal." msgstr "zeichnet die Baumansicht mit ASCII-Zeichen. Verwenden Sie diese Option, wenn die Zeichen zum Darstellen von Linien in Ihrem Terminal nicht korrekt angezeigt werden." #. type: =item #: wcd.pod:554 msgid "B<-Ta, --alt-tree-nav>" msgstr "B<-Ta, --alt-tree-nav>" #. type: textblock #: wcd.pod:556 msgid "Alternative way of navigation in the graphical tree." msgstr "verwendet einen alternativen Weg zur Navigation in der grafischen Baumansicht." #. type: textblock #: wcd.pod:558 msgid "In the default NCD style tree layout the B<-Ta> option disables jumping to unrelated directories." msgstr "In der vorgegebenen Baumansicht im NCD-Stil verhindert die Option B<-Ta> das Springen in beziehungslose Verzeichnisse." #. type: textblock #: wcd.pod:561 msgid "In compact tree mode the alternative mode makes navigation similar to navigation in GUI file managers such as Windows Explorer or Linux KDE Konqueror. Pressing Up and Down moves the selected folder one line up or down. Pressing Left first folds the sub-folders and the next move left moves really left." msgstr "In der kompakten Baumansicht funktioniert die Navigation im alternativen Modus ähnlich wie in Dateimanagern mit grafischer Benutzeroberfläche, wie dem Windows Explorer oder dem KDE Konqueror. Durch Drücken der Pfeiltasten nach oben und nach unten verschieben Sie das ausgewählte Verzeichnis eine Zeile nach oben oder unten. Die linke Pfeiltaste klappt die Unterverzeichnisse ein, wiederholtes Drücken der linken Pfeiltaste springt dann tatsächlich nach links." #. type: textblock #: wcd.pod:567 msgid "You can switch on-the-fly between default and alternative navigation by pressing ." msgstr "Sie können direkt zwischen dem Vorgabe- und dem Alternativmodus wechseln, indem Sie drücken." #. type: textblock #: wcd.pod:570 msgid "When alternative navigation mode is on, you will see an \"A\" in the lower right corner." msgstr "Wenn der alternative Navigationsmodus eingeschaltet ist, sehen Sie ein »A« in der unteren rechten Ecke." #. type: =item #: wcd.pod:572 msgid "B<-TC, --center-tree>" msgstr "B<-TC, --center-tree>" #. type: textblock #: wcd.pod:574 msgid "Centered view in the graphical tree. The selected directory stays in the middle of the screen. The centered mode can also be switched on and off with key in the graphical tree." msgstr "zentriert die Ansicht im grafischen Baum. Das ausgewählte Verzeichnis steht in der Mitte des Bildschirms. Der zentrierte Modus kann mit der Taste im grafischen Baum an- und abgeschaltet werden." #. type: textblock #: wcd.pod:578 msgid "The standard non-centered behaviour, which minimises tree movement, is the same as in the original NCD." msgstr "Die vorgegebene nicht-zentrierte Ansicht, welche die Baumbewegungen minimiert, entspricht derjenigen im originalen NCD." #. type: =item #: wcd.pod:581 msgid "B<-Tc, --compact-tree>" msgstr "B<-Tc, --compact-tree>" #. type: textblock #: wcd.pod:583 msgid "By default the 'graphical' tree is drawn the same way as the original NCD on DOS did it. On DOS a directory path could only be 66 characters in total. With the deep directory structures of today the tree can become very wide. To overcome this wcd can draw the tree in a compact way, similar to most GUI file managers, with only one folder per line. Use option B<-Tc> or switch on-the-fly with the key." msgstr "Per Vorgabe wird die »grafische« Baumansicht auf die gleiche Art gezeichnet wie im originalen NCD unter DOS. Dort darf ein Verzeichnispfad nicht länger als 66 Zeichen sein. Mit den heute üblichen tiefen Verzeichnisstrukturen kann der Baum sehr breit werden. Um dies zu vermeiden, kann wcd den Baum in einer Kompaktansicht darstellen, mit einem Verzeichnis pro Zeile, wie in den meisten grafischen Dateimanagern. Verwenden Sie die Option B<-Tc> oder schalten Sie direkt mit der Taste um." #. type: =item #: wcd.pod:590 msgid "B<-Td, --cjk-width>" msgstr "B<-Td, --cjk-width>" #. type: textblock #: wcd.pod:592 msgid "Legacy East-Asian CJK (Chinese, Japanese, and Korean) fonts have certain characters and line drawing symbols with a column width of 2, while the normal Unicode width for these characters is 1 column. For instance the Chinese CP936 raster font on Windows and the Simsun font. Use this option for a correct outlining of the graphical tree when a legacy CJK font is used." msgstr "Veraltete ostasiatische CJK-Schriften (Chinesisch, Japanisch und Koreanisch) haben bestimmte Zeichen und Symbole zum Zeichnen von Linien mit einer Breite von zwei Spalten, während die Zeichenbreite in normalem Unicode eine Spalte beträgt. Beispielsweise sind das die chinesische CP936-Rasterschrift unter Windows und die Simsun-Schrift. Verwenden Sie diese Option zur korrekten Ausrichtung der grafischen Baumansicht, wenn eine veraltete CJK-Schrift verwendet wird." #. type: textblock #: wcd.pod:598 msgid "When CJK mode is on, you will see a \"C\" in the lower right corner." msgstr "Wenn der CJK-Modus eingeschaltet ist, wird ein »C« in der unteren rechten Ecke angezeigt." #. type: =item #: wcd.pod:600 msgid "B<-u USER>" msgstr "B<-u BENUTZER>" #. type: textblock #: wcd.pod:602 msgid "Scan treedata file of another user based on I, do not scan your own default treedata file. See also section ENVIRONMENT VARIABLES for I." msgstr "liest die Daten eines anderen Benutzers für die Baumansicht basierend auf I ein. Ihre eigene Datei für die Baumansicht wird nicht eingelesen. Siehe auch I im Abschnitt UMGEBUNGSVARIABLEN." #. type: textblock #: wcd.pod:605 msgid "On Unix/Cygwin the base directory for user home directories is assumed to be C. Wcd will look for C and C, in that order, and read the first one that exists and is readable. On DOS/Windows the base directory for user home directories is assumed to be C<\\\\users>, so wcd tries to read C<\\\\users\\USER\\treedata.wcd> and C<\\\\users\\USER\\.wcd\\treedata.wcd>." msgstr "Unter Unix/Cygwin wird C als Wurzel für die Benutzerverzeichnisse angenommen. Wcd schaut nach C und C, in dieser Reihenfolge. Davon wird die erste existierende und lesbare Datei gelesen. Unter DOS/Windows wird C<\\\\users> als Wurzelverzeichnis der Benutzer angenommen, daher versucht wcd C<\\\\users\\BENUTZER\\treedata.wcd> und C<\\\\users\\BENUTZER\\.wcd\\treedata.wcd> zu lesen." #. type: =item #: wcd.pod:613 msgid "B<+u USER>" msgstr "B<+u BENUTZER>" #. type: textblock #: wcd.pod:615 msgid "Read default treedata file of USER in addition to your own treedata file." msgstr "liest die vorgegebene Baumansicht-Datei von BENUTZER zusätzlich zu Ihrer eigenen Baumansicht-Datei ein." #. type: =item #: wcd.pod:618 msgid "B<-v, --verbose>" msgstr "B<-v, --verbose>" #. type: textblock #: wcd.pod:620 msgid "Display verbose messages. With this option wcd prints all filters, bans and excludes." msgstr "zeigt ausführliche Meldungen an. Mit dieser Option zeigt wcd alle Filter, Verbannungen und Ausschlüsse an." #. type: =item #: wcd.pod:623 msgid "B<-V, --version>" msgstr "B<-V, --version>" #. type: textblock #: wcd.pod:625 msgid "Print version information and exit." msgstr "zeigt Versionsinformationen an und beendet das Programm." #. type: =item #: wcd.pod:627 msgid "B<-w, --wild-match-only>" msgstr "B<-w, --wild-match-only>" #. type: textblock #: wcd.pod:629 msgid "Wild matching only. Treat all matches as wild matches." msgstr "zeigt nur Übereinstimmungen von Platzhaltern an. Alle Treffer werden als Platzhalter-Treffer angenommen." #. type: =item #: wcd.pod:631 msgid "B<-x PATH>" msgstr "B<-x PFAD>" #. type: textblock #: wcd.pod:633 msgid "Exclude I from scanning." msgstr "schließt I vom Einlesen aus." #. type: textblock #: wcd.pod:635 msgid "When this option is used wcd will exclude I and all its subdirectories when wcd is scanning a disk. Wildcards are supported and matched against absolute paths. Option B<-x> can be used multiple times." msgstr "Mit dieser Option schließt wcd I und dessen Unterverzeichnisse aller Ebenen beim Einlesen eines Laufwerks aus. Platzhalter werden unterstützt und auf absolute Pfade angewendet. Die Option B<-x> kann mehrfach angegeben werden." #. type: verbatim #: wcd.pod:639 #, no-wrap msgid "" " wcd -x -x -s\n" "\n" msgstr "" " wcd -x -x -s\n" "\n" #. type: textblock #: wcd.pod:641 msgid "Option B<-x> must be used in front of any scan option (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." msgstr "Die Option B<-x> muss vor jeder anderen Einleseoption angegeben werden (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." #. type: textblock #: wcd.pod:645 msgid "On DOS/Windows systems one must specify the drive letter depending on if environment variable I or I is set. If I or I is set one needs to specify the drive letter. An example:" msgstr "Unter DOS/Windows müssen Sie den Laufwerksbuchstaben angeben, je nachdem, ob eine der Variablen I oder I gesetzt ist. Falls I oder I gesetzt ist, müssen Sie den Laufwerksbuchstaben angeben. Ein Beispiel:" #. type: verbatim #: wcd.pod:649 #, no-wrap msgid "" " wcd -x c:/temp -S c:\n" "\n" msgstr "" " wcd -x c:/temp -S c:\n" "\n" #. type: textblock #: wcd.pod:651 msgid "Otherwise do not specify drive letter." msgstr "Anderenfalls geben Sie keinen Laufwerksbuchstaben an." #. type: verbatim #: wcd.pod:653 #, no-wrap msgid "" " wcd -x /temp -s\n" "\n" msgstr "" " wcd -x /temp -s\n" "\n" #. type: =item #: wcd.pod:656 msgid "B<-xf FILE>" msgstr "B<-xf DATEI>" #. type: textblock #: wcd.pod:658 msgid "Exclude all paths listed in I from scanning." msgstr "schließt alle in I aufgelisteten Pfade vom Einlesen aus." #. type: textblock #: wcd.pod:660 msgid "When this option is used wcd will exclude all paths listed in I and all their subdirectories when wcd is scanning a disk. Wildcards are supported and they are matched against absolute paths; one path per line. Be aware that wcd will not ignore leading or trailing blanks on a line, because they are legal characters in a directory name. Option B<-xf> can be used multiple times. When one wants to exclude all banned paths from scanning one can do the following (example for wcd on unix):" msgstr "Wenn diese Option ausgewählt ist, schließt wcd alle in I aufgelisteten Pfade und sämtliche derer Unterverzeichnisse beim Einlesen eines Laufwerks aus. Platzhalter werden unterstützt und Namensübereinstimmungen werden auf den absoluten Pfad bezogen. Beachten Sie, dass wcd führende und angehängte Leerzeichen in einer Zeile nicht ignoriert, da sie als Zeichen in einem Verzeichnisnamen zulässig sind. Die Option B<-xf> kann mehrfach angegeben werden. Mit folgendem Befehl schließen Sie alle verbannten Pfade vom Einlesen aus (Beispiel für wcd unter Unix):" #. type: verbatim #: wcd.pod:668 #, no-wrap msgid "" " wcd -xf ~/.ban.wcd -s\n" "\n" msgstr "" " wcd -xf ~/.ban.wcd -s\n" "\n" #. type: textblock #: wcd.pod:670 msgid "Wildcards are supported. For instance to exclude all your Subversion directories with administrative files add a line with C<*/.svn>." msgstr "Platzhalter werden unterstützt. Um beispielsweise alle Ihre Subversion-Verzeichnisse mit administrativen Dateien auszuschließen, fügen Sie eine Zeile mit C<*/.svn> hinzu." #. type: textblock #: wcd.pod:673 msgid "Option B<-xf> must be used in front of any scan option (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." msgstr "Die Option B<-xf> muss vor jeder anderen Einleseoption angegeben werden (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." #. type: =item #: wcd.pod:676 msgid "B<-y, --assume-yes>" msgstr "B<-y, --assume-yes>" #. type: textblock #: wcd.pod:678 msgid "Assume Yes on all queries." msgstr "beantwortet alle Abfragen automatisch mit »ja«." #. type: textblock #: wcd.pod:680 msgid "Wcd will not prompt the user with yes/no questions, but assumes the user answers yes on all questions. This can be used in combination with option B<-rmtree>. This option must be used in front of options that can lead to yes/no questions." msgstr "Wcd gibt keine Ja-/Nein-Abfragen an den Benutzer aus, nimmt aber an, dass der Benutzer stets auf alle Fragen mit Ja antworten würde. Dies kann in Verbindung mit der Option B<-rmtree> verwendet werden. Diese Option muss vor allen Optionen angegeben werden, die zu Ja-/Nein-Abfragen führen könnten." #. type: =item #: wcd.pod:685 msgid "B<-z NUMBER>" msgstr "B<-z ZAHL>" #. type: textblock #: wcd.pod:687 msgid "Set maximum stack size to NUMBER." msgstr "setzt die maximale Stapelgröße auf ZAHL." #. type: textblock #: wcd.pod:689 msgid "The default size of the stack is 10. Stack operation can be turned off by setting the size to 0. This option must be used in front of any other stack operations (B<->,B<+>,B<=>). Otherwise the size of the stack will be set back to the default 10." msgstr "Die vorgegebene Größe des Stapels ist 10. Stapeloperationen können deaktiviert werden, indem die Größe auf 0 gesetzt wird. Diese Option muss stets vor anderen Stapeloperationen angegeben werden (B<->,B<+>,B<=>). Anderenfalls wird die Stapelgröße wieder auf den Vorgabewert 10 zurückgesetzt." #. type: textblock #: wcd.pod:694 msgid "A correct command is:" msgstr "Ein korrekter Befehl ist:" #. type: verbatim #: wcd.pod:696 #, no-wrap msgid "" " wcd -z 50 -\n" "\n" msgstr "" " wcd -z 50 -\n" "\n" #. type: textblock #: wcd.pod:698 msgid "The new stack size will be 50, wcd will go one directory back. A wrong command is:" msgstr "Die neue Stapelgröße ist 50 und wcd geht ein Verzeichnis zurück. Ein falscher Befehl wäre:" #. type: verbatim #: wcd.pod:701 #, no-wrap msgid "" " wcd - -z 50\n" "\n" msgstr "" " wcd - -z 50\n" "\n" #. type: textblock #: wcd.pod:703 msgid "Wcd goes one directory back, the stack gets the default size 10. The B<-z 50> is ignored." msgstr "Wcd geht ein Verzeichnis zurück und der Stapel erhält die Vorgabegröße 10. Das Argument B<-z 50> wird ignoriert." #. type: textblock #: wcd.pod:706 msgid "Add this option as the first option to your wcd alias or function. E.g. for the a POSIX compatible shell this would be:" msgstr "Fügen Sie dies als erste Option zu Ihrem wcd-Alias oder Ihrer wcd-Funktion hinzu. Für eine POSIX-kompatible Shell wäre das:" #. type: verbatim #: wcd.pod:709 #, no-wrap msgid "" " wcd ()\n" " {\n" "\twcd.exe -z 50 \"$@\"\n" "\t. ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" "\twcd.exe -z 50 \"$@\"\n" "\t. ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" #. type: =item #: wcd.pod:715 msgid "B<-[NUMBER]>" msgstr "B<-[ZAHL]>" #. type: textblock #: wcd.pod:717 msgid "Push dir NUMBER of times. Default is one." msgstr "legt ein Verzeichnis auf den Stapel (ZAHL mal). Vorgabe ist 1." #. type: textblock #: wcd.pod:719 msgid "Go back a directory. Command C goes one directory back. To go more directories back add a number to it. E.g. command C. The stack is cyclic." msgstr "Geht ein Verzeichnis zurück. Der Befehl C geht ein Verzeichnis zurück. Um mehrere Verzeichnisse zurückzugehen, fügen Sie eine Zahl hinzu, zum Beispiel in Form des Befehls C. Der Stapel ist zyklisch." #. type: =item #: wcd.pod:723 msgid "B<+[NUMBER]>" msgstr "B<+[ZAHL]>" #. type: textblock #: wcd.pod:725 msgid "Pop dir NUMBER of times. Default is one." msgstr "nimmt ein Verzeichnis vom Stapel (ZAHL mal). Vorgabe ist 1." #. type: textblock #: wcd.pod:727 msgid "Go forward a directory. Command C goes one directory forward. To go more directories forward add a number to it. E.g. command C. The stack is cyclic." msgstr "Geht ein Verzeichnis vor. Der Befehl C geht ein Verzeichnis vor. Um mehrere Verzeichnisse vorzugehen, fügen Sie eine Zahl hinzu, zum Beispiel in Form des Befehls C. Der Stapel ist zyklisch." #. type: =item #: wcd.pod:731 msgid "B<=>" msgstr "B<=>" #. type: textblock #: wcd.pod:733 msgid "Show stack." msgstr "zeigt den Stapel an." #. type: textblock #: wcd.pod:735 msgid "Use this option if you do not know anymore how many times to push or pop. The stack is printed and you can choose a number. The current place in the stack is marked with an asterisk C<*>." msgstr "Verwenden Sie diese Option, wenn Sie nicht mehr wissen, wie oft Sie im Stapel die Ebene gewechselt haben. Der Stapel wird ausgegeben und Sie können eine Zahl wählen. Die aktuelle Position im Stapel ist mit einem Asterisk C<*> markiert." #. type: =head1 #: wcd.pod:741 msgid "INSTALLATION" msgstr "INSTALLATION" #. type: textblock #: wcd.pod:743 msgid "The current working directory of a Unix shell can only be changed by the builtin cd(1) command. Therefore the program is always called by a function or an alias. The function or alias sources a shell script (go-script) which is generated by the wcd program. Wcd can only work after the function or alias is defined." msgstr "Das aktuelle Arbeitsverzeichnis einer Unix-Shell kann nur über den eingebauten cd(1)-Befehl gewechselt werden. Daher wird das Programm stets über eine Funktion oder einen Alias ausgeführt. Die Funktion oder der Alias verwenden ein Shell-Skript (das Go-Skript), welches von wcd erzeugt wird. Wcd funktioniert erst dann, wenn die Funktion oder der Alias definiert wurde." #. type: textblock #: wcd.pod:749 msgid "Another important influence on your installation is the definition of environment variables I and I. See section ENVIRONMENT VARIABLES." msgstr "Weiteren wichtigen Einfluss auf Ihre Installation nimmt die Definition der Umgebungsvariablen I und I. Siehe den Abschnitt UMGEBUNGSVARIABLEN." #. type: =head2 #: wcd.pod:753 msgid "Install for POSIX type shells" msgstr "Installation für POSIX-Shells" #. type: textblock #: wcd.pod:755 msgid "For a POSIX shell (ksh, bash, zsh, etc.) on Unix, Linux, Cygwin, or native MSYS add the following function to the shell startup file (e.g. Bash uses C<$HOME/.bashrc>):" msgstr "Für eine POSIX-Shell (ksh, bash, zsh, etc.) unter Unix, Linux, Cygwin oder nativem MSYS fügen Sie die folgende Funktion zur Shell-Startdatei hinzu (die Bash verwendet zum Beispiel C<$HOME/.bashrc>):" #. type: verbatim #: wcd.pod:759 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcd.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " PATH/wcd.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:765 msgid "Replace I with the location where the wcd executable has been installed. Reload the shell initialization files or start new shell." msgstr "I wird durch den Ort ersetzt, in dem das ausführbare wcd-Programm gespeichert ist. Laden Sie die Initialisierungsdateien der Shell neu oder starten Sie eine neue Shell." #. type: textblock #: wcd.pod:768 msgid "The location of the go-script C differs per shell." msgstr "Der Ort des Go-Skripts C ist abhängig von der Shell selbst." #. type: textblock #: wcd.pod:770 msgid "Wcd for DJGPP DOS bash and OS/2 bash require a different function. The go script is not written in a directory C, and if I and I are both not defined the go-script is written on c:/." msgstr "Wcd für die auf DJGPP basierende DOS-Bash und die OS/2-Bash erfordert eine andere Funktionalität. Das Go-Skript wird nicht in einem Verzeichnis C gespeichert, und falls weder I noch I definiert sind, wird das Go-Skript nach c:/ geschrieben." #. type: textblock #: wcd.pod:774 msgid "DOS bash:" msgstr "DOS-Bash:" #. type: verbatim #: wcd.pod:776 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdbash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " PATH/wcdbash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:782 msgid "OS/2 bash:" msgstr "OS/2-Bash:" #. type: verbatim #: wcd.pod:784 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdos2bash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " PATH/wcdos2bash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:790 msgid "The WinZsh version of wcd requires a bit different function. The go-script will never be written in c:/." msgstr "Die WinZsh-Version von wcd erfordert eine etwas andere Funktion. Das Go-Skript wird niemals in c:/ gespeichert." #. type: verbatim #: wcd.pod:793 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdwin32zsh.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " PATH/wcdwin32zsh.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:799 msgid "See section FILES for more information." msgstr "Weitere Informationen finden Sie im Abschnitt DATEIEN." #. type: =head2 #: wcd.pod:801 msgid "Install for C-alike shells (csh, tcsh)" msgstr "Installation für C-ähnliche Shells (csh, tcsh)" #. type: textblock #: wcd.pod:803 msgid "Add the following alias to the shell startup file C<$HOME/.cshrc> or C<$HOME/.tcshrc> :" msgstr "Fügen Sie den folgenden Alias zur Shell-Startdatei C<$HOME/.cshrc> oder C<$HOME/.tcshrc> hinzu:" #. type: verbatim #: wcd.pod:806 #, no-wrap msgid "" " if ( ${?WCDHOME} ) then\n" " alias wcd \"PATH/wcd.exe \\!* ; source $WCDHOME/bin/wcd.go\"\n" " else\n" " alias wcd \"PATH/wcd.exe \\!* ; source $HOME/bin/wcd.go\"\n" " endif\n" "\n" msgstr "" " if ( ${?WCDHOME} ) then\n" " alias wcd \"PATH/wcd.exe \\!* ; source $WCDHOME/bin/wcd.go\"\n" " else\n" " alias wcd \"PATH/wcd.exe \\!* ; source $HOME/bin/wcd.go\"\n" " endif\n" "\n" #. type: textblock #: wcd.pod:812 msgid "Replace I with the location where the wcd executable has been installed. Reload the shell initialization files or start a new shell." msgstr "I wird durch den Ort ersetzt, in dem das ausführbare wcd-Programm gespeichert ist. Laden Sie die Initialisierungsdateien der Shell neu oder starten Sie eine neue Shell." #. type: =head2 #: wcd.pod:816 msgid "Windows Command Prompt version" msgstr "Version für den Windows-Befehlszeileninterpreter" #. type: textblock #: wcd.pod:818 msgid "Unpack the zip file and add directory C to your environment variable I." msgstr "Entpacken Sie die Zip-Datei und fügen Sie den Ordner C zu Ihrer Umgebungsvariable I hinzu." #. type: textblock #: wcd.pod:821 msgid "In Windows Command Prompt a Windows program cannot change the current work directory, but a .bat file can. The batch script C runs the wcd program which generates a new batch script C. Then C runs C which actually changes the directory." msgstr "Im Windows-Befehlszeileninterpreter kann ein Windows-Programm das aktuelle Arbeitsverzeichnis nicht wechseln, das ist aber mit einer .bat-Datei möglich. Das Batch-Skript C ruft das wcd-Programm auf, welches seinerseits das neue Batch-Skript C erzeugt. Dann führt C wiederum C aus, welches tatsächlich das Verzeichnis wechselt." #. type: =head2 #: wcd.pod:826 msgid "Windows VISTA and higher" msgstr "Windows VISTA und neuer" #. type: textblock #: wcd.pod:828 msgid "In a Windows VISTA and higher Command Prompt you may have limited access to directories. To get access to more directories you need administrator rights. You can get a Command Prompt with administrator rights if you right click on the Command Prompt icon and select I." msgstr "Im Befehlszeileninterpreter in Windows VISTA oder neueren Versionen ist der Zugriff auf Verzeichnisse eingeschränkt. Um Zugriff auf weitere Verzeichnisse zu erhalten, benötigen Sie Administratorrechte. Einen Befehlszeileninterpreter mit Administratorrechten erhalten Sie, wenn Sie mit der rechten Maustaste auf das Programmsymbol des Befehlszeileninterpreters klicken und I wählen." #. type: =head2 #: wcd.pod:833 msgid "Windows PowerShell version" msgstr "Version für die Windows PowerShell" #. type: textblock #: wcd.pod:835 msgid "Add the following function to your PowerShell user profile. The location of this profile is stored in the $profile variable. It is required that one of the environment variables I or I is defined." msgstr "Fügen Sie die folgende Funktion zu Ihrem PowerShell-Benutzerprofil hinzu. Der Ort dieses Profils wird durch die Variable $profile bestimmt. Es ist erforderlich, dass eine der Umgebungsvariablen I oder I definiert ist." #. type: verbatim #: wcd.pod:839 #, no-wrap msgid "" " function wcd\n" " {\n" " PATH\\wcdwin32psh.exe $args\n" " & $env:HOME\\wcdgo.ps1\n" " }\n" "\n" msgstr "" " function wcd\n" " {\n" " PATH\\wcdwin32psh.exe $args\n" " & $env:HOME\\wcdgo.ps1\n" " }\n" "\n" #. type: textblock #: wcd.pod:845 msgid "Replace I with the location where the wcd executable has been installed. Start a new PowerShell. Wcd for PowerShell supports only the file system provider. No other providers." msgstr "I wird durch den Ort ersetzt, in dem das ausführbare wcd-Programm gespeichert ist. Starten Sie eine neue PowerShell. Wcd für die PowerShell unterstützt nur den Dateisystemtreiber und keine weiteren Treiber." #. type: =head2 #: wcd.pod:849 msgid "OS/2 Command Prompt version" msgstr "Version für den Befehlszeileninterpreter von OS/2" #. type: textblock #: wcd.pod:851 msgid "In an OS/2 Command Prompt (cmd.exe) an OS/2-program can't change the current work directory. That is why wcd generates a command script C which must be executed in the current shell. The script C first executes C, which creates the C script. Then C executes the C script." msgstr "Im Befehlszeileninterpreter von OS/2 (cmd.exe) kann ein OS/2-Programm das aktuelle Arbeitsverzeichnis nicht wechseln. Daher erzeugt wcd ein Befehlsskript C, das in der aktuellen Shell ausgeführt werden muss. Das Skript C führt zuerst C aus, welches seinerseits das Skript C erzeugt. Danach führt C das Skript C aus." #. type: =head1 #: wcd.pod:858 msgid "LOCALIZATION" msgstr "LOKALISIERUNG" #. type: =item #: wcd.pod:862 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:864 msgid "The primary language is selected with the environment variable I. The I variable consists out of several parts. The first part is in small letters the language code. The second one is optional and is the country code in capital letters, preceded with an underscore. There is also an optional third part: character encoding, preceded with a dot. A few examples for POSIX standard type shells:" msgstr "Die primäre Sprache wird durch die Umgebungsvariable I festgelegt. Diese Variable besteht aus mehreren Teilen: Den ersten Teil bilden zwei Kleinbuchstaben, die den Sprachcode angeben. Der zweite Teil ist optional und bezeichnet den Ländercode in Großbuchstaben, vom davor stehenden Sprachcode durch einen Unterstrich getrennt. Der dritte Teil ist ebenfalls optional und gibt die Zeichenkodierung an, vom Ländercode durch einen Punkt getrennt. Einige Beispiele für Standard-POSIX-Shells:" #. type: verbatim #: wcd.pod:871 #, no-wrap msgid "" " export LANG=nl Dutch\n" " export LANG=nl_NL Dutch, The Netherlands\n" " export LANG=nl_BE Dutch, Belgium\n" " export LANG=es_ES Spanish, Spain\n" " export LANG=es_MX Spanish, Mexico\n" " export LANG=en_US.iso88591 English, USA, Latin-1 encoding\n" "\n" msgstr "" " export LANG=de Deutsch\n" " export LANG=de_DE Deutsch, Deutschland\n" " export LANG=de_CH Deutsch, Schweiz\n" " export LANG=es_ES Spanisch, Spanien\n" " export LANG=es_MX Spanisch, Mexiko\n" " export LANG=en_US.iso88591 English, USA, Latin-1-Zeichenkodierung\n" "\n" #. type: textblock #: wcd.pod:878 msgid "For a complete list of language and country codes see the gettext(1) manual: L On Unix systems you can use to command locale(1) to get locale specific information." msgstr "Eine vollständige Liste der Sprachen und Ländercodes finden Sie im Handbuch zu gettext(1): L. Auf Unix-Systemen können Sie den Befehl locale(1) verwenden, um spezifische Informationen zur Spracheinstellung zu erhalten." #. type: =item #: wcd.pod:884 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:886 msgid "With the I environment variable you can specify a priority list of languages, separated by colons. Wcd gives preference to I over I. For instance, first Dutch and then German: C. You have to first enable localization, by setting I or I to a value other than I, before you can use a language priority list through the I variable. See also the gettext(1) manual: L" msgstr "Mit der Umgebungsvariable I können Sie eine Prioritätenliste für Sprachen übergeben, die Sie durch Doppelpunkte voneinander trennen. Dos2unix gibt I vor I den Vorzug, zum Beispiel bei Deutsch vor Niederländisch: C. Sie müssen zunächst die Lokalisierung aktivieren, indem Sie die Variable I oder I auf einen anderen Wert als I setzen, bevor Sie die Liste der Sprachprioritäten nutzen können. Weitere Informationen finden Sie im Gettext-Handbuch: L" #. type: textblock #: wcd.pod:894 msgid "If you select a language which is not available you will get the standard English messages." msgstr "Falls Sie eine Sprache auswählen, die nicht verfügbar ist, erhalten Sie die Standardmeldungen in englischer Sprache." #. type: =item #: wcd.pod:897 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:899 msgid "With the environment variable I the I used during compilation and installation of wcd can be overruled. I is used by wcd with native language support to find the language files. The GNU default value is C. By typing C wcd will print the I that is used." msgstr "Mit der Umgebungsvariable I kann die während der Kompilierung und Installation verwendete Variable I außer Kraft gesetzt werden. I wird von wcd mit vorhandener nativer Sprachunterstützung verwendet, um die Sprachdateien zu finden. Der GNU-Vorgabewert ist C. Nach Eingabe von C wird das von wcd verwendete I angezeigt." #. type: textblock #: wcd.pod:905 msgid "If you have installed wcd in a different directory than the default directory you may need to set the environment variable I to point to the locale directory." msgstr "Falls Sie wcd in einem anderen als dem Vorgabeverzeichnis installiert haben, müssen Sie die Umgebungsvariable I setzen, die auf das Verzeichnis mit den Sprachdateien zeigt." #. type: textblock #: wcd.pod:910 msgid "An example for Windows cmd:" msgstr "Ein Beispiel für den Windows-Befehlszeileninterpreter:" #. type: verbatim #: wcd.pod:912 #, no-wrap msgid "" " set WCDLOCALEDIR=c:/my_prefix/share/locale\n" "\n" msgstr "" " set WCDLOCALEDIR=c:/my_prefix/share/locale\n" "\n" #. type: textblock #: wcd.pod:915 msgid "An example for a POSIX shell:" msgstr "Ein Beispiel für eine POSIX-Shell:" #. type: verbatim #: wcd.pod:917 #, no-wrap msgid "" " export WCDLOCALEDIR=$HOME/share/locale\n" "\n" msgstr "" " export WCDLOCALEDIR=$HOME/share/locale\n" "\n" #. type: =item #: wcd.pod:919 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:921 msgid "When there are multiple directory matches wcd presents a sorted list. The sorting depends on the locale settings. If the environment I has been set the matches are sorted like dictionaries or phone books are sorted in that language. For instance dots and dashes are ignored, or letters e with and without accent are equal, or upper and lower case is ignored." msgstr "Wenn mehrere Treffer für Verzeichnisse gefunden werden, zeigt wcd eine sortierte Liste an. Die Art der Sortierung hängt von der Spracheinstellung ab. Falls die Umgebungsvariable I gesetzt ist, werden die Treffer wie in Wörterbüchern oder Telefonbüchern in dieser Sprache sortiert. Beispielsweise werden Punkte und Bindestriche ignoriert. Buchstaben mit oder ohne Akzentzeichen werden nicht unterschiedlich behandelt, und Groß-/Kleinschreibung wird nicht berücksichtigt." #. type: textblock #: wcd.pod:927 msgid "The sorting gives preference to environment variable I over I. If you make I equal to C or C, locale sorting is turned off. For instance if you want Dutch language, but not Dutch sorting, you can do something like this:" msgstr "Die Sortierung bevorzugt die Umgebungsvariable I vor I. Falls Sie I auf C oder C setzen, wird die sprachbezogene Sortierung abgeschaltet. Wenn Sie beispielsweise Deutsch bevorzugen, dies aber nicht für die Sortierung gelten soll, verwenden Sie Folgendes:" #. type: verbatim #: wcd.pod:932 #, no-wrap msgid "" " export LANG=nl_NL\n" " export LC_COLLATE=C\n" "\n" msgstr "" " export LANG=de_DE\n" " export LC_COLLATE=C\n" "\n" #. type: =item #: wcd.pod:935 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:937 msgid "With regard to character encoding Wcd will give preference to variable I over I. For instance to set character encoding to UTF-8 the following environment setting can be done." msgstr "Hinsichtlich Zeichenkodierung bevorzugt Wcd die Variable I vor I. Um beispielsweise die Zeichenkodierung auf UTF-8 zu setzen, können Sie Folgendes ausführen:" #. type: verbatim #: wcd.pod:941 #, no-wrap msgid "" " export LC_CTYPE=en_US.UTF-8\n" "\n" msgstr "" " export LC_CTYPE=en_US.UTF-8\n" "\n" #. type: =item #: wcd.pod:943 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:945 msgid "All locale environment variables that start with I are overruled by the environment variable I if it is defined. Wcd gives preference to I over I and I." msgstr "Alle lokalen Umgebungsvariablen, die mit I beginnen, werden durch die Umgebungsvariable I außer Kraft gesetzt, sofern diese definiert ist. Wcd bevorzugt I vor I und I." #. type: =head2 #: wcd.pod:951 msgid "WINDOWS CODE PAGES" msgstr "WINDOWS CODE PAGES" #. type: textblock #: wcd.pod:953 msgid "There are two groups of code pages: DOS code pages (OEM) and Windows code pages (ANSI). The default encoding for Windows, when configured with Western regional settings, is ANSI CP1252. Windows programs, for instance notepad, use this default system ANSI code page. The Windows console uses by default an OEM code page (CP437 or CP850) for compatibility with DOS programs. If you use a DOS version of wcd in a Windows console it will work, because of the DOS code page. But the DOS version of wcd lacks support for long directory names and network drives on Windows." msgstr "Es gibt zwei Gruppen von Codepages, die DOS Codepages (OEM) und die Windows Codepages (ANSI). Die vorgegebene Zeichenkodierung für Windows ist ANSI CP1252, wenn westeuropäische Regionaleinstellungen konfiguriert sind. Windows-Programme, wie beispielsweise Notepad, benutzen diese durch das System vorgegebene ANSI-Codepage. Die Windows-Konsole verwendet standardmäßig eine OEM-Codepage (CP437 oder CP850), um Abwärtskompatibilität zu DOS-Programmen zu gewährleisten. Wenn Sie eine DOS-Version von wcd in der Windows-Konsole verwenden, wird dies aufgrund der DOS-Codepage funktionieren, allerdings fehlt der DOS-Version von wcd unter Windows die Unterstützung für lange Verzeichnisnamen und Netzlaufwerke." #. type: textblock #: wcd.pod:962 msgid "The Windows version of wcd is a native Windows program and will use the Windows system ANSI code page. So on a Western regional Windows it will use code page CP1252 for directory names and messages. In order to get consistent output, independent of the active code page, all Windows versions of Wcd translate ANSI output to Unicode output in the Command Prompt and PowerShell." msgstr "Die Windows-Version von wcd ist ein natives Windows-Programm, das die ANSI-Codepage des Windows-Systems verwendet. Auf einem Windows mit westeuropäischen Regionaleinstellungen wird so die Codepage CP1252 für Verzeichnisnamen und Meldungen verwendet. Um konsistente, von der aktiven Codepage unabhängige Ausgaben zu erzielen, übersetzen alle Windows-Versionen von wcd die ANSI-Ausgaben im Befehlszeileninterpreter und der PowerShell in Unicode-Ausgaben." #. type: textblock #: wcd.pod:968 msgid "The console raster font only supports the original OEM code page installed with Windows, so you have to change the console's font to true type Lucida Console to make Unicode (and ANSI) letters appear correctly." msgstr "Die Rasterschrift der Konsole unterstützt nur die originale OEM-Codepage, die mit Windows installiert wurde, daher müssen Sie die Schriftart der Konsole auf die TrueType-Schrift »Lucida Console« ändern, damit Unicode- und ANSI-Zeichen korrekt angezeigt werden." #. type: textblock #: wcd.pod:972 msgid "Non-Unicode versions of Wcd I use plain ANSI output. For these older versions the code page of the console has to be made equal to the system code page (changed to 1252) to make wcd for Windows work properly with special characters such as accented characters or the Euro symbol." msgstr "Die Nicht-Unicode-Versionen von Wcd I verwenden die gewöhnliche ANSI-Ausgabe. Für diese älteren Versionen muss die Codepage der Konsole der System-Codepage angeglichen werden (auf 1252), damit wcd unter Windows spezielle Zeichen wie Akzentzeichen oder das Euro-Symbol korrekt anzeigen kann." #. type: textblock #: wcd.pod:977 msgid "The Windows system code page can be changed via the Control Panel regional options. The Windows console code page is changed with the C command." msgstr "Die Windows-System-Codepage kann in den Regionaleinstellungen der Systemsteuerung geändert werden. Die Codepage der Windows-Konsole wird mit dem Befehl C geändert." #. type: textblock #: wcd.pod:980 msgid "When you type C, the actual character encoding used by wcd is shown. Type the command C to display the active code page of the Windows console." msgstr "Wenn Sie C eingeben, wird die gegenwärtige von wcd verwendete Zeichenkodierung angezeigt. Geben Sie den Befehl C ein, um die aktive Codepage für die Windows-Konsole anzuzeigen." #. type: =head2 #: wcd.pod:985 msgid "UNICODE" msgstr "UNICODE" #. type: textblock #: wcd.pod:987 msgid "Wcd has optional support for Unicode. To see if wcd was built with Unicode support type C. If your terminal/console and font supports it, you should see the Euro symbol and Chinese characters (meaning: \"Chinese\")." msgstr "Wcd verfügt über optionale Unterstützung für Unicode. Um zu sehen, ob wcd mit Unicode-Unterstützung erstellt wurde, geben Sie C ein. Sofern Ihr Terminal oder Ihre Konsole sowie die Schriftart es unterstützt, sollten Sie das Euro-Symbol und chinesische Zeichen sehen (echte chinesische Zeichen, keinen chinesisch aussehenden Zeichensalat)." #. type: textblock #: wcd.pod:992 msgid "Wcd has been I converted to Unicode. In its core wcd handles all data as a stream of bytes. Only the lines printed to screen are on the fly converted to Unicode wide characters. Wcd fully relies on libc functions and has no UTF-8 specific code. See also L" msgstr "Wcd wurde I auf Unicode migriert. In dessen Kern werden alle Daten als Byte-Datenstrom verarbeitet. Nur die auf dem Bildschirm ausgegebenen Zeilen werden unmittelbar in Unicode-Zeichen umgewandelt. Wcd verwendet vollständig libc-Funktionen und enthält keinen UTF-8-spezifischen Code. Siehe auch L." #. type: textblock #: wcd.pod:998 msgid "Wcd has optional support for Unicode matching with normalisation. To find out whether Wcd has normalisation support type C. Wcd with Unicode normalization support will match Unicode names based on I equivalence. Without Unicode normalization support, names are matched when they are binary equivalent. See also L" msgstr "Wcd verfügt über optionale Unterstützung für Unicode-Suche mit Normalisierung. Um zu ermitteln, ob wcd mit Unterstützung für Normalisierung erstellt wurde, geben Sie C ein. Wcd mit Unicode-Normalisierung findet Treffer mittels I Entsprechungen. Ohne diese Unterstützung werden Verzeichnisse nur gefunden, wenn Sie kanonisch äquivalent sind. Siehe auch L." #. type: =head3 #: wcd.pod:1005 msgid "UTF-8 on Unix/Linux" msgstr "UTF-8 unter Unix/Linux" #. type: textblock #: wcd.pod:1007 msgid "In order to view UTF-8 characters your console/terminal also needs to support UTF-8. The xterm version that comes with XFree86 4.0 or higher includes UTF-8 support. To activate it, start xterm(1) in a UTF-8 locale and use a font with iso10646-1 encoding, for instance with" msgstr "Um UTF-8-Zeichen in Ihrer Konsole oder Ihrem Terminal anzeigen zu lassen, muss dieses auch UTF-8 unterstützen. Die mit XFree86 4.0 oder neuer gelieferte Version von xterm bringt UTF-8-Unterstützung bereits mit. Um dies zu aktivieren, starten Sie xterm(1) mit einer UTF-8-Spracheinstellung und verwenden Sie eine Schriftart mit der Zeichenkodierung iso10646-1, zum Beispiel mit" #. type: verbatim #: wcd.pod:1012 #, no-wrap msgid "" " LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'\n" "\n" msgstr "" " LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'\n" "\n" #. type: textblock #: wcd.pod:1014 msgid "Modern distributions of GNU/Linux support UTF-8 by default. Other multi-byte character encodings should also work, but that has not been tested." msgstr "Moderne GNU-Linux-Distributionen unterstützen UTF-8 per Vorgabe. Andere Multibyte-Zeichenkodierungen sollten auch funktionieren, allerdings wurde dies nicht getestet." #. type: textblock #: wcd.pod:1017 msgid "Wcd assumes that the treedata files are encoded in the locale character encoding. There are no Byte Order Marks written to treedata files." msgstr "Wcd nimmt an, dass die Baumdateien in der lokalen Zeichenkodierung vorliegen. In die Baumdateien werden keine Bytereihenfolge-Markierungen geschrieben." #. type: =head3 #: wcd.pod:1021 msgid "UTF-16 on Windows" msgstr "UTF-16 unter Windows" #. type: textblock #: wcd.pod:1023 msgid "On Windows Unicode is supported in all versions of PowerShell, and in Windows Command Prompt on Windows 7 (or higher). Unicode also works in Take Command or TCC/LE made by JP Software, which can be used on older Windows versions (XP/Vista)." msgstr "Unter Windows wird Unicode in allen Versionen der PowerShell sowie im Befehlszeileninterpreter von Windows 7 (oder neuer) unterstützt. Unicode funktioniert auch in Take Command oder TCC/LE von JP Software, welches in älteren Windows-Versionen verwendet werden kann (XP/Vista)." #. type: textblock #: wcd.pod:1028 msgid "On Windows all the directory names on disk are encoded in UTF-16 Unicode. For non-Unicode Windows programs the Unicode characters are translated to the default ANSI code page. For characters that are not part of the regional setting this translation is not possible and non-Unicode programs print a question mark or a wrong character instead." msgstr "Unter Windows sind alle Verzeichnisnamen in Unicode UTF-16 kodiert. Für Nicht-Unicode-Windows-Programme werden die Unicode-Zeichen in die vorgegebene ANSI-Codepage übersetzt. Bei Zeichen, die nicht Teil der Regionaleinstellung sind, ist diese Übersetzung nicht möglich. Daher geben Nicht-Unicode-Programme stattdessen ein Fragezeichen oder ein falsches Zeichen aus." #. type: textblock #: wcd.pod:1034 msgid "Wcd with Unicode support will read the UTF-16 encoded directory names and converts them internally to UTF-8. All treedata files are encoded in UTF-8 and not compatible with the non-Unicode version of Wcd. Wcd will create a go-script encoded in UTF-8." msgstr "Wcd mit Unicode-Unterstützung liest die in UTF-16 kodierten Verzeichnisnamen und wandelt diese intern in UTF-8 um. Alle Baumdateien sind in UTF-8 kodiert und nicht zu den Nicht-Unicode-Versionen von wcd kompatibel. Wcd erstellt ein in UTF-8 kodiertes Go-Skript." #. type: textblock #: wcd.pod:1039 msgid "All versions of Windows PowerShell are able to run scripts encoded in UTF-8, provided there is an UTF-8 BOM in the script." msgstr "Alle Versionen der Windows Powershell können in UTF-8 kodierte Skripte ausführen, sofern sich im Skript eine BOM (Bytereihenfolge-Markierung) für UTF-8 befindet." #. type: textblock #: wcd.pod:1042 msgid "Since Windows 7 it is possible in Windows Command Prompt to change directory with a batch script to a directory with Unicode letters in the name. The directory name needs to be encoded in UTF-8, and the batch script must I have a BOM. The active code page of the Command Prompt needs to be set to 65001 (UTF-8) prior to the cd command. Wcd for Command Prompt will create such a go script C. It first changes the code page to 65001, then changes directory, and finally sets the code page back to the original code page." msgstr "Seit Windows 7 ist es möglich, im Windows-Befehlszeileninterpreter mit einem Batch-Skript in ein Verzeichnis zu wechseln, dessen Name Unicode-Zeichen enthält. Der Verzeichnisname muss in UTF-8 kodiert sein, und das Batch-Skript I (Markierung der Bytereihenfolge). Die aktive Codepage des Befehlszeileninterpreters muss vor dem cd-Befehl auf 65001 (UTF-8) gesetzt werden. Wcd für den Befehlszeileninterpreter erstellt ein solches Go-Skript C. Es ändert zuerst die Codepage in 65001, wechselt dann das Verzeichnis und setzt zum Schluss die Codepage auf die ursprüngliche Einstellung zurück." #. type: textblock #: wcd.pod:1050 msgid "You need to set the font to True Type Lucida Console (not raster font) when letters don't appear correctly." msgstr "Sie müssen die Schrift auf die TrueType-Schriftart »Lucida Console« setzen (nicht auf die Rasterschrift), falls Zeichen nicht korrekt angezeigt werden." #. type: textblock #: wcd.pod:1053 msgid "The non-Unicode Windows version of Wcd can read Unicode treedata files since version 5.2.0, provided there is a Byte Order Mark (BOM) in the file (see L), but it can't change to directories with Unicode letters in the name that are not part of the default system ANSI code page. The Unicode Windows version of wcd writes a BOM in the UTF-8 encoded treedata files since version 5.2.0, which makes them also readable by notepad." msgstr "Die Nicht-Unicode-Version von wcd für Windows liest Unicode-Baumdateien seit Version 5.2.0, sofern sich eine BOM (Markierung der Bytereihenfolge) in der Datei befindet (siehe L). Allerdings ist es nicht möglich, in Verzeichnisse zu wechseln, deren Namen Unicode-Zeichen enthalten, die nicht Teil der vorgegebenen ANSI-Codepage des Systems sind. Die Unicode-Version von wcd für Windows schreibt seit Version 5.2.0 eine BOM in die in UTF-8 kodierten Baumdateien, wodurch diese auch in Notepad lesbar sind." #. type: =head3 #: wcd.pod:1062 msgid "UTF-8 on Cygwin" msgstr "UTF-8 unter Cygwin" #. type: textblock #: wcd.pod:1064 msgid "Cygwin supports Unicode since version 1.7. The Cygwin layer takes care that the Windows UTF-16 Unicode names are converted to UTF-8. So programs, like wcd, do not need to be aware of this and can operate using UTF-8 encoding as on Unix/Linux. Set character encoding to UTF-8 with the I or I environment variable. You may need to rescan your drives. You need to set the font to True Type Lucida Console (not raster font) if you use the default Cygwin console." msgstr "Cygwin unterstützt Unicode seit Version 1.7. Die Cygwin-Zwischenschicht achtet darauf, dass die UTF-16-Namen unter Windows in UTF-8 umgewandelt werden. Daher brauchen Programme, wie beispielsweise wcd, darauf keine Rücksicht zu nehmen und können mit einer UTF-8-Zeichenkodierung wie unter Unix/Linux arbeiten. Setzen Sie die Zeichenkodierung mit der Umgebungsvariable I oder I auf UTF-8. Es wird nötig sein, dass Sie Ihre Laufwerke neu einlesen. Sie müssen die Schrift auf die TrueType-Schriftart »Lucida Console« setzen (nicht auf die Rasterschrift), falls Sie die Cygwin-Standardkonsole verwenden." #. type: textblock #: wcd.pod:1072 msgid "The Cygwin version behaves exactly as the Unix version of wcd. There is no BOM written in the treedata files, and it is assumed they are encoded in the B locale character encoding." msgstr "Die Cygwin-Version verhält sich exakt genauso wie die Unix-Version von wcd. Es wird keine Markierung der Bytereihenfolge (BOM) in die Baumdateien geschrieben, und es wird angenommen, dass die Dateien in der Zeichenkodierung vorliegen, die von der Spracheinstellung in B vorgegeben ist." #. type: =head1 #: wcd.pod:1076 msgid "FILES" msgstr "DATEIEN" #. type: textblock #: wcd.pod:1078 msgid "If the environment variable I is set wcd will use I instead of I. All C<*.wcd> files are text files. They can be edited with a text editor. The Windows Command Prompt version of wcd behaves as the DOS version. The Cygwin version of wcd behaves as the Unix version." msgstr "Falls die Umgebungsvariable I gesetzt ist, verwendet wcd I anstelle von I. Alle C<*.wcd>-Dateien sind Textdateien, die mit einem Texteditor bearbeitet werden können. Die Wcd-Version für den Windows-Befehlszeileninterpreter verhält sich wie die DOS-Version, und die Cygwin-Version verhält sich wie die Unix-Version." #. type: =item #: wcd.pod:1087 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1089 msgid "The program. In Unix shells the program is always called by a function or alias, because the current working directory of a Unix shell can only be changed by the builtin cd command. See also section INSTALLATION." msgstr "Das Programm. In Unix-Shells wird das Programm stets durch eine Funktion oder einen Alias aufgerufen, da das aktuelle Arbeitsverzeichnis einer Unix-Shell nur mit dem eingebauten cd-Befehl gewechselt werden kann. Siehe auch Abschnitt INSTALLATION." #. type: =item #: wcd.pod:1094 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1096 msgid "This is the default treedata file where wcd searches for matches. If it is not readable wcd will create a new one." msgstr "Dies ist die vorgegebene Baumdatei, in der wcd nach Treffern sucht. Falls diese nicht lesbar ist, erstellt wcd eine neue Datei." #. type: verbatim #: wcd.pod:1099 #, no-wrap msgid "" " DOS: \\treedata.wcd or %HOME%\\treedata.wcd\n" " Unix: $HOME/.treedata.wcd\n" "\n" msgstr "" " DOS: \\treedata.wcd or %HOME%\\treedata.wcd\n" " Unix: $HOME/.treedata.wcd\n" "\n" #. type: =item #: wcd.pod:1102 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1104 msgid "An optional extra treedata file. If it exists and is readable wcd will try to find matches in this file also." msgstr "Eine optionale zusätzliche Baumdatei. Falls diese existiert und lesbar ist, sucht wcd auch in dieser Datei nach Treffern." #. type: verbatim #: wcd.pod:1107 #, no-wrap msgid "" " DOS: \\extra.wcd or %HOME%\\extra.wcd\n" " Unix: $HOME/.extra.wcd\n" "\n" msgstr "" " DOS: \\extra.wcd or %HOME%\\extra.wcd\n" " Unix: $HOME/.extra.wcd\n" "\n" #. type: =item #: wcd.pod:1110 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1112 msgid "In this optional file wcd places banned paths. See option B<-b>. Wildcards are supported." msgstr "In dieser optionalen Datei speichert wcd die verbannten Pfade. Siehe Option B<-b>. Platzhalter werden unterstützt." #. type: verbatim #: wcd.pod:1115 #, no-wrap msgid "" " DOS: \\ban.wcd or %HOME%\\ban.wcd\n" " Unix: $HOME/.ban.wcd\n" "\n" msgstr "" " DOS: \\ban.wcd or %HOME%\\ban.wcd\n" " Unix: $HOME/.ban.wcd\n" "\n" #. type: =item #: wcd.pod:1118 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1120 msgid "Optional file with wcd aliases. See option B<-l>." msgstr "Optionale Datei mit Aliasen für wcd. Siehe Option B<-l>." #. type: verbatim #: wcd.pod:1122 #, no-wrap msgid "" " DOS: \\alias.wcd or %HOME%\\alias.wcd\n" " Unix: $HOME/.alias.wcd\n" "\n" msgstr "" " DOS: \\alias.wcd or %HOME%\\alias.wcd\n" " Unix: $HOME/.alias.wcd\n" "\n" #. type: =item #: wcd.pod:1125 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1127 msgid "In this file wcd stores its stack. The drive letter can be changed with the B<-d> option." msgstr "In dieser Datei speichert wcd den Stapel. Der Laufwerksbuchstabe kann mit der Option B<-d> geändert werden." #. type: verbatim #: wcd.pod:1130 #, no-wrap msgid "" " DOS: c:\\stack.wcd or %HOME%\\stack.wcd\n" " Unix: $HOME/.stack.wcd\n" "\n" msgstr "" " DOS: c:\\stack.wcd or %HOME%\\stack.wcd\n" " Unix: $HOME/.stack.wcd\n" "\n" #. type: textblock #: wcd.pod:1133 msgid "The name of the stack file can be changed with environment variable I. See section ENVIRONMENT VARIABLES." msgstr "Der Name der Stapeldatei kann mit der Umgebungsvariable I geändert werden. Siehe Abschnitt UMGEBUNGSVARIABLEN." #. type: =item #: wcd.pod:1136 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1138 msgid "This is the shell script which wcd.exe creates each time. It is sourced via a function or an alias. The drive letter can be changed with the B<-d> option. For history reasons it is placed by default in C<$HOME/bin> on Unix systems. The directory of this file can be changed with the option B<-G>." msgstr "Dies ist das Shell-Skript, welches wcd.exe jedes Mal erzeugt. Es wird über eine Funktion oder einen Alias eingelesen. Der Laufwerksbuchstabe kann mit der Option B<-d> geändert werden. Aus historischen Gründen ist es per Vorgabe auf Unix-Systemen in C<$HOME/bin> gespeichert. Das Verzeichnis für diese Datei kann mit der Option B<-G> geändert werden." #. type: verbatim #: wcd.pod:1143 #, no-wrap msgid "" " DOS bash: c:/wcd.go or $HOME/wcd.go\n" " Windows Command Prompt: c:\\wcdgo.bat or %HOME%\\wcdgo.bat\n" " Windows PowerShell: $env:HOME\\wcdgo.ps1\n" " WinZsh: $HOME/wcd.go\n" " Cygwin/MSYS: $HOME/bin/wcd.go\n" " OS/2 Command Prompt: c:\\wcdgo.cmd or %HOME%\\wcdgo.cmd\n" " OS/2 bash: c:/wcd.go or $HOME/wcd.go\n" " Unix: $HOME/bin/wcd.go\n" "\n" msgstr "" " DOS-Bash: c:/wcd.go oder $HOME/wcd.go\n" " Windows Befehlszeileninterpreter: c:\\wcdgo.bat oder %HOME%\\wcdgo.bat\n" " Windows PowerShell: $env:HOME\\wcdgo.ps1\n" " WinZsh: $HOME/wcd.go\n" " Cygwin/MSYS: $HOME/bin/wcd.go\n" " OS/2-Befehlszeileninterpreter: c:\\wcdgo.cmd oder %HOME%\\wcdgo.cmd\n" " OS/2-Bash: c:/wcd.go oder $HOME/wcd.go\n" " Unix: $HOME/bin/wcd.go\n" "\n" #. type: =item #: wcd.pod:1152 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1154 msgid "Text file with relative paths from I. See options B<+S>, B<-n> and B<+n>." msgstr "Textdatei mit relativen Pfaden von I. Siehe die Optionen B<+S>, B<-n> und B<+n>." #. type: verbatim #: wcd.pod:1157 #, no-wrap msgid "" " DOS: PATH\\rtdata.wcd\n" " Unix: PATH/.rtdata.wcd\n" "\n" msgstr "" " DOS: PATH\\rtdata.wcd\n" " Unix: PATH/.rtdata.wcd\n" "\n" #. type: =head1 #: wcd.pod:1162 msgid "ENVIRONMENT VARIABLES" msgstr "UMGEBUNGSVARIABLEN" #. type: =item #: wcd.pod:1166 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1168 msgid "Wcd uses by default environment variable I to determine where to store its files. See also section FILES. This can be overruled with environment variable I." msgstr "Wcd verwendet per Vorgabe die Umgebungsvariable I, um zu ermitteln, wo Dateien gespeichert werden sollen. Siehe auch den Abschnitt DATEIEN. Dies kann mit der Umgebungsvariable I außer Kraft gesetzt werden." #. type: textblock #: wcd.pod:1172 msgid "I also defines where to start scanning the disk when option B<-s> is used. This can be overruled with the environment variable I." msgstr "I legt außerdem fest, wo mit dem Einlesen des Laufwerks begonnen wird, wenn die Option B<-s> verwendet wird. Dies kann mit der Umgebungsvariable I außer Kraft gesetzt werden." #. type: textblock #: wcd.pod:1176 msgid "For the Unix, Cygwin, Windows PowerShell, WinZsh and MSYS version it is required that I or I is set. For the other versions of wcd the use of these variables is optional." msgstr "In den Versionen für Unix, Cygwin, Windows PowerShell, WinZsh und MSYS ist es erforderlich, dass I oder I gesetzt ist. Für die anderen Versionen von wcd ist die Benutzung dieser Variablen optional." #. type: textblock #: wcd.pod:1180 msgid "If I is set on DOS/Windows, wcd will place all its files (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) in directory I. The behaviour of wcd is then equal to the Unix version of wcd. Wcd will scan the disk default from I. Drives will not be automatically scanned by changing to them. You need to tell wcd explicitly. E.g.:" msgstr "Falls I unter DOS/Windows gesetzt ist, platziert wcd alle seine Dateien (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) im Verzeichnis I. Das Verhalten von wcd gleicht dann dem der Unix-Versionen. Wcd liest die Daten dann per Vorgabe aus I ein. Laufwerke werden nicht automatisch eingelesen, wenn Sie dorthin wechseln. Sie müssen wcd explizit dazu anweisen, zum Beispiel:" #. type: verbatim #: wcd.pod:1187 #, no-wrap msgid "" " wcd -S c: -A d: -A e:\n" "\n" msgstr "" " wcd -S c: -A d: -A e:\n" "\n" #. type: textblock #: wcd.pod:1189 msgid "Matching of directories is now global over all scanned drives." msgstr "Die Verzeichnissuche wird nun global in allen eingelesenen Laufwerken ausgeführt." #. type: =item #: wcd.pod:1192 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1194 msgid "Environment variable I can be used to change the location of wcd's files. If both I and I are set, I will be used instead of I." msgstr "Mit der Umgebungsvariable I können Sie den Ort der Dateien von wcd ändern. Falls sowohl I als auch I gesetzt ist, wird I anstelle von I verwendet." #. type: textblock #: wcd.pod:1198 msgid "In wcd versions prior to 5.1.5 I also changed the default scan directory. This has changed. Since version 5.1.5 I does not change the default scan directory. See option B<-s>. From version 5.1.5, use environment I to overrule the default scan directory." msgstr "In Wcd-Versionen vor 5.1.5 wurde durch I auch das vorgegebene Einleseverzeichnis geändert. Seit Version ist dies nicht mehr der Fall, siehe Option B<-s>. Verwenden Sie ab Version 5.1.5 die Umgebungsvariable I, um die Einstellung des vorgegebenen Einleseverzeichnisses außer Kraft zu setzen." #. type: textblock #: wcd.pod:1203 msgid "Example for DOS, Windows, OS/2 Command Prompt:" msgstr "Beispiel für die Befehlszeileninterpreter in DOS, Windows, OS/2:" #. type: verbatim #: wcd.pod:1205 #, no-wrap msgid "" " set WCDHOME=C:\\Users\\erwin\\wcd\n" "\n" msgstr "" " set WCDHOME=C:\\Users\\erwin\\wcd\n" "\n" #. type: textblock #: wcd.pod:1207 wcd.pod:1228 wcd.pod:1248 wcd.pod:1273 msgid "An example for POSIX type shells:" msgstr "Ein Beispiel für POSIX-Shells:" #. type: verbatim #: wcd.pod:1209 #, no-wrap msgid "" " export WCDHOME=\"$HOME/.wcd\"\n" "\n" msgstr "" " export WCDHOME=\"$HOME/.wcd\"\n" "\n" #. type: textblock #: wcd.pod:1211 wcd.pod:1232 wcd.pod:1252 wcd.pod:1277 msgid "An example for Csh type shells:" msgstr "Ein Beispiel für Csh-Shells:" #. type: verbatim #: wcd.pod:1213 #, no-wrap msgid "" " setenv WCDHOME \"$HOME/.wcd\"\n" "\n" msgstr "" " setenv WCDHOME \"$HOME/.wcd\"\n" "\n" #. type: =item #: wcd.pod:1215 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1217 msgid "Use environment variable I to overrule the default scan directory I. Define a colon separated list (Unix) to define more than one directory. On DOS/Windows make the list semi-colon separated." msgstr "Verwenden Sie die Umgebungsvariable I, um die Einstellung des vorgegebenen Einleseverzeichnisses I außer Kraft zu setzen. Geben Sie eine durch Doppelpunkte getrennte Liste an (für Unix), wenn Sie mehr als ein Verzeichnis angeben wollen. Unter DOS/Windows verwenden Sie Semikola als Trennzeichen." #. type: textblock #: wcd.pod:1222 msgid "Examples for DOS, Windows, OS/2 Command Prompt:" msgstr "Beispiel für die Befehlszeileninterpreter von DOS, Windows und OS/2:" #. type: verbatim #: wcd.pod:1224 #, no-wrap msgid "" " set WCDSCAN=C:\\Users\\erwin;D:\\data\n" "\n" msgstr "" " set WCDSCAN=C:\\Users\\erwin;D:\\data\n" "\n" #. type: verbatim #: wcd.pod:1226 #, no-wrap msgid "" " set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\\\projectdrive\\projectX\n" "\n" msgstr "" " set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\\\projectdrive\\projectX\n" "\n" #. type: verbatim #: wcd.pod:1230 #, no-wrap msgid "" " export WCDSCAN=\"$HOME:/projectdisk/projectX\"\n" "\n" msgstr "" " export WCDSCAN=\"$HOME:/projectdisk/projectX\"\n" "\n" #. type: verbatim #: wcd.pod:1234 #, no-wrap msgid "" " setenv WCDSCAN \"$HOME:/projectdisk/projectX\"\n" "\n" msgstr "" " setenv WCDSCAN \"$HOME:/projectdisk/projectX\"\n" "\n" #. type: =item #: wcd.pod:1236 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1238 msgid "Specify filters with environment variable I. All directories that do not match the filter(s) are ignored. A list can be specified by separating filters by the shell path separator. Similar as specifying the I variable. The case sensitivity is mandated by the Operating system." msgstr "Geben Sie Filter mit der Umgebungsvariable I an. Alle Verzeichnisse, die nicht auf diese(n) Filter passen, werden ignoriert. Sie können eine Liste angeben, in der Sie die einzelnen Filter aneinanderreihen und dazwischen das Pfad-Trennzeichen Ihrer Shell setzen. Dies funktioniert ähnlich wie die Angabe der Variable I. Ob dabei Groß-/Kleinschreibung berücksichtigt wird, hängt vom jeweiligen Betriebssystem ab." #. type: textblock #: wcd.pod:1244 wcd.pod:1269 msgid "An example for DOS, Windows, OS/2 Command Prompt:" msgstr "Beispiel für die Befehlszeileninterpreter in DOS, Windows, OS/2:" #. type: verbatim #: wcd.pod:1246 #, no-wrap msgid "" " set WCDFILTER=projects;doc\n" "\n" msgstr "" " set WCDFILTER=projects;doc\n" "\n" #. type: verbatim #: wcd.pod:1250 #, no-wrap msgid "" " export WCDFILTER=\"projects:doc\"\n" "\n" msgstr "" " export WCDFILTER=\"projects:doc\"\n" "\n" #. type: verbatim #: wcd.pod:1254 #, no-wrap msgid "" " setenv WCDFILTER \"projects:doc\"\n" "\n" msgstr "" " setenv WCDFILTER \"projects:doc\"\n" "\n" #. type: =item #: wcd.pod:1256 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1258 msgid "The paths specified with environment I will be banned by wcd. See also option B<-b>. Specify a list of paths separated by shell I separator." msgstr "Die in der Umgebungsvariable I angegebenen Pfade werden gebannt, siehe auch die Option B<-b>. Geben Sie eine Liste der Pfade an, durch das I-Trennzeichen der Shell getrennt." #. type: =item #: wcd.pod:1262 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1264 msgid "The paths specified with environment I will be excluded by wcd. See also options B<-x> and B<-xf>. Specify a list of paths separated by shell I separator." msgstr "Die in der Umgebungsvariable I angegebenen Pfade werden von wcd ausgeschlossen, siehe auch die Optionen B<-x> und B<-xf>. Geben Sie eine Liste der Pfade an, durch das I-Trennzeichen der Shell getrennt." #. type: verbatim #: wcd.pod:1271 #, no-wrap msgid "" " set WCDEXCLUDE=*/windows;*/temp;*CVS\n" "\n" msgstr "" " set WCDEXCLUDE=*/windows;*/temp;*CVS\n" "\n" #. type: verbatim #: wcd.pod:1275 #, no-wrap msgid "" " export WCDEXCLUDE=\"/dev:/tmp:*CVS\"\n" "\n" msgstr "" " export WCDEXCLUDE=\"/dev:/tmp:*CVS\"\n" "\n" #. type: verbatim #: wcd.pod:1279 #, no-wrap msgid "" " setenv WCDEXCLUDE \"/dev:/tmp:*CVS\"\n" "\n" msgstr "" " setenv WCDEXCLUDE \"/dev:/tmp:*CVS\"\n" "\n" #. type: =item #: wcd.pod:1281 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1283 msgid "Set the base of user's home directories. On DOS/Windows the default value is C<\\\\users>. On Unix/Cygwin the default value is C. This variable is used to scan treedata files of other users. See also options B<-u> and B<+u>. In verbose mode wcd will print all filters, bans and excludes. See option B<-v>." msgstr "Dies legt das übergeordnete Verzeichnis der Home-Verzeichnisse der Benutzer fest. Unter DOS/Windows ist der Standardwert C<\\\\users>. Unter Unix/Cygwin ist C die Vorgabe. Die Variable wird verwendet, um die Baumdateien anderer Benutzer einzulesen. Siehe auch die Optionen B<-u> und B<+u>. Im ausführlichen Modus gibt wcd alle Filter sowie gebannte und auszuschließende Verzeichnisse aus. Siehe Option B<-v>." #. type: =item #: wcd.pod:1290 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1292 msgid "Wcd gives preference to I over the default stack file name (see section FILES). With this variable each shell (or used terminal emulator) can have its private stack of used directories." msgstr "Wcd bevorzugt I gegenüber dem vorgegebenen Namen der Stapeldatei (siehe Abschnitt DATEIEN). Mit dieser Variable kann jede Shell oder jede Terminalemulation ihren eigenen Verzeichnisstapel haben." #. type: textblock #: wcd.pod:1296 msgid "To use a unique time based YYYYMMDD-HHMMSS file for each opened interactive shell." msgstr "So verwenden Sie eine eindeutige zeitbasierte Datei (JJJJMMTT-HHMMSS) für jede geöffnete interaktive Shell:" #. type: verbatim #: wcd.pod:1299 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)\n" "\n" msgstr "" " export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)\n" "\n" #. type: textblock #: wcd.pod:1301 msgid "For a stack per xterm(1), use the xterm I environment variable:" msgstr "Für einen Stapel pro xterm(1) verwenden Sie die Umgebungsvariable I:" #. type: verbatim #: wcd.pod:1303 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID\n" "\n" msgstr "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID\n" "\n" #. type: textblock #: wcd.pod:1305 msgid "For GNU screen(1), to use stack per screen:" msgstr "Einen Stapel pro Bildschirm erreichen Sie für GNU screen(1) so:" #. type: verbatim #: wcd.pod:1307 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW\n" "\n" msgstr "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW\n" "\n" #. type: =item #: wcd.pod:1309 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1311 msgid "If the environment variable I is defined, wcd with ncurses interface checks for a local terminal definition before checking in the standard place. This is useful if terminal definitions are not on a standard place. Often used standard places are C and C." msgstr "Wenn die Umgebungsvariable I, sucht wcd mit ncurses-Schnittstelle nach einer lokalen Teminaldefinition, bevor am Standardort gesucht wird. Dies ist sinnvoll für Terminaldefinitionen, die sich nicht an einem vorgegebenen Ort befinden. Oft verwendete Standardorte sind C und C." #. type: =item #: wcd.pod:1317 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1319 msgid "Wcd with PDCurses interface recognizes the environment variable I. If this environment variable is set, PDCurses will take a copy of the contents of the screen at the time that wcd is started; when wcd exits, the screen will be restored. An example for Windows Command Prompt:" msgstr "Wcd mit PDCurses-Schnittstelle berücksichtigt die Umgebungsvariable I. Falls diese Umgebungsvariable gesetzt ist, erzeugt PDCurses eine Kopie des Bildschirminhalts zur Startzeit von wcd. Beim Abbruch von wcd wird der Bildschirm wiederhergestellt. Ein Beispiel für den Windows-Befehlszeileninterpreter:" #. type: verbatim #: wcd.pod:1325 #, no-wrap msgid "" " set PDC_RESTORE_SCREEN=1\n" "\n" msgstr "" " set PDC_RESTORE_SCREEN=1\n" "\n" #. type: textblock #: wcd.pod:1327 msgid "Windows allows only a small buffer to be saved. So it is not always possible to restore everything. Some garbage data may be printed in the console after wcd exits if you have set a large buffer width." msgstr "Windows kann nur einen kleinen Puffer speichern. Es ist daher nicht immer möglich, alles wiederherzustellen. Andererseits kann in der Konsole nach dem Beenden von wcd Datenmüll ausgegeben werden, falls Sie den Puffer größer gewählt haben." #. type: =item #: wcd.pod:1332 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1334 msgid "Printing of C<#!$SHELL> on the first line of the go-script for POSIX type shell or C shell is needed for 8 bit characters. Some shells otherwise think that the go-script is a binary file and will not source it. In Cygwin Bash the variable I must be set in environment using the C command, otherwise wcd can't read the variable." msgstr "Die Angabe von C<#!$SHELL> in der ersten Zeile des Go-Skripts (für POSIX- oder C-Shells) ist für 8-Bit-Zeichen nötig. Einige Shells könnten sonst annehmen, dass es sich bei dem Go-Skript um eine Binärdatei handelt und diese nicht einlesen. In der Cygwin-Bash muss die Variable I mit dem Befehl C gesetzt werden, sonst kann wcd diese Variable nicht lesen." #. type: =item #: wcd.pod:1342 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1344 msgid "Wcd for DOS bash uses C<$BASH> instead of C<$SHELL>, because C<$SHELL> points to the DOS command shell. One may need to define C<$BASH> with an C command, otherwise wcd can't read the variable." msgstr "Wcd für die DOS-Bash verwendet C<$BASH> anstelle von C<$SHELL>, weil C<$SHELL> auf die DOS-Befehlsshell zeigt. C<$BASH> muss mit einem C-Befehl definiert werden, anderenfalls kann wcd die Variable nicht lesen." #. type: =head1 #: wcd.pod:1351 msgid "SEE ALSO" msgstr "SIEHE AUCH" #. type: textblock #: wcd.pod:1353 msgid "sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1)," msgstr "sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1)," #. type: =head1 #: wcd.pod:1361 msgid "AUTHORS" msgstr "AUTOREN" #. type: textblock #: wcd.pod:1363 msgid "Wcd was written by Erwin Waterlander " msgstr "Wcd wurde von Erwin Waterlander geschrieben." #. type: textblock #: wcd.pod:1365 msgid "Project homepage: L" msgstr "Projektseite: L" #. type: textblock #: wcd.pod:1368 msgid "SourceForge: L" msgstr "SourceForge: L" #. type: textblock #: wcd.pod:1371 msgid "The manual page formatting was provided by Jari Aalto ." msgstr "Die Formatierung der Handbuchseite wurde von Jari Aalto bereitgestellt." #. type: textblock #: wcd.pod:1374 msgid "NCD was originally written by Brad Kingsbury for Peter Norton's \"Norton Utilities\" around 1987. See also L" msgstr "NCD wurde ursprünglich von Brad Kingsbury für Peter Nortons »Norton Utilities« etwa 1987 geschrieben. Siehe auch L" wcd-6.0.3/src/po-man/fr.po0000644000175500010010000035056713524756523014525 0ustar waterlanGeen# wcd-man french translation # Copyright (C) 2015 Erwin Waterlander (msgids) # This file is distributed under the same license as the wcd package. # # Stéphane Aulery , 2015. # Grégoire Scano , 2019. # # A traduire: Command Prompt msgid "" msgstr "" "Project-Id-Version: wcd-man-6.0.3-beta7\n" "POT-Creation-Date: 2019-01-11 20:02+0100\n" "PO-Revision-Date: 2019-06-14 08:30+0800\n" "Last-Translator: Grégoire Scano \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" #. type: =head1 #: wcd.pod:43 msgid "NAME" msgstr "NOM" #. type: textblock #: wcd.pod:45 msgid "wcd - Wherever Change Directory" msgstr "wcd - Wherever Change Directory" #. type: textblock #: wcd.pod:47 msgid "chdir for DOS and Unix" msgstr "chdir pour DOS et Unix." #. type: =head1 #: wcd.pod:49 msgid "SYNOPSIS" msgstr "SYNOPSIS" #. type: verbatim #: wcd.pod:51 #, no-wrap msgid "" " wcd [options] [directory]\n" "\n" msgstr "" " wcd [options] [répertoire]\n" "\n" #. type: =head1 #: wcd.pod:53 msgid "DESCRIPTION" msgstr "DESCRIPTION" #. type: =head2 #: wcd.pod:55 msgid "Overview" msgstr "Présentation" #. type: textblock #: wcd.pod:57 msgid "Wcd is a command-line program to change directory fast. It saves time typing at the keyboard. One needs to type only a part of a directory name and wcd will jump to it. Wcd has a fast selection method in case of multiple matches and allows aliasing and banning of directories. Wcd also includes a full screen interactive directory tree browser with speed search." msgstr "Wcd est un logiciel en ligne de commande permettant de changer de répertoire rapidement. Il permet de gagner du temps d'écriture au clavier. Un utilisateur n'a besoin de taper qu'une partie du nom d'un répertoire et wcd s'y déplacera. Wcd a une méthode de sélection rapide lors de multiples correspondances et permet l'alias et le bannissement de répertoires. Wcd inclus également un navigateur d'arborescence de fichiers intéractif en mode plein écran et avec recherche rapide." #. type: textblock #: wcd.pod:63 msgid "Wcd was modeled after Norton Change Directory (NCD). NCD appeared first in I, for DOS in 1987, published by Peter Norton." msgstr "Wcd a été construit sur le modèle du Norton Change Directory (NCD). NCD est apparu pour la première fois dans I, pour DOS en 1987 et publié par Peter Norton." #. type: textblock #: wcd.pod:66 msgid "Wcd has been ported to different command-line shells: DOS command.com, Windows cmd.exe and PowerShell, OS/2 cmd.exe, and Unix shells such as Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), and C (csh) shell and others running on any operating system." msgstr "Wcd a été adapté à différentes interfaces système en ligne de commande : DOS command.com, Windows cmd.exe et PowerShell, OS/2 cmd.exe, et aux interfaces système Unix telles que Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), et C (csh) ainsi qu'à d'autres fonctionnant sur tout système d'exploitation." #. type: textblock #: wcd.pod:71 msgid "Wcd supports 8 bit character sets on all systems, and has optional support for Unicode. See section LOCALIZATION." msgstr "Wcd prend en charge les ensemble de caractères 8 bits sur tous les systèmes, et prend en charge l'Unicode de façon optionnelle. Voir la section LOCALISATION." #. type: textblock #: wcd.pod:74 msgid "See section INSTALLATION how to setup wcd for personal use." msgstr "Voir la section INSTALLATION pour mettre en place wcd dans le cas d'un usage personnel." #. type: =head2 #: wcd.pod:76 msgid "Basic use" msgstr "Utilisation basique" #. type: textblock #: wcd.pod:78 msgid "By default (if no wildcards are used) wcd searches for a directory with a name that begins with the typed name." msgstr "Par défaut (si aucun caractère étendu n'est utilisé) wcd cherche un répertoire avec un nom commençant par le nom entré." #. type: textblock #: wcd.pod:81 msgid "For instance this command will change to directory to the current user's C:" msgstr "Par exemple, cette commande changera vers le répertoire de l'utlisateur courant C :" #. type: verbatim #: wcd.pod:84 #, no-wrap msgid "" " wcd Desk\n" "\n" msgstr "" " wcd Desk\n" "\n" #. type: textblock #: wcd.pod:86 msgid "When there are multiple matches, wcd will present the user a list of all matches. The user can then make a selection with a few keystrokes (most of the times only one)." msgstr "Lorsqu'il y a plusieurs correspondances, wcd affichera à l'utilisateur une liste les contenant toutes. L'utilisateur pourra alors faire un choix avec un petit nombre de frappes clavier (une seule la plus part du temps)." #. type: =head2 #: wcd.pod:90 msgid "Wildcards" msgstr "Wildcards" #. type: textblock #: wcd.pod:92 msgid "Wcd supports following wildcards:" msgstr "Wcd prend en charge les caractères étendus suivant :" #. type: verbatim #: wcd.pod:94 #, no-wrap msgid "" " * matches any sequence of characters (zero or more)\n" " ? matches any character\n" " [SET] matches any character in the specified set,\n" " [!SET] or [^SET] matches any character not in the specified set.\n" "\n" msgstr "" " * correspond à toute séquence de caractères (zéro ou plus)\n" " ? correspond à n'importe quel caractère\n" " [ENSEMBLE] correspond à n'importe quel caractère dans l'ensemble donné,\n" " [!ENSEMBLE] ou [^ENSEMBLE] correspond à n'importe quel caractère qui n'est pas dans l'ensemble donné.\n" "\n" #. type: textblock #: wcd.pod:99 msgid "A set is composed of characters or ranges; a range looks like I as in C<0-9> or C. The C<[0-9a-zA-Z_]> is the minimal set of characters allowed in the C<[..]> pattern construct. International characters (i.e. 8 bit characters) are allowed if the system supports them. To suppress the special syntactic significance of any of C<[]*?!^-\\> inside or outside a C<[..]> construct and match the character exactly, precede the character with a backslash (C<\\>) marker." msgstr "Un ensemble est composé de caractères ou d'intervalles ; un intervalle s'écrit I comme dans C<0-9> ou C. C<[0-9a-zA-Z_]> est l'ensemble de caractères minimal autorisés dans la construction du motif C<[...]>. Les caractères internationaux (i.e. des caractères de 8 bits) sont autorisés si le système les prend en charge. Pour supprimer le sens syntaxique spécial de n'importe quel caractère C<[]*?!^-\\\\> dans ou hors d'une construction C<[..]> et correspondre au caractère en lui-même, faire précéder ce caractère d'une barre oblique inversée (C<\\\\>)." #. type: textblock #: wcd.pod:108 msgid "Using wildcards makes powerful searching possible. For instance this matches any directory name that ends with \"top\":" msgstr "L'utilisation de caractères étendus rend les recherches complexes possible. Par exemple, ceci correspond à n'importe quel nom de répertoire se terminant par « top » :" #. type: verbatim #: wcd.pod:111 #, no-wrap msgid "" " wcd *top\n" "\n" msgstr "" " wcd *top\n" "\n" #. type: textblock #: wcd.pod:113 msgid "Match directories that have \"top\" anywhere in the name:" msgstr "Faire correspondre les répertoires qui ont « top » quelque part dans leur nom :" #. type: verbatim #: wcd.pod:115 #, no-wrap msgid "" " wcd *top*\n" "\n" msgstr "" " wcd *top*\n" "\n" #. type: textblock #: wcd.pod:117 msgid "Match any directory name that begins with \"a\", \"b\" or \"c\":" msgstr "Faire correspondre n'importe quel nom de répertoire commençant par « a », « b » ou « c » :" #. type: verbatim #: wcd.pod:119 #, no-wrap msgid "" " wcd [a-c]*\n" "\n" msgstr "" " wcd [a-c]*\n" "\n" #. type: textblock #: wcd.pod:121 msgid "It is also possible to give a part of a directory path. Here Wcd searches for directory that begins with \"Desk\" and which path matches I<*me/Desk*>." msgstr "Il est également possible de donner une partie du chemin d'un répertoire. Ici Wcd cherche les répertoires dont le nom commençent par « Desk » et qui dont le chemin correspond à I<*me/Desk*>." #. type: verbatim #: wcd.pod:124 #, no-wrap msgid "" " wcd me/Desk\n" "\n" msgstr "" " wcd me/Desk\n" "\n" #. type: textblock #: wcd.pod:126 msgid "It is allowed to type any kind of expression with slashes and wildcards. E.g.:" msgstr "Il est possible d'entrer n'importe quel type d'expression avec des barres obliques et des caractères étendus. Par exemple :" #. type: verbatim #: wcd.pod:129 #, no-wrap msgid "" " wcd src*/*1?/a*2\n" "\n" msgstr "" " wcd src*/*1?/a*2\n" "\n" #. type: =head2 #: wcd.pod:131 msgid "Other uses" msgstr "Autres utilisations" #. type: textblock #: wcd.pod:133 msgid "If no wildcards are used and wcd finds a perfect match, wcd will ignore all wild matches by default. This behaviour can be changed with the B<-w> option." msgstr "Si aucun caractère étendu n'est utilisé et que wcd trouve une correspondance parfaite, wcd ignorera toutes les correspondances étendues par défaut. Ce comportement peut être modifié par l'option B<-w>." #. type: textblock #: wcd.pod:136 msgid "The interactive directory tree browser can be started by using option B<-g>." msgstr "Le navigateur d'arborescence de répertoire intéractif peut être démarré en utilisant l'option B<-g>." #. type: verbatim #: wcd.pod:138 #, no-wrap msgid "" " wcd -g\n" "\n" msgstr "" " wcd -g\n" "\n" #. type: textblock #: wcd.pod:140 msgid "Wcd generates a treedata file where it searches the directory. On Unix and Windows systems wcd does add symbolic links to the treedata file while scanning the disk, but does not follow them. While following links wcd could end up scanning infinite loops, or scan very large portions of a network." msgstr "Wcd génère un fichier d'arborescence à l'emplacement de la recherche du répertoire. Sur les systèmes Unix et Windows, wcd ajoute des liens symboliques vers le fichier d'arborescence lors de l'examem du disque, mais ne les suit pas. S'il suivait les liens, wcd pourrait examiner une boucle infinie, ou de très grandes portions d'un réseau." #. type: textblock #: wcd.pod:145 msgid "Wcd can also change to directories that are not in the treedata file. E.g.:" msgstr "Wcd peut également changer vers des répertoires qui ne sont pas dans le fichier d'arborescence. Par exemple :" #. type: verbatim #: wcd.pod:147 #, no-wrap msgid "" " wcd ..\n" "\n" msgstr "" " wcd ..\n" "\n" #. type: textblock #: wcd.pod:149 msgid "If wcd found a match but can't change to the directory it tries to remove it from the default treedata file. Not from the extra treedata file. See also option B<-k>." msgstr "Si wcd trouve une correspondance mais ne peut pas aller au répertoire, il tente alors de le supprimer du fichier d'arborescence par défaut. Pas du fichier d'arborescence supplémentaire. Voir également l'option B<-k>." #. type: textblock #: wcd.pod:153 msgid "Wcd keeps a directory stack which is stored on disk. The stack has a default size of 10 and is cyclic. See options B<-z>, B<->, B<+> and B<=>." msgstr "Wcd conserve une pile de répertoires stockée sur le disque. La pile à une taille par défaut de 10 et est cyclique. Voir les options B<-z>, B<->, B<+> et B<=>." #. type: textblock #: wcd.pod:157 msgid "In multi-user environments option B<-u> can be used to change to directories of other users." msgstr "Dans un environnement multi-utilisateurs, l'option B<-i> peut être utilisée pour se déplacer dans des répertoires d'autres utilisateurs." #. type: textblock #: wcd.pod:161 msgid "On DOS and Windows systems it does not matter if you use a slash \"/\" or a backslash \"\\\" as a directory separator." msgstr "Sur les systèmes DOS et Windows, peut importe si vous utilisez la barre oblique « / » ou la barre oblique inversée « \\\\ » comme séparateur de répertoires." #. type: textblock #: wcd.pod:164 msgid "It is possible on DOS and Windows systems to change drive and directory in one go by preceding the directory name with the drive name." msgstr "Sur les systèmes DOS et Windows, il est possible de changer de lecteur et de répertoire d'un seul coup en faisant précéder le nom du répertoire par le nom du lecteur." #. type: verbatim #: wcd.pod:167 #, no-wrap msgid "" " wcd d:games\n" "\n" msgstr "" " wcd d:games\n" "\n" #. type: =head2 #: wcd.pod:171 msgid "Windows UNC paths" msgstr "chemins Windows UNC" #. type: textblock #: wcd.pod:173 msgid "The Windows versions (Command Prompt, PowerShell, MSYS, zsh, cygwin) support Windows SMB LAN UNC paths without drive letter such as C<\\\\servername\\sharename>. Wcd for Windows Command Prompt makes use of the \"pushd\" command to automatically map a UNC path to a drive letter. In Windows PowerShell, MSYS, zsh and Cygwin UNC paths are fully supported. The current working directory can be a UNC path." msgstr "Les versions Windows (Command Prompt, PowerShell, MSYS, zsh, cygwin) prennent en charge les chemins Windows SMB LAN UNC sans lettre de lecteur tel que C<\\\\\\\\servername\\\\sharename>. Wcd pour Windows Command Prompt utilise la commande « pushd » pour faire correspondre un chemin UNC à une lettre de lecteur. Dans Windows PowerShell, MSYS, zsh et Cygwin, les chemins UNC sont pris en charge. Le répertoire de travail courant peut être un chemin UNC." #. type: =head2 #: wcd.pod:180 msgid "Console resizing on Windows" msgstr "Redimensionnement de console sous Windows" #. type: textblock #: wcd.pod:182 msgid "Wcd supports console resizing in Windows 10 console and ConEmu (see L) since version 6.0.3. The Windows 10 console must not be in legacy mode (check the console's properties). The screen may not refresh when the console Layout property \"Wrap text output on resize\" is disabled. The screen can be refreshed manually by pressing the F5 key." msgstr "Wcd prend en charge le redimensionnement de console dans les consoles Windows 10 et ConEmu (void L) depuis la version 6.0.3. La console Windows 10 ne doit pas être dans le mode « legacy » (vérifier les propriétés de la console). L'écran peut ne pas être rafraîchi lorsque la propriété de « Disposition » « Retour à la ligne automatique du texte de sortie lors d'un redimensionnement » de la console est désactivée. L'écran peut être rafraîchi manuellement en pressant la touche F5." #. type: =head2 #: wcd.pod:189 msgid "Interfaces" msgstr "Interfaces" #. type: textblock #: wcd.pod:191 msgid "Wcd has three different interfaces to choose from a list of matches. The interface can be chosen at compile time." msgstr "Wcd a trois interfaces pour choisir parmi une liste de correspondances. L'interface peut être choisie à la compilation." #. type: textblock #: wcd.pod:194 msgid "The first interface uses plain stdin/stdout. A numbered list is printed in the terminal. The user has to choose from the list by typing a number followed by . This interface does not provide scroll back functionality in case of a long list. The scroll back capability of the terminal/console has to be used. It is very small and portable." msgstr "La première interface utilise simplement stdin/stdout. Une liste numérotée est affichée dans le terminal. L'utilisateur doit choisir parmi cette liste en entrant un nombre suivi de la touche . Cette interface fournit pas la fonctionnalité de défilement arrière lorsque la liste est longue. La fonctionnalité de défilement arrière du terminal/console doit être utilisé. C'est très petit et portable." #. type: textblock #: wcd.pod:200 msgid "The second interface is built with the conio library. It provides a builtin scroll back capability. The user is presented a list numbered with letters. Choosing from a list can be done by pressing just one letter. This interface is fast because it saves keystrokes. If possible the screen will be restored after exiting. One who prefers to type numbers can use the B<-N> option." msgstr "La seconde interface est basée sur la bibliothèque conio. Elle fourni une capacité de défilement arrière intégrée. L'utilisateur voit affiché une liste ordonnée par des lettres. La sélection dans cette liste peut se faire en pressant une seule lettre. Cette interface est rapide car elle économise les frappes. Si possible, l'écran sera restauré après sortie. Utiliser l'option B<-N> si l'utilisation de nombres est préférrée." #. type: textblock #: wcd.pod:207 msgid "The third interface is built with the curses library. It is similar to the conio interface. The curses version of wcd has also an additional 'graphical' interface. It lets the user select a directory via a full screen interactive directory tree browser. It has a vim(1) like navigation and search method. It can be activated with option B<-g>." msgstr "La troisième interface est construite avec la bibliothèque curses. Elle est similaire à l'interface conio. La version curses de wcd a une interface « graphique » supplémentaire. Elle laisse l'utilisateur choisir un répertoire via un navigateur plein écran et intéractif d'arbre de répertoires. Elle a une navigation et une méthode de recherche similaire à celle de vim(1). Elle peut être activée avec l'option B<-g>." #. type: textblock #: wcd.pod:213 msgid "By using the B<-o> option one can always fall back to the stdin/stdout interface." msgstr "En utilisant l'option B<-o> il est toujours possible de revenir à l'interface stdin/stdout." #. type: =head1 #: wcd.pod:216 msgid "OPTIONS" msgstr "OPTIONS" #. type: =item #: wcd.pod:220 msgid "B<-a>" msgstr "B<-a>" #. type: textblock #: wcd.pod:222 msgid "Add current path to the default treedata file." msgstr "Ajouter le chemin courant au fichier d'arborescence par défaut." #. type: textblock #: wcd.pod:224 msgid "Use this option to quickly add the current path to the default treedata file. Re-scanning the complete disk can take a long time in some cases." msgstr "Utiliser cette option pour ajouter de façon rapide le chemin courant au fichier d'arborescence par défaut. Le réexamen complet du disque peut parfois pendre beaucoup de temps." #. type: =item #: wcd.pod:227 msgid "B<-aa>" msgstr "B<-aa>" #. type: textblock #: wcd.pod:229 msgid "Add current and all parent paths to the default treedata file." msgstr "Ajouter le chemin courant et tous les chemins parents au fichier d'arborescence par défaut." #. type: =item #: wcd.pod:231 msgid "B<-A PATH>" msgstr "B<-A PATH>" #. type: textblock #: wcd.pod:233 msgid "Scan directory tree from I and append to the default treedata file. Examples:" msgstr "Examiner l'arborescence de répertoires depuis I et l'ajouter au fichier d'arborescence par défaut. Exemples :" #. type: verbatim #: wcd.pod:236 #, no-wrap msgid "" " wcd -A .\n" " wcd -A /home -A /etc\n" " wcd -A d: -A e: -A \\\\server\\share\n" "\n" msgstr "" " wcd -A .\n" " wcd -A /home -A /etc\n" " wcd -A d: -A e: -A \\\\serveur\\partage\n" "\n" #. type: textblock #: wcd.pod:240 msgid "On Windows one can scan all shared directories of a Windows LAN server by typing something like: C." msgstr "Sur Windows, il est possible d'examiner tous les répertoires partagés d'un serveur LAN Windows en entrant quelque chose comme : " #. type: textblock #: wcd.pod:244 msgid "See also option B<-S> and B<-s> and B<-E>." msgstr "Voir également l'option B<-S> et B<-s> et B<-E>." #. type: =item #: wcd.pod:246 msgid "B<-b>" msgstr "B<-b>" #. type: textblock #: wcd.pod:248 msgid "Ban current path." msgstr "Banir le chemin courant." #. type: textblock #: wcd.pod:250 msgid "Wcd places the current path in the ban file. This means that wcd ignores all matches of this directory and its sub directories." msgstr "Wcd met le chemin courant dans le fichier de bannissements. Cela signifie que wcd ignore toutes les correspondances de ce répertoire et de ses sous-répertoires." #. type: textblock #: wcd.pod:253 msgid "The ban file can be edited with a text editor. Use of wildcards is supported and names are matched against the absolute path." msgstr "Le fichier de bannissements peut être modifié avec un éditeur de texte. L'utilisation de caractères étendus est prise en charge et les noms sont mis en correspondance avec le chemin absolu." #. type: textblock #: wcd.pod:256 msgid "Banned paths are not excluded from scanning the disk. To do that use option B<-xf>." msgstr "Les chemins bannis ne sont pas exclus de l'examen du disque. Pour cela utiliser l'option B<-xf>." #. type: =item #: wcd.pod:259 msgid "B<-c, --direct-cd>" msgstr "B<-c, --direct-cd>" #. type: textblock #: wcd.pod:261 msgid "Direct CD mode. By default wcd works as follows:" msgstr "Mode CD direct. Par défaut wcd marche de la façon suivante :" #. type: verbatim #: wcd.pod:263 #, no-wrap msgid "" " 1. Try to find a match in the treedata file(s)\n" " 2. If no match, try to open the directory you typed.\n" "\n" msgstr "" " 1. Essaie de trouver une correspondance dans le(s) fichier(s) d'arborescence\n" " 2. S'il n'y a pas de correspondances, essaie d'ouvrir le répertoire que vous avez entré.\n" "\n" #. type: textblock #: wcd.pod:266 msgid "In direct CD mode wcd works in reversed order." msgstr "En mode CD direct wcd marche en ordre inverse." #. type: verbatim #: wcd.pod:268 #, no-wrap msgid "" " 1. Try to open the directory you typed.\n" " 2. If not, try to find a match in the treedata file(s).\n" "\n" msgstr "" " 1. Essaie d'ouvrir le répertoire que vous avez entré.\n" " 2. Sinon, essaie de trouver une correspondance dans le(s) fichier(s) d'arborescence.\n" "\n" #. type: =item #: wcd.pod:272 msgid "B<-d DRIVE>" msgstr "B<-d LECTEUR>" #. type: textblock #: wcd.pod:274 msgid "Set drive for stack and go file (DOS only)." msgstr "Choisir le lecteur pour le fichier de pile et de « go » (DOS uniquement)." #. type: textblock #: wcd.pod:276 msgid "The stack file and the go-script are by default stored on drive C: if environment variable I is not set. Use this option if drive C: is a read-only drive. This option must be used in front of the stack options B<->, B<+> and B<=>." msgstr "Les fichiers de pile et de script-go sont stockés sur le lecteur C: par défaut si la variable d'environnement I n'est pas définie. Utiliser cette option si le lecteur C: est un lecteur en lecture seule. Cette option doit utiliser devant les options de pile B<->, B<+> and B<=>." #. type: =item #: wcd.pod:281 msgid "B<-e>" msgstr "B<-e>" #. type: textblock #: wcd.pod:283 msgid "Add current path to the extra treedata file." msgstr "Ajouter le chemin courant au fichier d'arborescence supplémentaire." #. type: textblock #: wcd.pod:285 msgid "Use this option to quickly add the current path to the extra treedata file." msgstr "Utiliser cette option pour ajouter rapidement le chemin courant au fichier d'arborescence supplémentaire." #. type: =item #: wcd.pod:287 msgid "B<-ee>" msgstr "B<-ee>" #. type: textblock #: wcd.pod:289 msgid "Add current and all parent paths to extra treedata file." msgstr "Ajouter le chemin courant et tous les chemins parents au fichier d'arborescence supplémentaire." #. type: =item #: wcd.pod:291 msgid "B<-E PATH>" msgstr "B<-E PATH>" #. type: textblock #: wcd.pod:293 msgid "Scan directory tree from I and append to Extra treedata file. See also options B<-A> and B<-S>." msgstr "Examiner l'arborescence de répertoires depuis I et ajouter au fichier d'arborescence supplémentaire. Voir aussi les options B<-A> et B<-S>." #. type: =item #: wcd.pod:296 msgid "B<-f FILE>" msgstr "B<-f FICHIER>" #. type: textblock #: wcd.pod:298 msgid "Read treedata file I. Do not read the default treedata file." msgstr "Lire le fichier d'arborescence I. Ne pas lire le fichier d'arborescence par défaut." #. type: =item #: wcd.pod:300 msgid "B<+f FILE>" msgstr "B<+f FICHIER>" #. type: textblock #: wcd.pod:302 msgid "Read treedata file I in addition to the default treedata file." msgstr "Lire le fichier d'arborescence I en plus du fichier d'arborescence par défaut." #. type: =item #: wcd.pod:304 msgid "B<-g>" msgstr "B<-g>" #. type: textblock #: wcd.pod:306 msgid "Graphical interface (only in version with curses interface)." msgstr "Interface graphique (uniquement pour les versions avec l'interface curses)." #. type: textblock #: wcd.pod:308 msgid "Wcd starts a textual curses based 'graphical' interface. The user can select a directory via a full-screen interactive directory tree browser. It has a vim(1) like navigation and search method." msgstr "Wcd démarre une interface « graphique » textuelle basée sur curses. L'utilisateur peut choisir un répertoire via le navigateur d'arbre de répertoires intéractif en plein écran. Il possède une méthode de navigation et de recherche similaire à celle de vim(1)." #. type: textblock #: wcd.pod:312 msgid "If no search string is given wcd presents the whole tree which is in the default treedata file and the extra treedata files." msgstr "Si aucune chaîne de recherche n'est donnée, wcd affiche l'arbre entier qui se trouve dans le fichier d'arborescence par défaut ainsi que dans les fichiers d'arborescence supplémentaires." #. type: textblock #: wcd.pod:315 msgid "If a search string is given the match list is presented as a directory tree." msgstr "Si une chaîne de recherche est donnée, la liste des correspondances est affichée comme un arbre de répertoires." #. type: textblock #: wcd.pod:318 msgid "The default tree layout is similar to the tree layout of the original NCD on DOS. The difference in layout is that in NCD all directories of a same depth level were vertically aligned over the whole tree. This was possible in NCD, because the maximum width of a directory name in DOS was 12 (8.3) characters. On modern operating systems directory names can be very long, so also the differences in length can be large. Therefore folders with a same depth are not vertically aligned over the whole tree in wcd, but only in sub-branches. So there is some sideways movement when moving straight up and down from one sub-branch to another sub-branch." msgstr "La disposition par défaut de l'arbre est similaire à celle du NCD initial sur DOS. La différence de disposition réside dans le fait que pour NCD, tous les répertoires de profondeur identique étaient alignés verticalement sur toute la hauteur de l'arbre. Cela était possible sous NCD parce que la longueur maximale d'un nom de répertoire sous DOS était de 12 (8.3) caractères. Les noms de répertoire pouvant être très longs sur les systèmes d'exploitation modernes, la différence de longeur peut être importante. De fait, les dossiers de même profondeur ne sont pas alignés verticalement sur la totalité de l'arbre dans wcd, mais seulement dans les sous-branches. Il y a donc des mouvements latéraux lors d'un déplacement direct vers le haut ou vers le bas depuis une sous-branche vers une autre sous-branche." #. type: textblock #: wcd.pod:328 msgid "The navigation behaviour in Wcd is exactly the same as in the original NCD. For instance if you push the Down key you go down to the next directory with the same depth level, jumping over branches. This enables fast navigation through the tree." msgstr "Le comportement de navigation de Wcd est exactement identique à celui du NCD initial. Par exemple, l'appui sur la touche Bas du clavier amène au répertoire suivant avec la même profondeur, passant outre les branches. Cela permet une navigation rapide dans l'arbre." #. type: textblock #: wcd.pod:333 msgid "See options B<-Ta>, B<-TC>, and B<-Tc> to change the navigation behaviour." msgstr "Voir les options B<-Ta>, B<-TC>, et B<-Tc> pour modifier le comportement de la navigation." #. type: =item #: wcd.pod:335 msgid "B<-gd>" msgstr "B<-gd>" #. type: textblock #: wcd.pod:337 msgid "Dump the treedata files as a tree to stdout." msgstr "Décharger les fichiers d'arborescence sous forme d'arbre sur la sortie standard." #. type: =item #: wcd.pod:339 msgid "B<-G PATH>" msgstr "B<-G PATH>" #. type: textblock #: wcd.pod:341 msgid "Write go-script in directory I. For instance on Unix, C will write a go-script B." msgstr "Ecrire le script « go » dans le répertoire I. Par exemple sur Unix, C va écrire un fichier de script « go » B." #. type: =item #: wcd.pod:344 msgid "B<-GN, --no-go-script>" msgstr "B<-GN, --no-go-script>" #. type: textblock #: wcd.pod:346 msgid "Do not create go-script. This option can be used in combination with the option B<-j> if one does not want wcd to create a go-script." msgstr "Ne pas créer un script « go ». Cette option peut être utilisée en association avec l'option B<-j> si la création d'un script « go » n'est pas désirée." #. type: =item #: wcd.pod:349 msgid "B<-h, --help>" msgstr "B<-h, --help>" #. type: textblock #: wcd.pod:351 msgid "Show help and exit." msgstr "Afficher l'aide et quitter." #. type: =item #: wcd.pod:353 msgid "B<-i, --ignore-case>" msgstr "B<-i, --ignore-case>" #. type: textblock #: wcd.pod:355 msgid "Ignore case. Dos and Windows versions of wcd ignore case default. Unix/Cygwin versions regard case by default." msgstr "Ignorer la casse. Les versions Dos et Windows de wcd ignore la casse par défaut. Les versions Unix/Cygwin respectent en compte la casse par défaut." #. type: =item #: wcd.pod:359 msgid "B<+i, --no-ignore-case>" msgstr "B<+i, --no-ignore-case>" #. type: textblock #: wcd.pod:361 msgid "Regard case. See also option B<-i>." msgstr "Respecter la casse. Voir aussi l'option B<-i>." #. type: =item #: wcd.pod:363 msgid "B<-I, --ignore-diacritics>" msgstr "B<-I, --ignore-diacritics>" #. type: textblock #: wcd.pod:365 msgid "Ignore diacritics for Latin-based scripts. Letters with diacritical marks match their base letter without diacritical mark. The following Latin encodings are supported: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, and Unicode Latin-1, Latin Extended-A, and Latin Extended-B. See also L" msgstr "Ignorer les caractères diacritiques pour les scripts en Latin. Les lettres avec des symboles diacritiques correspondent à leur lettre de base dans ces symboles diacritiques. Les encodages Latin suivant sont pris en charge : CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, et Unicode Latin-1, Latin Extended-A, et Latin Extended-B. Voir aussi L" #. type: =item #: wcd.pod:372 msgid "B<+I, --no-ignore-diacritics>" msgstr "B<+I, --no-ignore-diacritics>" #. type: textblock #: wcd.pod:374 msgid "Regard diacritics (default). See also option B<-I>." msgstr "Prendre en compte les diacritiques (défaut). Voir aussi l'option B<-I>." #. type: =item #: wcd.pod:376 msgid "B<-j, --just-go>" msgstr "B<-j, --just-go>" #. type: textblock #: wcd.pod:378 msgid "Just go mode." msgstr "Mode à accès direct." #. type: textblock #: wcd.pod:380 msgid "In this mode wcd will not present a list when there is more than one directory that matches the given directory. Wcd will just change to the first option. When wcd is invoked again with the same arguments it will change to the next option, and so on." msgstr "Dans ce mode, wcd ne présentera pas de liste lorsqu'il y a plusieurs répertoires correspondant au répertoire donné. Wcd changera vers la première option. Lorsque wcd est appelé une nouvelle fois avec les même arguments, il changera vers l'option suivante et ainsi de suite." #. type: textblock #: wcd.pod:385 msgid "Wcd will print the directory to go to to stdout. So a different installation method can be used. One could make the following function for a POSIX compatible shell:" msgstr "Wcd affichera le répertoire vers lesquel aller sur la sortie standard. Une méthode d'installation différente peut être utilisée. On pourra écrire la fonction suivante pour une interface système compatible POSIX :" #. type: verbatim #: wcd.pod:389 #, no-wrap msgid "" " wcd ()\n" " {\n" " cd \"$($HOME/bin/wcd.exe -j $@)\"\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " cd \"$($HOME/bin/wcd.exe -j $@)\"\n" " }\n" "\n" #. type: textblock #: wcd.pod:394 msgid "When you are using an old shell that doesn't support \"$()\" command substitution you have to use old style command substitution with back-quotes." msgstr "Lors de l'utilisation d'une interface système ancienne ne prenant pas en charge la substitution de commande « $() », il faut recourir à la substitution de commande ancienne utilisant l'accent grave." #. type: verbatim #: wcd.pod:397 #, no-wrap msgid "" " wcd ()\n" " {\n" " cd \"`$HOME/bin/wcd.exe -j $@`\"\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " cd \"`$HOME/bin/wcd.exe -j $@`\"\n" " }\n" "\n" #. type: textblock #: wcd.pod:403 msgid "On Windows systems, if one is running 4NT shell, one could make the following alias:" msgstr "Sur les systèmes Windows, si l'interface système 4NT est utilisée, il est alors possible de faire l'alias suivant :" #. type: verbatim #: wcd.pod:406 #, no-wrap msgid "" " alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`\n" "\n" msgstr "" " alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`\n" "\n" #. type: textblock #: wcd.pod:409 msgid "This method eliminates the need of the go-script, so one can use option B<-GN> in combination with B<-j>." msgstr "Cette méthode supprime la nécessité d'un script « go », et il est donc possible de combiner l'option B<-GN> avec l'option B<-j>." #. type: =item #: wcd.pod:412 msgid "B<-k, --keep-paths>" msgstr "B<-k, --keep-paths>" #. type: textblock #: wcd.pod:414 msgid "Keep paths." msgstr "Garder les chemins." #. type: textblock #: wcd.pod:416 msgid "Keep paths in the treedata file when wcd can't change to them. The default behaviour of wcd is that it tries to remove paths from the treedata when wcd can't change to them. With this option this behavior is turned off." msgstr "Conserver les chemins dans le fichier d'arborescence lorsque wcd ne peut s'y déplacer. Le comportement par défaut de wcd est d'essayer de supprimer les chemins du fichier d'arborescence lorsque wcd ne peut s'y rendre. Cette option désactive ce comportement." #. type: =item #: wcd.pod:420 msgid "B<-K, --color>" msgstr "B<-K, --color>" #. type: textblock #: wcd.pod:422 msgid "Use colors in graphical mode." msgstr "Utiliser les couleurs en mode graphique." #. type: =item #: wcd.pod:424 msgid "B<-l ALIAS>" msgstr "B<-l ALIAS>" #. type: textblock #: wcd.pod:426 msgid "Name the current path with I. Wcd places the current path with alias I in the alias file. Aliases are case sensitive." msgstr "Nommer le chemin courant avec I. Wcd ajoute le chemin courant avec I pour alias dans le fichier d'alias. Les alias sont sensibles à la casse." #. type: =item #: wcd.pod:429 msgid "B<-ls>" msgstr "B<-ls>" #. type: textblock #: wcd.pod:431 msgid "Show the name of the alias file, and list all the aliases." msgstr "Afficher le nom du fichier d'alias et lister tous les alias." #. type: =item #: wcd.pod:433 msgid "B<-m DIR>" msgstr "B<-m DIR>" #. type: textblock #: wcd.pod:435 msgid "Make directory and add to treedata file." msgstr "Créer un répertoire et l'ajouter au fichier d'arborescence." #. type: =item #: wcd.pod:437 msgid "B<-L, --license>" msgstr "B<-L, --license>" #. type: textblock #: wcd.pod:439 msgid "Print the distribution license." msgstr "Afficher la license de distribution." #. type: =item #: wcd.pod:441 msgid "B<-M DIR>" msgstr "B<-M DIR>" #. type: textblock #: wcd.pod:443 msgid "Make directory and add to extra treedata file." msgstr "Créer un répertoire et l'ajouter au fichier d'arborescence supplémentaire." #. type: =item #: wcd.pod:445 msgid "B<-n PATH>" msgstr "B<-n PATH>" #. type: textblock #: wcd.pod:447 msgid "Read relative treedata file from I." msgstr "Lire le fichier d'arborescence relative depuis I." #. type: textblock #: wcd.pod:449 msgid "Do not read the default treedata file. The relative treedata file should already have been created using the wcd B<+S> option. I may also point to a file directly." msgstr "Ne pas lire le fichier d'arborescence par défaut. Le fichier d'arborescence relative doit avoir été créé en utilisant l'option B<+S> de wcd. I peut également référencer directement un fichier." #. type: textblock #: wcd.pod:453 msgid "An example. Suppose another system has been mounted to mount point C:" msgstr "Un exemple. Supposons qu'un autre système a été monté au point de montage C :" #. type: verbatim #: wcd.pod:456 #, no-wrap msgid "" " wcd -n /mnt/network src\n" "\n" msgstr "" " wcd -n /mnt/network src\n" "\n" #. type: textblock #: wcd.pod:458 msgid "Wcd opens the relative treedata file in C. The file contains the paths relative from that point." msgstr "Wcd ouvre le ficher d'arborescence relative dans C. Le fichier contient les chemins relatifs depuis cet endroit." #. type: =item #: wcd.pod:461 msgid "B<+n PATH>" msgstr "B<+n PATH>" #. type: textblock #: wcd.pod:463 msgid "Read relative treedata file in addition to the default treedata file. See option B<-n>." msgstr "Lire le ficher d'arborescence relative en plus du fichier d'arborescence par défaut. Voir l'option B<-n>." #. type: =item #: wcd.pod:466 msgid "B<-N, --numbers>" msgstr "B<-N, --numbers>" #. type: textblock #: wcd.pod:468 msgid "Use numbers instead of letters." msgstr "Utiliser des nombres à la place de lettres." #. type: textblock #: wcd.pod:470 msgid "Wcd with a conio or curses based interface (see section Interfaces) presents a match list by default numbered with letters. When the B<-N> option is used the match list is numbered with numbers. Regardless of the B<-N> option one can type a letter or numbers to make a selection from the list of matches." msgstr "Wcd avec une interface basée sur conio ou curses (void la section Interfaces) affiche une liste de correspondances indexée par des lettres par défaut. Lorsque l'option B<-N> est utilisée, la liste de correspondances est indexée par des nombres. Indépendamment de l'option B<-N>, il est possible d'entrer une lettre ou un nombre pour effectuer une sélection dans la liste de correspondances." #. type: =item #: wcd.pod:475 msgid "B<-o>" msgstr "B<-o>" #. type: textblock #: wcd.pod:477 msgid "Use stdin/stdout interface." msgstr "Utiliser l'interface stdin/stdout." #. type: textblock #: wcd.pod:479 msgid "When for some kind of reason the conio or curses interface of wcd does not work one can fall back to the stdin/stdout interface of wcd by using the B<-o> option." msgstr "Lorsque l'interface conio ou curses de wcd ne fonctionne pas pour quelque raison que ce soit, il est possible de se replier sur l'interface stdin/stdout de wcd en utilisant l'option B<-o>." #. type: =item #: wcd.pod:483 msgid "B<-od, --to-stdout>" msgstr "B<-od, --to-stdout>" #. type: textblock #: wcd.pod:485 msgid "Dump all matches to stdout." msgstr "Décharger l'ensemble des correspondances dans stdout." #. type: =item #: wcd.pod:487 msgid "B<-q, --quiet>" msgstr "B<-q, --quiet>" #. type: textblock #: wcd.pod:489 msgid "Quieter operation. Printing of the final match is suppressed." msgstr "Opération plus silencieuse. L'affichage de la dernière correspondance est supprimé." #. type: =item #: wcd.pod:491 msgid "B<-r DIR>" msgstr "B<-r DIR>" #. type: textblock #: wcd.pod:493 msgid "Remove directory and remove from the treedata file." msgstr "Supprimer un répertoire et le supprimer du fichier d'arborescence." #. type: textblock #: wcd.pod:495 msgid "If the directory is empty, wcd will remove it, and try to remove it from the treedata file." msgstr "Si le répertoire est vide, wcd le supprimera et tentera de le supprimer du fichier d'arborescence." #. type: =item #: wcd.pod:498 msgid "B<-rmtree DIR>" msgstr "B<-rmtree DIR>" #. type: textblock #: wcd.pod:500 msgid "Recursively remove directory and remove from the treedata file." msgstr "Supprimer un répertoire de façon récursive et le supprimer du fichier d'arborescence." #. type: textblock #: wcd.pod:502 msgid "Wcd will remove the directory and all its sub directories and files, and remove the directories from the treedata file." msgstr "Wcd supprimera le répertoire ainsi que tous ses sous-répertoires et fichiers et supprimera ces répertoires du fichier d'arborescence." #. type: =item #: wcd.pod:505 msgid "B<-s>" msgstr "B<-s>" #. type: textblock #: wcd.pod:507 msgid "(re)Scan disk from C<$HOME> directory. If I is not defined the disk is scanned from root directory /." msgstr "(re)Examiner le disque depuis le répertoire C. Si I n'est pas défini, le disque est examiné depuis le répertoire racine /." #. type: textblock #: wcd.pod:510 msgid "The existing default treedata file is overwritten." msgstr "Le fichier d'arborescence par défaut existant est écrasé." #. type: textblock #: wcd.pod:512 msgid "The default scan directory can be overruled with environment variable C. See section ENVIRONMENT VARIABLES." msgstr "Le répertoire d'exam par défaut peut être renversé par la variable d'enrivonnement C. Voir la section VARIABLES D'ENVIRONNEMENT ." #. type: =item #: wcd.pod:515 msgid "B<-S PATH>" msgstr "B<-S PATH>" #. type: textblock #: wcd.pod:517 msgid "Scan directory tree from I and overwrite the default treedata file. See also options B<-A>, B<-s> and B<-E>. E.g. with option B<-A> you can create a default treedata file of your choice. Examples:" msgstr "Examiner l'arbre de répertoires depuis I et écraser le fichier d'arborescence par défaut. Voir aussi les options B<-A>, B<-s> et B<-E>. Par exemple, avec l'option B<-A> il est possible de créer un fichier d'arborescence par défaut de votre choix. Exemples :\"" #. type: textblock #: wcd.pod:521 msgid "Unix:" msgstr "Unix :" #. type: verbatim #: wcd.pod:523 #, no-wrap msgid "" " wcd -S /\n" " wcd -S /home -A /etc -A /usr\n" "\n" msgstr "" " wcd -S /\n" " wcd -S /home -A /etc -A /usr\n" "\n" #. type: textblock #: wcd.pod:526 msgid "DOS/Windows:" msgstr "DOS / Windows :" #. type: verbatim #: wcd.pod:528 #, no-wrap msgid "" " wcd -S c:/\n" " wcd -S c: -A d: -A \\\\server\\share\n" "\n" msgstr "" " wcd -S c:/\n" " wcd -S c: -A d: -A \\\\serveur\\partage\n" "\n" #. type: textblock #: wcd.pod:531 msgid "With the Windows versions one can scan all shared directories of a Windows LAN server by typing something like: C." msgstr "Avec le versions Windows, il est possible d'examiner tous les répertoires partagés d'un serveur LAN Windows en entrant une commande similaire à : C." #. type: =item #: wcd.pod:535 msgid "B<+S PATH>" msgstr "B<+S PATH>" #. type: textblock #: wcd.pod:537 msgid "Scan disk from I and place relative paths in a relative treedata file. This file is used by the B<-n> and B<+n> options of wcd. E.g. C." msgstr "Examiner le disque depuis I et placer les chemins relatifs dans un fichier d'arborescence relative. Ce fichier est utilisé par les options B<-n> et B<+n> de wcd. Par exemple C." #. type: =item #: wcd.pod:541 msgid "B<-t>" msgstr "B<-t>" #. type: textblock #: wcd.pod:543 msgid "Do not strip tmp mount dir C (Unix only)" msgstr "Ne pas éviter le dossier de montage temporaire C (Unix uniquement)" #. type: textblock #: wcd.pod:545 msgid "Wcd strips by default C from the match. Directory C is used by the auto-mounter. This behaviour can be turned off with the B<-t> option." msgstr "Par défaut, wcd retire C des correpondances. Le répertoire C est utilisé par la montage automatique. Ce comportement peut être évité avec l'option B<-t>." #. type: =item #: wcd.pod:549 msgid "B<-T, --ascii-tree>" msgstr "B<-T, --ascii-tree>" #. type: textblock #: wcd.pod:551 msgid "Draw tree with ASCII characters. Use this option if line drawing characters are not displayed properly in your terminal." msgstr "Dessiner l'arbre avec des caractères ASCCI. Utiliser cette option si les caractères de dessin de ligne ne s'affichent pas correctement dans le terminal." #. type: =item #: wcd.pod:554 msgid "B<-Ta, --alt-tree-nav>" msgstr "B<-Ta, --alt-tree-nav>" #. type: textblock #: wcd.pod:556 msgid "Alternative way of navigation in the graphical tree." msgstr "Navigation alternative dans l'arbre graphique." #. type: textblock #: wcd.pod:558 msgid "In the default NCD style tree layout the B<-Ta> option disables jumping to unrelated directories." msgstr "Dans la disposition d'arbre en style du NCD par défaut, l'option B<-Ta> désactive le saut vers des répertoires sans liens." #. type: textblock #: wcd.pod:561 msgid "In compact tree mode the alternative mode makes navigation similar to navigation in GUI file managers such as Windows Explorer or Linux KDE Konqueror. Pressing Up and Down moves the selected folder one line up or down. Pressing Left first folds the sub-folders and the next move left moves really left." msgstr "Dans le mode d'arbre compact, le mode alternatif rend la navigation similaire à celle de gestionnaires de fichiers graphiques tels que Windows Explorer ou Linux KDE Konqueror. L'appui sur les touches Haut et Bas déplace le dossier sélectionné d'une ligne vers le haut ou le bas. Le premier appui sur la touche Gauche replie les sous-dossiers, le second se déplace réellement à gauche." #. type: textblock #: wcd.pod:567 msgid "You can switch on-the-fly between default and alternative navigation by pressing ." msgstr "Il est possible de basculer à la volée entre une navigation par défaut et alternative en pressant ." #. type: textblock #: wcd.pod:570 msgid "When alternative navigation mode is on, you will see an \"A\" in the lower right corner." msgstr "Lorsque le mode de navigation alternative est activé, in « A » est visible dans l'angle inférieur droit." #. type: =item #: wcd.pod:572 msgid "B<-TC, --center-tree>" msgstr "B<-TC, --center-tree>" #. type: textblock #: wcd.pod:574 msgid "Centered view in the graphical tree. The selected directory stays in the middle of the screen. The centered mode can also be switched on and off with key in the graphical tree." msgstr "Vue centrée dans l'arbre graphique. Le répertoire choisi reste au centre de l'écran. Le mode centré peut aussi être activé/désactivé avec la clef dans l'arbre graphique." #. type: textblock #: wcd.pod:578 msgid "The standard non-centered behaviour, which minimises tree movement, is the same as in the original NCD." msgstr "Le comportement non centré standard, qui minimise le mouvement d'arbre, est identique à celui du NCD original." #. type: =item #: wcd.pod:581 msgid "B<-Tc, --compact-tree>" msgstr "B<-Tc, --compact-tree>" #. type: textblock #: wcd.pod:583 msgid "By default the 'graphical' tree is drawn the same way as the original NCD on DOS did it. On DOS a directory path could only be 66 characters in total. With the deep directory structures of today the tree can become very wide. To overcome this wcd can draw the tree in a compact way, similar to most GUI file managers, with only one folder per line. Use option B<-Tc> or switch on-the-fly with the key." msgstr "Par défaut l'arbre « graphique » est dessiné de la même façon que le faisait le NCD original sur DOS. Sur DOS, un chemin de répertoire ne pouvait faire que 66 caractères au total. Avec les structures de répertoire profondes comtemporaines, l'arbre peut devenir très large. Pour surmonter cela, wcd peut dessiner l'arbre d'une façon compacte, de façon similaire à la plus part des gestionnaires de fichier graphiques, avec un seul fichier par ligne. Utiliser l'option B<-Tc> ou basculer à la volée avec la clef ." #. type: =item #: wcd.pod:590 msgid "B<-Td, --cjk-width>" msgstr "B<-Td, --cjk-width>" #. type: textblock #: wcd.pod:592 msgid "Legacy East-Asian CJK (Chinese, Japanese, and Korean) fonts have certain characters and line drawing symbols with a column width of 2, while the normal Unicode width for these characters is 1 column. For instance the Chinese CP936 raster font on Windows and the Simsun font. Use this option for a correct outlining of the graphical tree when a legacy CJK font is used." msgstr "Les polices CJK d'Asie de l'est (Chine, Japon et Korée) possèdent certains caractères et symboles de tracé de ligne avec une largeur de colonne de 2, alors que la largeur Unicode normale pour ces caractères est de 1 colonne. Par exemple, la police de trame CP936 chinoise sur Windows et la police Simsun. Utiliser cette option lorsqu'une police de type CJK est utilisée pour obtenir un contour de l'arbre graphique correct." #. type: textblock #: wcd.pod:598 msgid "When CJK mode is on, you will see a \"C\" in the lower right corner." msgstr "Lorsque le mode CJK est actif, un « C » est affiché dans le coin inférieur droit." #. type: =item #: wcd.pod:600 msgid "B<-u USER>" msgstr "B<-u UTILISATEUR>" #. type: textblock #: wcd.pod:602 msgid "Scan treedata file of another user based on I, do not scan your own default treedata file. See also section ENVIRONMENT VARIABLES for I." msgstr "Examiner le fichier d'arborescence d'un autre utilisateur en se basant sur I, ne pas examiner votre propre fichier d'arborescence. Voir aussi I dans la section VARIABLES D'ENVIRONNEMENT." #. type: textblock #: wcd.pod:605 msgid "On Unix/Cygwin the base directory for user home directories is assumed to be C. Wcd will look for C and C, in that order, and read the first one that exists and is readable. On DOS/Windows the base directory for user home directories is assumed to be C<\\\\users>, so wcd tries to read C<\\\\users\\USER\\treedata.wcd> and C<\\\\users\\USER\\.wcd\\treedata.wcd>." msgstr "Sur Unix/Cygwin le répertoire racine pour les répertoires utilisateur est supposé être C. Wcd recherchera C et C, dans cet ordre, lira le premier fichier existant et lisible. Sur DOS/Windows le répertoire racine pour les répertoires utilisateur est supposé être C<\\\\users>, donc wcd tentera de lireC<\\\\users\\USER\\treedata.wcd> and C<\\\\users\\USER\\.wcd\\treedata.wcd>." #. type: =item #: wcd.pod:613 msgid "B<+u USER>" msgstr "B<+u UTILISATEUR>" #. type: textblock #: wcd.pod:615 msgid "Read default treedata file of USER in addition to your own treedata file." msgstr "Lire le fichier d'arborescence par défaut de l'UTILISATEUR en plus de votre fichier d'arborescence." #. type: =item #: wcd.pod:618 msgid "B<-v, --verbose>" msgstr "B<-v, --verbose>" #. type: textblock #: wcd.pod:620 msgid "Display verbose messages. With this option wcd prints all filters, bans and excludes." msgstr "Afficher les messages verbeux. Avec cette option wcd affiche tous les filtres, les bannissements et les exclusions." #. type: =item #: wcd.pod:623 msgid "B<-V, --version>" msgstr "B<-V, --version>" #. type: textblock #: wcd.pod:625 msgid "Print version information and exit." msgstr "Afficher les informations de version et sortir." #. type: =item #: wcd.pod:627 msgid "B<-w, --wild-match-only>" msgstr "B<-w, --wild-match-only>" #. type: textblock #: wcd.pod:629 msgid "Wild matching only. Treat all matches as wild matches." msgstr "Correspondance étendue seulement. Traiter toutes les correspondances comme des correspondances étendues." #. type: =item #: wcd.pod:631 msgid "B<-x PATH>" msgstr "B<-x CHEMIN>" #. type: textblock #: wcd.pod:633 msgid "Exclude I from scanning." msgstr "Exclure I de l'examen." #. type: textblock #: wcd.pod:635 msgid "When this option is used wcd will exclude I and all its subdirectories when wcd is scanning a disk. Wildcards are supported and matched against absolute paths. Option B<-x> can be used multiple times." msgstr "Lorsque cette option est utilisée, wcd exclu le I et tous les sous-répertoires lors de l'examen d'un disque. Les caractères étendus sont pris en charge et mis en correspondance avec les chemins absolus. L'option B<-x> peut être utilisée plusieurs fois." #. type: verbatim #: wcd.pod:639 #, no-wrap msgid "" " wcd -x -x -s\n" "\n" msgstr "" " wcd -x -x -s\n" "\n" #. type: textblock #: wcd.pod:641 msgid "Option B<-x> must be used in front of any scan option (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." msgstr "L'option B<-x> doit être utilisée avant toute option d'examen (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." #. type: textblock #: wcd.pod:645 msgid "On DOS/Windows systems one must specify the drive letter depending on if environment variable I or I is set. If I or I is set one needs to specify the drive letter. An example:" msgstr "Sur les systèmes DOS/Windows la précision de la lettre de lecteur dépend de l'utilisation ou non des variables d'environnement I ou I. Si I ou I sont fixées alors il faut préciser la lettre de lecteur. Par exemple :" #. type: verbatim #: wcd.pod:649 #, no-wrap msgid "" " wcd -x c:/temp -S c:\n" "\n" msgstr "" " wcd -x c:/temp -S c:\n" "\n" #. type: textblock #: wcd.pod:651 msgid "Otherwise do not specify drive letter." msgstr "Sinon, il n'est pas nécessaire de préciser la lettre de lecteur." #. type: verbatim #: wcd.pod:653 #, no-wrap msgid "" " wcd -x /temp -s\n" "\n" msgstr "" " wcd -x /temp -s\n" "\n" #. type: =item #: wcd.pod:656 msgid "B<-xf FILE>" msgstr "B<-xf FILE>" #. type: textblock #: wcd.pod:658 msgid "Exclude all paths listed in I from scanning." msgstr "Exclure de l'examen tous les chemins listés dans I." #. type: textblock #: wcd.pod:660 msgid "When this option is used wcd will exclude all paths listed in I and all their subdirectories when wcd is scanning a disk. Wildcards are supported and they are matched against absolute paths; one path per line. Be aware that wcd will not ignore leading or trailing blanks on a line, because they are legal characters in a directory name. Option B<-xf> can be used multiple times. When one wants to exclude all banned paths from scanning one can do the following (example for wcd on unix):" msgstr "Lorsque cette option est utilisée, wcd excluera tous les chemins listés dans I et tous leurs sous-répertoires durant l'examen d'un disque. Les caractères étendus sont pris en charge et ils sont mis en correspondance de chemins absolus ; un chemin par ligne. Il faut être attentif au fait que wcd n'ignore pas les espaces commencant et terminant une ligne parce qu'il s'agit de caractères légaux pour un nom de répertoire. L'option B<-xf> peut être utilisée plusieurs fois. Lorsque l'exclusion de tous les chemins bannis est souhaitée, il est possible de faire de la sorte (exemple pour wcd sur unix) :" #. type: verbatim #: wcd.pod:668 #, no-wrap msgid "" " wcd -xf ~/.ban.wcd -s\n" "\n" msgstr "" " wcd -xf ~/.ban.wcd -s\n" "\n" #. type: textblock #: wcd.pod:670 msgid "Wildcards are supported. For instance to exclude all your Subversion directories with administrative files add a line with C<*/.svn>." msgstr "Les caractères étendus sont pris en charge. Par exemple, pour exclure tous les répertoires Subversion contenant des fichiers d'administration, ajoutez une ligne avec C<*/.svn>." #. type: textblock #: wcd.pod:673 msgid "Option B<-xf> must be used in front of any scan option (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." msgstr "L'option B<-xf> doit être utilisée avant toute option d'examen (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." #. type: =item #: wcd.pod:676 msgid "B<-y, --assume-yes>" msgstr "B<-y, --assume-yes>" #. type: textblock #: wcd.pod:678 msgid "Assume Yes on all queries." msgstr "Supposer Oui pour toutes les requêtes." #. type: textblock #: wcd.pod:680 msgid "Wcd will not prompt the user with yes/no questions, but assumes the user answers yes on all questions. This can be used in combination with option B<-rmtree>. This option must be used in front of options that can lead to yes/no questions." msgstr "Wcd ne posera pas de questions oui/non à l'utilisateur, mais suppose qu'il répondra oui à toutes les questions. Cela peut être utilisé en combinaison de l'option B<-rmtree>. Cette option doit être utilisée avant les options qui peuvent déboucher à des questions oui/non." #. type: =item #: wcd.pod:685 msgid "B<-z NUMBER>" msgstr "B<-z NOMBRE>" #. type: textblock #: wcd.pod:687 msgid "Set maximum stack size to NUMBER." msgstr "Fixer la taille maximale de la pile à NOMBRE." #. type: textblock #: wcd.pod:689 msgid "The default size of the stack is 10. Stack operation can be turned off by setting the size to 0. This option must be used in front of any other stack operations (B<->,B<+>,B<=>). Otherwise the size of the stack will be set back to the default 10." msgstr "La taille par défaut de la pile est de 10. Les opérations sur la pile peuvent être désactivées en paramètrant la taille à 0. Cette option doit être utilisée avant toute autre option d'opération sur la pile (B<->,B<+>,B<=>). Autrement, la taille de la pile sera remise à sa valeur par défaut 10." #. type: textblock #: wcd.pod:694 msgid "A correct command is:" msgstr "Une commande correcte est :" #. type: verbatim #: wcd.pod:696 #, no-wrap msgid "" " wcd -z 50 -\n" "\n" msgstr "" " wcd -z 50 -\n" "\n" #. type: textblock #: wcd.pod:698 msgid "The new stack size will be 50, wcd will go one directory back. A wrong command is:" msgstr "La nouvelle taille de pile sera de 50, wcd ira un répertoire en arrière. Un commande erronée est :" #. type: verbatim #: wcd.pod:701 #, no-wrap msgid "" " wcd - -z 50\n" "\n" msgstr "" " wcd - -z 50\n" "\n" #. type: textblock #: wcd.pod:703 msgid "Wcd goes one directory back, the stack gets the default size 10. The B<-z 50> is ignored." msgstr "Wcd va en arrière d'un répertoire, la pile à une valeur par défaut de 10. Le B<-z 50> est ignoré." #. type: textblock #: wcd.pod:706 msgid "Add this option as the first option to your wcd alias or function. E.g. for the a POSIX compatible shell this would be:" msgstr "Ajouter cette option en première option de votre alias ou fonction wcd. Un exemple pour l'interface d'administration compatible POSIX serait :" #. type: verbatim #: wcd.pod:709 #, no-wrap msgid "" " wcd ()\n" " {\n" "\twcd.exe -z 50 \"$@\"\n" "\t. ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" "\twcd.exe -z 50 \"$@\"\n" "\t. ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" #. type: =item #: wcd.pod:715 msgid "B<-[NUMBER]>" msgstr "B<-[NOMBRE]>" #. type: textblock #: wcd.pod:717 msgid "Push dir NUMBER of times. Default is one." msgstr "Empiler les répertoires NOMBRE de fois. Un par défaut." #. type: textblock #: wcd.pod:719 msgid "Go back a directory. Command C goes one directory back. To go more directories back add a number to it. E.g. command C. The stack is cyclic." msgstr "Retourner en arrière d'un répertoire. La commande retourne en arrière d'un répertoire. Y ajouter un nombre pour retourner en arrière de plusieurs répertoires. Exemple : C. La pile est cyclique." #. type: =item #: wcd.pod:723 msgid "B<+[NUMBER]>" msgstr "B<+[NOMBRE]>" #. type: textblock #: wcd.pod:725 msgid "Pop dir NUMBER of times. Default is one." msgstr "Dépiler les répertoires NOMBRE fois. Un par défaut." #. type: textblock #: wcd.pod:727 msgid "Go forward a directory. Command C goes one directory forward. To go more directories forward add a number to it. E.g. command C. The stack is cyclic." msgstr "Avancer d'un répertoire. La commande C avance d'un répertoire. Y ajouter un nombre pour avancer de plusieurs répertoires. Par exemple : C. La pile est cyclique." #. type: =item #: wcd.pod:731 msgid "B<=>" msgstr "B<=>" #. type: textblock #: wcd.pod:733 msgid "Show stack." msgstr "Afficher la pile." #. type: textblock #: wcd.pod:735 msgid "Use this option if you do not know anymore how many times to push or pop. The stack is printed and you can choose a number. The current place in the stack is marked with an asterisk C<*>." msgstr "Utiliser cette option si vous ne savez plus de combien de fois empiler ou dépiler. La pile est afficher et il est possible de choisir un nombre. La position courante de la pile est désignée par une astérisque C<*>." #. type: =head1 #: wcd.pod:741 msgid "INSTALLATION" msgstr "INSTALLATION" #. type: textblock #: wcd.pod:743 msgid "The current working directory of a Unix shell can only be changed by the builtin cd(1) command. Therefore the program is always called by a function or an alias. The function or alias sources a shell script (go-script) which is generated by the wcd program. Wcd can only work after the function or alias is defined." msgstr "Le répertoire de travail courant d'une interface système Unix ne peut être changé que par la commande cd(1) intégrée. Un programme est donc toujours appelé par une fonction ou un alias. La fonction où l'alias inclu un script d'interface système (script « go ») qui est généré par le programme wcd. Wcd ne peut fonctionner qu'après que la fonction ou l'alias aient été définis." #. type: textblock #: wcd.pod:749 msgid "Another important influence on your installation is the definition of environment variables I and I. See section ENVIRONMENT VARIABLES." msgstr "Un autre impact important de votre installation est la définition des variables d'environnement I and I. Voir la section VARIABLES D'ENVIRONNEMENT." #. type: =head2 #: wcd.pod:753 msgid "Install for POSIX type shells" msgstr "Installation pour les interfaces système de type POSIX" #. type: textblock #: wcd.pod:755 msgid "For a POSIX shell (ksh, bash, zsh, etc.) on Unix, Linux, Cygwin, or native MSYS add the following function to the shell startup file (e.g. Bash uses C<$HOME/.bashrc>):" msgstr "Pour les interfaces système POSIX (ksh, bash, zsh, etc.) sur Unix, Linux, Cygwin ou MSYS natif, ajouter la fonction suivante au fichier de démarrage de l'interface système (Bash utilise par exemple C<$HOME/.bashrc>) :" #. type: verbatim #: wcd.pod:759 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcd.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " PATH/wcd.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:765 msgid "Replace I with the location where the wcd executable has been installed. Reload the shell initialization files or start new shell." msgstr "Remplacer I par l'emplacement où l'exécutable de wcd a été installé. Recharger le fichier d'initialisation de l'interface système ou démarrer une nouvelle interface système." #. type: textblock #: wcd.pod:768 msgid "The location of the go-script C differs per shell." msgstr "L'emplacement du script « go » C diffère par interface système." #. type: textblock #: wcd.pod:770 msgid "Wcd for DJGPP DOS bash and OS/2 bash require a different function. The go script is not written in a directory C, and if I and I are both not defined the go-script is written on c:/." msgstr "Wcd pour les interfaces système DOS DJGPP et OS/2 exige une fonction différente. Le script « go » n'est pas écrit dans un répertoire C, et si I et I sont toutes deux non définies, le script « go » est écrit sur c:/." #. type: textblock #: wcd.pod:774 msgid "DOS bash:" msgstr "bash DOS :" #. type: verbatim #: wcd.pod:776 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdbash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " PATH/wcdbash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:782 msgid "OS/2 bash:" msgstr "bash OS/2 :" #. type: verbatim #: wcd.pod:784 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdos2bash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " PATH/wcdos2bash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:790 msgid "The WinZsh version of wcd requires a bit different function. The go-script will never be written in c:/." msgstr "La version WinZsh de wcd exige une fonction légèrement différente. Le script « go » ne sera jamais écrit dans c:/." #. type: verbatim #: wcd.pod:793 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdwin32zsh.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " PATH/wcdwin32zsh.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:799 msgid "See section FILES for more information." msgstr "Voir la section FICHIERS pour plus d'informations." #. type: =head2 #: wcd.pod:801 msgid "Install for C-alike shells (csh, tcsh)" msgstr "Installation pour les interfaces système de type C (csh, tcsh)" #. type: textblock #: wcd.pod:803 msgid "Add the following alias to the shell startup file C<$HOME/.cshrc> or C<$HOME/.tcshrc> :" msgstr "Ajouter les alias suivants au fichier de démarrage de l'interface système C<$HOME/.cshrc> ou C<$HOME/.tcshrc> :" #. type: verbatim #: wcd.pod:806 #, no-wrap msgid "" " if ( ${?WCDHOME} ) then\n" " alias wcd \"PATH/wcd.exe \\!* ; source $WCDHOME/bin/wcd.go\"\n" " else\n" " alias wcd \"PATH/wcd.exe \\!* ; source $HOME/bin/wcd.go\"\n" " endif\n" "\n" msgstr "" " if ( ${?WCDHOME} ) then\n" " alias wcd \"PATH/wcd.exe \\!* ; source $WCDHOME/bin/wcd.go\"\n" " else\n" " alias wcd \"PATH/wcd.exe \\!* ; source $HOME/bin/wcd.go\"\n" " endif\n" "\n" #. type: textblock #: wcd.pod:812 msgid "Replace I with the location where the wcd executable has been installed. Reload the shell initialization files or start a new shell." msgstr "Remplacer I par l'emplacement où l'exécutable de wcd a été installé. Recharger le fichier d'initialisation de l'interface système ou démarrer une nouvelle interface système." #. type: =head2 #: wcd.pod:816 msgid "Windows Command Prompt version" msgstr "version de l'Invite de Commande Windows" #. type: textblock #: wcd.pod:818 msgid "Unpack the zip file and add directory C to your environment variable I." msgstr "Dépaqueter le fichier zip et ajouter le répertoire C à votre variable d'environnement I." #. type: textblock #: wcd.pod:821 msgid "In Windows Command Prompt a Windows program cannot change the current work directory, but a .bat file can. The batch script C runs the wcd program which generates a new batch script C. Then C runs C which actually changes the directory." msgstr "Dans Windows Command Prompt, un programme Windows ne peut pas changer de répertoire de travail courant, mais un fichier .bat le peut. Le script de commande C exécute le programme wcd qui génère un nouveau fichier de commande C. C exécute ensuite C qui change effectivement de répertoire." #. type: =head2 #: wcd.pod:826 msgid "Windows VISTA and higher" msgstr "Windows VISTA et ultérieur" #. type: textblock #: wcd.pod:828 msgid "In a Windows VISTA and higher Command Prompt you may have limited access to directories. To get access to more directories you need administrator rights. You can get a Command Prompt with administrator rights if you right click on the Command Prompt icon and select I." msgstr "Dans un Commande Prompt Windows Vista ou de niveau plus haut, l'accès aux répertoires peut être limité. Pour avoir accès à plus de répertoires des droits administrateurs sont requis. Il est possible d'obtenir un Commande Prompt avec des droits administrateurs en cliquant avec le bouton droit sur l'icône du Commande Prompt puis en choisissant I." #. type: =head2 #: wcd.pod:833 msgid "Windows PowerShell version" msgstr "Version Windows PowerShell" #. type: textblock #: wcd.pod:835 msgid "Add the following function to your PowerShell user profile. The location of this profile is stored in the $profile variable. It is required that one of the environment variables I or I is defined." msgstr "Ajouter la fonction suivante à votre profil utilisateur PowerShell. L'emplacement de ce profil est stocké dans la variable $profile. Il est requis que l'une des deux variables d'environnement I et I soit définie." #. type: verbatim #: wcd.pod:839 #, no-wrap msgid "" " function wcd\n" " {\n" " PATH\\wcdwin32psh.exe $args\n" " & $env:HOME\\wcdgo.ps1\n" " }\n" "\n" msgstr "" " function wcd\n" " {\n" " PATH\\wcdwin32psh.exe $args\n" " & $env:HOME\\wcdgo.ps1\n" " }\n" "\n" #. type: textblock #: wcd.pod:845 msgid "Replace I with the location where the wcd executable has been installed. Start a new PowerShell. Wcd for PowerShell supports only the file system provider. No other providers." msgstr "Remplacer I avec l'emplacement où l'exécutable de wcd a été installé. Démarrer un nouveau PowerShell. Wcd pour PowerShell prend uniquement en charge le fournisseur de système de fichier. Pas d'autres fournisseurs de système de fichier." #. type: =head2 #: wcd.pod:849 msgid "OS/2 Command Prompt version" msgstr "version OS/2 Command Prompt" #. type: textblock #: wcd.pod:851 msgid "In an OS/2 Command Prompt (cmd.exe) an OS/2-program can't change the current work directory. That is why wcd generates a command script C which must be executed in the current shell. The script C first executes C, which creates the C script. Then C executes the C script." msgstr "Dans un OS/2 Command Prompt (cmd.exe) un programme OS/2 ne peut changer de répertoire de travail courant. C'est pourquoi wcd génère un script de commande C qui doit être exécuté dans l'interface système actuelle. Le script C exécute dans un premier temps C qui crée le script C. Ensuite C exécute le script C." #. type: =head1 #: wcd.pod:858 msgid "LOCALIZATION" msgstr "LOCALISATION" #. type: =item #: wcd.pod:862 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:864 msgid "The primary language is selected with the environment variable I. The I variable consists out of several parts. The first part is in small letters the language code. The second one is optional and is the country code in capital letters, preceded with an underscore. There is also an optional third part: character encoding, preceded with a dot. A few examples for POSIX standard type shells:" msgstr "Le langage principal est sélectionné avec la variable d'environnement I. Cette variable est composée de plusieurs parties. La première partie, en lettres minuscules, est le code de la langue. La seconde, optionnelle et en lettres majuscules, est le code du pays précédé d'un tiret bas. Il y a également une troisième partie optionnelle : l'encodage des caractères, précédé par un point. Quelques exemples pour les interfaces système conforme au standard POSIX :" #. type: verbatim #: wcd.pod:871 #, no-wrap msgid "" " export LANG=nl Dutch\n" " export LANG=nl_NL Dutch, The Netherlands\n" " export LANG=nl_BE Dutch, Belgium\n" " export LANG=es_ES Spanish, Spain\n" " export LANG=es_MX Spanish, Mexico\n" " export LANG=en_US.iso88591 English, USA, Latin-1 encoding\n" "\n" msgstr "" " export LANG=fr Français\n" " export LANG=fr_FR Français, France\n" " export LANG=fr_BE Français, Belgique\n" " export LANG=es_ES Espagnol, Espagne\n" " export LANG=es_MX Espagnol, Mexique\n" " export LANG=en_US.iso88591 Anglais, USA, encodage Latin-1\n" "\n" #. type: textblock #: wcd.pod:878 msgid "For a complete list of language and country codes see the gettext(1) manual: L On Unix systems you can use to command locale(1) to get locale specific information." msgstr "Pour une liste complète des codes de langue et de pays voir le manuel de gettext(1) : L Sur les systèmes Unix, la commande locale(1) peut être utilisée pour voir les informations précises de localisation." #. type: =item #: wcd.pod:884 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:886 msgid "With the I environment variable you can specify a priority list of languages, separated by colons. Wcd gives preference to I over I. For instance, first Dutch and then German: C. You have to first enable localization, by setting I or I to a value other than I, before you can use a language priority list through the I variable. See also the gettext(1) manual: L" msgstr "Avec la variable d'environnement I, il est possible de spécifier un liste de priorité de langues séparée par des virgules. Wcd donne une préférence à I sur I. Par exemple, d'abord néerlandais puis allemand : C. Il faut d'abord activer la localisation en fixant I ou I à une valeur autre que I avant de pouvoir utiliser un liste de priorités de langue avec la variable I. Voir aussi le manuel de gettext(1) : L" #. type: textblock #: wcd.pod:894 msgid "If you select a language which is not available you will get the standard English messages." msgstr "Si vous sélectionnez un langage qui n'est pas disponible, les messages seront affichés en anglais standard." #. type: =item #: wcd.pod:897 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:899 msgid "With the environment variable I the I used during compilation and installation of wcd can be overruled. I is used by wcd with native language support to find the language files. The GNU default value is C. By typing C wcd will print the I that is used." msgstr "La variable I utilisée pendant la compilation et l'installation de wcd peut être renversée avec la variable d'environnement I. I est utilisée par wcd avec prise en chage de langage natif pour trouver les fichiers de langue. La valeur par défaut pour GNU est C. En tapant C, wcd affichera la variable I utilisée." #. type: textblock #: wcd.pod:905 msgid "If you have installed wcd in a different directory than the default directory you may need to set the environment variable I to point to the locale directory." msgstr "Si vous avez installé wcd dans un répertoire différent du répertoire par défaut, il vous faut peut être définir la variable d'environnement I pour pointer vers le répertoire de locales." #. type: textblock #: wcd.pod:910 msgid "An example for Windows cmd:" msgstr "Un exemple pour le cmd Windows :" #. type: verbatim #: wcd.pod:912 #, no-wrap msgid "" " set WCDLOCALEDIR=c:/my_prefix/share/locale\n" "\n" msgstr "" " set WCDLOCALEDIR=c:/my_prefix/share/locale\n" "\n" #. type: textblock #: wcd.pod:915 msgid "An example for a POSIX shell:" msgstr "Un example pour une interface système POSIX :" #. type: verbatim #: wcd.pod:917 #, no-wrap msgid "" " export WCDLOCALEDIR=$HOME/share/locale\n" "\n" msgstr "" " export WCDLOCALEDIR=$HOME/share/locale\n" "\n" #. type: =item #: wcd.pod:919 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:921 msgid "When there are multiple directory matches wcd presents a sorted list. The sorting depends on the locale settings. If the environment I has been set the matches are sorted like dictionaries or phone books are sorted in that language. For instance dots and dashes are ignored, or letters e with and without accent are equal, or upper and lower case is ignored." msgstr "Lorsque plusieurs répertoires correspondent wcd affiche une liste triée. L'ordre dépend des paramètres de locale. Si la variable d'environnement I a été définie, les correspondances sont triées comme les sont les dictionnaires ou les annuaires téléphonique dans cette langue. Par exemple, les points et les tirets sont ignorés, ou bien les lettres e avec ou sans accent sont identiques, ou bien la casse est ignorée." #. type: textblock #: wcd.pod:927 msgid "The sorting gives preference to environment variable I over I. If you make I equal to C or C, locale sorting is turned off. For instance if you want Dutch language, but not Dutch sorting, you can do something like this:" msgstr "Le tri donne préférence à la variable d'environnement I devant I. Si vous rendez I égal à C ou C, le tri selon la locale est désactivé. Par exemple, si vous voulez du néerlandais mais un tri que n'est pas néerlandais, vous pouvez faire de la sorte :" #. type: verbatim #: wcd.pod:932 #, no-wrap msgid "" " export LANG=nl_NL\n" " export LC_COLLATE=C\n" "\n" msgstr "" " export LANG=fr_FR\n" " export LC_COLLATE=C\n" "\n" #. type: =item #: wcd.pod:935 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:937 msgid "With regard to character encoding Wcd will give preference to variable I over I. For instance to set character encoding to UTF-8 the following environment setting can be done." msgstr "En ce qui concerne l'encodage de caractères, wcd donnera une préférence à la variable I sur la variable I. Par exemple, pour fixer l'encodage de caractère en UTF-8, le paramètrage de l'environnement suivant peut être appliqué." #. type: verbatim #: wcd.pod:941 #, no-wrap msgid "" " export LC_CTYPE=en_US.UTF-8\n" "\n" msgstr "" " export LC_CTYPE=fr_FR.UTF-8\n" "\n" #. type: =item #: wcd.pod:943 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:945 msgid "All locale environment variables that start with I are overruled by the environment variable I if it is defined. Wcd gives preference to I over I and I." msgstr "Toutes les variables d'enrironnement de locales qui commencent par I sont renversées par la variable d'environnement I si elle est définie. Wcd donnera une préférence à I sur I et I." #. type: =head2 #: wcd.pod:951 msgid "WINDOWS CODE PAGES" msgstr "PAGES DE CODES WINDOWS" #. type: textblock #: wcd.pod:953 msgid "There are two groups of code pages: DOS code pages (OEM) and Windows code pages (ANSI). The default encoding for Windows, when configured with Western regional settings, is ANSI CP1252. Windows programs, for instance notepad, use this default system ANSI code page. The Windows console uses by default an OEM code page (CP437 or CP850) for compatibility with DOS programs. If you use a DOS version of wcd in a Windows console it will work, because of the DOS code page. But the DOS version of wcd lacks support for long directory names and network drives on Windows." msgstr "Il y a deux groupes de page de code : les pages de code DOS (OEM) et les pages de code Windows (ANSI). L'encodage par défaut de Windows, lorsqu'il est configuré avec les paramètres de régions occidentales, est ANSI CP1252. Les programmes Windows, par exemple le bloc-notes, utilisent cette page de code ANSI par défaut. La console Windows utilise par défaut une page de code OEM (CP437 ou CP850) pour compatibilité avec les programmes DOS. Si vous utilisez une version DOS de wcd dans une console Windows, cela marchera grâce à la page de code DOS. Cependant la version DOS de wcd ne prend pas en charge de longs noms de répertoire et de lecteur réseau sur Windows." #. type: textblock #: wcd.pod:962 msgid "The Windows version of wcd is a native Windows program and will use the Windows system ANSI code page. So on a Western regional Windows it will use code page CP1252 for directory names and messages. In order to get consistent output, independent of the active code page, all Windows versions of Wcd translate ANSI output to Unicode output in the Command Prompt and PowerShell." msgstr "La version Windows de wcd est un programme Windows natif et utilise la page de code ANSI du système Windows. Donc sur un Windows configuré pour une région occidentale la page de code CP1252 est utilisée pour les noms de répertoire et les messages. Dans le but d'obtenir des sorties uniformes, indépendant des pages de code actives, toutes les versions de Wcd pour Windows traduisent les sorties ANSI en sorties Unicode dans le Command Prompt et le PowerShell." #. type: textblock #: wcd.pod:968 msgid "The console raster font only supports the original OEM code page installed with Windows, so you have to change the console's font to true type Lucida Console to make Unicode (and ANSI) letters appear correctly." msgstr "La police de trame de la console ne prend en charge que la page de code OEM installée avec Windows, et il faut donc changer la page de code de la console à Lucidia Console correctement typé pour faire apparaître les lettres Unicode (et ANSI) correctement." #. type: textblock #: wcd.pod:972 msgid "Non-Unicode versions of Wcd I use plain ANSI output. For these older versions the code page of the console has to be made equal to the system code page (changed to 1252) to make wcd for Windows work properly with special characters such as accented characters or the Euro symbol." msgstr "Les versions non-Unicode de Wcd I utilisent une sortie entièrement ANSI. Pour ces anciennes versions, la page de code de la console a été faite pour être identique à la page de code du système (changé à 1252) dans le but de faire fonctionner wcd pour Windows correctement avec des caractères spéciaux tels que les caractères avec accent ou le symbole de l'Euro." #. type: textblock #: wcd.pod:977 msgid "The Windows system code page can be changed via the Control Panel regional options. The Windows console code page is changed with the C command." msgstr "La page de code Windows peut être changée via les options de région du Panneau de Contrôle. La page de code de la console Windows est changée avec la commande C." #. type: textblock #: wcd.pod:980 msgid "When you type C, the actual character encoding used by wcd is shown. Type the command C to display the active code page of the Windows console." msgstr "Lorsque vous tapez C, l'encodage de caractère effectif utilisé par wcd est affiché. Tapez la commande C pour afficher la page de codes active de la console Windows." #. type: =head2 #: wcd.pod:985 msgid "UNICODE" msgstr "UNICODE" #. type: textblock #: wcd.pod:987 msgid "Wcd has optional support for Unicode. To see if wcd was built with Unicode support type C. If your terminal/console and font supports it, you should see the Euro symbol and Chinese characters (meaning: \"Chinese\")." msgstr "Wcd a une prise en charge optionnelle de l'Unicode. Pour voir si wcd a été empaqueté avec la prise en charge de l'Unicode, tapez C. Si votre terminal/console et la police le prend en charge, vous devriez voir le symbole de l'Euro ainsi que des caractères chinois (voulant dire : « chinois »)." #. type: textblock #: wcd.pod:992 msgid "Wcd has been I converted to Unicode. In its core wcd handles all data as a stream of bytes. Only the lines printed to screen are on the fly converted to Unicode wide characters. Wcd fully relies on libc functions and has no UTF-8 specific code. See also L" msgstr "Wcd a été converti de « façon logicielle»  à l'Unicode. En son coeur, Wcd traite toutes les données comme un flux d'octets. Seules les lignes affichées à l'écran sont converties à la volée en caractères Unicode larges. Wcd s'appuie entièrement sur des fonctions de la libc et n'a pas de code UTF-8 spécifique. Voir aussi L." #. type: textblock #: wcd.pod:998 msgid "Wcd has optional support for Unicode matching with normalisation. To find out whether Wcd has normalisation support type C. Wcd with Unicode normalization support will match Unicode names based on I equivalence. Without Unicode normalization support, names are matched when they are binary equivalent. See also L" msgstr "Wcd a une prise en charge optionnelle de mise en correspondances avec de l'Unicode normalisé. Pour déterminer si Wcd prend en charge la normalisation, tapez C. Wcd avec une prise en charge de la normalisation Unicode fera correspondre les noms Unicode en se basant sur une équivalence « compatible ». Sans prise en charge de la normalisation Unicode, les noms sont mis en correspondance lorsque leur binaires sont équivalents. Voir aussi L" #. type: =head3 #: wcd.pod:1005 msgid "UTF-8 on Unix/Linux" msgstr "UTF-8 sur Unix/Linux" #. type: textblock #: wcd.pod:1007 msgid "In order to view UTF-8 characters your console/terminal also needs to support UTF-8. The xterm version that comes with XFree86 4.0 or higher includes UTF-8 support. To activate it, start xterm(1) in a UTF-8 locale and use a font with iso10646-1 encoding, for instance with" msgstr "Pour voir les caractères UTF-8, votre console/terminal doivent également prendre en charge l'UTF-8. La version xterm empaquetée avec XFree86 4.0 ou supérieur include une prise en charge de l'UTF-8. Pour l'activer, démarez xterm(1) dans une locale UTF-8 et utilisez une police avec un encodage iso10646-1, par exemple avec" #. type: verbatim #: wcd.pod:1012 #, no-wrap msgid "" " LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'\n" "\n" msgstr "" " LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'\n" "\n" #. type: textblock #: wcd.pod:1014 msgid "Modern distributions of GNU/Linux support UTF-8 by default. Other multi-byte character encodings should also work, but that has not been tested." msgstr "Les distributions modernes de GNU/Linux prennent en charge l'UTF-8 par défaut. D'autre encodage de caractère sur plusieurs octets devraient également fonctionner, mais cela n'a pas été testé." #. type: textblock #: wcd.pod:1017 msgid "Wcd assumes that the treedata files are encoded in the locale character encoding. There are no Byte Order Marks written to treedata files." msgstr "Wcd suppose que les fichiers d'arborescence sont encodés dans l'encodage de caractère local. Il n'y a pas d'Indicateur d'Ordre des Octets écrit dans les fichiers d'arborescence." #. type: =head3 #: wcd.pod:1021 msgid "UTF-16 on Windows" msgstr "UTF-16 sur Windows" #. type: textblock #: wcd.pod:1023 msgid "On Windows Unicode is supported in all versions of PowerShell, and in Windows Command Prompt on Windows 7 (or higher). Unicode also works in Take Command or TCC/LE made by JP Software, which can be used on older Windows versions (XP/Vista)." msgstr "Sur Windows, l'Unicode est pris en charge pour toutes les versions de PowerShell, et dans le Windows Command Prompt sur Windows 7 (ou ultérieur). Unicode fonctionne également dans Take Command ou TCC/LE édités par JP Software, et pouvant être utilisés sur des version de Windows plus anciennes (XP/Vista)." #. type: textblock #: wcd.pod:1028 msgid "On Windows all the directory names on disk are encoded in UTF-16 Unicode. For non-Unicode Windows programs the Unicode characters are translated to the default ANSI code page. For characters that are not part of the regional setting this translation is not possible and non-Unicode programs print a question mark or a wrong character instead." msgstr "Sur Windows, tous les noms de répertoire sur le disque sont encodés en Unicode UTF-16. Pour des programmes Windows non Unicode, les caractères Unicode sont traduits vers la page de code ANSI par défaut. Cette traduction de caractères ne faisant pas partis du paramètrage régional n'est pas possible et les programmes non Unicode affichent un point d'intérogation ou bien un mauvais caractères. " #. type: textblock #: wcd.pod:1034 msgid "Wcd with Unicode support will read the UTF-16 encoded directory names and converts them internally to UTF-8. All treedata files are encoded in UTF-8 and not compatible with the non-Unicode version of Wcd. Wcd will create a go-script encoded in UTF-8." msgstr "Wcd avec prise en charge de l'Unicode lit les noms de répertoire encodé en UTF-16 et les convertis de façon interne en UTF-8. Tous les fichiers d'arborescence sont encodés en UTF-8 et ne sont pas compatibles avec la version non Unicode de Wcd. Wcd créera un script « go » en UTF-8." #. type: textblock #: wcd.pod:1039 msgid "All versions of Windows PowerShell are able to run scripts encoded in UTF-8, provided there is an UTF-8 BOM in the script." msgstr "Toutes les versions de Windows PowerShell sont capable d'exécuter des scripts encodés en UTF-8 s'il y a un BOM UTF-8 dans le script." #. type: textblock #: wcd.pod:1042 msgid "Since Windows 7 it is possible in Windows Command Prompt to change directory with a batch script to a directory with Unicode letters in the name. The directory name needs to be encoded in UTF-8, and the batch script must I have a BOM. The active code page of the Command Prompt needs to be set to 65001 (UTF-8) prior to the cd command. Wcd for Command Prompt will create such a go script C. It first changes the code page to 65001, then changes directory, and finally sets the code page back to the original code page." msgstr "Depuis Windows 7 il est possible de changer de répertoire avec un script batch dans Windows Command Prompt vers un répertoire avec une lettres Unicode dans le nom. Le nom du répertoire doit être encodé en UTF-8, et le script batch ne doit I avoir de BOM. La page de code active du Command Prompt doit être fixée à 65001 (UTF-8) avant la commande cd. Wcd pour Command Prompt créera un script « go » C. Dans un premier temps, il change la page de code à 65001 puis change de répertoire et enfin fixe la page de code à sa valeur initiale." #. type: textblock #: wcd.pod:1050 msgid "You need to set the font to True Type Lucida Console (not raster font) when letters don't appear correctly." msgstr "Vous devez fixer la police à True Type Lucida Console (et non une police de trame) lorsque les lettres n'apparaîssent pas correctement." #. type: textblock #: wcd.pod:1053 msgid "The non-Unicode Windows version of Wcd can read Unicode treedata files since version 5.2.0, provided there is a Byte Order Mark (BOM) in the file (see L), but it can't change to directories with Unicode letters in the name that are not part of the default system ANSI code page. The Unicode Windows version of wcd writes a BOM in the UTF-8 encoded treedata files since version 5.2.0, which makes them also readable by notepad." msgstr "La version pour Windows non Unicode de Wcd peut lire des fichiers d'arborescence Unicode depuis la version 5.2.0 s'il y a un Indicateur d'Ordre des Octets (BOM) dans le fichier (voir L), mais il ne peut se déplacer vers des répertoires dont le nom contient des lettres Unicodes et qui ne font pas parties de la page de code ANSI par défaut du système. La version pour Windows non Unicode écrit un BOM dans les fichiers d'arborescence encodés en UTF-8 depuis la version 5.2.0, ce qui les rends également lisible par le bloc-notes." #. type: =head3 #: wcd.pod:1062 msgid "UTF-8 on Cygwin" msgstr "UTF-8 sur Cygwin" #. type: textblock #: wcd.pod:1064 msgid "Cygwin supports Unicode since version 1.7. The Cygwin layer takes care that the Windows UTF-16 Unicode names are converted to UTF-8. So programs, like wcd, do not need to be aware of this and can operate using UTF-8 encoding as on Unix/Linux. Set character encoding to UTF-8 with the I or I environment variable. You may need to rescan your drives. You need to set the font to True Type Lucida Console (not raster font) if you use the default Cygwin console." msgstr "Cygwin prend en charge l'Unicode depuis la version 1.7. La couche Cygwin s'occupe de la conversion des noms Unicode UTF-16 Windows en UTF-8. Donc des programmes tels que Wcd n'ont pas besoin de savoir cela et peuvent fonctionner en utilisant l'encodage UTF-8 sur Unix/Linux. Fixer l'encodage de caractères à UTF-8 avec les variables d'environnement I ou I. Il peut être nécessaire de réexaminer les disques. Il faut fixer la police à True Type Lucida Console (et non à une police de trame) si vous utilisez la console Cygwin par défaut." #. type: textblock #: wcd.pod:1072 msgid "The Cygwin version behaves exactly as the Unix version of wcd. There is no BOM written in the treedata files, and it is assumed they are encoded in the B locale character encoding." msgstr "La version Cygwin se comporte de la même façon que la version Unix de wcd. Il n'y a pas de BOM écrit dans les fichiers d'arborescence, et il est supposé qu'ils sont encodés dans l'encodage de caractère de la locale B." #. type: =head1 #: wcd.pod:1076 msgid "FILES" msgstr "FICHIERS" #. type: textblock #: wcd.pod:1078 msgid "If the environment variable I is set wcd will use I instead of I. All C<*.wcd> files are text files. They can be edited with a text editor. The Windows Command Prompt version of wcd behaves as the DOS version. The Cygwin version of wcd behaves as the Unix version." msgstr "Si la variable d'environnement I est définie, wcd utilisera I au lieu de I. Tous les fichiers C<*.wcd> sont des fichiers texte. Ils peuvent être modifié avec un éditeur de texte. La version Windows Command Prompt de wcd se comporte comme la version DOS. La version Cygwin de wcd se comporte comme la version Unix." #. type: =item #: wcd.pod:1087 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1089 msgid "The program. In Unix shells the program is always called by a function or alias, because the current working directory of a Unix shell can only be changed by the builtin cd command. See also section INSTALLATION." msgstr "Le programme. Dans les interfaces système Unix, le programme est toujours appelé par une fonction ou un alias parce que le répertoire courant de travail d'une interface système Unix ne peut être changé que par la commande cd intégrée. Voir également la section INSTALLATION." #. type: =item #: wcd.pod:1094 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1096 msgid "This is the default treedata file where wcd searches for matches. If it is not readable wcd will create a new one." msgstr "C'est le fichier d'arborescence par défaut où wcd cherche les correspondances. S'il n'est pas lisible, wcd en créera un nouveau." #. type: verbatim #: wcd.pod:1099 #, no-wrap msgid "" " DOS: \\treedata.wcd or %HOME%\\treedata.wcd\n" " Unix: $HOME/.treedata.wcd\n" "\n" msgstr "" " DOS : \\treedata.wcd ou %HOME%\\treedata.wcd\n" " Unix : $HOME/.treedata.wcd\n" "\n" #. type: =item #: wcd.pod:1102 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1104 msgid "An optional extra treedata file. If it exists and is readable wcd will try to find matches in this file also." msgstr "Un fichier d'arborescence supplémentaire optionel. S'il existe et est lisible, wcd tentera de trouver des correspondances depuis ce fichier également." #. type: verbatim #: wcd.pod:1107 #, no-wrap msgid "" " DOS: \\extra.wcd or %HOME%\\extra.wcd\n" " Unix: $HOME/.extra.wcd\n" "\n" msgstr "" " DOS : \\extra.wcd ou %HOME%\\extra.wcd\n" " Unix : $HOME/.extra.wcd\n" "\n" #. type: =item #: wcd.pod:1110 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1112 msgid "In this optional file wcd places banned paths. See option B<-b>. Wildcards are supported." msgstr "Wcd place dans ce fichier optionnel les chemins bannis. Voir l'option B<-b>. Les caractères étendus sont pris en charge." #. type: verbatim #: wcd.pod:1115 #, no-wrap msgid "" " DOS: \\ban.wcd or %HOME%\\ban.wcd\n" " Unix: $HOME/.ban.wcd\n" "\n" msgstr "" " DOS : \\ban.wcd ou %HOME%\\ban.wcd\n" " Unix : $HOME/.ban.wcd\n" "\n" #. type: =item #: wcd.pod:1118 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1120 msgid "Optional file with wcd aliases. See option B<-l>." msgstr "Fichier optionnel avec les alias wcd. Voir l'option B<-l>." #. type: verbatim #: wcd.pod:1122 #, no-wrap msgid "" " DOS: \\alias.wcd or %HOME%\\alias.wcd\n" " Unix: $HOME/.alias.wcd\n" "\n" msgstr "" " DOS : \\alias.wcd ou %HOME%\\alias.wcd\n" " Unix : $HOME/.alias.wcd\n" "\n" #. type: =item #: wcd.pod:1125 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1127 msgid "In this file wcd stores its stack. The drive letter can be changed with the B<-d> option." msgstr "Wcd stocke sa pile dans ce fichier. La lettre de lecteur peut être changée avec l'option B<-d>." #. type: verbatim #: wcd.pod:1130 #, no-wrap msgid "" " DOS: c:\\stack.wcd or %HOME%\\stack.wcd\n" " Unix: $HOME/.stack.wcd\n" "\n" msgstr "" " DOS : c:\\stack.wcd ou %HOME%\\stack.wcd\n" " Unix : $HOME/.stack.wcd\n" "\n" #. type: textblock #: wcd.pod:1133 msgid "The name of the stack file can be changed with environment variable I. See section ENVIRONMENT VARIABLES." msgstr "Le nom di fichier de pile peut être changé avec la variable d'environnement I. Voir la section VARIABLES D'ENVIRONNEMENT." #. type: =item #: wcd.pod:1136 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1138 msgid "This is the shell script which wcd.exe creates each time. It is sourced via a function or an alias. The drive letter can be changed with the B<-d> option. For history reasons it is placed by default in C<$HOME/bin> on Unix systems. The directory of this file can be changed with the option B<-G>." msgstr "C'est le script d'interface système que wcd.exe crée à chaque fois. Il est inclus par une function ou un alias. La lettre de lecteur peut être changée avec l'option B<-d>. Pour des raisons historiques, il est placé dans C<$HOME/bin> par défaut sur les systèmes Unix. Le répertoire de ce fichier peut être changé avec l'option B<-G>." #. type: verbatim #: wcd.pod:1143 #, no-wrap msgid "" " DOS bash: c:/wcd.go or $HOME/wcd.go\n" " Windows Command Prompt: c:\\wcdgo.bat or %HOME%\\wcdgo.bat\n" " Windows PowerShell: $env:HOME\\wcdgo.ps1\n" " WinZsh: $HOME/wcd.go\n" " Cygwin/MSYS: $HOME/bin/wcd.go\n" " OS/2 Command Prompt: c:\\wcdgo.cmd or %HOME%\\wcdgo.cmd\n" " OS/2 bash: c:/wcd.go or $HOME/wcd.go\n" " Unix: $HOME/bin/wcd.go\n" "\n" msgstr "" " interface système DOS : c:/wcd.go or $HOME/wcd.go\n" " Windows Command Prompt : c:\\wcdgo.bat or %HOME%\\wcdgo.bat\n" " Windows PowerShell : $env:HOME\\wcdgo.ps1\n" " WinZsh : $HOME/wcd.go\n" " Cygwin/MSYS : $HOME/bin/wcd.go\n" " OS/2 Command Prompt : c:\\wcdgo.cmd or %HOME%\\wcdgo.cmd\n" " interface système OS/2 : c:/wcd.go or $HOME/wcd.go\n" " Unix : $HOME/bin/wcd.go\n" "\n" #. type: =item #: wcd.pod:1152 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1154 msgid "Text file with relative paths from I. See options B<+S>, B<-n> and B<+n>." msgstr "Fichier texte avec les chemins relatifs à I. Voir les options B<+S>, B<-n> et B<+n>." #. type: verbatim #: wcd.pod:1157 #, no-wrap msgid "" " DOS: PATH\\rtdata.wcd\n" " Unix: PATH/.rtdata.wcd\n" "\n" msgstr "" " DOS : PATH\\rtdata.wcd\n" " Unix : PATH/.rtdata.wcd\n" "\n" #. type: =head1 #: wcd.pod:1162 msgid "ENVIRONMENT VARIABLES" msgstr "VARIABLES D'ENVIRONNEMENT" #. type: =item #: wcd.pod:1166 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1168 msgid "Wcd uses by default environment variable I to determine where to store its files. See also section FILES. This can be overruled with environment variable I." msgstr "Wcd utilise par défaut la variable d'environnement I pour déterminer où stocker ses fichiers. Voir également la section FICHIERS. Cela peut être modifié avec la variable d'environnement I." #. type: textblock #: wcd.pod:1172 msgid "I also defines where to start scanning the disk when option B<-s> is used. This can be overruled with the environment variable I." msgstr "I définit également où commencer l'examen du disque lorsque l'option B<-s> est utilisée. Ceci peut être modifié avec la variable d'environnement I." #. type: textblock #: wcd.pod:1176 msgid "For the Unix, Cygwin, Windows PowerShell, WinZsh and MSYS version it is required that I or I is set. For the other versions of wcd the use of these variables is optional." msgstr "Pour la version Unix, Cygwin, Windows PowerShell, WinZsh et MSYS, il est nécessaire que I ou I soient définies. L'utilisation de ces variables est optionnelle pour les autres versions de wcd." #. type: textblock #: wcd.pod:1180 msgid "If I is set on DOS/Windows, wcd will place all its files (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) in directory I. The behaviour of wcd is then equal to the Unix version of wcd. Wcd will scan the disk default from I. Drives will not be automatically scanned by changing to them. You need to tell wcd explicitly. E.g.:" msgstr "Si I est défini sur DOS/Windows, wcd placera tous ses fichiers (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) dans le répertoire I. Le comportement de wcd est alors identique à celui de la version Unix de wcd. Wcd examinera le disque depuis I par défaut. Les lecteurs ne seront pas automatiquement examinés lors d'un basculement. Vous devez explicitement le demander à wcd. Par exemple :" #. type: verbatim #: wcd.pod:1187 #, no-wrap msgid "" " wcd -S c: -A d: -A e:\n" "\n" msgstr "" " wcd -S c: -A d: -A e:\n" "\n" #. type: textblock #: wcd.pod:1189 msgid "Matching of directories is now global over all scanned drives." msgstr "La correspondance des répertoires est maintenant globale à tous les lecteurs examinés." #. type: =item #: wcd.pod:1192 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1194 msgid "Environment variable I can be used to change the location of wcd's files. If both I and I are set, I will be used instead of I." msgstr "La variable d'environnement I peut être utilisée pour changer l'emplacement des fichiers de wcd. Si I et I sont toutes deux définies, I sera utilisée à la place de I." #. type: textblock #: wcd.pod:1198 msgid "In wcd versions prior to 5.1.5 I also changed the default scan directory. This has changed. Since version 5.1.5 I does not change the default scan directory. See option B<-s>. From version 5.1.5, use environment I to overrule the default scan directory." msgstr "Dans les versions antérieures à la version 5.1.5, I changeait également le répertoire d'examen par défaut. Cela a été modifié. Depuis la version 5.1.5, I ne modifie pas le répertoire d'examen par défaut. Voir l'option B<-s>. Depuis la version 5.1.5, la variable d'environnement I peut être utilisée pour modifier le répertoire d'examen par défaut." #. type: textblock #: wcd.pod:1203 msgid "Example for DOS, Windows, OS/2 Command Prompt:" msgstr "Exemple pour DOS, Windows, OS/2 Command Prompt :" #. type: verbatim #: wcd.pod:1205 #, no-wrap msgid "" " set WCDHOME=C:\\Users\\erwin\\wcd\n" "\n" msgstr "" " set WCDHOME=C:\\Users\\erwin\\wcd\n" "\n" #. type: textblock #: wcd.pod:1207 wcd.pod:1228 wcd.pod:1248 wcd.pod:1273 msgid "An example for POSIX type shells:" msgstr "Un exemple pour les interfaces système POSIX :" #. type: verbatim #: wcd.pod:1209 #, no-wrap msgid "" " export WCDHOME=\"$HOME/.wcd\"\n" "\n" msgstr "" " export WCDHOME=\"$HOME/.wcd\"\n" "\n" #. type: textblock #: wcd.pod:1211 wcd.pod:1232 wcd.pod:1252 wcd.pod:1277 msgid "An example for Csh type shells:" msgstr "Un exemple pour les interfaces système Csh :" #. type: verbatim #: wcd.pod:1213 #, no-wrap msgid "" " setenv WCDHOME \"$HOME/.wcd\"\n" "\n" msgstr "" " setenv WCDHOME \"$HOME/.wcd\"\n" "\n" #. type: =item #: wcd.pod:1215 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1217 msgid "Use environment variable I to overrule the default scan directory I. Define a colon separated list (Unix) to define more than one directory. On DOS/Windows make the list semi-colon separated." msgstr "Utiliser la variable d'environnement I pour modifier le répertoire d'examen par défaut I. Une liste séparée par des virgules (Unix) peut être utilisée pour spécifier plusieursrépertoires. Sur DOS/Windows, la liste doit être séparée par des point-virgules." #. type: textblock #: wcd.pod:1222 msgid "Examples for DOS, Windows, OS/2 Command Prompt:" msgstr "Exemples pour DOS, Windows, OS/2 Commande Prompt :" #. type: verbatim #: wcd.pod:1224 #, no-wrap msgid "" " set WCDSCAN=C:\\Users\\erwin;D:\\data\n" "\n" msgstr "" " set WCDSCAN=C:\\Utilisateurs\\erwin;D:\\donnees\n" "\n" #. type: verbatim #: wcd.pod:1226 #, no-wrap msgid "" " set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\\\projectdrive\\projectX\n" "\n" msgstr "" " set WCDSCAN=%HOMELECTEUR%%HOMECHEMIN%;\\\\projetlecteur\\projetX\n" "\n" #. type: verbatim #: wcd.pod:1230 #, no-wrap msgid "" " export WCDSCAN=\"$HOME:/projectdisk/projectX\"\n" "\n" msgstr "" " export WCDSCAN=\"$HOME:/projectdisque/projetX\"\n" "\n" #. type: verbatim #: wcd.pod:1234 #, no-wrap msgid "" " setenv WCDSCAN \"$HOME:/projectdisk/projectX\"\n" "\n" msgstr "" " setenv WCDSCAN \"$HOME:/projectdisque/projetX\"\n" "\n" #. type: =item #: wcd.pod:1236 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1238 msgid "Specify filters with environment variable I. All directories that do not match the filter(s) are ignored. A list can be specified by separating filters by the shell path separator. Similar as specifying the I variable. The case sensitivity is mandated by the Operating system." msgstr "Spécifier des filtres avec la variable d'environnment I. Tous les répertoires qui ne correspondent pas au(x) filtre(s) sont ignorés. Une liste peut être données en séparant les filtres avec le séparateur de chemin de l'interface système. De façon similaire à la définition de la variable I. La sensibilité à la casse est dictée par le système d'exploitation." #. type: textblock #: wcd.pod:1244 wcd.pod:1269 msgid "An example for DOS, Windows, OS/2 Command Prompt:" msgstr "Un exemple pour DOS, Windows, OS/2 Commande Prompt :" #. type: verbatim #: wcd.pod:1246 #, no-wrap msgid "" " set WCDFILTER=projects;doc\n" "\n" msgstr "" " set WCDFILTER=projects;doc\n" "\n" #. type: verbatim #: wcd.pod:1250 #, no-wrap msgid "" " export WCDFILTER=\"projects:doc\"\n" "\n" msgstr "" " export WCDFILTER=\"projets:doc\"\n" "\n" #. type: verbatim #: wcd.pod:1254 #, no-wrap msgid "" " setenv WCDFILTER \"projects:doc\"\n" "\n" msgstr "" " setenv WCDFILTER \"projets:doc\"\n" "\n" #. type: =item #: wcd.pod:1256 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1258 msgid "The paths specified with environment I will be banned by wcd. See also option B<-b>. Specify a list of paths separated by shell I separator." msgstr "Les chemins spécifiés par la variable d'environnement I seront bannis par wcd. Voir aussi l'option B<-b>. Donner une liste de chemins séparés par le séparateur d'interface système de I." #. type: =item #: wcd.pod:1262 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1264 msgid "The paths specified with environment I will be excluded by wcd. See also options B<-x> and B<-xf>. Specify a list of paths separated by shell I separator." msgstr "Les chemins spécifiés par la variables d'environnement I seront exlus par wcd. Voir aussi les options B<-x> et B<-xf>. Donner une liste de chemins séparés par le séparateur d'interface système de I." #. type: verbatim #: wcd.pod:1271 #, no-wrap msgid "" " set WCDEXCLUDE=*/windows;*/temp;*CVS\n" "\n" msgstr "" " set WCDEXCLUDE=*/windows;*/temp;*CVS\n" "\n" #. type: verbatim #: wcd.pod:1275 #, no-wrap msgid "" " export WCDEXCLUDE=\"/dev:/tmp:*CVS\"\n" "\n" msgstr "" " export WCDEXCLUDE=\"/dev:/tmp:*CVS\"\n" "\n" #. type: verbatim #: wcd.pod:1279 #, no-wrap msgid "" " setenv WCDEXCLUDE \"/dev:/tmp:*CVS\"\n" "\n" msgstr "" " setenv WCDEXCLUDE \"/dev:/tmp:*CVS\"\n" "\n" #. type: =item #: wcd.pod:1281 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1283 msgid "Set the base of user's home directories. On DOS/Windows the default value is C<\\\\users>. On Unix/Cygwin the default value is C. This variable is used to scan treedata files of other users. See also options B<-u> and B<+u>. In verbose mode wcd will print all filters, bans and excludes. See option B<-v>." msgstr "Défini la racine des répertoires d'utilisateur. Sur DOS/Windows, la valeur par défaut est C<\\\\users>. Sur Unix/Cygwin, la valeur par défaut est C. Cette variable est utilisée pour examiner les fichiers d'arborescence d'autres utilisateurs. Voir les options B<-u> et B<+u>. En mode verbeux, wcd imprimera tous les filtres, bannissements et exclusions. Voir l'option B<-v>." #. type: =item #: wcd.pod:1290 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1292 msgid "Wcd gives preference to I over the default stack file name (see section FILES). With this variable each shell (or used terminal emulator) can have its private stack of used directories." msgstr "Wcd donne une préférence à I sur le nom du fichier de pile par défaut (voir la section FICHIERS). Avec cette variable, chaque interface système (ou émulateur de terminal) peut avoir sa pile privée de répertoires utilisés." #. type: textblock #: wcd.pod:1296 msgid "To use a unique time based YYYYMMDD-HHMMSS file for each opened interactive shell." msgstr "Pour utiliser un fichier YYYYMMDD-HHMMSS unique basé sur le temps pour chaque interface système intéractive ouverte." #. type: verbatim #: wcd.pod:1299 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)\n" "\n" msgstr "" " export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)\n" "\n" #. type: textblock #: wcd.pod:1301 msgid "For a stack per xterm(1), use the xterm I environment variable:" msgstr "Pour une pile par xterm(1), utiliser la variable d'environnement xterm I :" #. type: verbatim #: wcd.pod:1303 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID\n" "\n" msgstr "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID\n" "\n" #. type: textblock #: wcd.pod:1305 msgid "For GNU screen(1), to use stack per screen:" msgstr "Pour GNU screen(1), pour utiliser une pile par écran :" #. type: verbatim #: wcd.pod:1307 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW\n" "\n" msgstr "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW\n" "\n" #. type: =item #: wcd.pod:1309 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1311 msgid "If the environment variable I is defined, wcd with ncurses interface checks for a local terminal definition before checking in the standard place. This is useful if terminal definitions are not on a standard place. Often used standard places are C and C." msgstr "Si la variable d'environnement I est définie, wcd avec l'interface ncurses recherche une définition de terminal localement avant de le faire à l'emplacement standard. Cela est utile si les définitions du terminal ne sont pas dans un emplacement standard. Les emplacements couramment utilisés sont C et C." #. type: =item #: wcd.pod:1317 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1319 msgid "Wcd with PDCurses interface recognizes the environment variable I. If this environment variable is set, PDCurses will take a copy of the contents of the screen at the time that wcd is started; when wcd exits, the screen will be restored. An example for Windows Command Prompt:" msgstr "Wcd avec l'interface PDCurses reconnaît la variable d'environnement I. Si cette variable d'environnement est définie, PDCurses fera une copie du contenu de l'écran au moment au wcd est démarré ; lorsque wcd quitte, l'écran sera restauré. Un exemple pour Windows Command Prompt :" #. type: verbatim #: wcd.pod:1325 #, no-wrap msgid "" " set PDC_RESTORE_SCREEN=1\n" "\n" msgstr "" " set PDC_RESTORE_SCREEN=1\n" "\n" #. type: textblock #: wcd.pod:1327 msgid "Windows allows only a small buffer to be saved. So it is not always possible to restore everything. Some garbage data may be printed in the console after wcd exits if you have set a large buffer width." msgstr "Windows n'autorise la sauvegarde que d'un petit tampon. Il n'est donc pas toujours possible de tout restaurer. Des données inutiles peuvent être affichées dans la console après que wcd ait terminé si vous avez défini une largeur de tampon importante." #. type: =item #: wcd.pod:1332 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1334 msgid "Printing of C<#!$SHELL> on the first line of the go-script for POSIX type shell or C shell is needed for 8 bit characters. Some shells otherwise think that the go-script is a binary file and will not source it. In Cygwin Bash the variable I must be set in environment using the C command, otherwise wcd can't read the variable." msgstr "L'impression de C<#!$SHELL> sur la première ligne du script « go » est nécessaire pour une interface système de type POSIX pour les caractères de 8 bits. Certaines interfaces système considère autrement que le script « go » est un fichier binaire et ne l'incluerons pas. Dans Cygwin bash, la variable I doit être définie dans l'environnement en utilisant la commande C, sinon wcd ne peut pas lire cette variable." #. type: =item #: wcd.pod:1342 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1344 msgid "Wcd for DOS bash uses C<$BASH> instead of C<$SHELL>, because C<$SHELL> points to the DOS command shell. One may need to define C<$BASH> with an C command, otherwise wcd can't read the variable." msgstr "Wcd pour l'interface système DOS utilise C<$BASH> à la place de C<$SHELL> parce que C<$SHELL> pointe vers l'interface de commande système. Il est potentiellement requis de définir C<$BASH> avec une commande C, autrement wcd ne peut pas lire la variable." #. type: =head1 #: wcd.pod:1351 msgid "SEE ALSO" msgstr "VOIR AUSSI" #. type: textblock #: wcd.pod:1353 msgid "sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1)," msgstr "sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1)," #. type: =head1 #: wcd.pod:1361 msgid "AUTHORS" msgstr "AUTEURS" #. type: textblock #: wcd.pod:1363 msgid "Wcd was written by Erwin Waterlander " msgstr "Wcd a été écrit par Erwin Waterlander " #. type: textblock #: wcd.pod:1365 msgid "Project homepage: L" msgstr "Project homepage : L" #. type: textblock #: wcd.pod:1368 msgid "SourceForge: L" msgstr "SourceForge : L" #. type: textblock #: wcd.pod:1371 msgid "The manual page formatting was provided by Jari Aalto ." msgstr "La mise en page du manuel a été faite par Jari Aalto ." #. type: textblock #: wcd.pod:1374 msgid "NCD was originally written by Brad Kingsbury for Peter Norton's \"Norton Utilities\" around 1987. See also L" msgstr "NCD fut initialement écrit par Brad Kingsbury pour « Norton Utilities » de Peter Norton aux environs de 1987. Voir aussi L" wcd-6.0.3/src/po-man/nl.po0000644000175500010010000033360113524756523014515 0ustar waterlanGeen# Dutch translation of the wcd man page. # Copyright (C) 2014-2017 Erwin Waterlander (msgids) # This file is distributed under the same license as the wcd package. # Erwin Waterlander , 2014. # msgid "" msgstr "" "Project-Id-Version: wcd-man\n" "POT-Creation-Date: 2019-01-11 18:42+0100\n" "PO-Revision-Date: 2014-05-27 22:29+0100\n" "Last-Translator: Erwin Waterlander \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "X-Generator: Poedit 1.6.4\n" #. type: =head1 #: wcd.pod:43 msgid "NAME" msgstr "NAAM" #. type: textblock #: wcd.pod:45 msgid "wcd - Wherever Change Directory" msgstr "wcd - Wherever Change Directory" #. type: textblock #: wcd.pod:47 msgid "chdir for DOS and Unix" msgstr "chdir voor DOS en Unix" #. type: =head1 #: wcd.pod:49 msgid "SYNOPSIS" msgstr "OVERZICHT" #. type: verbatim #: wcd.pod:51 #, no-wrap msgid "" " wcd [options] [directory]\n" "\n" msgstr "" " wcd [opties] [map]\n" "\n" #. type: =head1 #: wcd.pod:53 msgid "DESCRIPTION" msgstr "BESCHRIJVING" #. type: =head2 #: wcd.pod:55 msgid "Overview" msgstr "Overzicht" #. type: textblock #: wcd.pod:57 msgid "Wcd is a command-line program to change directory fast. It saves time typing at the keyboard. One needs to type only a part of a directory name and wcd will jump to it. Wcd has a fast selection method in case of multiple matches and allows aliasing and banning of directories. Wcd also includes a full screen interactive directory tree browser with speed search." msgstr "Wcd is een commandoregel programma om snel van map te veranderen. Het bespaart tijd tijdens het typen. Men hoeft alleen maar een deel van de mapnaam te typen en wcd springt er heen. Wcd heeft een snelle selectie methode wanneer er meerdere treffers zijn, en biedt de mogelijkheid om aliassen van mappen aan te maken en om mappen in de ban te doen. Wcd biedt ook een schermvullende interactieve boomweergave met snelzoek functie." #. type: textblock #: wcd.pod:63 msgid "Wcd was modeled after Norton Change Directory (NCD). NCD appeared first in I, for DOS in 1987, published by Peter Norton." msgstr "Wcd is gemodelleerd naar Norton Change Directory (NCD). NCD verscheen voor het eerst in I, for DOS in 1987, gepubliceerd door Peter Norton." #. type: textblock #: wcd.pod:66 msgid "Wcd has been ported to different command-line shells: DOS command.com, Windows cmd.exe and PowerShell, OS/2 cmd.exe, and Unix shells such as Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), and C (csh) shell and others running on any operating system." msgstr "Wcd is geschikt gemaakt voor verschillende commandoregel shells: DOS command.com, Windows cmd.exe en PowerShell, OS/2 cmd.exe, en Unix shells zoals Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), en C (csh) shell en anderen draaiend op elk besturingssysteem." #. type: textblock #: wcd.pod:71 msgid "Wcd supports 8 bit character sets on all systems, and has optional support for Unicode. See section LOCALIZATION." msgstr "Wcd ondersteunt 8 bit tekensets op alle systemen, en heeft optioneel ondersteuning voor Unicode. Zie paragraaf LOKALISTIE." #. type: textblock #: wcd.pod:74 msgid "See section INSTALLATION how to setup wcd for personal use." msgstr "Zie paragraaf INSTALLATIE hoe wcd voor persoonlijk gebruik in te stellen." #. type: =head2 #: wcd.pod:76 msgid "Basic use" msgstr "Basisgebruik" #. type: textblock #: wcd.pod:78 msgid "By default (if no wildcards are used) wcd searches for a directory with a name that begins with the typed name." msgstr "Standaard, wanneer geen jokertekens gebruikt worden, zoekt wcd een map met een naam die begint met de naam die getypt is." #. type: textblock #: wcd.pod:81 msgid "For instance this command will change to directory to the current user's C:" msgstr "Bijvoorbeeld deze opdracht zal veranderen naar de huidige gebruikers map C:" #. type: verbatim #: wcd.pod:84 #, no-wrap msgid "" " wcd Desk\n" "\n" msgstr "" " wcd Desk\n" "\n" #. type: textblock #: wcd.pod:86 msgid "When there are multiple matches, wcd will present the user a list of all matches. The user can then make a selection with a few keystrokes (most of the times only one)." msgstr "Wanneer er meerdere treffers zijn zal wcd een lijst presenteren van alle treffers. De gebruiker kan een keuze maken met enkele toetsaanslagen (meestal een)." #. type: =head2 #: wcd.pod:90 msgid "Wildcards" msgstr "Jokertekens" #. type: textblock #: wcd.pod:92 msgid "Wcd supports following wildcards:" msgstr "Wcd ondersteunt de volgende jokertekens:" #. type: verbatim #: wcd.pod:94 #, no-wrap msgid "" " * matches any sequence of characters (zero or more)\n" " ? matches any character\n" " [SET] matches any character in the specified set,\n" " [!SET] or [^SET] matches any character not in the specified set.\n" "\n" msgstr "" " * treft een willekeurige reeks van tekens (nul of meer)\n" " ? treft een willekeurig teken\n" " [SET] treft willekeurige tekens in de gespecificeerde set,\n" " [!SET] of [^SET] treft willekeurige tekens niet in de\n" " gespecificeerde set.\n" "\n" #. type: textblock #: wcd.pod:99 msgid "A set is composed of characters or ranges; a range looks like I as in C<0-9> or C. The C<[0-9a-zA-Z_]> is the minimal set of characters allowed in the C<[..]> pattern construct. International characters (i.e. 8 bit characters) are allowed if the system supports them. To suppress the special syntactic significance of any of C<[]*?!^-\\> inside or outside a C<[..]> construct and match the character exactly, precede the character with a backslash (C<\\>) marker." msgstr "Een set wordt samengesteld uit tekens of reeksen; een reeks ziet er uit als I zoals in C<0-9> of C. C<[0-9a-zA-Z_]> is de minimale set van tekens toegestaan in de C<[..]> patroon samenstelling. Internationale tekens (d.w.z. 8 bit tekens) zijn toegestaan als het systeem ze ondersteunt. Om de speciale syntactische betekenis van elke van C<[]*?!^-\\>binnen of buiten een C<[..]> samenstelling te onderdrukken en exact gelijke te treffen, laat het teken vooraf gaan door een backslash (C<\\>) teken." #. type: textblock #: wcd.pod:108 msgid "Using wildcards makes powerful searching possible. For instance this matches any directory name that ends with \"top\":" msgstr "Het gebruik van jokertekens maakt krachtige zoekmethodes mogelijk. Bijvoorbeeld dit treft elke mapnaam die eindigt op \"top\"." #. type: verbatim #: wcd.pod:111 #, no-wrap msgid "" " wcd *top\n" "\n" msgstr "" " wcd *top\n" "\n" #. type: textblock #: wcd.pod:113 msgid "Match directories that have \"top\" anywhere in the name:" msgstr "Tref mappen die ergens \"top\" in de naam heeft:" #. type: verbatim #: wcd.pod:115 #, no-wrap msgid "" " wcd *top*\n" "\n" msgstr "" " wcd *top*\n" "\n" #. type: textblock #: wcd.pod:117 msgid "Match any directory name that begins with \"a\", \"b\" or \"c\":" msgstr "Tref elke map die die begint met \"a\", \"b\" or \"c\":" #. type: verbatim #: wcd.pod:119 #, no-wrap msgid "" " wcd [a-c]*\n" "\n" msgstr "" " wcd [a-c]*\n" "\n" #. type: textblock #: wcd.pod:121 msgid "It is also possible to give a part of a directory path. Here Wcd searches for directory that begins with \"Desk\" and which path matches I<*me/Desk*>." msgstr "Het is ook mogelijk om een deel van het pad op te geven. Hier zoekt Wcd naar een map die begint met \"Desk\" en wiens pad overeenkomt met I<*me/Desk*>." #. type: verbatim #: wcd.pod:124 #, no-wrap msgid "" " wcd me/Desk\n" "\n" msgstr "" " wcd me/Desk\n" "\n" #. type: textblock #: wcd.pod:126 msgid "It is allowed to type any kind of expression with slashes and wildcards. E.g.:" msgstr "Het is toegestaan om elke expressie met schuine strepen en jokertekens te typen. B.v.:" #. type: verbatim #: wcd.pod:129 #, no-wrap msgid "" " wcd src*/*1?/a*2\n" "\n" msgstr "" " wcd src*/*1?/a*2\n" "\n" #. type: =head2 #: wcd.pod:131 msgid "Other uses" msgstr "Overig gebruik" #. type: textblock #: wcd.pod:133 msgid "If no wildcards are used and wcd finds a perfect match, wcd will ignore all wild matches by default. This behaviour can be changed with the B<-w> option." msgstr "Wanneer geen jokertekens gebruikt zijn en wcd vindt een perfecte treffer, zullen alle niet exacte treffers genegeerd worden. Dit gedrag kan gewijzigd worden met de B<-w> optie." #. type: textblock #: wcd.pod:136 msgid "The interactive directory tree browser can be started by using option B<-g>." msgstr "De interactieve mappen-verkenner kan met de optie B<-g> gestart worden." #. type: verbatim #: wcd.pod:138 #, no-wrap msgid "" " wcd -g\n" "\n" msgstr "" " wcd -g\n" "\n" #. type: textblock #: wcd.pod:140 msgid "Wcd generates a treedata file where it searches the directory. On Unix and Windows systems wcd does add symbolic links to the treedata file while scanning the disk, but does not follow them. While following links wcd could end up scanning infinite loops, or scan very large portions of a network." msgstr "Wcd genereert een boomdata-bestand waarin de map gezocht wordt. Op Unix en Windows voegt wcd ook symbolische koppelingen toe wanneer de schijf gescand wordt, maar deze worden niet gevolgd. Wanneer symbolische koppelingen gevolgd worden, zou wcd oneindige lussen kunnen scannen, of zeer grote delen van een netwerk." #. type: textblock #: wcd.pod:145 msgid "Wcd can also change to directories that are not in the treedata file. E.g.:" msgstr "Wcd kan ook veranderen naar mappen die niet in het boomdata-bestand staan. B.v.:" #. type: verbatim #: wcd.pod:147 #, no-wrap msgid "" " wcd ..\n" "\n" msgstr "" " wcd ..\n" "\n" #. type: textblock #: wcd.pod:149 msgid "If wcd found a match but can't change to the directory it tries to remove it from the default treedata file. Not from the extra treedata file. See also option B<-k>." msgstr "Wanneer wcd een treffer heeft gevonden, maar niet naar de map kan veranderen, probeert hij deze te verwijderen uit het standaard boomdata-bestand. Niet uit het extra boomdata-bestand. Zie ook optie B<-k>." #. type: textblock #: wcd.pod:153 msgid "Wcd keeps a directory stack which is stored on disk. The stack has a default size of 10 and is cyclic. See options B<-z>, B<->, B<+> and B<=>." msgstr "Wcd houdt een mappenstapel bij die opgeslagen wordt op schijf. De stapel heeft een standaard grootte van 10 en is cyclisch. Zie opties B<-z>, B<->, B<+> en B<=>." #. type: textblock #: wcd.pod:157 msgid "In multi-user environments option B<-u> can be used to change to directories of other users." msgstr "In een omgeving met meerdere gebruikers kan optie B<-u> gebruikt worden om naar mappen van andere gebruikers te veranderen." #. type: textblock #: wcd.pod:161 msgid "On DOS and Windows systems it does not matter if you use a slash \"/\" or a backslash \"\\\" as a directory separator." msgstr "Op DOS en Windows systemen maakt het niet uit of een slash \"/\" of een backslash \"\\\" als mappen-scheidingsteken gebruikt wordt." #. type: textblock #: wcd.pod:164 msgid "It is possible on DOS and Windows systems to change drive and directory in one go by preceding the directory name with the drive name." msgstr "Het is mogelijk op DOS en Windows systemen om tegelijk van schijf en map te veranderen door de mapnaam vooraf te laten gaan door de schijf naam." #. type: verbatim #: wcd.pod:167 #, no-wrap msgid "" " wcd d:games\n" "\n" msgstr "" " wcd d:games\n" "\n" #. type: =head2 #: wcd.pod:171 msgid "Windows UNC paths" msgstr "Windows UNC paden" #. type: textblock #: wcd.pod:173 msgid "The Windows versions (Command Prompt, PowerShell, MSYS, zsh, cygwin) support Windows SMB LAN UNC paths without drive letter such as C<\\\\servername\\sharename>. Wcd for Windows Command Prompt makes use of the \"pushd\" command to automatically map a UNC path to a drive letter. In Windows PowerShell, MSYS, zsh and Cygwin UNC paths are fully supported. The current working directory can be a UNC path." msgstr "De Windows versies (Opdrachtprompt, PowerShell, MSYS, zsh, Cygwin) ondersteunen Windows SMB LAN UNC paden zonder schijfletter, zoals C<\\\\servername\\sharename>. Wcd voor de Opdrachtprompt maakt gebruik van het \"pushd\" commando om automatisch een UNC pad toe te wijzen aan een schijfletter. In Windows PowerShell, MSYS, zsh en Cygwin worden UNC paden volledig ondersteund. De huidige werkmap kan een UNC pad zijn." #. type: =head2 #: wcd.pod:180 msgid "Console resizing on Windows" msgstr "Opdrachtpromtvenster formaat wijzigen in Windows" #. type: textblock #: wcd.pod:182 msgid "Wcd supports console resizing in Windows 10 console and ConEmu (see L) since version 6.0.3. The Windows 10 console must not be in legacy mode (check the console's properties). The screen may not refresh when the console Layout property \"Wrap text output on resize\" is disabled. The screen can be refreshed manually by pressing the F5 key." msgstr "Wcd ondersteunt het wijzigen van het formaat van het opdrachtpromptvenster in Windows 10 en ConEmu (zie L) sinds versie 6.0.3. Het Windows 10 opdrachtpromptvenster moet niet in verouderde console modus zitten (controleer de opdrachtpromptvenster eigenschappen). Het scherm kan mogelijk niet verversen wanneer de Indeling eigenschap \"tekstterugloopuitvoer bij formaat wijzigen\" uit staat. Het scherm kan handmatig ververst worden door op de F5 toets te drukken." #. type: =head2 #: wcd.pod:189 msgid "Interfaces" msgstr "Interfaces" #. type: textblock #: wcd.pod:191 msgid "Wcd has three different interfaces to choose from a list of matches. The interface can be chosen at compile time." msgstr "Wcd heeft drie verschillende interface om uit een lijst van treffers te kiezen. De interface kan gekozen worden bij het bouwen van Wcd." #. type: textblock #: wcd.pod:194 msgid "The first interface uses plain stdin/stdout. A numbered list is printed in the terminal. The user has to choose from the list by typing a number followed by . This interface does not provide scroll back functionality in case of a long list. The scroll back capability of the terminal/console has to be used. It is very small and portable." msgstr "De eerste interface gebruikt standaard in- en uitvoer. Een genummerde lijst wordt in de terminal geprint. De gebruiker kan kiezen uit de lijst door een nummber te typen gevolgd door . Deze interface biedt geen terug-blader functionaliteit bij een lange lijst. De terug-blader functionaliteit van de terminal/console moet gebruikt worden. Deze interface is heel klein en overdraagbaar." #. type: textblock #: wcd.pod:200 msgid "The second interface is built with the conio library. It provides a builtin scroll back capability. The user is presented a list numbered with letters. Choosing from a list can be done by pressing just one letter. This interface is fast because it saves keystrokes. If possible the screen will be restored after exiting. One who prefers to type numbers can use the B<-N> option." msgstr "De tweede interface is gebouwd met de conio bibliotheek. Het biedt een ingebouwde terug-blader functie. De gebruiker wordt een lijst gepresenteerd, genummerd met letters. Het kiezen uit de lijst kan gedaan worden met een enkele toetsaanslag van een letter. Deze interface is snel, omdat het toetsaanslagen bespaart. Wanneer mogelijk wordt het scherm hersteld na afsluiten. Iemand die prefereert nummers te typen kan de B<-N> optie gebruiken." #. type: textblock #: wcd.pod:207 msgid "The third interface is built with the curses library. It is similar to the conio interface. The curses version of wcd has also an additional 'graphical' interface. It lets the user select a directory via a full screen interactive directory tree browser. It has a vim(1) like navigation and search method. It can be activated with option B<-g>." msgstr "De derde bibliotheek is gebouwd met de curses bibliotheek. Het is gelijk aan de conio interface. De curses versie van wcd heeft een extra 'grafische' interface. Het laat de gebruiker een map kiezen via een vol-scherm interactieve mappenboom verkenner. Het heeft vim(1) gelijke navigatie en zoek methodes. Het kan geactiveerd worden met de optie B<-g>." #. type: textblock #: wcd.pod:213 msgid "By using the B<-o> option one can always fall back to the stdin/stdout interface." msgstr "Door de B<-o> optie te gebruiken kan men altijd terugvallen op de standaard in- en uitvoer interface." #. type: =head1 #: wcd.pod:216 msgid "OPTIONS" msgstr "OPTIES" #. type: =item #: wcd.pod:220 msgid "B<-a>" msgstr "B<-a>" #. type: textblock #: wcd.pod:222 msgid "Add current path to the default treedata file." msgstr "Voeg huidig pad to aan het standaard boomdata-bestand." #. type: textblock #: wcd.pod:224 msgid "Use this option to quickly add the current path to the default treedata file. Re-scanning the complete disk can take a long time in some cases." msgstr "Gebruik deze optie om snel het huidige pad toe te voegen aan het standaard boomdata-bestand. Het opnieuw scannen van de complete schijf kan soms lang duren." #. type: =item #: wcd.pod:227 msgid "B<-aa>" msgstr "B<-aa>" #. type: textblock #: wcd.pod:229 msgid "Add current and all parent paths to the default treedata file." msgstr "Voeg het huidige en alle bovenliggende paden toe aan het standaard boomdata-bestand." #. type: =item #: wcd.pod:231 msgid "B<-A PATH>" msgstr "B<-A PAD>" #. type: textblock #: wcd.pod:233 msgid "Scan directory tree from I and append to the default treedata file. Examples:" msgstr "Scan mappenboom vanaf I en voeg toe aan het standaard boomdata-bestand. Voorbeelden:" #. type: verbatim #: wcd.pod:236 #, no-wrap msgid "" " wcd -A .\n" " wcd -A /home -A /etc\n" " wcd -A d: -A e: -A \\\\server\\share\n" "\n" msgstr "" " wcd -A .\n" " wcd -A /home -A /etc\n" " wcd -A d: -A e: -A \\\\server\\share\n" "\n" #. type: textblock #: wcd.pod:240 msgid "On Windows one can scan all shared directories of a Windows LAN server by typing something like: C." msgstr "Op Windows kan men alle gedeelde mappen van een Windows LAN server scannen door iets te typen als: C." #. type: textblock #: wcd.pod:244 msgid "See also option B<-S> and B<-s> and B<-E>." msgstr "Zie ook opties B<-S> en B<-s> en B<-E>." #. type: =item #: wcd.pod:246 msgid "B<-b>" msgstr "B<-b>" #. type: textblock #: wcd.pod:248 msgid "Ban current path." msgstr "Verban het huidige pad." #. type: textblock #: wcd.pod:250 msgid "Wcd places the current path in the ban file. This means that wcd ignores all matches of this directory and its sub directories." msgstr "Wcd plaatst het huidige pad in het ban-bestand. Dit betekent dat wcd alle treffers van deze map en zijn sub-mappen negeert." #. type: textblock #: wcd.pod:253 msgid "The ban file can be edited with a text editor. Use of wildcards is supported and names are matched against the absolute path." msgstr "Het ban-bestand kan gewijzigd worden met een tekstbewerker. Gebruik van jokertekens wordt ondersteund en namen worden vergeleken met het volledige pad." #. type: textblock #: wcd.pod:256 msgid "Banned paths are not excluded from scanning the disk. To do that use option B<-xf>." msgstr "Verbannen paden worden niet uitgesloten van het scannen van de schijf. Gebruik optie B<-xf> om dat te doen." #. type: =item #: wcd.pod:259 msgid "B<-c, --direct-cd>" msgstr "B<-c, --direct-cd>" #. type: textblock #: wcd.pod:261 msgid "Direct CD mode. By default wcd works as follows:" msgstr "Directe CD modus. Standaard werkt wcd als volgt:" #. type: verbatim #: wcd.pod:263 #, no-wrap msgid "" " 1. Try to find a match in the treedata file(s)\n" " 2. If no match, try to open the directory you typed.\n" "\n" msgstr "" " 1. Probeer een treffer te vinden in een boomdata-bestand.\n" " 2. Wanneer geen treffer, probeer het getypte pad te openen.\n" "\n" #. type: textblock #: wcd.pod:266 msgid "In direct CD mode wcd works in reversed order." msgstr "In directe CD modus werkt wcd in omgekeerde volgorde." #. type: verbatim #: wcd.pod:268 #, no-wrap msgid "" " 1. Try to open the directory you typed.\n" " 2. If not, try to find a match in the treedata file(s).\n" "\n" msgstr "" " 1. Probeer het getypte pad te openen.\n" " 2. Indien niet gelukt, probeer een treffer te vinden in een boomdata-bestand.\n" "\n" #. type: =item #: wcd.pod:272 msgid "B<-d DRIVE>" msgstr "B<-d SCHIJF>" #. type: textblock #: wcd.pod:274 msgid "Set drive for stack and go file (DOS only)." msgstr "Stel schijf in voor stapel- en go-script (alleen DOS)." #. type: textblock #: wcd.pod:276 msgid "The stack file and the go-script are by default stored on drive C: if environment variable I is not set. Use this option if drive C: is a read-only drive. This option must be used in front of the stack options B<->, B<+> and B<=>." msgstr "Het stapelbestand en go-script worden standaard opgeslagen op schijf C: wanneer omgevingsvariabele I niet ingesteld is. Gebruik deze optie wanneer SCHIJF een alleen-lezen schijf is. Deze optie moet gebruikt worden vooraf aan stapel opties B<->, B<+> en B<=>." #. type: =item #: wcd.pod:281 msgid "B<-e>" msgstr "B<-e>" #. type: textblock #: wcd.pod:283 msgid "Add current path to the extra treedata file." msgstr "Voeg huidig pad toe aan het extra boomdata-bestand." #. type: textblock #: wcd.pod:285 msgid "Use this option to quickly add the current path to the extra treedata file." msgstr "Gebruik deze optie om snel het huidige toe te voegen aan het extra boomdata-bestand." #. type: =item #: wcd.pod:287 msgid "B<-ee>" msgstr "B<-ee>" #. type: textblock #: wcd.pod:289 msgid "Add current and all parent paths to extra treedata file." msgstr "Voeg het huidige en alle bovenliggende paden toe aan het extra boomdata-bestand." #. type: =item #: wcd.pod:291 msgid "B<-E PATH>" msgstr "B<-E PAD>" #. type: textblock #: wcd.pod:293 msgid "Scan directory tree from I and append to Extra treedata file. See also options B<-A> and B<-S>." msgstr "Scan mappenboom vanaf I en voeg het toe aan het Extra boomdata-bestand.Zie ook opties B<-A> en B<-S>." #. type: =item #: wcd.pod:296 msgid "B<-f FILE>" msgstr "B<-f BESTAND>" #. type: textblock #: wcd.pod:298 msgid "Read treedata file I. Do not read the default treedata file." msgstr "Lees boomdata-bestand I. Lees niet het standaard boomdata-bestand." #. type: =item #: wcd.pod:300 msgid "B<+f FILE>" msgstr "B<+f BESTAND>" #. type: textblock #: wcd.pod:302 msgid "Read treedata file I in addition to the default treedata file." msgstr "Lees boomdata-bestand I bovenop het standaard boomdata-bestand." #. type: =item #: wcd.pod:304 msgid "B<-g>" msgstr "B<-g>" #. type: textblock #: wcd.pod:306 msgid "Graphical interface (only in version with curses interface)." msgstr "Grafische interface (alleen in versie met curses interface)." #. type: textblock #: wcd.pod:308 msgid "Wcd starts a textual curses based 'graphical' interface. The user can select a directory via a full-screen interactive directory tree browser. It has a vim(1) like navigation and search method." msgstr "Wcd start een tekstuele curses gebaseerde 'grafische' interface. De gebruiker kan een map selecteren via een vol-scherm interactieve mappenverkenner. Het heeft een vim(1) achtige navigatie en zoek methode." #. type: textblock #: wcd.pod:312 msgid "If no search string is given wcd presents the whole tree which is in the default treedata file and the extra treedata files." msgstr "Wanneer geen zoekstring gegeven is presenteert wcd de gehele boom die in het standaard en het extra boomdata-bestand staat." #. type: textblock #: wcd.pod:315 msgid "If a search string is given the match list is presented as a directory tree." msgstr "Wanneer een zoekstring gegeven is wordt de trefferlijst gepresenteerd als een mappenboom" #. type: textblock #: wcd.pod:318 msgid "The default tree layout is similar to the tree layout of the original NCD on DOS. The difference in layout is that in NCD all directories of a same depth level were vertically aligned over the whole tree. This was possible in NCD, because the maximum width of a directory name in DOS was 12 (8.3) characters. On modern operating systems directory names can be very long, so also the differences in length can be large. Therefore folders with a same depth are not vertically aligned over the whole tree in wcd, but only in sub-branches. So there is some sideways movement when moving straight up and down from one sub-branch to another sub-branch." msgstr "De standaard boom opmaak is gelijk aan de boomopmaak van de originele NCD op DOS. Het verschil in opmaak is dat in NCD alle mappen van dezelfde diepteniveau verticaal uitgelijnd waren over de hele boom. Dit was mogelijk in NCD, omdat de maximale breedte van een mapnaam in DOS 12 (8.3) tekens was. Op moderne besturingssystemen kunnen namen erg lang zijn. Daarom zijn mappen met dezelfde diepte in wcd niet verticaal uitgelijnd over de hele boom, maar alleen in sub-takken. Daarom is er wat zijdelingse beweging wanneer recht omhoog of omlaag bewogen wordt van de ene sub-tak naar de ander sub-tak." #. type: textblock #: wcd.pod:328 msgid "The navigation behaviour in Wcd is exactly the same as in the original NCD. For instance if you push the Down key you go down to the next directory with the same depth level, jumping over branches. This enables fast navigation through the tree." msgstr "Het navigatie gedrag in wcd is exact hetzelfde als in de originele NCD. Bijvoorbeeld wanneer je de Omlaag knopt drukt ga je omlaag naar de volgende map met dezelfde diepte, springend over takken. Dit maakt snelle navigatie door de boom mogelijk." #. type: textblock #: wcd.pod:333 msgid "See options B<-Ta>, B<-TC>, and B<-Tc> to change the navigation behaviour." msgstr "Zie opties B<-Ta>, B<-TC>, en B<-TC> om het navigatiegedrag te veranderen." #. type: =item #: wcd.pod:335 msgid "B<-gd>" msgstr "B<-gd>" #. type: textblock #: wcd.pod:337 msgid "Dump the treedata files as a tree to stdout." msgstr "Dump de boomdatabestanden als een boom naar standaard uitvoer." #. type: =item #: wcd.pod:339 msgid "B<-G PATH>" msgstr "B<-G PAD>" #. type: textblock #: wcd.pod:341 msgid "Write go-script in directory I. For instance on Unix, C will write a go-script B." msgstr "Schrijf go-script in map I. Bijvoorbeeld op Unix, C zal een go-script schrijven in B." #. type: =item #: wcd.pod:344 msgid "B<-GN, --no-go-script>" msgstr "B<-GN, --no-go-script>" #. type: textblock #: wcd.pod:346 msgid "Do not create go-script. This option can be used in combination with the option B<-j> if one does not want wcd to create a go-script." msgstr "Maak geen go-script aan. Deze optie kan gebruikt worden in combinatie met de optie B<-j> wanneer men wil dat wcd geen go-script aanmaakt." #. type: =item #: wcd.pod:349 msgid "B<-h, --help>" msgstr "B<-h, --help>" #. type: textblock #: wcd.pod:351 msgid "Show help and exit." msgstr "Toon helptext en sluit af." #. type: =item #: wcd.pod:353 msgid "B<-i, --ignore-case>" msgstr "B<-i, --ignore-case>" #. type: textblock #: wcd.pod:355 msgid "Ignore case. Dos and Windows versions of wcd ignore case default. Unix/Cygwin versions regard case by default." msgstr "Hoofdletterongevoelig. DOS en Windows versies van wcd zijn standaard hoofdletterongevoelig. Unix/Cygwin versies zijn standaard hoofdlettergevoelig." #. type: =item #: wcd.pod:359 msgid "B<+i, --no-ignore-case>" msgstr "B<+i, --no-ignore-case>" #. type: textblock #: wcd.pod:361 msgid "Regard case. See also option B<-i>." msgstr "Hoofdlettergevoelig. Zie ook optie B<-i>." #. type: =item #: wcd.pod:363 msgid "B<-I, --ignore-diacritics>" msgstr "B<-I, --ignore-diacritics>" #. type: textblock #: wcd.pod:365 msgid "Ignore diacritics for Latin-based scripts. Letters with diacritical marks match their base letter without diacritical mark. The following Latin encodings are supported: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, and Unicode Latin-1, Latin Extended-A, and Latin Extended-B. See also L" msgstr "Ongevoelig voor diakritische tekens voor Latijnse geschriften. Letters met een diakritisch teken treffen hun basisletter zonder diakritisch teken. De volgende Latijnse coderingen worden ondersteund: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, en Unicode Latin-1, Latin Extended-A, en Latin Extended-B. Zie ook L" #. type: =item #: wcd.pod:372 msgid "B<+I, --no-ignore-diacritics>" msgstr "B<+I, --no-ignore-diacritics>" #. type: textblock #: wcd.pod:374 msgid "Regard diacritics (default). See also option B<-I>." msgstr "Gevoelig voor diakritische tekens (standaard). Zie ook optie B<-I>." #. type: =item #: wcd.pod:376 msgid "B<-j, --just-go>" msgstr "B<-j, --just-go>" #. type: textblock #: wcd.pod:378 msgid "Just go mode." msgstr "Ga-nou-maar modus." #. type: textblock #: wcd.pod:380 msgid "In this mode wcd will not present a list when there is more than one directory that matches the given directory. Wcd will just change to the first option. When wcd is invoked again with the same arguments it will change to the next option, and so on." msgstr "In deze modus zal wcd geen lijst tonen wanneer er meer dan een map is die treft met de ingegeven map. Wcd zal veranderen naar de eerste optie. Wanneer wcd opnieuw aangeroepen wordt met hetzelfde argument, zal wcd veranderen naar de volgende optie, en zo verder." #. type: textblock #: wcd.pod:385 msgid "Wcd will print the directory to go to to stdout. So a different installation method can be used. One could make the following function for a POSIX compatible shell:" msgstr "Wcd print de map waar naar te gaan naar standaard uitvoer. Zo kan een andere installatie methode gebruikt worden. Men zou de volgende functie kunnen maken voor een POSIX compatibele shell:" #. type: verbatim #: wcd.pod:389 #, no-wrap msgid "" " wcd ()\n" " {\n" " cd \"$($HOME/bin/wcd.exe -j $@)\"\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " cd \"$($HOME/bin/wcd.exe -j $@)\"\n" " }\n" "\n" #. type: textblock #: wcd.pod:394 msgid "When you are using an old shell that doesn't support \"$()\" command substitution you have to use old style command substitution with back-quotes." msgstr "Wanneer je een oude shell gebruikt die geen \"$()\" opdracht vervanging ondersteunt, moet je de oude stijl opdrachtvervanging gebruiken met accent graves." #. type: verbatim #: wcd.pod:397 #, no-wrap msgid "" " wcd ()\n" " {\n" " cd \"`$HOME/bin/wcd.exe -j $@`\"\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " cd \"`$HOME/bin/wcd.exe -j $@`\"\n" " }\n" "\n" #. type: textblock #: wcd.pod:403 msgid "On Windows systems, if one is running 4NT shell, one could make the following alias:" msgstr "Op Windows systemen, wanneer men 4NT shell draait, kan men de volgende alias maken:" #. type: verbatim #: wcd.pod:406 #, no-wrap msgid "" " alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`\n" "\n" msgstr "" " alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`\n" "\n" #. type: textblock #: wcd.pod:409 msgid "This method eliminates the need of the go-script, so one can use option B<-GN> in combination with B<-j>." msgstr "Deze methode elimineert de noodzaak voor het go-script, zodat men de optie B<-GN> in combinatie met B<-j> kan gebruiken." #. type: =item #: wcd.pod:412 msgid "B<-k, --keep-paths>" msgstr "B<-k, --keep-paths>" #. type: textblock #: wcd.pod:414 msgid "Keep paths." msgstr "Bewaar paden." #. type: textblock #: wcd.pod:416 msgid "Keep paths in the treedata file when wcd can't change to them. The default behaviour of wcd is that it tries to remove paths from the treedata when wcd can't change to them. With this option this behavior is turned off." msgstr "Bewaar paden in boomdata-bestanden wanneer wcd er niet naar kan veranderen. Het standaard gedrag van wcd is dat het probeert de paden te verwijderen uit het boomdata-bestand wanneer wcd niet naar ze kan veranderen. Met deze optie wordt dit gedrag uitgeschakeld." #. type: =item #: wcd.pod:420 msgid "B<-K, --color>" msgstr "B<-K, --color>" #. type: textblock #: wcd.pod:422 msgid "Use colors in graphical mode." msgstr "Gebruik kleuren in grafische modus." #. type: =item #: wcd.pod:424 msgid "B<-l ALIAS>" msgstr "B<-l ALIAS>" #. type: textblock #: wcd.pod:426 msgid "Name the current path with I. Wcd places the current path with alias I in the alias file. Aliases are case sensitive." msgstr "Noem het huidige pad I. Wcd plaatst het huidige pad met alias I in het alias-bestand. Aliassen zijn hoofdlettergevoelig." #. type: =item #: wcd.pod:429 msgid "B<-ls>" msgstr "" #. type: textblock #: wcd.pod:431 msgid "Show the name of the alias file, and list all the aliases." msgstr "" #. type: =item #: wcd.pod:433 msgid "B<-m DIR>" msgstr "B<-m MAP>" #. type: textblock #: wcd.pod:435 msgid "Make directory and add to treedata file." msgstr "Maak map en voeg toe aan boomdata-bestand." #. type: =item #: wcd.pod:437 msgid "B<-L, --license>" msgstr "B<-L, --license>" #. type: textblock #: wcd.pod:439 msgid "Print the distribution license." msgstr "Print de distributie licentie." #. type: =item #: wcd.pod:441 msgid "B<-M DIR>" msgstr "B<-M MAP>" #. type: textblock #: wcd.pod:443 msgid "Make directory and add to extra treedata file." msgstr "Maak map en voeg toe aan extra boomdata-bestand." #. type: =item #: wcd.pod:445 msgid "B<-n PATH>" msgstr "B<-n PAD>" #. type: textblock #: wcd.pod:447 msgid "Read relative treedata file from I." msgstr "Lees relatief boomdata-bestand vanaf I." #. type: textblock #: wcd.pod:449 msgid "Do not read the default treedata file. The relative treedata file should already have been created using the wcd B<+S> option. I may also point to a file directly." msgstr "Lees niet het standaard boomdata-bestand. Het relatieve boomdata-bestand zou al gemaakt moeten zijn met de wcd optie B<+S>. I mag ook direct naar een bestand wijzen." #. type: textblock #: wcd.pod:453 msgid "An example. Suppose another system has been mounted to mount point C:" msgstr "Een voorbeeld. Stel een ander systeem is gekoppend aan koppeling C:" #. type: verbatim #: wcd.pod:456 #, no-wrap msgid "" " wcd -n /mnt/network src\n" "\n" msgstr "" " wcd -n /mnt/network src\n" "\n" #. type: textblock #: wcd.pod:458 msgid "Wcd opens the relative treedata file in C. The file contains the paths relative from that point." msgstr "Wcd opent het relatieve boomdata-bestand in C. The bestand bevat de paden relatief vanaf dat punt." #. type: =item #: wcd.pod:461 msgid "B<+n PATH>" msgstr "B<+n PAD>" #. type: textblock #: wcd.pod:463 msgid "Read relative treedata file in addition to the default treedata file. See option B<-n>." msgstr "Lees relatief boomdata-bestand bovenop het standaard boomdata-bestand. Zie optie B<-n>." #. type: =item #: wcd.pod:466 msgid "B<-N, --numbers>" msgstr "B<-N, --numbers>" #. type: textblock #: wcd.pod:468 msgid "Use numbers instead of letters." msgstr "Gebruik nummers in plaats van letters." #. type: textblock #: wcd.pod:470 msgid "Wcd with a conio or curses based interface (see section Interfaces) presents a match list by default numbered with letters. When the B<-N> option is used the match list is numbered with numbers. Regardless of the B<-N> option one can type a letter or numbers to make a selection from the list of matches." msgstr "Wcd met een conio of curses gebaseerde interface (zie paragraaf Interfaces) presenteert een trefferlijst standaard genummerd met letters. Wanneer de optie B<-N> is gebruikt wordt de trefferlijst genummerd met nummers. Onafhankelijk van de optie B<-N> kan men een letter of een nummer typen om een selectie uit de lijst te maken." #. type: =item #: wcd.pod:475 msgid "B<-o>" msgstr "B<-o>" #. type: textblock #: wcd.pod:477 msgid "Use stdin/stdout interface." msgstr "Gebruik standaard invoer/uitvoer interface." #. type: textblock #: wcd.pod:479 msgid "When for some kind of reason the conio or curses interface of wcd does not work one can fall back to the stdin/stdout interface of wcd by using the B<-o> option." msgstr "Wanneer om een of andere reden de conio of curses interface van wcd niet werkt kan men terugvallen op de standaard invoer/uitvoer interface van wcd door het gebruik van de B<-o> optie." #. type: =item #: wcd.pod:483 msgid "B<-od, --to-stdout>" msgstr "B<-od, --to-stdout>" #. type: textblock #: wcd.pod:485 msgid "Dump all matches to stdout." msgstr "Dump alle treffers naar standaard uitvoer." #. type: =item #: wcd.pod:487 msgid "B<-q, --quiet>" msgstr "B<-q, --quiet>" #. type: textblock #: wcd.pod:489 msgid "Quieter operation. Printing of the final match is suppressed." msgstr "Stillere werking. Het printen van de uiteindelijke treffer wordt onderdrukt." #. type: =item #: wcd.pod:491 msgid "B<-r DIR>" msgstr "B<-r MAP>" #. type: textblock #: wcd.pod:493 msgid "Remove directory and remove from the treedata file." msgstr "Verwijder map en verwijder uit boomdata-bestand." #. type: textblock #: wcd.pod:495 msgid "If the directory is empty, wcd will remove it, and try to remove it from the treedata file." msgstr "Als de map leeg is zal wcd het verwijderen, en proberen het te verwijderen uit het boomdata-bestand." #. type: =item #: wcd.pod:498 msgid "B<-rmtree DIR>" msgstr "B<-rmtree MAP>" #. type: textblock #: wcd.pod:500 msgid "Recursively remove directory and remove from the treedata file." msgstr "Recursief map verwijderen en verwijderen uit boomdata-bestand." #. type: textblock #: wcd.pod:502 msgid "Wcd will remove the directory and all its sub directories and files, and remove the directories from the treedata file." msgstr "Wcd zal de map verwijderen en al zijn sub-mappen en bestanden, en verwijdert de mappen uit het boomdata-bestand." #. type: =item #: wcd.pod:505 msgid "B<-s>" msgstr "B<-s>" #. type: textblock #: wcd.pod:507 msgid "(re)Scan disk from C<$HOME> directory. If I is not defined the disk is scanned from root directory /." msgstr "(her)scannen schijf vanaf C<$HOME> map. Als I niet gedefinieerd is, wordt de schijf gescant vanaf hoofdmap /." #. type: textblock #: wcd.pod:510 msgid "The existing default treedata file is overwritten." msgstr "Het bestaande standaard boomdata-bestand is overschreven." #. type: textblock #: wcd.pod:512 msgid "The default scan directory can be overruled with environment variable C. See section ENVIRONMENT VARIABLES." msgstr "De standaard scan map kan overstemd worden met omgevingsvariabele C. Zie sectie OMGEVINGSVARIABELEN." #. type: =item #: wcd.pod:515 msgid "B<-S PATH>" msgstr "B<-S PAD>" #. type: textblock #: wcd.pod:517 msgid "Scan directory tree from I and overwrite the default treedata file. See also options B<-A>, B<-s> and B<-E>. E.g. with option B<-A> you can create a default treedata file of your choice. Examples:" msgstr "Scan mappenboom vanaf I en overschrijf het standaard boomdata-bestand. Zie ook opties B<-A>, B<-s> en B<-E>. B.v. met optie B<-A> kun je een standaard boomdata-bestand maken naar eigen smaak. Bijvoorbeeld:" #. type: textblock #: wcd.pod:521 msgid "Unix:" msgstr "Unix:" #. type: verbatim #: wcd.pod:523 #, no-wrap msgid "" " wcd -S /\n" " wcd -S /home -A /etc -A /usr\n" "\n" msgstr "" " wcd -S /\n" " wcd -S /home -A /etc -A /usr\n" "\n" #. type: textblock #: wcd.pod:526 msgid "DOS/Windows:" msgstr "DOS/Windows:" #. type: verbatim #: wcd.pod:528 #, no-wrap msgid "" " wcd -S c:/\n" " wcd -S c: -A d: -A \\\\server\\share\n" "\n" msgstr "" " wcd -S c:/\n" " wcd -S c: -A d: -A \\\\server\\share\n" "\n" #. type: textblock #: wcd.pod:531 msgid "With the Windows versions one can scan all shared directories of a Windows LAN server by typing something like: C." msgstr "Met de Windows versies kan men alle gedeelde mappen scannen van een Windows LAN server door iets een typen als: C." #. type: =item #: wcd.pod:535 msgid "B<+S PATH>" msgstr "B<+S PAD>" #. type: textblock #: wcd.pod:537 msgid "Scan disk from I and place relative paths in a relative treedata file. This file is used by the B<-n> and B<+n> options of wcd. E.g. C." msgstr "Scan schijf vanaf I en plaats relatieve paden in het relatieve boomdata-bestand. Dit bestand wordt gebruikt door de B<-n> en B<+n> opties van wcd. B.v. C." #. type: =item #: wcd.pod:541 msgid "B<-t>" msgstr "B<-t>" #. type: textblock #: wcd.pod:543 msgid "Do not strip tmp mount dir C (Unix only)" msgstr "Verwijder niet tmp koppelmap C (alleen Unix)" #. type: textblock #: wcd.pod:545 msgid "Wcd strips by default C from the match. Directory C is used by the auto-mounter. This behaviour can be turned off with the B<-t> option." msgstr "Wcd verwijderd standaard C van de treffer. Map C wordt gebruikt door de 'auto-mounter'. Dit gedrag kan uitgeschakeld worden met de B<-t> optie." #. type: =item #: wcd.pod:549 msgid "B<-T, --ascii-tree>" msgstr "B<-T, --ascii-tree>" #. type: textblock #: wcd.pod:551 msgid "Draw tree with ASCII characters. Use this option if line drawing characters are not displayed properly in your terminal." msgstr "Teken boom met ASCII tekens. Gebruik deze opties als lijntekens niet goed getoond worden in de terminal." #. type: =item #: wcd.pod:554 msgid "B<-Ta, --alt-tree-nav>" msgstr "B<-Ta, --alt-tree-nav>" #. type: textblock #: wcd.pod:556 msgid "Alternative way of navigation in the graphical tree." msgstr "Alternatieve manier van navigeren in de grafische boom." #. type: textblock #: wcd.pod:558 msgid "In the default NCD style tree layout the B<-Ta> option disables jumping to unrelated directories." msgstr "In de standaard NCD stijl opmaak zet de B<-Ta> optie het springen naar ongerelateerde mappen uit." #. type: textblock #: wcd.pod:561 msgid "In compact tree mode the alternative mode makes navigation similar to navigation in GUI file managers such as Windows Explorer or Linux KDE Konqueror. Pressing Up and Down moves the selected folder one line up or down. Pressing Left first folds the sub-folders and the next move left moves really left." msgstr "In compacte-boom-modus maakt de alternatieve mode de navigatie gelijk aan de navigatie in GUI bestandsverkenners zoals de Windows Verkenner of Linux KDE Konqueror. Omhoog en Omlaag drukken beweegt de geselecteerde map één regel op en neer. Links drukken vouwt eerst de sub-mappen in en de volgende beweging naar links gaat echt naar links." #. type: textblock #: wcd.pod:567 msgid "You can switch on-the-fly between default and alternative navigation by pressing ." msgstr "U kunt onmiddellijk tussen standaard en alternatief navigeren schakelen door te drukken." #. type: textblock #: wcd.pod:570 msgid "When alternative navigation mode is on, you will see an \"A\" in the lower right corner." msgstr "Wanneer alternatieve navigatie aan staat, ziet u een \"A\" in de rechter onderhoek." #. type: =item #: wcd.pod:572 msgid "B<-TC, --center-tree>" msgstr "B<-TC, --center-tree>" #. type: textblock #: wcd.pod:574 msgid "Centered view in the graphical tree. The selected directory stays in the middle of the screen. The centered mode can also be switched on and off with key in the graphical tree." msgstr "Gecentreerde weergave in de grafische boom. De geselecteerde map blijft in het midden van het scherm. De gecentreerde modus kan ook aan- en uitgeschakeld worden met de toets in de grafische boom." #. type: textblock #: wcd.pod:578 msgid "The standard non-centered behaviour, which minimises tree movement, is the same as in the original NCD." msgstr "De standaard niet-gecentreerde weergave, die boombeweging minimaliseert, is gelijk aan hoe het in de originele NCD was." #. type: =item #: wcd.pod:581 msgid "B<-Tc, --compact-tree>" msgstr "B<-Tc, --compact-tree>" #. type: textblock #: wcd.pod:583 msgid "By default the 'graphical' tree is drawn the same way as the original NCD on DOS did it. On DOS a directory path could only be 66 characters in total. With the deep directory structures of today the tree can become very wide. To overcome this wcd can draw the tree in a compact way, similar to most GUI file managers, with only one folder per line. Use option B<-Tc> or switch on-the-fly with the key." msgstr "Standaard wordt de 'grafische' boom getekend op dezelfde manier zoals de originele NCD op DOS het deed. In DOS kon een pad in totaal slechts 66 tekens bevatten. Met de diepe mappenstructuur van vandaag kan de boom erg breed worden. Om dit te beheersen kan wcd de boom op een compacte manier tekenen, gelijk aan de meeste GUI mappenverkenners, met één map per regel. Gebruik optie B<-Tc> of schakel onmiddellijk met de toets." #. type: =item #: wcd.pod:590 msgid "B<-Td, --cjk-width>" msgstr "B<-Td, --cjk-width>" #. type: textblock #: wcd.pod:592 msgid "Legacy East-Asian CJK (Chinese, Japanese, and Korean) fonts have certain characters and line drawing symbols with a column width of 2, while the normal Unicode width for these characters is 1 column. For instance the Chinese CP936 raster font on Windows and the Simsun font. Use this option for a correct outlining of the graphical tree when a legacy CJK font is used." msgstr "Oude Oost-Aziatische CJK (Chinees, Japans, en Koreaans) fonts hebben bepaalde letters en lijnsymbolen met een kolombreedte van 2, terwijl de normale Unicode breedte voor deze tekens 1 kolom is. Bijvoorbeeld het Chinese CP936 raster font op Windows en het Simsun font. Gebruik deze optie voor een juiste uitlijning van de grafische boom wanneer een oud CJK font gebruikt wordt." #. type: textblock #: wcd.pod:598 msgid "When CJK mode is on, you will see a \"C\" in the lower right corner." msgstr "Wanneer CJK modus actief is, ziet u een \"C\" in de rechter onderhoek." #. type: =item #: wcd.pod:600 msgid "B<-u USER>" msgstr "B<-u GEBRUIKER>" #. type: textblock #: wcd.pod:602 msgid "Scan treedata file of another user based on I, do not scan your own default treedata file. See also section ENVIRONMENT VARIABLES for I." msgstr "Scan boomdata-bestand van een andere gebruiker gebaseerd op I, scan niet het eigen boomdata-bestand. Zie ook paragraaf OMGEVINGSVARIABELEN voor I." #. type: textblock #: wcd.pod:605 msgid "On Unix/Cygwin the base directory for user home directories is assumed to be C. Wcd will look for C and C, in that order, and read the first one that exists and is readable. On DOS/Windows the base directory for user home directories is assumed to be C<\\\\users>, so wcd tries to read C<\\\\users\\USER\\treedata.wcd> and C<\\\\users\\USER\\.wcd\\treedata.wcd>." msgstr "Op Unix/Cygwin wordt aangenomen dat de basismap voor de thuismap voor gebruikers C is. Wcd zal zoeken naar C en C, in deze volgorde, en de eerste lezen die bestaat en leesbaar is. Op DOS/Windows wordt aangenomen dat de basismap voor de thuismap van gebruikers C<\\\\users> is, dus wcd probeert te lezen C<\\\\users\\GEBRUIKER\\treedata.wcd> en C<\\\\users\\GEBRUIKER\\.wcd\\treedata.wcd>." #. type: =item #: wcd.pod:613 msgid "B<+u USER>" msgstr "B<+u GEBRUIKER>" #. type: textblock #: wcd.pod:615 msgid "Read default treedata file of USER in addition to your own treedata file." msgstr "Lees het standaard boomdata-bestand van GEBRUIKER bovenop uw eigen boomdata-bestand." #. type: =item #: wcd.pod:618 msgid "B<-v, --verbose>" msgstr "B<-v, --verbose>" #. type: textblock #: wcd.pod:620 msgid "Display verbose messages. With this option wcd prints all filters, bans and excludes." msgstr "Toon gedetailleerde berichten. Met deze optie toont wcd alle filters, verbannen mappen en uitsluitingen." #. type: =item #: wcd.pod:623 msgid "B<-V, --version>" msgstr "B<-V, --version>" #. type: textblock #: wcd.pod:625 msgid "Print version information and exit." msgstr "Programmaversie tonen en afsluiten." #. type: =item #: wcd.pod:627 msgid "B<-w, --wild-match-only>" msgstr "B<-w, --wild-match-only>" #. type: textblock #: wcd.pod:629 msgid "Wild matching only. Treat all matches as wild matches." msgstr "Alleen jokervergelijkingen. Behandel alle treffers als jokertreffers." #. type: =item #: wcd.pod:631 msgid "B<-x PATH>" msgstr "B<-x PAD>" #. type: textblock #: wcd.pod:633 msgid "Exclude I from scanning." msgstr "I uitsluiten van scannen." #. type: textblock #: wcd.pod:635 msgid "When this option is used wcd will exclude I and all its subdirectories when wcd is scanning a disk. Wildcards are supported and matched against absolute paths. Option B<-x> can be used multiple times." msgstr "Wanneer deze optie gebruikt is zal wcd I uitsluiten en al zijn sub-mappen wanneer wcd een schijf scant. Jokertekens worden ondersteund en vergeleken met absolute paden. Optie B<-x> kan meerder keren gebruikt worden." #. type: verbatim #: wcd.pod:639 #, no-wrap msgid "" " wcd -x -x -s\n" "\n" msgstr "" " wcd -x -x -s\n" "\n" #. type: textblock #: wcd.pod:641 msgid "Option B<-x> must be used in front of any scan option (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." msgstr "Optie B<-x> moet vooraf gaan aan elke scan optie (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." #. type: textblock #: wcd.pod:645 msgid "On DOS/Windows systems one must specify the drive letter depending on if environment variable I or I is set. If I or I is set one needs to specify the drive letter. An example:" msgstr "Op DOS/Windows systemen moet men de schijfletter specificeren afhankelijk van of omgevingsvariabele I or I gedefinieerd is. Wanneer I of I gedefinieerd is moet men de schijfletter specificeren. Een voorbeeld:" #. type: verbatim #: wcd.pod:649 #, no-wrap msgid "" " wcd -x c:/temp -S c:\n" "\n" msgstr "" " wcd -x c:/temp -S c:\n" "\n" #. type: textblock #: wcd.pod:651 msgid "Otherwise do not specify drive letter." msgstr "Specificeer anders geen schijfletter." #. type: verbatim #: wcd.pod:653 #, no-wrap msgid "" " wcd -x /temp -s\n" "\n" msgstr "" " wcd -x /temp -s\n" "\n" #. type: =item #: wcd.pod:656 msgid "B<-xf FILE>" msgstr "B<-xf BESTAND>" #. type: textblock #: wcd.pod:658 msgid "Exclude all paths listed in I from scanning." msgstr "Alle paden uit bestand I uitsluiten van scannen." #. type: textblock #: wcd.pod:660 msgid "When this option is used wcd will exclude all paths listed in I and all their subdirectories when wcd is scanning a disk. Wildcards are supported and they are matched against absolute paths; one path per line. Be aware that wcd will not ignore leading or trailing blanks on a line, because they are legal characters in a directory name. Option B<-xf> can be used multiple times. When one wants to exclude all banned paths from scanning one can do the following (example for wcd on unix):" msgstr "Wanneer deze optie gebruikt is zal wcd alle paden genoemd in I uitsluiten en al hun sub-mappen wanneer wcd een schijf scant. Jokertekens worden ondersteund en vergeleken met absolute paden, een pad per regel. Wees bewust dat wcd spaties aan het begin of einde op een regel niet zal negeren, omdat het geldige tekens zijn in een mapnaam. Optie B<-xf> can meerdere keren gebruikt worden. Wanneer men alle verbannen paden wil uitsluiten van scannen zou het volgende gedaan kunnen worden (voorbeeld voor wcd op Unix):" #. type: verbatim #: wcd.pod:668 #, no-wrap msgid "" " wcd -xf ~/.ban.wcd -s\n" "\n" msgstr "" " wcd -xf ~/.ban.wcd -s\n" "\n" #. type: textblock #: wcd.pod:670 msgid "Wildcards are supported. For instance to exclude all your Subversion directories with administrative files add a line with C<*/.svn>." msgstr "Jokertekens worden ondersteund. Om bijvoorbeeld al uw Subversion mappen met administratieve bestanden uit te sluiten, voeg een regel toe met C<*/.svn>." #. type: textblock #: wcd.pod:673 msgid "Option B<-xf> must be used in front of any scan option (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." msgstr "Optie B<-xf> moet vooraf gaan aan elke scan optie (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." #. type: =item #: wcd.pod:676 msgid "B<-y, --assume-yes>" msgstr "B<-y, --assume-yes>" #. type: textblock #: wcd.pod:678 msgid "Assume Yes on all queries." msgstr "Op alle vragen Ja als antwoord aannemen." #. type: textblock #: wcd.pod:680 msgid "Wcd will not prompt the user with yes/no questions, but assumes the user answers yes on all questions. This can be used in combination with option B<-rmtree>. This option must be used in front of options that can lead to yes/no questions." msgstr "Wcd zal de gebruiker geen ja/nee vraag stellen, maar neemt aan dat de gebruiker ja antwoordt op alle vragen. Dit kan gebruikt worden in combinatie met optie B<-rmtree>. Deze optie moet voorafgaand gebruikt worden aan opties die tot ja/nee vragen kunnen leiden." #. type: =item #: wcd.pod:685 msgid "B<-z NUMBER>" msgstr "B<-z GETAL>" #. type: textblock #: wcd.pod:687 msgid "Set maximum stack size to NUMBER." msgstr "Stel maximum stapelgrootte in op GETAL." #. type: textblock #: wcd.pod:689 msgid "The default size of the stack is 10. Stack operation can be turned off by setting the size to 0. This option must be used in front of any other stack operations (B<->,B<+>,B<=>). Otherwise the size of the stack will be set back to the default 10." msgstr "De standaard grootte van de stapel is 10. Stapelwerking kan uitgezet worden door de grootte op 0 in te stellen. Deze optie moet voorafgaand aan elke stapel optie (B<->, B<+>, B<=>) gebruikt worden. Anders wordt de stapelgrootte teruggezet naar de standaard 10." #. type: textblock #: wcd.pod:694 msgid "A correct command is:" msgstr "Een correcte opdracht is:" #. type: verbatim #: wcd.pod:696 #, no-wrap msgid "" " wcd -z 50 -\n" "\n" msgstr "" " wcd -z 50 -\n" "\n" #. type: textblock #: wcd.pod:698 msgid "The new stack size will be 50, wcd will go one directory back. A wrong command is:" msgstr "De nieuwe stapelgrootte zal 50 zijn, wcd gaat een map terug. Een foute opdracht is:" #. type: verbatim #: wcd.pod:701 #, no-wrap msgid "" " wcd - -z 50\n" "\n" msgstr "" " wcd - -z 50\n" "\n" #. type: textblock #: wcd.pod:703 msgid "Wcd goes one directory back, the stack gets the default size 10. The B<-z 50> is ignored." msgstr "Wcd gaat een map terug, de stapel krijgt de standaard grootte 10. B<-z 50> wordt genegeerd." #. type: textblock #: wcd.pod:706 msgid "Add this option as the first option to your wcd alias or function. E.g. for the a POSIX compatible shell this would be:" msgstr "Voeg deze optie als eerste toe aan uw wcd alias of functie. B.v. voor een POSIX compatibele shell zou dit zijn:" #. type: verbatim #: wcd.pod:709 #, no-wrap msgid "" " wcd ()\n" " {\n" "\twcd.exe -z 50 \"$@\"\n" "\t. ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" "\twcd.exe -z 50 \"$@\"\n" "\t. ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" #. type: =item #: wcd.pod:715 msgid "B<-[NUMBER]>" msgstr "B<-[GETAL]>" #. type: textblock #: wcd.pod:717 msgid "Push dir NUMBER of times. Default is one." msgstr "Map GETAL keer op stapel zetten. Standaard is een." #. type: textblock #: wcd.pod:719 msgid "Go back a directory. Command C goes one directory back. To go more directories back add a number to it. E.g. command C. The stack is cyclic." msgstr "Ga een map terug. Opdracht C gaat een map terug. Voeg een nummer toe om meer mappen terug te gaan. B.v. opdracht C. De stapel is cyclisch." #. type: =item #: wcd.pod:723 msgid "B<+[NUMBER]>" msgstr "B<+[GETAL]>" #. type: textblock #: wcd.pod:725 msgid "Pop dir NUMBER of times. Default is one." msgstr "Map GETAL keer van stapel halen. Standaard is een." #. type: textblock #: wcd.pod:727 msgid "Go forward a directory. Command C goes one directory forward. To go more directories forward add a number to it. E.g. command C. The stack is cyclic." msgstr "Ga een map vooruit. Opdracht C gaat een map vooruit. Voeg een nummer toe om meerdere mappen vooruit te gaan. B.v. opdracht C. De stapel is cyclisch." #. type: =item #: wcd.pod:731 msgid "B<=>" msgstr "B<=>" #. type: textblock #: wcd.pod:733 msgid "Show stack." msgstr "Stapel tonen." #. type: textblock #: wcd.pod:735 msgid "Use this option if you do not know anymore how many times to push or pop. The stack is printed and you can choose a number. The current place in the stack is marked with an asterisk C<*>." msgstr "Gebruik deze optie als u niet meer weet waar u in de stapel zit. De stapel wordt getoond en u kan een nummer kiezen. De huidige plaats in de stapel is gemarkeerd met een sterretje C<*>." #. type: =head1 #: wcd.pod:741 msgid "INSTALLATION" msgstr "INSTALLATIE" #. type: textblock #: wcd.pod:743 msgid "The current working directory of a Unix shell can only be changed by the builtin cd(1) command. Therefore the program is always called by a function or an alias. The function or alias sources a shell script (go-script) which is generated by the wcd program. Wcd can only work after the function or alias is defined." msgstr "De huidige werkmap in een Unix shell kan alleen veranderd worden door de ingebouwde cd(1) opdracht. Daarom wordt het programma altijd aangeroepen door een functie of alias. De functie of alias leest een script (go-script) in dat gegenereerd is door het wcd programma. Wcd kan alleen werken nadat de functie of alias gedefinieerd is." #. type: textblock #: wcd.pod:749 msgid "Another important influence on your installation is the definition of environment variables I and I. See section ENVIRONMENT VARIABLES." msgstr "Een andere belangrijke invloed op uw installatie is de definitie van de omgevingsvariabelen I en I. Zie paragraaf OMGEVINGSVARIABELEN." #. type: =head2 #: wcd.pod:753 msgid "Install for POSIX type shells" msgstr "Installatie voor POSIX type shells" #. type: textblock #: wcd.pod:755 msgid "For a POSIX shell (ksh, bash, zsh, etc.) on Unix, Linux, Cygwin, or native MSYS add the following function to the shell startup file (e.g. Bash uses C<$HOME/.bashrc>):" msgstr "Voor een POSIX shell (ksh, bash, zsh, etc) op Unix, Linux, Cygwin, of MSYS, voeg de volgende functie toe aan het shell opstartbestand (b.v. Bash gebruikt C<$HOME/.bashrc>):" #. type: verbatim #: wcd.pod:759 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcd.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " PAD/wcd.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:765 msgid "Replace I with the location where the wcd executable has been installed. Reload the shell initialization files or start new shell." msgstr "Vervang I door de locatie waar het uitvoerbare wcd bestand geïnstalleerd is. Laad de shell initialisatiebestanden opnieuw of start een nieuwe shell." #. type: textblock #: wcd.pod:768 msgid "The location of the go-script C differs per shell." msgstr "De locatie van het go-script C is anders per shell." #. type: textblock #: wcd.pod:770 msgid "Wcd for DJGPP DOS bash and OS/2 bash require a different function. The go script is not written in a directory C, and if I and I are both not defined the go-script is written on c:/." msgstr "Wcd voor DJGPP DOS bash heeft een andere functie nodig. Het go-script wordt niet in map C geschreven, en wanneer I en I beide niet gedefinieerd zijn wordt het go-script geschreven in c:/." #. type: textblock #: wcd.pod:774 msgid "DOS bash:" msgstr "" #. type: verbatim #: wcd.pod:776 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdbash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " PAD/wcdbash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:782 msgid "OS/2 bash:" msgstr "" #. type: verbatim #: wcd.pod:784 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdos2bash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " PAD/wcdos2bash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:790 msgid "The WinZsh version of wcd requires a bit different function. The go-script will never be written in c:/." msgstr "De WinZsh versie van wcd is ook een beetje anders. Het go-script wordt nooit in c:/ geschreven." #. type: verbatim #: wcd.pod:793 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdwin32zsh.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " PAD/wcdwin32zsh.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:799 msgid "See section FILES for more information." msgstr "Zie paragraaf BESTANDEN voor meer informatie." #. type: =head2 #: wcd.pod:801 msgid "Install for C-alike shells (csh, tcsh)" msgstr "Installatie voor C-achtige shells (csh, tcsh)" #. type: textblock #: wcd.pod:803 msgid "Add the following alias to the shell startup file C<$HOME/.cshrc> or C<$HOME/.tcshrc> :" msgstr "Voeg de volgende alias toe aan het shell opstartbestand C<$HOME/.cshrc> of C<$HOME/.tcshrc>:" #. type: verbatim #: wcd.pod:806 #, no-wrap msgid "" " if ( ${?WCDHOME} ) then\n" " alias wcd \"PATH/wcd.exe \\!* ; source $WCDHOME/bin/wcd.go\"\n" " else\n" " alias wcd \"PATH/wcd.exe \\!* ; source $HOME/bin/wcd.go\"\n" " endif\n" "\n" msgstr "" " if ( ${?WCDHOME} ) then\n" " alias wcd \"PAD/wcd.exe \\!* ; source $WCDHOME/bin/wcd.go\"\n" " else\n" " alias wcd \"PAD/wcd.exe \\!* ; source $HOME/bin/wcd.go\"\n" " endif\n" "\n" #. type: textblock #: wcd.pod:812 msgid "Replace I with the location where the wcd executable has been installed. Reload the shell initialization files or start a new shell." msgstr "Vervang I door de locatie waar het uitvoerbare wcd bestand geïnstalleerd is. Laad de shell initialisatiebestanden opnieuw of start een nieuwe shell." #. type: =head2 #: wcd.pod:816 msgid "Windows Command Prompt version" msgstr "Windows Opdrachtprompt versie" #. type: textblock #: wcd.pod:818 msgid "Unpack the zip file and add directory C to your environment variable I." msgstr "Pak het zip-bestand uit en voeg map C toe aan omgevingsvariabele I." #. type: textblock #: wcd.pod:821 msgid "In Windows Command Prompt a Windows program cannot change the current work directory, but a .bat file can. The batch script C runs the wcd program which generates a new batch script C. Then C runs C which actually changes the directory." msgstr "In Windows Opdrachtprompt kan een Windows programma niet de huidige werkmap veranderen, maar een .bat bestand kan dat wel. Het batch script C draait het wcd programma dat een nieuw batch script C genereert. Daarna start C C die feitelijk de map verandert." #. type: =head2 #: wcd.pod:826 msgid "Windows VISTA and higher" msgstr "Windows VISTA en hoger" #. type: textblock #: wcd.pod:828 msgid "In a Windows VISTA and higher Command Prompt you may have limited access to directories. To get access to more directories you need administrator rights. You can get a Command Prompt with administrator rights if you right click on the Command Prompt icon and select I." msgstr "In een Windows VISTA en hoger Opdrachtprompt kan men beperkte toegang hebben tot mappen. Om toegang tot meer mappen te verkrijgen heeft men beheerdersrechten nodig. U kunt een Opdrachtprompt met beheerdersrechten verkrijgen door rechts te klikken op het Opdrachtprompt icoon en dan te selecteren I." #. type: =head2 #: wcd.pod:833 msgid "Windows PowerShell version" msgstr "Windows PowerShell versie" #. type: textblock #: wcd.pod:835 msgid "Add the following function to your PowerShell user profile. The location of this profile is stored in the $profile variable. It is required that one of the environment variables I or I is defined." msgstr "Voeg de volgende functie toe aan uw PowerShell gebruikersprofiel. De locatie van dit profiel is opgeslagen in de $profile variabele. Het is vereist dat omgevingsvariabele I of I gedefinieerd is." #. type: verbatim #: wcd.pod:839 #, no-wrap msgid "" " function wcd\n" " {\n" " PATH\\wcdwin32psh.exe $args\n" " & $env:HOME\\wcdgo.ps1\n" " }\n" "\n" msgstr "" " function wcd\n" " {\n" " PAD\\wcdwin32psh.exe $args\n" " & $env:HOME\\wcdgo.ps1\n" " }\n" "\n" #. type: textblock #: wcd.pod:845 msgid "Replace I with the location where the wcd executable has been installed. Start a new PowerShell. Wcd for PowerShell supports only the file system provider. No other providers." msgstr "Vervang I met de locatie waar het uitvoerbare wcd bestand geïnstalleerd is. Start een nieuwe PowerShell. Wcd voor PowerShell ondersteund alleen de bestandssysteem 'provider'. Geen andere 'providers'." #. type: =head2 #: wcd.pod:849 msgid "OS/2 Command Prompt version" msgstr "OS/2 Opdrachtprompt versie" #. type: textblock #: wcd.pod:851 msgid "In an OS/2 Command Prompt (cmd.exe) an OS/2-program can't change the current work directory. That is why wcd generates a command script C which must be executed in the current shell. The script C first executes C, which creates the C script. Then C executes the C script." msgstr "In een OS/2 Opdrachtprompt (cmd.exe) kan een OS/2 programma niet de huidige werkmap veranderen. Dat is waarom wcd een opdracht-script genereert C welke uitgevoerd moet worden in de huidige shell. Het script C voert eerst C uit, die vervolgens het C script creëert. Daarna voert C het C script uit." #. type: =head1 #: wcd.pod:858 msgid "LOCALIZATION" msgstr "LOKALISATIE" #. type: =item #: wcd.pod:862 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:864 msgid "The primary language is selected with the environment variable I. The I variable consists out of several parts. The first part is in small letters the language code. The second one is optional and is the country code in capital letters, preceded with an underscore. There is also an optional third part: character encoding, preceded with a dot. A few examples for POSIX standard type shells:" msgstr "The primaire taal wordt geselecteerd via de omgevingsvariabele I. De variabele I bestaat uit verschillende onderdelen. Het eerste deel is in kleine letters de taalcode. Het tweede deel is optioneel en is de landcode in hoofdletters, voorafgegaan door een liggend streepje. Er is ook een optioneel derde deel: de tekencodering, voorafgegaan door een punt. Enkele voorbeelden voor een POSIX-shell:" #. type: verbatim #: wcd.pod:871 #, no-wrap msgid "" " export LANG=nl Dutch\n" " export LANG=nl_NL Dutch, The Netherlands\n" " export LANG=nl_BE Dutch, Belgium\n" " export LANG=es_ES Spanish, Spain\n" " export LANG=es_MX Spanish, Mexico\n" " export LANG=en_US.iso88591 English, USA, Latin-1 encoding\n" "\n" msgstr "" " export LANG=nl Nederlands\n" " export LANG=nl_NL Nederlands, Nederland\n" " export LANG=nl_BE Nederlands, België\n" " export LANG=es_ES Spaans, Spanje\n" " export LANG=es_MX Spaans, Mexico\n" " export LANG=en_US.iso88591 Engels, VS, Latin-1 codering\n" "\n" #. type: textblock #: wcd.pod:878 msgid "For a complete list of language and country codes see the gettext(1) manual: L On Unix systems you can use to command locale(1) to get locale specific information." msgstr " Voor een complete lijst van taal- en landcodes zie de gettext(1) handleiding: L Op Unix-systemen kunt u de opdracht locale(1) gebruiken om specifieke taalregio-informatie te verkrijgen." #. type: =item #: wcd.pod:884 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:886 msgid "With the I environment variable you can specify a priority list of languages, separated by colons. Wcd gives preference to I over I. For instance, first Dutch and then German: C. You have to first enable localization, by setting I or I to a value other than I, before you can use a language priority list through the I variable. See also the gettext(1) manual: L" msgstr "Met de omgevingsvariabele I kunt u een prioriteitenlijst specificeren van talen, gescheiden door dubbele punten. Dos2unix geeft voorrang aan I boven I. Bijvoorbeeld, eerst Nederlands en dan Duits: C. U moet eerst lokalisatie in werking stellen, door het instellen van I of I op een waarde ongelijk aan C, voordat u een talen-prioriteitenlijst kunt gebruiken via de variabele I. Zie ook de gettext(1) handleiding: L" #. type: textblock #: wcd.pod:894 msgid "If you select a language which is not available you will get the standard English messages." msgstr "Als u een taal kiest die niet beschikbaar is, worden de standaard Engelse berichten gebruikt." #. type: =item #: wcd.pod:897 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:899 msgid "With the environment variable I the I used during compilation and installation of wcd can be overruled. I is used by wcd with native language support to find the language files. The GNU default value is C. By typing C wcd will print the I that is used." msgstr "Met de omgevingsvariabele I kan de I die ingesteld werd tijdens compilatie worden overstemd. I wordt gebruikt om de taalbestanden te vinden. De GNU standaardwaarde is C. Door C te typen zal wcd de gebruikte I laten zien." #. type: textblock #: wcd.pod:905 msgid "If you have installed wcd in a different directory than the default directory you may need to set the environment variable I to point to the locale directory." msgstr "Als u wcd geïnstalleerd heeft in een andere map dan de standaard map kan het nodig zijn om omgevingsvariabele I te definiëren om te wijzen naar de locale map." #. type: textblock #: wcd.pod:910 msgid "An example for Windows cmd:" msgstr "Een voorbeeld voor Windows cmd:" #. type: verbatim #: wcd.pod:912 #, no-wrap msgid "" " set WCDLOCALEDIR=c:/my_prefix/share/locale\n" "\n" msgstr "" " set WCDLOCALEDIR=c:/my_prefix/share/locale\n" "\n" #. type: textblock #: wcd.pod:915 msgid "An example for a POSIX shell:" msgstr "Een voorbeeld voor een POSIX shell:" #. type: verbatim #: wcd.pod:917 #, no-wrap msgid "" " export WCDLOCALEDIR=$HOME/share/locale\n" "\n" msgstr "" " export WCDLOCALEDIR=$HOME/share/locale\n" "\n" #. type: =item #: wcd.pod:919 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:921 msgid "When there are multiple directory matches wcd presents a sorted list. The sorting depends on the locale settings. If the environment I has been set the matches are sorted like dictionaries or phone books are sorted in that language. For instance dots and dashes are ignored, or letters e with and without accent are equal, or upper and lower case is ignored." msgstr "Wanneer er meerdere maptreffers zijn presenteert wcd een gesorteerde lijst. Het sorteren hangt af van de lokalisatie instellingen. Wanneer de omgevingsvariabele I ingesteld is worden de treffers gesorteerd als in een woordenboek of telefoonboek in die taal. Bijvoorbeeld punten en streepjes worden genegeerd, of letters e met en zonder accent zijn gelijk, of sortering is ongevoelig voor hoofd en kleine letters." #. type: textblock #: wcd.pod:927 msgid "The sorting gives preference to environment variable I over I. If you make I equal to C or C, locale sorting is turned off. For instance if you want Dutch language, but not Dutch sorting, you can do something like this:" msgstr "De sortering geeft prioriteit aan omgevingsvariabele I boven I. Wanneer u I gelijk maakt aan C of C, wordt sortering met lokalisatie uitgeschakeld. Bijvoorbeeld als u Nederlandse taal wilt, maar geen Nederlandse sortering, dan kunt u iets doen als:" #. type: verbatim #: wcd.pod:932 #, no-wrap msgid "" " export LANG=nl_NL\n" " export LC_COLLATE=C\n" "\n" msgstr "" " export LANG=nl_NL\n" " export LC_COLLATE=C\n" "\n" #. type: =item #: wcd.pod:935 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:937 msgid "With regard to character encoding Wcd will give preference to variable I over I. For instance to set character encoding to UTF-8 the following environment setting can be done." msgstr "Met betrekking to tekencodering geeft Wcd prioriteit aan variabele I boven I. Bijvoorbeeld om de tekencodering op UTF-8 te zetten kan de volgende omgevings-instelling gemaakt worden." #. type: verbatim #: wcd.pod:941 #, no-wrap msgid "" " export LC_CTYPE=en_US.UTF-8\n" "\n" msgstr "" " export LC_CTYPE=en_US.UTF-8\n" "\n" #. type: =item #: wcd.pod:943 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:945 msgid "All locale environment variables that start with I are overruled by the environment variable I if it is defined. Wcd gives preference to I over I and I." msgstr "Alle lokalisatie omgevingsvariabelen die beginnen met I worden overstemd de omgevingsvariabele I wanneer die ingesteld is. Wcd geeft prioriteit aan I boven I en I." #. type: =head2 #: wcd.pod:951 msgid "WINDOWS CODE PAGES" msgstr "WINDOWS CODETABELLEN" #. type: textblock #: wcd.pod:953 msgid "There are two groups of code pages: DOS code pages (OEM) and Windows code pages (ANSI). The default encoding for Windows, when configured with Western regional settings, is ANSI CP1252. Windows programs, for instance notepad, use this default system ANSI code page. The Windows console uses by default an OEM code page (CP437 or CP850) for compatibility with DOS programs. If you use a DOS version of wcd in a Windows console it will work, because of the DOS code page. But the DOS version of wcd lacks support for long directory names and network drives on Windows." msgstr "Er zijn twee groepen van codetabellen, DOS codetabellen (OEM) en Windows codetabellen (ANSI). De standaard codering voor Windows, wanneer geconfigureerd met westerse regionale instellingen, is ANSI CP1252. Windows programma's, bijvoorbeeld kladblok, gebruiken deze standaard systeem ANSI codetabel. De Windows Opdrachtprompt gebruikt standaard een OEM codetabel (CP437 of CP850) voor compatibeliteit met DOS programma's. Als u een DOS versie van Wcd in een Windows Opdrachtprompt gebruikt zal het werken, vanwege de DOS codetabel. Maar de DOS versie van wcd ontbeert ondersteuning voor lange mapnamen en netwerkschijven op Windows." #. type: textblock #: wcd.pod:962 msgid "The Windows version of wcd is a native Windows program and will use the Windows system ANSI code page. So on a Western regional Windows it will use code page CP1252 for directory names and messages. In order to get consistent output, independent of the active code page, all Windows versions of Wcd translate ANSI output to Unicode output in the Command Prompt and PowerShell." msgstr "De Windows versie van wcd is een echt Windows programma en zal de Windows systeem ANSI codetabel gebruiken. Dus op een Westers regionale Windows zal het de codetabel CP1252 gebruiken voor directory namen en berichten. Om een consistente uitvoer te verkrijgen, onafhankelijk van de ingestelde codetabel, vertalen alle Windows versies van wcd ANSI uitvoer naar Unicode uitvoer in de Opdrachtprompt en PowerShell." #. type: textblock #: wcd.pod:968 msgid "The console raster font only supports the original OEM code page installed with Windows, so you have to change the console's font to true type Lucida Console to make Unicode (and ANSI) letters appear correctly." msgstr "Het Opdrachtprompt rastertypefont ondersteunt alleen de originele OEM codetabel van Windows, dus u moet het Opdrachtprompt font veranderen naar Lucida Console om Unicode (en ANSI) tekens correct te laten verschijnen." #. type: textblock #: wcd.pod:972 msgid "Non-Unicode versions of Wcd I use plain ANSI output. For these older versions the code page of the console has to be made equal to the system code page (changed to 1252) to make wcd for Windows work properly with special characters such as accented characters or the Euro symbol." msgstr "Niet-Unicode versies van Wcd I gebruiken gewone ANSI uitvoer. Voor deze oude versie moet de codetabel van de Opdrachtprompt gelijk gemaakt worden aan de systeem codetabel (naar 1252) om wcd voor Windows goed te laten werken met speciale tekens zoals geaccentueerde tekens of een euroteken." #. type: textblock #: wcd.pod:977 msgid "The Windows system code page can be changed via the Control Panel regional options. The Windows console code page is changed with the C command." msgstr "De Windows systeem codetabel kan veranderd worden via het Configuratiescherm Klok, taal en land/regio opties. De Windows Opdrachtprompt codetabel wordt veranderd met de C opdracht." #. type: textblock #: wcd.pod:980 msgid "When you type C, the actual character encoding used by wcd is shown. Type the command C to display the active code page of the Windows console." msgstr "Wanneer u C typet, wordt de actuele tekencodering getoond die door wcd gebruikt wordt. Type opdracht C op de actieve codetabel van de Opdrachtprompt te tonen." #. type: =head2 #: wcd.pod:985 msgid "UNICODE" msgstr "UNICODE" #. type: textblock #: wcd.pod:987 msgid "Wcd has optional support for Unicode. To see if wcd was built with Unicode support type C. If your terminal/console and font supports it, you should see the Euro symbol and Chinese characters (meaning: \"Chinese\")." msgstr "Wcd heeft optioneel ondersteuning voor Unicode. Om te zien of wcd gebouwd is met Unicode ondersteuning type C. Als uw terminal en font het ondersteunen, zou u een euroteken en Chinese tekens (betekenis: \"Chinees\") moeten zien." #. type: textblock #: wcd.pod:992 msgid "Wcd has been I converted to Unicode. In its core wcd handles all data as a stream of bytes. Only the lines printed to screen are on the fly converted to Unicode wide characters. Wcd fully relies on libc functions and has no UTF-8 specific code. See also L" msgstr "Wcd is I omgezet naar Unicode. In de kern behandelt wcd alle data als een stroom van bytes. Alleen de regels die op het scherm geprint worden, worden terstond omgezet naar Unicode brede tekens. Wcd hangt volledig af van libc functies en heeft geen UTF-8 specifieke broncode. Zie ook L" #. type: textblock #: wcd.pod:998 msgid "Wcd has optional support for Unicode matching with normalisation. To find out whether Wcd has normalisation support type C. Wcd with Unicode normalization support will match Unicode names based on I equivalence. Without Unicode normalization support, names are matched when they are binary equivalent. See also L" msgstr "Wcd heeft optioneel ondersteuning voor Unicode vergelijkingen met normalisatie. Om er achter te komen of Wcd normalisatie ondersteunt type C. Wcd met Unicode normalisatie ondersteuning vergelijkt Unicode namen gebaseerd op I gelijkwaardigheid. Zonder Unicode normalisatie worden treffen namen een gelijke wanneer ze binair gelijk zijn. Zie ook L" #. type: =head3 #: wcd.pod:1005 msgid "UTF-8 on Unix/Linux" msgstr "UTF-8 op Unix/Linux" #. type: textblock #: wcd.pod:1007 msgid "In order to view UTF-8 characters your console/terminal also needs to support UTF-8. The xterm version that comes with XFree86 4.0 or higher includes UTF-8 support. To activate it, start xterm(1) in a UTF-8 locale and use a font with iso10646-1 encoding, for instance with" msgstr "Om UTF-8 tekens te zien moet uw terminal ook UTF-8 ondersteunen. De xterm versie die meekomt met XFree86 4.0 of hoger bevat UTF-8 ondersteuning. Om het te activeren, start xterm(1) in een UTF-8 taalregio en gebruik een font met iso10646-1 codering, bijvoorbeeld met" #. type: verbatim #: wcd.pod:1012 #, no-wrap msgid "" " LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'\n" "\n" msgstr "" " LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'\n" "\n" #. type: textblock #: wcd.pod:1014 msgid "Modern distributions of GNU/Linux support UTF-8 by default. Other multi-byte character encodings should also work, but that has not been tested." msgstr "Moderne uitgaves van GNU/Linux ondersteunen standaard UTF-8. Andere multi-byte tekencoderingen zouden ook moeten werken, maar dat is niet getest." #. type: textblock #: wcd.pod:1017 msgid "Wcd assumes that the treedata files are encoded in the locale character encoding. There are no Byte Order Marks written to treedata files." msgstr "Wcd veronderstelt dat de boomdata-bestanden gecodeerd zijn in de lokale tekencodering. Er worden geen Byte Order Marks geschreven in de boomdata-bestanden." #. type: =head3 #: wcd.pod:1021 msgid "UTF-16 on Windows" msgstr "UTF-16 op Windows" #. type: textblock #: wcd.pod:1023 msgid "On Windows Unicode is supported in all versions of PowerShell, and in Windows Command Prompt on Windows 7 (or higher). Unicode also works in Take Command or TCC/LE made by JP Software, which can be used on older Windows versions (XP/Vista)." msgstr "Op Windows wordt Unicode in alle versies van PowerShell ondersteund, en in Windows Opdrachtprompt op Windows 7 (of hoger). Unicode werkt ook in Take Command of TCC/LE gemaakt door JP Software, dat gebruikt kan worden op oudere Windows versies (XP/Vista)." #. type: textblock #: wcd.pod:1028 msgid "On Windows all the directory names on disk are encoded in UTF-16 Unicode. For non-Unicode Windows programs the Unicode characters are translated to the default ANSI code page. For characters that are not part of the regional setting this translation is not possible and non-Unicode programs print a question mark or a wrong character instead." msgstr "In Windows zijn alle mapnamen op schijf gecodeerd in UTF-16 Unicode. Voor niet-Unicode Windows programma's worden de tekens vertaald naar de standaard ANSI codetabel. Voor tekens die geen onderdeel zijn van de regionale instelling is de vertaling niet mogelijk en niet-Unicode programma's printen in plaats daarvan een vraagteken of een verkeerd teken." #. type: textblock #: wcd.pod:1034 msgid "Wcd with Unicode support will read the UTF-16 encoded directory names and converts them internally to UTF-8. All treedata files are encoded in UTF-8 and not compatible with the non-Unicode version of Wcd. Wcd will create a go-script encoded in UTF-8." msgstr "Wcd met Unicode ondersteuning leest de UTF-16 gecodeerde mappennamen en zet ze intern om naar UTF-8. Alle boomdata-bestanden zijn gecodeerd in UTF-8 en niet compatibel met de niet-Unicode versie van Wcd. Wcd zal een go-script aanmaken gecodeerd in UTF-8." #. type: textblock #: wcd.pod:1039 msgid "All versions of Windows PowerShell are able to run scripts encoded in UTF-8, provided there is an UTF-8 BOM in the script." msgstr "Alle versies van Windows PowerShell zijn in staat om in UTF-8 gecodeerde scripts te draaien, indien het script is voorzien van een UTF-8 BOM." #. type: textblock #: wcd.pod:1042 msgid "Since Windows 7 it is possible in Windows Command Prompt to change directory with a batch script to a directory with Unicode letters in the name. The directory name needs to be encoded in UTF-8, and the batch script must I have a BOM. The active code page of the Command Prompt needs to be set to 65001 (UTF-8) prior to the cd command. Wcd for Command Prompt will create such a go script C. It first changes the code page to 65001, then changes directory, and finally sets the code page back to the original code page." msgstr "Sinds Windows 7 is het mogelijk om in Windows Opdrachtprompt van map te veranderen met een batch script naar een map met Unicode tekens in de naam. De mapnaam moet gecodeerd zijn in UTF-8, en het batch script moet I BOM bevatten. De actieve codetabel van de Opdrachtprompt moet gezet zijn op 65001 (UTF-8) vooraf aan de cd opdracht. Wcd voor Opdrachtprompt creëert zo'n go-script C. Eerst verandert het de codetabel naar 65001, verandert dan de map, en tenslotte wordt de codetabel terug gezet naar de originele waarde." #. type: textblock #: wcd.pod:1050 msgid "You need to set the font to True Type Lucida Console (not raster font) when letters don't appear correctly." msgstr "U moet het font instellen op True Type Lucida Console (niet raster type font) wanneer de letters niet correct verschijnen." #. type: textblock #: wcd.pod:1053 msgid "The non-Unicode Windows version of Wcd can read Unicode treedata files since version 5.2.0, provided there is a Byte Order Mark (BOM) in the file (see L), but it can't change to directories with Unicode letters in the name that are not part of the default system ANSI code page. The Unicode Windows version of wcd writes a BOM in the UTF-8 encoded treedata files since version 5.2.0, which makes them also readable by notepad." msgstr "De niet-Unicode Windows versie van Wcd kan Unicode boomdata-bestanden lezen sinds versie 5.2.0, indien er een Byte Order Mark (BOM) in het bestand zit (zie L), maar kan niet veranderen naar mappen met Unicode tekens in de naam die geen onderdeel zijn van de standaard systeem ANSI codetabel. De Unicode Windows versie van wcd schrijft een BOM in het UTF-8 gecodeerde boomdata-bestand sinds versie 5.2.0, wat ze ook leesbaar maakt voor kladblok." #. type: =head3 #: wcd.pod:1062 msgid "UTF-8 on Cygwin" msgstr "UTF-8 in Cygwin" #. type: textblock #: wcd.pod:1064 msgid "Cygwin supports Unicode since version 1.7. The Cygwin layer takes care that the Windows UTF-16 Unicode names are converted to UTF-8. So programs, like wcd, do not need to be aware of this and can operate using UTF-8 encoding as on Unix/Linux. Set character encoding to UTF-8 with the I or I environment variable. You may need to rescan your drives. You need to set the font to True Type Lucida Console (not raster font) if you use the default Cygwin console." msgstr "Cygwin ondersteunt Unicode sinds versie 1.7. De Cygwin laag zorgt er voor dat de Windows UTF-16 Unicode namen vertaald worden naar UTF-8. Dus programma's, zoals wcd, hoeven hier niet bewust van te zijn en kunnen werken gebruikmakend van UTF-8 codering als op Unix/Linux. Stel de tekencodering in op UTF-8 met de I of I omgevingsvariabele. Het kan nodig zijn dat u de schijven opnieuw moet scannen. U dient het font in te stellen op True Type Lucida Console (niet raster type font) wanneer u de standaard Cygwin console gebruikt." #. type: textblock #: wcd.pod:1072 msgid "The Cygwin version behaves exactly as the Unix version of wcd. There is no BOM written in the treedata files, and it is assumed they are encoded in the B locale character encoding." msgstr "De Cygwin versie gedraagt zich exact gelijk aan de Unix versie van wcd. Er wordt geen BOM geschreven in de boomdata-bestanden, en er wordt aangenomen dat ze gecodeerd zijn in de B lokalisatie tekencodering." #. type: =head1 #: wcd.pod:1076 msgid "FILES" msgstr "BESTANDEN" #. type: textblock #: wcd.pod:1078 msgid "If the environment variable I is set wcd will use I instead of I. All C<*.wcd> files are text files. They can be edited with a text editor. The Windows Command Prompt version of wcd behaves as the DOS version. The Cygwin version of wcd behaves as the Unix version." msgstr "Wanneer omgevingsvariabele I ingesteld is zal wcd I gebruiken in plaats van I. Alle C<*.wcd> bestanden zijn tekstbestanden. Ze kunnen bewerkt worden met een tekstbewerker. De Windows Opdrachtprompt versie gedraagt zich als de DOS versie. De Cygwin versie van wcd gedraagt zich als de Unix versie." #. type: =item #: wcd.pod:1087 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1089 msgid "The program. In Unix shells the program is always called by a function or alias, because the current working directory of a Unix shell can only be changed by the builtin cd command. See also section INSTALLATION." msgstr "Het programma. In Unix shells wordt het programma altijd aangeroepen door een functie of alias, omdat de huidige werkmap alleen veranderd kan worden door de ingebouwde cd opdracht. Zie ook paragraaf INSTALLATIE." #. type: =item #: wcd.pod:1094 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1096 msgid "This is the default treedata file where wcd searches for matches. If it is not readable wcd will create a new one." msgstr "Dit is het standaard boomdata-bestand waarin wcd zoekt naar treffers. Wanneer het niet leesbaar is zal wcd een nieuwe aanmaken." #. type: verbatim #: wcd.pod:1099 #, no-wrap msgid "" " DOS: \\treedata.wcd or %HOME%\\treedata.wcd\n" " Unix: $HOME/.treedata.wcd\n" "\n" msgstr "" " DOS: \\treedata.wcd of %HOME%\\treedata.wcd\n" " Unix: $HOME/.treedata.wcd\n" "\n" #. type: =item #: wcd.pod:1102 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1104 msgid "An optional extra treedata file. If it exists and is readable wcd will try to find matches in this file also." msgstr "Een optioneel extra boomdata-bestand. Wanneer het bestaat en leesbaar is zal wcd ook in dit bestand proberen treffers te vinden." #. type: verbatim #: wcd.pod:1107 #, no-wrap msgid "" " DOS: \\extra.wcd or %HOME%\\extra.wcd\n" " Unix: $HOME/.extra.wcd\n" "\n" msgstr "" " DOS: \\extra.wcd of HOME%\\extra.wcd\n" " Unix: $HOME/.extra.wcd\n" "\n" #. type: =item #: wcd.pod:1110 msgid "B" msgstr "B< ban-bestand>" #. type: textblock #: wcd.pod:1112 msgid "In this optional file wcd places banned paths. See option B<-b>. Wildcards are supported." msgstr "In dit optionele bestand plaatst wcd de verbannen paden. Zie optie B<-b>. Jokertekens worden ondersteund." #. type: verbatim #: wcd.pod:1115 #, no-wrap msgid "" " DOS: \\ban.wcd or %HOME%\\ban.wcd\n" " Unix: $HOME/.ban.wcd\n" "\n" msgstr "" " DOS: \\ban.wcd of %HOME%\\ban.wcd\n" " Unix: $HOME/.ban.wcd\n" "\n" #. type: =item #: wcd.pod:1118 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1120 msgid "Optional file with wcd aliases. See option B<-l>." msgstr "Optioneel bestand met wcd aliassen. Zie optie B<-I>." #. type: verbatim #: wcd.pod:1122 #, no-wrap msgid "" " DOS: \\alias.wcd or %HOME%\\alias.wcd\n" " Unix: $HOME/.alias.wcd\n" "\n" msgstr "" " DOS: \\alias.wcd of %HOME%\\alias.wcd\n" " Unix: $HOME/.alias.wcd\n" "\n" #. type: =item #: wcd.pod:1125 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1127 msgid "In this file wcd stores its stack. The drive letter can be changed with the B<-d> option." msgstr "In dit bestand slaat wcd zijn stapel op. De schijfletter kan veranderd worden met de B<-d> optie." #. type: verbatim #: wcd.pod:1130 #, no-wrap msgid "" " DOS: c:\\stack.wcd or %HOME%\\stack.wcd\n" " Unix: $HOME/.stack.wcd\n" "\n" msgstr "" " DOS: c:\\stack.wcd of %HOME%\\stack.wcd\n" " Unix: $HOME/.stack.wcd\n" "\n" #. type: textblock #: wcd.pod:1133 msgid "The name of the stack file can be changed with environment variable I. See section ENVIRONMENT VARIABLES." msgstr "De naam van het stapelbestand kan veranderd worden met omgevingsvariabele I. Zie paragraaf OMGEVINGSVARIABELEN." #. type: =item #: wcd.pod:1136 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1138 msgid "This is the shell script which wcd.exe creates each time. It is sourced via a function or an alias. The drive letter can be changed with the B<-d> option. For history reasons it is placed by default in C<$HOME/bin> on Unix systems. The directory of this file can be changed with the option B<-G>." msgstr "Dit is het shell-script dat wcd elke keer creëert. Het wordt ingelezen via een functie of een alias. De schijfletter kan gewijzigd worden met de B<-d> optie. Wegens voorgeschiedenis redenen wordt het standaard geplaatst in C<$HOME/bin> op Unix systemen. De map van dit bestand kan gewijzigd worden met de optie B<-G>." #. type: verbatim #: wcd.pod:1143 #, no-wrap msgid "" " DOS bash: c:/wcd.go or $HOME/wcd.go\n" " Windows Command Prompt: c:\\wcdgo.bat or %HOME%\\wcdgo.bat\n" " Windows PowerShell: $env:HOME\\wcdgo.ps1\n" " WinZsh: $HOME/wcd.go\n" " Cygwin/MSYS: $HOME/bin/wcd.go\n" " OS/2 Command Prompt: c:\\wcdgo.cmd or %HOME%\\wcdgo.cmd\n" " OS/2 bash: c:/wcd.go or $HOME/wcd.go\n" " Unix: $HOME/bin/wcd.go\n" "\n" msgstr "" " DOS bash: c:/wcd.go of $HOME/wcd.go\n" " Windows Command Prompt: c:\\wcdgo.bat of %HOME%\\wcdgo.bat\n" " Windows PowerShell: $env:HOME\\wcdgo.ps1\n" " WinZsh: $HOME/wcd.go\n" " Cygwin/MSYS: $HOME/bin/wcd.go\n" " OS/2 Opdrachtprompt: c:\\wcdgo.cmd of %HOME%\\wcdgo.cmd\n" " OS/2 bash: c:/wcd.go or $HOME/wcd.go\n" " Unix: $HOME/bin/wcd.go\n" "\n" #. type: =item #: wcd.pod:1152 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1154 msgid "Text file with relative paths from I. See options B<+S>, B<-n> and B<+n>." msgstr "Tekstbestand met relatieve paden vanaf I. Zie opties B<+S>, B<-n> en B<+n>." #. type: verbatim #: wcd.pod:1157 #, no-wrap msgid "" " DOS: PATH\\rtdata.wcd\n" " Unix: PATH/.rtdata.wcd\n" "\n" msgstr "" " DOS: PAD\\rtdata.wcd\n" " Unix: PAD/.rtdata.wcd\n" "\n" #. type: =head1 #: wcd.pod:1162 msgid "ENVIRONMENT VARIABLES" msgstr "OMGEVINGSVARIABELEN" #. type: =item #: wcd.pod:1166 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1168 msgid "Wcd uses by default environment variable I to determine where to store its files. See also section FILES. This can be overruled with environment variable I." msgstr "Wcd gebruikt standaard omgevingsvariabele I om te bepalen waar z'n bestanden op te slaan. Zie ook paragraaf BESTANDEN. Dit kan overstemd worden met omgevingsvariabele I." #. type: textblock #: wcd.pod:1172 msgid "I also defines where to start scanning the disk when option B<-s> is used. This can be overruled with the environment variable I." msgstr "I bepaalt ook waar te beginnen met het scannen van de schijf wanneer optie B<-s> gebruikt wordt. Dit kan overstemd worden met omgevingsvariabele I." #. type: textblock #: wcd.pod:1176 msgid "For the Unix, Cygwin, Windows PowerShell, WinZsh and MSYS version it is required that I or I is set. For the other versions of wcd the use of these variables is optional." msgstr "Voor de Unix, Cygwin, Windows PowerShell, WinZsh en MSYS versie is het vereist dat I of I ingesteld is. Voor de andere versies van wcd is het gebruik van deze variabelen optioneel." #. type: textblock #: wcd.pod:1180 msgid "If I is set on DOS/Windows, wcd will place all its files (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) in directory I. The behaviour of wcd is then equal to the Unix version of wcd. Wcd will scan the disk default from I. Drives will not be automatically scanned by changing to them. You need to tell wcd explicitly. E.g.:" msgstr "Wanneer I ingesteld is op DOS/Windows, zal wcd al zijn bestanden (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) in map I plaatsen. Het gedrag van wcd is dan gelijk aan de Unix versie van wcd. Wcd zal de schijf standaard scannen vanaf I. Schijven worden niet automatisch gescant door er naar te veranderen. Dat moet wcd expliciet opgedragen worden. B.v.:" #. type: verbatim #: wcd.pod:1187 #, no-wrap msgid "" " wcd -S c: -A d: -A e:\n" "\n" msgstr "" " wcd -S c: -A d: -A e:\n" "\n" #. type: textblock #: wcd.pod:1189 msgid "Matching of directories is now global over all scanned drives." msgstr "Vergelijken van mappen is nu globaal over alle gescande schijven." #. type: =item #: wcd.pod:1192 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1194 msgid "Environment variable I can be used to change the location of wcd's files. If both I and I are set, I will be used instead of I." msgstr "Omgevingsvariabele I kan gebruikt worden om de locatie van wcds bestanden te wijzigen. Wanneer zowel I als I ingesteld zijn, zal I gebruikt worden in plaats van I." #. type: textblock #: wcd.pod:1198 msgid "In wcd versions prior to 5.1.5 I also changed the default scan directory. This has changed. Since version 5.1.5 I does not change the default scan directory. See option B<-s>. From version 5.1.5, use environment I to overrule the default scan directory." msgstr "In wcd versies voorafgaand aan 5.1.5 veranderde I ook de standaard scan-map. Dit is veranderd. Sinds versie 5.1.5 verandert I niet de standaard scan-map. Zie optie B<-s>. Gebruik vanaf versie 5.1.5 omgevingsvariabele I om de standaard scan-map te overstemmen." #. type: textblock #: wcd.pod:1203 msgid "Example for DOS, Windows, OS/2 Command Prompt:" msgstr "Voorbeeld voor DOS, Windows, OS/2 Opdrachtprompt:" #. type: verbatim #: wcd.pod:1205 #, no-wrap msgid "" " set WCDHOME=C:\\Users\\erwin\\wcd\n" "\n" msgstr "" " set WCDHOME=C:\\Users\\erwin\\wcd\n" "\n" #. type: textblock #: wcd.pod:1207 wcd.pod:1228 wcd.pod:1248 wcd.pod:1273 msgid "An example for POSIX type shells:" msgstr "Een voorbeeld voor POSIX type shells:" #. type: verbatim #: wcd.pod:1209 #, no-wrap msgid "" " export WCDHOME=\"$HOME/.wcd\"\n" "\n" msgstr "" " export WCDHOME=\"$HOME/.wcd\"\n" "\n" #. type: textblock #: wcd.pod:1211 wcd.pod:1232 wcd.pod:1252 wcd.pod:1277 msgid "An example for Csh type shells:" msgstr "Een voorbeeld voor Csh type shells:" #. type: verbatim #: wcd.pod:1213 #, no-wrap msgid "" " setenv WCDHOME \"$HOME/.wcd\"\n" "\n" msgstr "" " setenv WCDHOME \"$HOME/.wcd\"\n" "\n" #. type: =item #: wcd.pod:1215 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1217 msgid "Use environment variable I to overrule the default scan directory I. Define a colon separated list (Unix) to define more than one directory. On DOS/Windows make the list semi-colon separated." msgstr "Gebruik omgevingsvariabele I om de standaard scan-map I te overstemmen. Gebruik een door dubbele punten gescheiden lijst (Unix) om meer dan een map te definiëren. Gebruik op DOS/Windows een lijst gescheiden door puntkomma's." #. type: textblock #: wcd.pod:1222 msgid "Examples for DOS, Windows, OS/2 Command Prompt:" msgstr "Voorbeelden voor DOS, Windows, OS/2 Opdrachtprompt:" #. type: verbatim #: wcd.pod:1224 #, no-wrap msgid "" " set WCDSCAN=C:\\Users\\erwin;D:\\data\n" "\n" msgstr "" " set WCDSCAN=C:\\Users\\erwin;D:\\data\n" "\n" #. type: verbatim #: wcd.pod:1226 #, no-wrap msgid "" " set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\\\projectdrive\\projectX\n" "\n" msgstr "" " set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\\\projectdrive\\projectX\n" "\n" #. type: verbatim #: wcd.pod:1230 #, no-wrap msgid "" " export WCDSCAN=\"$HOME:/projectdisk/projectX\"\n" "\n" msgstr "" " export WCDSCAN=\"$HOME:/projectdisk/projectX\"\n" "\n" #. type: verbatim #: wcd.pod:1234 #, no-wrap msgid "" " setenv WCDSCAN \"$HOME:/projectdisk/projectX\"\n" "\n" msgstr "" " setenv WCDSCAN \"$HOME:/projectdisk/projectX\"\n" "\n" #. type: =item #: wcd.pod:1236 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1238 msgid "Specify filters with environment variable I. All directories that do not match the filter(s) are ignored. A list can be specified by separating filters by the shell path separator. Similar as specifying the I variable. The case sensitivity is mandated by the Operating system." msgstr "Specificeer filters met omgevingsvariabele I. Alle mappen die niet treffen met het filter worden genegeerd. Een lijst kan gespecificeerd worden met het shell pad scheidingsteken. Gelijk aan het specificeren van de I variabele. Hoofdlettergevoeligheid wordt bepaald door het besturingssysteem." #. type: textblock #: wcd.pod:1244 wcd.pod:1269 msgid "An example for DOS, Windows, OS/2 Command Prompt:" msgstr "Een voorbeeld voor DOS, Windows, OS/2 Opdrachtprompt:" #. type: verbatim #: wcd.pod:1246 #, no-wrap msgid "" " set WCDFILTER=projects;doc\n" "\n" msgstr "" " set WCDFILTER=projects;doc\n" "\n" #. type: verbatim #: wcd.pod:1250 #, no-wrap msgid "" " export WCDFILTER=\"projects:doc\"\n" "\n" msgstr "" " export WCDFILTER=\"projects:doc\"\n" "\n" #. type: verbatim #: wcd.pod:1254 #, no-wrap msgid "" " setenv WCDFILTER \"projects:doc\"\n" "\n" msgstr "" " setenv WCDFILTER \"projects:doc\"\n" "\n" #. type: =item #: wcd.pod:1256 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1258 msgid "The paths specified with environment I will be banned by wcd. See also option B<-b>. Specify a list of paths separated by shell I separator." msgstr "De paden gespecificeerd met omgevingsvariabele I worden verbannen door wcd. Zie ook optie B<-b>. Specificeer een lijst van paden met het shell I scheidingsteken." #. type: =item #: wcd.pod:1262 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1264 msgid "The paths specified with environment I will be excluded by wcd. See also options B<-x> and B<-xf>. Specify a list of paths separated by shell I separator." msgstr "De paden gespecificeerd met omgevingsvariabele I worden uitgesloten door wcd. Zie ook opties B<-x> en B<-xf>. Specificeer een lijst van paden met het shell I scheidingsteken." #. type: verbatim #: wcd.pod:1271 #, no-wrap msgid "" " set WCDEXCLUDE=*/windows;*/temp;*CVS\n" "\n" msgstr "" " set WCDEXCLUDE=*/windows;*/temp;*CVS\n" "\n" #. type: verbatim #: wcd.pod:1275 #, no-wrap msgid "" " export WCDEXCLUDE=\"/dev:/tmp:*CVS\"\n" "\n" msgstr "" " export WCDEXCLUDE=\"/dev:/tmp:*CVS\"\n" "\n" #. type: verbatim #: wcd.pod:1279 #, no-wrap msgid "" " setenv WCDEXCLUDE \"/dev:/tmp:*CVS\"\n" "\n" msgstr "" " setenv WCDEXCLUDE \"/dev:/tmp:*CVS\"\n" "\n" #. type: =item #: wcd.pod:1281 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1283 msgid "Set the base of user's home directories. On DOS/Windows the default value is C<\\\\users>. On Unix/Cygwin the default value is C. This variable is used to scan treedata files of other users. See also options B<-u> and B<+u>. In verbose mode wcd will print all filters, bans and excludes. See option B<-v>." msgstr "Stel de basis in de de thuismappen van de gebruikers. Op DOS/Windows is de standaard waarde C<\\\\users>. Op Unix/Cygwin is de standaard waarde C. Deze variabele wordt gebruikt om boomdata-bestanden van andere gebruikers te scannen. Zie ook opties B<-u> en B<+u>. In gedetailleerde uitvoer-modus zal wcd alle filters, verbanningen en uitsluitingen tonen. Zie ook optie B<-v>." #. type: =item #: wcd.pod:1290 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1292 msgid "Wcd gives preference to I over the default stack file name (see section FILES). With this variable each shell (or used terminal emulator) can have its private stack of used directories." msgstr "Wcd geeft prioriteit aan I boven de standaard stapelbestandsnaam (zie paragraaf BESTANDEN). Met deze variabele kan elke shell (of terminal) zijn eigen privé stapel voor mappen hebben." #. type: textblock #: wcd.pod:1296 msgid "To use a unique time based YYYYMMDD-HHMMSS file for each opened interactive shell." msgstr "Om een uniek tijdgebaseerde YYYYMMDD-HHMMSS bestand voor elke geopende interactieve shell te gebruiken." #. type: verbatim #: wcd.pod:1299 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)\n" "\n" msgstr "" " export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)\n" "\n" #. type: textblock #: wcd.pod:1301 msgid "For a stack per xterm(1), use the xterm I environment variable:" msgstr "Voor een stapel per xterm(1), gebruik de xterm omgevingsvariabele I:" #. type: verbatim #: wcd.pod:1303 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID\n" "\n" msgstr "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID\n" "\n" #. type: textblock #: wcd.pod:1305 msgid "For GNU screen(1), to use stack per screen:" msgstr "Voor GNU screen(1), gebruik een stapel per scherm:" #. type: verbatim #: wcd.pod:1307 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW\n" "\n" msgstr "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW\n" "\n" #. type: =item #: wcd.pod:1309 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1311 msgid "If the environment variable I is defined, wcd with ncurses interface checks for a local terminal definition before checking in the standard place. This is useful if terminal definitions are not on a standard place. Often used standard places are C and C." msgstr "Wanneer omgevingsvariabele I ingesteld is, controleert wcd met ncurses interface of er lokale terminal definities zijn voor op de standaard plek te kijken. Dit is nuttig wanneer terminal definities niet op een standaard plaats staan. Veel gebruikte standaard plaatsen zijn C en C." #. type: =item #: wcd.pod:1317 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1319 msgid "Wcd with PDCurses interface recognizes the environment variable I. If this environment variable is set, PDCurses will take a copy of the contents of the screen at the time that wcd is started; when wcd exits, the screen will be restored. An example for Windows Command Prompt:" msgstr "Wcd met PDCurses interface herkent de omgevingsvariabele I. Wanneer deze omgevingsvariabele ingesteld is, zal PDCurses een kopie maken van de inhoud van het scherm op het moment dat wcd gestart is. Wanneer wcd afsluit zal het scherm hersteld worden. Een voorbeeld voor Windows Opdrachtprompt:" #. type: verbatim #: wcd.pod:1325 #, no-wrap msgid "" " set PDC_RESTORE_SCREEN=1\n" "\n" msgstr "" " set PDC_RESTORE_SCREEN=1\n" "\n" #. type: textblock #: wcd.pod:1327 msgid "Windows allows only a small buffer to be saved. So it is not always possible to restore everything. Some garbage data may be printed in the console after wcd exits if you have set a large buffer width." msgstr "Wcd laat maar een kleine buffer opslaan. Daardoor is het niet altijd mogelijk om alles te herstellen. Er kan wat rommel in de console geprint worden als wcd afsluit wanneer u een grote bufferbreedte heeft ingesteld." #. type: =item #: wcd.pod:1332 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1334 msgid "Printing of C<#!$SHELL> on the first line of the go-script for POSIX type shell or C shell is needed for 8 bit characters. Some shells otherwise think that the go-script is a binary file and will not source it. In Cygwin Bash the variable I must be set in environment using the C command, otherwise wcd can't read the variable." msgstr "Het printen van C<#!$SHELL> op de de eerste regel van het go-script voor POSIX type shell of C shell is nodig voor 8 bit tekens. Sommige shells denken anders dat het go-script een binair bestand is en willen het niet inlezen. In Cygwin Bash moet de variabele I ingesteld zijn met de C opdracht, anders kan wcd de variabele niet lezen." #. type: =item #: wcd.pod:1342 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1344 msgid "Wcd for DOS bash uses C<$BASH> instead of C<$SHELL>, because C<$SHELL> points to the DOS command shell. One may need to define C<$BASH> with an C command, otherwise wcd can't read the variable." msgstr "Wcd voor DOS bash gebruikt C<$BASH> in plaats van C<$SHELL>, omdat C<$SHELL> verwijst naar de DOS Opdrachtprompt. Het kan nodig zijn dat men C<$BASH> met een C opdracht moet definiëren, anders kan wcd de variabele niet lezen." #. type: =head1 #: wcd.pod:1351 msgid "SEE ALSO" msgstr "ZIE OOK" #. type: textblock #: wcd.pod:1353 msgid "sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1)," msgstr "sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1)," #. type: =head1 #: wcd.pod:1361 msgid "AUTHORS" msgstr "AUTEURS" #. type: textblock #: wcd.pod:1363 msgid "Wcd was written by Erwin Waterlander " msgstr "Wcd is geschreven door Erwin Waterlander " #. type: textblock #: wcd.pod:1365 msgid "Project homepage: L" msgstr "Project beginpagina L" #. type: textblock #: wcd.pod:1368 msgid "SourceForge: L" msgstr "SourceForge: L" #. type: textblock #: wcd.pod:1371 msgid "The manual page formatting was provided by Jari Aalto ." msgstr "De opmaak van de handleiding was verzorgd door Jari Aalto ." #. type: textblock #: wcd.pod:1374 msgid "NCD was originally written by Brad Kingsbury for Peter Norton's \"Norton Utilities\" around 1987. See also L" msgstr "NCD was oorspronkelijk geschreven door Brad Kingsbury voor Peter Norton's \"Norton Utilities\" omstreeks 1987. Zie ook L" #~ msgid "CONSOLE RESIZING ON WINDOWS" #~ msgstr "OPDRACHTPROMTVENSTER FORMAAT WIJZIGEN IN WINDOWS" wcd-6.0.3/src/po-man/pt_BR.po0000644000175500010010000034165013524756523015115 0ustar waterlanGeen# Brazilian Portuguese translation for wcd-man # Copyright (C) 2019 Erwin Waterlander (msgids) # Copyright (C) 2019 Free Software Foundation # This file is distributed under the same license as the wcd package. # Rafael Fontenelle , 2017, 2019. msgid "" msgstr "" "Project-Id-Version: wcd-man 6.0.3-beta7\n" "POT-Creation-Date: 2019-01-11 20:02+0100\n" "PO-Revision-Date: 2019-01-14 18:31-0200\n" "Last-Translator: Rafael Fontenelle \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: Virtaal 1.0.0-beta1\n" "X-Bugs: Report translation errors to the Language-Team address.\n" #. type: =head1 #: wcd.pod:43 msgid "NAME" msgstr "NOME" #. type: textblock #: wcd.pod:45 msgid "wcd - Wherever Change Directory" msgstr "wcd - Wherever Change Directory" #. type: textblock #: wcd.pod:47 msgid "chdir for DOS and Unix" msgstr "Chdir para Dos e Unix" #. type: =head1 #: wcd.pod:49 msgid "SYNOPSIS" msgstr "SINOPSE" #. type: verbatim #: wcd.pod:51 #, no-wrap msgid "" " wcd [options] [directory]\n" "\n" msgstr "" " wcd [opções] [diretório]\n" "\n" #. type: =head1 #: wcd.pod:53 msgid "DESCRIPTION" msgstr "DESCRIÇÃO" #. type: =head2 #: wcd.pod:55 msgid "Overview" msgstr "Visão geral" #. type: textblock #: wcd.pod:57 msgid "Wcd is a command-line program to change directory fast. It saves time typing at the keyboard. One needs to type only a part of a directory name and wcd will jump to it. Wcd has a fast selection method in case of multiple matches and allows aliasing and banning of directories. Wcd also includes a full screen interactive directory tree browser with speed search." msgstr "Wcd é um programa de linha de comando para mudar diretório rapidamente. Ele economiza tempo de digitar no teclado. É preciso digitar apenas uma parte de um nome de diretório e wcd vai pular para ele. Wcd possui um método de seleção rápida no caso de múltiplas correspondências e permite apelidamento (aliasing) e banimento de diretórios. Wcd também inclui um navegador de árvore de diretório interativa de tela cheia com pesquisa rápida." #. type: textblock #: wcd.pod:63 msgid "Wcd was modeled after Norton Change Directory (NCD). NCD appeared first in I, for DOS in 1987, published by Peter Norton." msgstr "Wcd foi modelado com base no Norton Change Directory (NCD). NCD apareceu primeiro em I, para DOS em 1987, publicado por Peter Norton." #. type: textblock #: wcd.pod:66 msgid "Wcd has been ported to different command-line shells: DOS command.com, Windows cmd.exe and PowerShell, OS/2 cmd.exe, and Unix shells such as Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), and C (csh) shell and others running on any operating system." msgstr "Wcd foi portado para diferentes shells de linha de comando: command.com do DOS, cmd.exe e PowerShell do Windows, cmd.exe do OS/2 e shells do Unix, como os shells Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh) e C (csh) e outros funcionando em qualquer sistema operacional." #. type: textblock #: wcd.pod:71 msgid "Wcd supports 8 bit character sets on all systems, and has optional support for Unicode. See section LOCALIZATION." msgstr "Wcd oferece suporte a conjuntos de caracteres de 8 bits em todos sistemas e possui suporte opcional a Unicode. Veja a seção LOCALIZAÇÃO." #. type: textblock #: wcd.pod:74 msgid "See section INSTALLATION how to setup wcd for personal use." msgstr "Veja a seção INSTALAÇÃO para como instalar wcd para uso pessoal." #. type: =head2 #: wcd.pod:76 msgid "Basic use" msgstr "Uso básico" #. type: textblock #: wcd.pod:78 msgid "By default (if no wildcards are used) wcd searches for a directory with a name that begins with the typed name." msgstr "Por padrão (se nenhum caractere curinga for usado), pesquisas wcd por um diretório com um nome que começa com o nome digitado." #. type: textblock #: wcd.pod:81 msgid "For instance this command will change to directory to the current user's C:" msgstr "Por exemplo, esse comando vai mudar para diretório para o C do usuário atual:" #. type: verbatim #: wcd.pod:84 #, no-wrap msgid "" " wcd Desk\n" "\n" msgstr "" " wcd Desk\n" "\n" #. type: textblock #: wcd.pod:86 msgid "When there are multiple matches, wcd will present the user a list of all matches. The user can then make a selection with a few keystrokes (most of the times only one)." msgstr "Quando houver múltiplas ocorrências, wcd apresentará ao usuário uma lista de todas as ocorrências. O usuário poderá, então, fazer uma seleção pressionando com poucas teclas (na maioria das vezes, apenas uma)." #. type: =head2 #: wcd.pod:90 msgid "Wildcards" msgstr "Caracteres curingas" #. type: textblock #: wcd.pod:92 msgid "Wcd supports following wildcards:" msgstr "Wcd oferece suporte aos seguintes caracteres curingas:" #. type: verbatim #: wcd.pod:94 #, no-wrap msgid "" " * matches any sequence of characters (zero or more)\n" " ? matches any character\n" " [SET] matches any character in the specified set,\n" " [!SET] or [^SET] matches any character not in the specified set.\n" "\n" msgstr "" " * corresponde qualquer sequência de caracteres (zero ou mais)\n" " ? corresponde qualquer caractere\n" " [SET] corresponde qualquer caractere no conjunto especificado,\n" " [!SET] ou [^SET] corresponde qualquer caractere ausente no conjunto.\n" "\n" #. type: textblock #: wcd.pod:99 msgid "A set is composed of characters or ranges; a range looks like I as in C<0-9> or C. The C<[0-9a-zA-Z_]> is the minimal set of characters allowed in the C<[..]> pattern construct. International characters (i.e. 8 bit characters) are allowed if the system supports them. To suppress the special syntactic significance of any of C<[]*?!^-\\> inside or outside a C<[..]> construct and match the character exactly, precede the character with a backslash (C<\\>) marker." msgstr "Um conjunto é composto de caracteres ou intervalos; um intervalo se parece com I como em C<0-9> ou C. O C<[0-9a-zA-Z_]> é o conjunto mínimo de caracteres permitidos no construto padrão C<[..]>. Caracteres internacionais (ex.: caracteres de 8 bits) são permitidos se o sistema oferecer suporte a eles. Para suprimir a significância sintática especial de qualquer um entre C<[]*?!^-\\> dentro ou fora de um construto C<[..]> e corresponder o caractere exato, precede o caractere com um marcador de barra invertida (C<\\>)." #. type: textblock #: wcd.pod:108 msgid "Using wildcards makes powerful searching possible. For instance this matches any directory name that ends with \"top\":" msgstr "O uso de caracteres torna possível um poderosa pesquisa. Por exemplo, isso pesquisa qualquer nome de diretório que termine com \"top\":" #. type: verbatim #: wcd.pod:111 #, no-wrap msgid "" " wcd *top\n" "\n" msgstr "" " wcd *top\n" "\n" #. type: textblock #: wcd.pod:113 msgid "Match directories that have \"top\" anywhere in the name:" msgstr "Corresponde diretórios que tenham \"top\" em qualquer lugar no nome:" #. type: verbatim #: wcd.pod:115 #, no-wrap msgid "" " wcd *top*\n" "\n" msgstr "" " wcd *top*\n" "\n" #. type: textblock #: wcd.pod:117 msgid "Match any directory name that begins with \"a\", \"b\" or \"c\":" msgstr "Corresponde qualquer nome de diretório que começa com \"a\", \"b\" ou \"c\":" #. type: verbatim #: wcd.pod:119 #, no-wrap msgid "" " wcd [a-c]*\n" "\n" msgstr "" " wcd [a-c]*\n" "\n" #. type: textblock #: wcd.pod:121 msgid "It is also possible to give a part of a directory path. Here Wcd searches for directory that begins with \"Desk\" and which path matches I<*me/Desk*>." msgstr "Também é possível dar uma parte de um caminho de diretório. Aqui Wcd pesquisa por diretório que começa com \"Desk\" e cujo caminho corresponda a I<*me/Desk*>." #. type: verbatim #: wcd.pod:124 #, no-wrap msgid "" " wcd me/Desk\n" "\n" msgstr "" " wcd me/Desk\n" "\n" #. type: textblock #: wcd.pod:126 msgid "It is allowed to type any kind of expression with slashes and wildcards. E.g.:" msgstr "É permitido digitar qualquer tipo de expressão com barras e caracteres curingas. Ex.:" #. type: verbatim #: wcd.pod:129 #, no-wrap msgid "" " wcd src*/*1?/a*2\n" "\n" msgstr "" " wcd src*/*1?/a*2\n" "\n" #. type: =head2 #: wcd.pod:131 msgid "Other uses" msgstr "Outros usos" #. type: textblock #: wcd.pod:133 msgid "If no wildcards are used and wcd finds a perfect match, wcd will ignore all wild matches by default. This behaviour can be changed with the B<-w> option." msgstr "Se nenhum caractere curinga é usado e wcd encontra uma correspondência perfeita, wcd vai ignorar todas as correspondências curingas por padrão. Esse comportamento pode se alterado com a opção B<-w>." #. type: textblock #: wcd.pod:136 msgid "The interactive directory tree browser can be started by using option B<-g>." msgstr "O navegador interativo de árvore de diretório pode ser iniciado usando a opção B<-g>." #. type: verbatim #: wcd.pod:138 #, no-wrap msgid "" " wcd -g\n" "\n" msgstr "" " wcd -g\n" "\n" #. type: textblock #: wcd.pod:140 msgid "Wcd generates a treedata file where it searches the directory. On Unix and Windows systems wcd does add symbolic links to the treedata file while scanning the disk, but does not follow them. While following links wcd could end up scanning infinite loops, or scan very large portions of a network." msgstr "Wcd gera um arquivo de dados de árvore no qual ele pesquisa o diretório. Em sistemas Unix e Windows, wcd adiciona links simbólicos ao arquivo de dados de árvore ao varrer o disco, mas não os segue. Enquanto segue links, wcd poderia acabar varrendo loops infinitos, ou varrer porções muito grandes de uma rede." #. type: textblock #: wcd.pod:145 msgid "Wcd can also change to directories that are not in the treedata file. E.g.:" msgstr "Wcd também pode mudar para diretórios que não estejam no arquivo de dados de árvore. Ex.:" #. type: verbatim #: wcd.pod:147 #, no-wrap msgid "" " wcd ..\n" "\n" msgstr "" " wcd ..\n" "\n" #. type: textblock #: wcd.pod:149 msgid "If wcd found a match but can't change to the directory it tries to remove it from the default treedata file. Not from the extra treedata file. See also option B<-k>." msgstr "Se wcd encontrou uma correspondência, mas não pode mudar para o diretório, ele tenta removê-lo do arquivo de dados de árvore padrão. Porém, não remove o arquivo de dados de árvore extra. Veja também a opção B<-k>." #. type: textblock #: wcd.pod:153 msgid "Wcd keeps a directory stack which is stored on disk. The stack has a default size of 10 and is cyclic. See options B<-z>, B<->, B<+> and B<=>." msgstr "Wcd mantém uma pilha de diretórios que é armazenada no disco. A pilha possui um tamanho padrão de 10 e é cíclico. Veja as opções B<-z>, B<->, B<+> e B<=>." #. type: textblock #: wcd.pod:157 msgid "In multi-user environments option B<-u> can be used to change to directories of other users." msgstr "Em ambientes multiusuários, a opção B<-u> pode ser usada para alterar para os diretórios de outros usuários." #. type: textblock #: wcd.pod:161 msgid "On DOS and Windows systems it does not matter if you use a slash \"/\" or a backslash \"\\\" as a directory separator." msgstr "Nos sistemas DOS e Windows, não importa se você usa uma barra (\"/\") ou uma barra invertida (\"\\\") como separador de diretório." #. type: textblock #: wcd.pod:164 msgid "It is possible on DOS and Windows systems to change drive and directory in one go by preceding the directory name with the drive name." msgstr "É possível em sistemas DOS e Windows alterar a unidade e diretório de uma só vez precedendo o nome do diretório com o nome da unidade." #. type: verbatim #: wcd.pod:167 #, no-wrap msgid "" " wcd d:games\n" "\n" msgstr "" " wcd d:jogos\n" "\n" #. type: =head2 #: wcd.pod:171 msgid "Windows UNC paths" msgstr "Caminhos UNC do Windows" #. type: textblock #: wcd.pod:173 msgid "The Windows versions (Command Prompt, PowerShell, MSYS, zsh, cygwin) support Windows SMB LAN UNC paths without drive letter such as C<\\\\servername\\sharename>. Wcd for Windows Command Prompt makes use of the \"pushd\" command to automatically map a UNC path to a drive letter. In Windows PowerShell, MSYS, zsh and Cygwin UNC paths are fully supported. The current working directory can be a UNC path." msgstr "As versões Windows (Command Prompt, PowerShell, MSYS, zsh, cygwin) oferecem suporte a caminhos UNC de rede SMB do Windows sem letra de unidade tal como C<\\\\nomeservidor\\nomecompartilhamento>. Wcd para Prompt de Comando do Windows faz uso do comando \"pushd\" para mapear automaticamente um caminho UNC a uma letra de unidade. Em caminhos PowerShell do Windows, MSYS, zsh e Cygwin, há suporte completo a caminhos UNC. O diretório de trabalho atual pode ser um caminho UNC." #. type: =head2 #: wcd.pod:180 msgid "Console resizing on Windows" msgstr "Redimensionamento de console no Windows" #. type: textblock #: wcd.pod:182 msgid "Wcd supports console resizing in Windows 10 console and ConEmu (see L) since version 6.0.3. The Windows 10 console must not be in legacy mode (check the console's properties). The screen may not refresh when the console Layout property \"Wrap text output on resize\" is disabled. The screen can be refreshed manually by pressing the F5 key." msgstr "Wcd possui suporte ao redimensionamento de console do Windows 10 e no ConEmu (consulte L) desde a versão 6.0.3. O console do Windows 10 não deve estar no modo legado (verifique as propriedades do console). A tela pode não ser atualizada quando a propriedade de layout do console \"Ajustar saída de texto ao redimensionar\" estiver desabilitado. A tela pode ser atualizada manualmente pressionando a tecla F5." #. type: =head2 #: wcd.pod:189 msgid "Interfaces" msgstr "Interfaces" #. type: textblock #: wcd.pod:191 msgid "Wcd has three different interfaces to choose from a list of matches. The interface can be chosen at compile time." msgstr "Wcd possui três interfaces diferentes para escolher de uma lista de correspondências. A interface pode ser escolhida em tempo de compilação." #. type: textblock #: wcd.pod:194 msgid "The first interface uses plain stdin/stdout. A numbered list is printed in the terminal. The user has to choose from the list by typing a number followed by . This interface does not provide scroll back functionality in case of a long list. The scroll back capability of the terminal/console has to be used. It is very small and portable." msgstr "A primeira interface usa stdin/stdout simples. Uma lista numerada é exibida no terminal. O usuário tem que escolher a partir da lista digitando um número seguido por . Essa interface não fornece funcionalidade de rolagem para cima em caso de uma lista longa. A capacidade de rolagem para cima do terminal/console tem que ser usada. É bem pequena e portátil." #. type: textblock #: wcd.pod:200 msgid "The second interface is built with the conio library. It provides a builtin scroll back capability. The user is presented a list numbered with letters. Choosing from a list can be done by pressing just one letter. This interface is fast because it saves keystrokes. If possible the screen will be restored after exiting. One who prefers to type numbers can use the B<-N> option." msgstr "A segunda interface é feita com a biblioteca conio. Ela fornece uma capacidade embarcada de rolagem para cima. O usuário é apresentado a uma lista numerada com letras. A escolha de uma lista pode ser feita pressionando apenas uma letra. Essa interface é rápida porque ela economiza pressionamentos de teclas. Se possível, a tela será restaurada após sair. Aquele que preferir digitar números, pode usar a opção B<-N>." #. type: textblock #: wcd.pod:207 msgid "The third interface is built with the curses library. It is similar to the conio interface. The curses version of wcd has also an additional 'graphical' interface. It lets the user select a directory via a full screen interactive directory tree browser. It has a vim(1) like navigation and search method. It can be activated with option B<-g>." msgstr "A terceira interface é feita com a biblioteca curses. É similar à interface conio. A versão curses do wcd também possui uma interface \"gráfica\" adicional. Ela permite ao usuário selecionar um diretório por meio de um navegador de árvore de diretório interativa em tela cheia. Ela possui um método de pesquisa de navegação tipo vim(1). Ela pode ser ativada com a opção B<-g>." #. type: textblock #: wcd.pod:213 msgid "By using the B<-o> option one can always fall back to the stdin/stdout interface." msgstr "Ao usar a opção B<-o>, é sempre possível voltar para a interface de stdin/stdout." #. type: =head1 #: wcd.pod:216 msgid "OPTIONS" msgstr "OPÇÕES" #. type: =item #: wcd.pod:220 msgid "B<-a>" msgstr "B<-a>" #. type: textblock #: wcd.pod:222 msgid "Add current path to the default treedata file." msgstr "Adiciona caminho atual ao arquivo de dados de árvore padrão." #. type: textblock #: wcd.pod:224 msgid "Use this option to quickly add the current path to the default treedata file. Re-scanning the complete disk can take a long time in some cases." msgstr "Use essa opção para adicionar rapidamente o caminho atual para o arquivo de dados de árvore padrão. Nova varredura do disco completo pode levar um longo tempo em alguns casos." #. type: =item #: wcd.pod:227 msgid "B<-aa>" msgstr "B<-aa>" #. type: textblock #: wcd.pod:229 msgid "Add current and all parent paths to the default treedata file." msgstr "Adiciona caminhos atual e seus respectivos pais ao arquivo de dados de árvore padrão." #. type: =item #: wcd.pod:231 msgid "B<-A PATH>" msgstr "B<-A CAMINHO>" #. type: textblock #: wcd.pod:233 msgid "Scan directory tree from I and append to the default treedata file. Examples:" msgstr "Varre a árvore de diretório do I e anexa ao arquivo de dados de árvore padrão. Exemplos:" #. type: verbatim #: wcd.pod:236 #, no-wrap msgid "" " wcd -A .\n" " wcd -A /home -A /etc\n" " wcd -A d: -A e: -A \\\\server\\share\n" "\n" msgstr "" " wcd -A .\n" " wcd -A /home -A /etc\n" " wcd -A d: -A e: -A \\\\servidor\\compartilhamento\n" "\n" #. type: textblock #: wcd.pod:240 msgid "On Windows one can scan all shared directories of a Windows LAN server by typing something like: C." msgstr "No Windows, é possível varrer todos os diretórios compartilhados de um servidor de rede Windows digitando alguma coisa como: C." #. type: textblock #: wcd.pod:244 msgid "See also option B<-S> and B<-s> and B<-E>." msgstr "Veja também as opções B<-S>, B<-s> e B<-E>." #. type: =item #: wcd.pod:246 msgid "B<-b>" msgstr "B<-b>" #. type: textblock #: wcd.pod:248 msgid "Ban current path." msgstr "Bane o caminho atual." #. type: textblock #: wcd.pod:250 msgid "Wcd places the current path in the ban file. This means that wcd ignores all matches of this directory and its sub directories." msgstr "Wcd coloca o caminho atual no arquivo de banimento. Isso significa que o wcd ignora todas as correspondências deste diretório e seus subdiretórios." #. type: textblock #: wcd.pod:253 msgid "The ban file can be edited with a text editor. Use of wildcards is supported and names are matched against the absolute path." msgstr "O arquivo de banimento pode ser editado com um editor de texto. Há suporte ao uso de caracteres curingas e nome são combinados com o caminho absoluto." #. type: textblock #: wcd.pod:256 msgid "Banned paths are not excluded from scanning the disk. To do that use option B<-xf>." msgstr "Caminhos banidos não são excluídos da varredura do disco. Para fazer isso, use a opção B<-xf>." #. type: =item #: wcd.pod:259 msgid "B<-c, --direct-cd>" msgstr "B<-c, --direct-cd>" #. type: textblock #: wcd.pod:261 msgid "Direct CD mode. By default wcd works as follows:" msgstr "Modo CD direto. Por padrão, wcd funciona da seguinte forma:" #. type: verbatim #: wcd.pod:263 #, no-wrap msgid "" " 1. Try to find a match in the treedata file(s)\n" " 2. If no match, try to open the directory you typed.\n" "\n" msgstr "" " 1. Procura uma correspondência nos arquivos de dados de árvore\n" " 2. Se nada corresponder, tenta abrir o diretório que informado.\n" "\n" #. type: textblock #: wcd.pod:266 msgid "In direct CD mode wcd works in reversed order." msgstr "No modo CD direto, wcd funciona na ordem inversa." #. type: verbatim #: wcd.pod:268 #, no-wrap msgid "" " 1. Try to open the directory you typed.\n" " 2. If not, try to find a match in the treedata file(s).\n" "\n" msgstr "" " 1. Tenta abrir o diretório que você digitou.\n" " 2. Se não, tenta uma correspondência no(s) arquivo(s) de\n" " dados de árvore.\n" "\n" #. type: =item #: wcd.pod:272 msgid "B<-d DRIVE>" msgstr "B<-d UNIDADE>" #. type: textblock #: wcd.pod:274 msgid "Set drive for stack and go file (DOS only)." msgstr "Define a unidade para arquivos de empilhamento & ir (DOS apenas)." #. type: textblock #: wcd.pod:276 msgid "The stack file and the go-script are by default stored on drive C: if environment variable I is not set. Use this option if drive C: is a read-only drive. This option must be used in front of the stack options B<->, B<+> and B<=>." msgstr "O arquivo de pilha e o go-script são armazenados, por padrão, na unidade C: se a variável de ambiente I não estiver definida. Use essa opção se a unidade C: for uma unidade somente leitura. Essa opção deve ser usada na frente das opções de pilha B<->, B<+> e B<=>." #. type: =item #: wcd.pod:281 msgid "B<-e>" msgstr "B<-e>" #. type: textblock #: wcd.pod:283 msgid "Add current path to the extra treedata file." msgstr "Adiciona caminho atual ao arquivo de dados de árvore extra." #. type: textblock #: wcd.pod:285 msgid "Use this option to quickly add the current path to the extra treedata file." msgstr "Use essa opção para adicionar rapidamente o caminho atual ao arquivo de dados de árvore extra." #. type: =item #: wcd.pod:287 msgid "B<-ee>" msgstr "B<-ee>" #. type: textblock #: wcd.pod:289 msgid "Add current and all parent paths to extra treedata file." msgstr "Adiciona caminhos atual e todos os pais ao arquivo de dados de árvore padrão." #. type: =item #: wcd.pod:291 msgid "B<-E PATH>" msgstr "B<-E CAMINHO>" #. type: textblock #: wcd.pod:293 msgid "Scan directory tree from I and append to Extra treedata file. See also options B<-A> and B<-S>." msgstr "Varre a árvore de diretório de I e anexa ao arquivo de dados de árvore extra. Veja também as opções B<-A> e B<-S>." #. type: =item #: wcd.pod:296 msgid "B<-f FILE>" msgstr "B<-f ARQUIVO>" #. type: textblock #: wcd.pod:298 msgid "Read treedata file I. Do not read the default treedata file." msgstr "Lê o arquivo de dados de árvore I. Não lê o arquivo de dados de árvore padrão." #. type: =item #: wcd.pod:300 msgid "B<+f FILE>" msgstr "B<+f ARQUIVO>" #. type: textblock #: wcd.pod:302 msgid "Read treedata file I in addition to the default treedata file." msgstr "Lê o arquivo de dados de árvore I, além do arquivo de dados de árvore padrão." #. type: =item #: wcd.pod:304 msgid "B<-g>" msgstr "B<-g>" #. type: textblock #: wcd.pod:306 msgid "Graphical interface (only in version with curses interface)." msgstr "Interface gráfica (apenas na versão com interface curses)." #. type: textblock #: wcd.pod:308 msgid "Wcd starts a textual curses based 'graphical' interface. The user can select a directory via a full-screen interactive directory tree browser. It has a vim(1) like navigation and search method." msgstr "Wcd inicia um curses textual baseado em interface \"gráfica\". O usuário pode selecionar um diretório por um navegador interativo de árvore de diretórios de tela cheia. Ele possui um método e navegação tipo vim(1)." #. type: textblock #: wcd.pod:312 msgid "If no search string is given wcd presents the whole tree which is in the default treedata file and the extra treedata files." msgstr "Se nenhuma string de pesquisa for dada, wcd apresenta toda a árvore que está no arquivo de dados de árvore padrão e nos arquivos de dados de árvore extras." #. type: textblock #: wcd.pod:315 msgid "If a search string is given the match list is presented as a directory tree." msgstr "Se uma string de pesquisa for dada, a lista de correspondência é apresentada como uma árvore de diretório." #. type: textblock #: wcd.pod:318 msgid "The default tree layout is similar to the tree layout of the original NCD on DOS. The difference in layout is that in NCD all directories of a same depth level were vertically aligned over the whole tree. This was possible in NCD, because the maximum width of a directory name in DOS was 12 (8.3) characters. On modern operating systems directory names can be very long, so also the differences in length can be large. Therefore folders with a same depth are not vertically aligned over the whole tree in wcd, but only in sub-branches. So there is some sideways movement when moving straight up and down from one sub-branch to another sub-branch." msgstr "O layout de árvore padrão é similar ao layout de árvore do NCD original no DOS. A diferença no layout é que no NCD todos os diretórios do mesmo nível de profundidade eram alinhados verticalmente por toda a árvore. Isso era possível no NCD porque a largura máxima de um nome de diretório no DOS era 12 (8,3) caracteres. Em sistemas operacionais modernos, nomes de diretório podem ser muito longos, assim como as diferenças no tamanho podem ser grandes. Portanto, pastas com uma mesma profundidade não são alinhadas verticalmente por toda a árvore no wcd, mas apenas em sub-ramos. Então, há alguns movimentos laterais ao mover para cima ou para baixo de um sub-ramo para outro sub-ramo." #. type: textblock #: wcd.pod:328 msgid "The navigation behaviour in Wcd is exactly the same as in the original NCD. For instance if you push the Down key you go down to the next directory with the same depth level, jumping over branches. This enables fast navigation through the tree." msgstr "O comportamento de navegação no Wcd é exatamente o mesmo que no NCD original. Por exemplo, se você pressionar a tecla de seta para Baixo, você desce para o próximo diretório com o mesmo nível de profundidade, pulando por ramos. Isso permite navegação rápida pela árvore." #. type: textblock #: wcd.pod:333 msgid "See options B<-Ta>, B<-TC>, and B<-Tc> to change the navigation behaviour." msgstr "Veja as opções B<-Ta>, B<-TC> e B<-Tc> para alterar o comportamento de navegação." #. type: =item #: wcd.pod:335 msgid "B<-gd>" msgstr "B<-gd>" #. type: textblock #: wcd.pod:337 msgid "Dump the treedata files as a tree to stdout." msgstr "Despeja os arquivos de dados de árvore como uma árvore para stdout." #. type: =item #: wcd.pod:339 msgid "B<-G PATH>" msgstr "B<-G CAMINHO>" #. type: textblock #: wcd.pod:341 msgid "Write go-script in directory I. For instance on Unix, C will write a go-script B." msgstr "Escreve o go-script no diretório I. Por exemplo no Unix, C vai escrever um go-script B." #. type: =item #: wcd.pod:344 msgid "B<-GN, --no-go-script>" msgstr "B<-GN, --no-go-script>" #. type: textblock #: wcd.pod:346 msgid "Do not create go-script. This option can be used in combination with the option B<-j> if one does not want wcd to create a go-script." msgstr "Não cria go-script. Essa opção pode ser usada em combinação com a opção B<-j> caso não se deseje que o wcd crie um go-script." #. type: =item #: wcd.pod:349 msgid "B<-h, --help>" msgstr "B<-h, --help>" #. type: textblock #: wcd.pod:351 msgid "Show help and exit." msgstr "Mostra a ajuda e sai." #. type: =item #: wcd.pod:353 msgid "B<-i, --ignore-case>" msgstr "B<-i, --ignore-case>" #. type: textblock #: wcd.pod:355 msgid "Ignore case. Dos and Windows versions of wcd ignore case default. Unix/Cygwin versions regard case by default." msgstr "Ignora a diferença entre maiúsculo e minúsculo. Versões Dos e Windows do wcd ignoram tal diferença por padrão. Versões Unix/Cygwin levam em consideração a maiúsculo e minúsculo por padrão." #. type: =item #: wcd.pod:359 msgid "B<+i, --no-ignore-case>" msgstr "B<+i, --no-ignore-case>" #. type: textblock #: wcd.pod:361 msgid "Regard case. See also option B<-i>." msgstr "Considera a diferença entre maiúsculo e minúsculo. Veja também a opção B<-i>." #. type: =item #: wcd.pod:363 msgid "B<-I, --ignore-diacritics>" msgstr "B<-I, --ignore-diacritics>" #. type: textblock #: wcd.pod:365 msgid "Ignore diacritics for Latin-based scripts. Letters with diacritical marks match their base letter without diacritical mark. The following Latin encodings are supported: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, and Unicode Latin-1, Latin Extended-A, and Latin Extended-B. See also L" msgstr "Ignora diacríticos para scripts baseados em Latim. Letras com marcas diacríticas correspondem sua letra base sem marca diacrítica. Há suporte às seguintes codificações Latim: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2 e Unicode Latim-1, Latim Estendido-A e Latim Estendido-B. Veja também L" #. type: =item #: wcd.pod:372 msgid "B<+I, --no-ignore-diacritics>" msgstr "B<+I, --no-ignore-diacritics>" #. type: textblock #: wcd.pod:374 msgid "Regard diacritics (default). See also option B<-I>." msgstr "Considera diacríticos (padrão). Veja também a opção B<-I>." #. type: =item #: wcd.pod:376 msgid "B<-j, --just-go>" msgstr "B<-j, --just-go>" #. type: textblock #: wcd.pod:378 msgid "Just go mode." msgstr "Modo \"just go\"." #. type: textblock #: wcd.pod:380 msgid "In this mode wcd will not present a list when there is more than one directory that matches the given directory. Wcd will just change to the first option. When wcd is invoked again with the same arguments it will change to the next option, and so on." msgstr "Neste modo, wcd não apresentará uma lista quando houver mais de um diretório que corresponde ao diretório dado. Wcd vai apenas mudar para a primeira opção. Quando wcd é invocado novamente com os mesmos argumentos, ele vai mudar para a próxima opção, e por aí vai." #. type: textblock #: wcd.pod:385 msgid "Wcd will print the directory to go to to stdout. So a different installation method can be used. One could make the following function for a POSIX compatible shell:" msgstr "Wcd vai imprimir o diretório para ir para stdout. Então, um método de instalação diferente pode ser usado. Pode-se fazer a seguinte função para um shell compatível com POSIX:" #. type: verbatim #: wcd.pod:389 #, no-wrap msgid "" " wcd ()\n" " {\n" " cd \"$($HOME/bin/wcd.exe -j $@)\"\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " cd \"$($HOME/bin/wcd.exe -j $@)\"\n" " }\n" "\n" #. type: textblock #: wcd.pod:394 msgid "When you are using an old shell that doesn't support \"$()\" command substitution you have to use old style command substitution with back-quotes." msgstr "Quando você está usando um shell antigo que não oferece suporte o comando de substituição \"$()\", você tem que usar substituição de comando estilo antigo com acento grave (\"back-quote\")." #. type: verbatim #: wcd.pod:397 #, no-wrap msgid "" " wcd ()\n" " {\n" " cd \"`$HOME/bin/wcd.exe -j $@`\"\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " cd \"`$HOME/bin/wcd.exe -j $@`\"\n" " }\n" "\n" #. type: textblock #: wcd.pod:403 msgid "On Windows systems, if one is running 4NT shell, one could make the following alias:" msgstr "Em sistemas Windows, se estiver executando shell 4NT, pode-se usar o seguinte alias:" #. type: verbatim #: wcd.pod:406 #, no-wrap msgid "" " alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`\n" "\n" msgstr "" " alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`\n" "\n" #. type: textblock #: wcd.pod:409 msgid "This method eliminates the need of the go-script, so one can use option B<-GN> in combination with B<-j>." msgstr "Esse método elimina a necessidade do go-script, então pode-se usar a opção B<-GN> em combinação com B<-j>." #. type: =item #: wcd.pod:412 msgid "B<-k, --keep-paths>" msgstr "B<-k, --keep-paths>" #. type: textblock #: wcd.pod:414 msgid "Keep paths." msgstr "Mantém caminhos." #. type: textblock #: wcd.pod:416 msgid "Keep paths in the treedata file when wcd can't change to them. The default behaviour of wcd is that it tries to remove paths from the treedata when wcd can't change to them. With this option this behavior is turned off." msgstr "Mantém caminhos no arquivo de dados de árvore quando wcd não consegue mudar para eles. O comportamento padrão de wcd é tentar remover caminhos dos dados de árvore quando wcd não puder mudar para eles. Com essa opção, esse comportamento é desativado." #. type: =item #: wcd.pod:420 msgid "B<-K, --color>" msgstr "B<-K, --color>" #. type: textblock #: wcd.pod:422 msgid "Use colors in graphical mode." msgstr "Usa cores no modo gráfico." #. type: =item #: wcd.pod:424 msgid "B<-l ALIAS>" msgstr "B<-l ALIAS>" #. type: textblock #: wcd.pod:426 msgid "Name the current path with I. Wcd places the current path with alias I in the alias file. Aliases are case sensitive." msgstr "Nome do caminho atual com I. Wcd coloca o caminho atual com alias I no arquivo de alias. Aliases diferenciam maiúsculo de minúsculo." #. type: =item #: wcd.pod:429 msgid "B<-ls>" msgstr "B<-ls>" #. type: textblock #: wcd.pod:431 msgid "Show the name of the alias file, and list all the aliases." msgstr "Mostra o nome do arquivo de alias e lista todos os aliases." #. type: =item #: wcd.pod:433 msgid "B<-m DIR>" msgstr "B<-m DIR>" #. type: textblock #: wcd.pod:435 msgid "Make directory and add to treedata file." msgstr "Cria o diretório e adiciona o arquivo de dados de árvore." #. type: =item #: wcd.pod:437 msgid "B<-L, --license>" msgstr "B<-L, --license>" #. type: textblock #: wcd.pod:439 msgid "Print the distribution license." msgstr "Exibe a licença de distribuição." #. type: =item #: wcd.pod:441 msgid "B<-M DIR>" msgstr "B<-M DIR>" #. type: textblock #: wcd.pod:443 msgid "Make directory and add to extra treedata file." msgstr "Cria o diretório e adiciona o arquivo de dados de árvore extra." #. type: =item #: wcd.pod:445 msgid "B<-n PATH>" msgstr "B<-n CAMINHO>" #. type: textblock #: wcd.pod:447 msgid "Read relative treedata file from I." msgstr "Lê o arquivo de dados de árvore relativos a partir de I." #. type: textblock #: wcd.pod:449 msgid "Do not read the default treedata file. The relative treedata file should already have been created using the wcd B<+S> option. I may also point to a file directly." msgstr "Não lê o arquivo de dados de árvore padrão. O arquivo de dados de árvore relativos já deve ter sido criado usando a opção B<+S> do wcd. I também pode apontar para um arquivo diretamente." #. type: textblock #: wcd.pod:453 msgid "An example. Suppose another system has been mounted to mount point C:" msgstr "Um exemplo. Suponha que um outro sistema montou no ponto de montagem C:" #. type: verbatim #: wcd.pod:456 #, no-wrap msgid "" " wcd -n /mnt/network src\n" "\n" msgstr "" " wcd -n /mnt/rede src\n" "\n" #. type: textblock #: wcd.pod:458 msgid "Wcd opens the relative treedata file in C. The file contains the paths relative from that point." msgstr "Wcd abre o arquivo de dados de árvore relativo em C. O arquivo contém os caminhos relativos a partir daquele ponto." #. type: =item #: wcd.pod:461 msgid "B<+n PATH>" msgstr "B<+n CAMINHO>" #. type: textblock #: wcd.pod:463 msgid "Read relative treedata file in addition to the default treedata file. See option B<-n>." msgstr "Lê arquivo de dados de árvore relativos, além do arquivo de dados de árvore padrão. Veja a opção B<-n>." #. type: =item #: wcd.pod:466 msgid "B<-N, --numbers>" msgstr "B<-N, --numbers>" #. type: textblock #: wcd.pod:468 msgid "Use numbers instead of letters." msgstr "Usa números em vez de letras." #. type: textblock #: wcd.pod:470 msgid "Wcd with a conio or curses based interface (see section Interfaces) presents a match list by default numbered with letters. When the B<-N> option is used the match list is numbered with numbers. Regardless of the B<-N> option one can type a letter or numbers to make a selection from the list of matches." msgstr "Wcd com um interface baseada no conio ou curses (veja a seção Interfaces) apresenta uma lista de correspondência numerada com letras por padrão. Quando a opção B<-N> é usada, a lista de correspondência é numerada com números. Independente da opção B<-N>, pode-se digitar uma letra ou número para fazer uma seleção a partir da lista de correspondências." #. type: =item #: wcd.pod:475 msgid "B<-o>" msgstr "B<-o>" #. type: textblock #: wcd.pod:477 msgid "Use stdin/stdout interface." msgstr "Usa interface de stdin/stdout." #. type: textblock #: wcd.pod:479 msgid "When for some kind of reason the conio or curses interface of wcd does not work one can fall back to the stdin/stdout interface of wcd by using the B<-o> option." msgstr "Quando por algum motivo a interface conio ou curses do wcd não funcionar, pode-se usar a interface stdin/stdout do wcd usando a opção B<-o>." #. type: =item #: wcd.pod:483 msgid "B<-od, --to-stdout>" msgstr "B<-od, --to-stdout>" #. type: textblock #: wcd.pod:485 msgid "Dump all matches to stdout." msgstr "Despeja todas as correspondências para a stdout." #. type: =item #: wcd.pod:487 msgid "B<-q, --quiet>" msgstr "B<-q, --quiet>" #. type: textblock #: wcd.pod:489 msgid "Quieter operation. Printing of the final match is suppressed." msgstr "Operação mais silenciosa. A exibição da correspondência final é suprimida." #. type: =item #: wcd.pod:491 msgid "B<-r DIR>" msgstr "B<-r DIR>" #. type: textblock #: wcd.pod:493 msgid "Remove directory and remove from the treedata file." msgstr "Remove o diretório e remove o arquivo de dados de árvore." #. type: textblock #: wcd.pod:495 msgid "If the directory is empty, wcd will remove it, and try to remove it from the treedata file." msgstr "Se o diretório estiver vazio, wcd vai removê-lo e também vai tentar removê-lo do arquivo de dados de árvore." #. type: =item #: wcd.pod:498 msgid "B<-rmtree DIR>" msgstr "B<-rmtree DIR>" #. type: textblock #: wcd.pod:500 msgid "Recursively remove directory and remove from the treedata file." msgstr "Remove recursivamente o diretório e remove o arquivo de dados de árvore." #. type: textblock #: wcd.pod:502 msgid "Wcd will remove the directory and all its sub directories and files, and remove the directories from the treedata file." msgstr "Wcd vai remover o diretório e todos seus subdiretórios e arquivos, e remove os diretórios do arquivo de dados de árvore." #. type: =item #: wcd.pod:505 msgid "B<-s>" msgstr "B<-s>" #. type: textblock #: wcd.pod:507 msgid "(re)Scan disk from C<$HOME> directory. If I is not defined the disk is scanned from root directory /." msgstr "Varre (novamente) o disco a partir do diretório C<$HOME>. Se I não estiver definido, o disco é varrido a partir do diretório raiz /." #. type: textblock #: wcd.pod:510 msgid "The existing default treedata file is overwritten." msgstr "O arquivo de dados de árvore existente é sobrescrito." #. type: textblock #: wcd.pod:512 msgid "The default scan directory can be overruled with environment variable C. See section ENVIRONMENT VARIABLES." msgstr "O diretório de varredura padrão pode ser sobreposto com a variável de ambiente C. Veja a seção VARIÁVEIS DE AMBIENTE." #. type: =item #: wcd.pod:515 msgid "B<-S PATH>" msgstr "B<-S CAMINHO>" #. type: textblock #: wcd.pod:517 msgid "Scan directory tree from I and overwrite the default treedata file. See also options B<-A>, B<-s> and B<-E>. E.g. with option B<-A> you can create a default treedata file of your choice. Examples:" msgstr "Varre a árvore de diretórios a partir de I e sobrescreve o arquivo de dados de árvore padrão. Veja também as opções B<-A>, B<-s> e B<-E>. Por exemplo, com a opção B<-A> você pode criar um arquivo de dados de árvore padrão de sua escolha. Exemplos:" #. type: textblock #: wcd.pod:521 msgid "Unix:" msgstr "Unix:" #. type: verbatim #: wcd.pod:523 #, no-wrap msgid "" " wcd -S /\n" " wcd -S /home -A /etc -A /usr\n" "\n" msgstr "" " wcd -S /\n" " wcd -S /home -A /etc -A /usr\n" "\n" #. type: textblock #: wcd.pod:526 msgid "DOS/Windows:" msgstr "DOS/Windows:" #. type: verbatim #: wcd.pod:528 #, no-wrap msgid "" " wcd -S c:/\n" " wcd -S c: -A d: -A \\\\server\\share\n" "\n" msgstr "" " wcd -S c:/\n" " wcd -S c: -A d: -A \\\\servidor\\compartilhamento\n" "\n" #. type: textblock #: wcd.pod:531 msgid "With the Windows versions one can scan all shared directories of a Windows LAN server by typing something like: C." msgstr "Com as versões Windows, é possível varrer todos os diretórios compartilhados de um servidor de rede Windows digitando alguma coisa como: C." #. type: =item #: wcd.pod:535 msgid "B<+S PATH>" msgstr "B<+S CAMINHO>" #. type: textblock #: wcd.pod:537 msgid "Scan disk from I and place relative paths in a relative treedata file. This file is used by the B<-n> and B<+n> options of wcd. E.g. C." msgstr "Varre o disco a partir de I e coloca caminhos relativos em um arquivo de dados de árvore relativos. Esse arquivo é usado pelas opções B<-n> e B<+n> do wcd. Por exemplo, C." #. type: =item #: wcd.pod:541 msgid "B<-t>" msgstr "B<-t>" #. type: textblock #: wcd.pod:543 msgid "Do not strip tmp mount dir C (Unix only)" msgstr "Não remove o diretório de montagem temporário C (Unix apenas)" #. type: textblock #: wcd.pod:545 msgid "Wcd strips by default C from the match. Directory C is used by the auto-mounter. This behaviour can be turned off with the B<-t> option." msgstr "Wcd remove por padrão C da lista de correspondência. O diretório C é usado pelo montador automático. Esse comportamento pode ser desativado com a opção B<-t>." #. type: =item #: wcd.pod:549 msgid "B<-T, --ascii-tree>" msgstr "B<-T, --ascii-tree>" #. type: textblock #: wcd.pod:551 msgid "Draw tree with ASCII characters. Use this option if line drawing characters are not displayed properly in your terminal." msgstr "Desenha a árvore com caracteres ASCII. Use essa opção se os caracteres de desenho de linha não forem exibidos adequadamente em seu terminal." #. type: =item #: wcd.pod:554 msgid "B<-Ta, --alt-tree-nav>" msgstr "B<-Ta, --alt-tree-nav>" #. type: textblock #: wcd.pod:556 msgid "Alternative way of navigation in the graphical tree." msgstr "Forma alternativa de navegação na árvore gráfica." #. type: textblock #: wcd.pod:558 msgid "In the default NCD style tree layout the B<-Ta> option disables jumping to unrelated directories." msgstr "No layout de árvore de estilo padrão do NCD a opção B<-Ta> desabilita pular para diretórios não relacionados." #. type: textblock #: wcd.pod:561 msgid "In compact tree mode the alternative mode makes navigation similar to navigation in GUI file managers such as Windows Explorer or Linux KDE Konqueror. Pressing Up and Down moves the selected folder one line up or down. Pressing Left first folds the sub-folders and the next move left moves really left." msgstr "No modo de árvore compacta, o modo alternativo faz navegação similar à dos gerenciadores de arquivo GUI como o Windows Explorer ou Linux KDE Konqueror. Pressionar Cima e Baixo move a pasta selecionada uma linha para cima ou para baixo. Pressionar Esquerda primeiro dobra as subpastas e o próximo movimento para Esquerda realmente move para esquerda." #. type: textblock #: wcd.pod:567 msgid "You can switch on-the-fly between default and alternative navigation by pressing ." msgstr "Você alternar em tempo real entre a navegação padrão e alternativa pressionando ." #. type: textblock #: wcd.pod:570 msgid "When alternative navigation mode is on, you will see an \"A\" in the lower right corner." msgstr "Quando o modo de navegação alternativa estiver ativado, você verá um \"A\" no canto inferior direito." #. type: =item #: wcd.pod:572 msgid "B<-TC, --center-tree>" msgstr "B<-TC, --center-tree>" #. type: textblock #: wcd.pod:574 msgid "Centered view in the graphical tree. The selected directory stays in the middle of the screen. The centered mode can also be switched on and off with key in the graphical tree." msgstr "Visão centralizada na árvore gráfica. O diretório selecionado se mantém no meio da tela. O modo centralizado também pode ser ativado e desativado com a tecla na árvore gráfica." #. type: textblock #: wcd.pod:578 msgid "The standard non-centered behaviour, which minimises tree movement, is the same as in the original NCD." msgstr "O comportamento padrão não centralizado, que minimiza o movimento de árvore, é o mesmo que no NCD original." #. type: =item #: wcd.pod:581 msgid "B<-Tc, --compact-tree>" msgstr "B<-Tc, --compact-tree>" #. type: textblock #: wcd.pod:583 msgid "By default the 'graphical' tree is drawn the same way as the original NCD on DOS did it. On DOS a directory path could only be 66 characters in total. With the deep directory structures of today the tree can become very wide. To overcome this wcd can draw the tree in a compact way, similar to most GUI file managers, with only one folder per line. Use option B<-Tc> or switch on-the-fly with the key." msgstr "Por padrão, a árvore \"gráfica\" é desenhada da mesma forma que o NCD original no DOS. No DOS, um caminho de diretório só poderia ter 66 caracteres no total. Com as estruturas de diretório profundas de hoje, a árvore pode se tornar bem ampla. Para superar isso, wcd pode desenhar a árvore em uma forma compacta, similar a maioria dos gerenciadores de arquivos GUI, com apenas uma pasta por linha. Use a opção B<-Tc> ou alterne em tempo real com a chave ." #. type: =item #: wcd.pod:590 msgid "B<-Td, --cjk-width>" msgstr "B<-Td, --cjk-width>" #. type: textblock #: wcd.pod:592 msgid "Legacy East-Asian CJK (Chinese, Japanese, and Korean) fonts have certain characters and line drawing symbols with a column width of 2, while the normal Unicode width for these characters is 1 column. For instance the Chinese CP936 raster font on Windows and the Simsun font. Use this option for a correct outlining of the graphical tree when a legacy CJK font is used." msgstr "Fontes CJK (chinês, japonês e coreano) legadas da Ásia Oriental possuem certos caracteres e símbolos de desenho de linha com uma largura de coluna de 2, enquanto a largura normal do Unicode para esses caracteres é 1 coluna. Por exemplo, a fonte raster chinesa CP936 no Windows e a fonte Simsun. Use essa opção para um traçado correto da árvore gráfica quando uma fonte CJK legada é usada." #. type: textblock #: wcd.pod:598 msgid "When CJK mode is on, you will see a \"C\" in the lower right corner." msgstr "Quando o modo CJK estiver ativado, você verá um \"C\" no canto inferior direito." #. type: =item #: wcd.pod:600 msgid "B<-u USER>" msgstr "B<-u USUÁRIO>" #. type: textblock #: wcd.pod:602 msgid "Scan treedata file of another user based on I, do not scan your own default treedata file. See also section ENVIRONMENT VARIABLES for I." msgstr "Varre o arquivo de dados de árvore de outro usuário baseado em I em vez de varrer o próprio arquivo de dados de árvore padrão. Veja também a seção VARIÁVEIS DE AMBIENTE por I." #. type: textblock #: wcd.pod:605 msgid "On Unix/Cygwin the base directory for user home directories is assumed to be C. Wcd will look for C and C, in that order, and read the first one that exists and is readable. On DOS/Windows the base directory for user home directories is assumed to be C<\\\\users>, so wcd tries to read C<\\\\users\\USER\\treedata.wcd> and C<\\\\users\\USER\\.wcd\\treedata.wcd>." msgstr "No Unix/Cygwin, o diretório base para diretórios home de usuários é presumido ser C. Wcd vai procurar por C e C, naquela ordem, e lê a primeira que existe e é legível. No DOS/Windows, o diretório base para diretórios home de usuários é presumido ser C<\\\\users>, então o wcd tenta ler C<\\\\users\\USUÁRIO\\treedata.wcd> e C<\\\\users\\USUÁRIO\\.wcd\\treedata.wcd>." #. type: =item #: wcd.pod:613 msgid "B<+u USER>" msgstr "B<+u USUÁRIO>" #. type: textblock #: wcd.pod:615 msgid "Read default treedata file of USER in addition to your own treedata file." msgstr "Lê o arquivo de dados de árvore padrão do USUÁRIO, além do próprio arquivo de dados de árvore." #. type: =item #: wcd.pod:618 msgid "B<-v, --verbose>" msgstr "B<-v, --verbose>" #. type: textblock #: wcd.pod:620 msgid "Display verbose messages. With this option wcd prints all filters, bans and excludes." msgstr "Exibe mensagens verbosas. Com essa opção, wcd exibe todos os filtros, banimentos e exclusões." #. type: =item #: wcd.pod:623 msgid "B<-V, --version>" msgstr "B<-V, --version>" #. type: textblock #: wcd.pod:625 msgid "Print version information and exit." msgstr "Exibe informações da versão e sai." #. type: =item #: wcd.pod:627 msgid "B<-w, --wild-match-only>" msgstr "B<-w, --wild-match-only>" #. type: textblock #: wcd.pod:629 msgid "Wild matching only. Treat all matches as wild matches." msgstr "Correspondência curinga, apenas. Trata todas as correspondências como correspondências curingas." #. type: =item #: wcd.pod:631 msgid "B<-x PATH>" msgstr "B<-x CAMINHO>" #. type: textblock #: wcd.pod:633 msgid "Exclude I from scanning." msgstr "Exclui I da varredura." #. type: textblock #: wcd.pod:635 msgid "When this option is used wcd will exclude I and all its subdirectories when wcd is scanning a disk. Wildcards are supported and matched against absolute paths. Option B<-x> can be used multiple times." msgstr "Quando essa opção é usada, wcd vai excluir I e todos seus subdiretórios quando wcd está varrendo um disco. Há suporte a caracteres curingas, os quais são correspondidos com os caminhos absolutos. A opção B<-x> pode ser usado múltiplas vezes." #. type: verbatim #: wcd.pod:639 #, no-wrap msgid "" " wcd -x -x -s\n" "\n" msgstr "" " wcd -x -x -s\n" "\n" #. type: textblock #: wcd.pod:641 msgid "Option B<-x> must be used in front of any scan option (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." msgstr "A opção B<-x> deve ser usada na frente da qualquer opção de varredura (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." #. type: textblock #: wcd.pod:645 msgid "On DOS/Windows systems one must specify the drive letter depending on if environment variable I or I is set. If I or I is set one needs to specify the drive letter. An example:" msgstr "Em sistemas DOS/Windows, deve-se especificar a letra da unidade dependendo de se a variável de ambiente I ou I está definida. Se I ou I estiver definida, é necessário especificar a letra da unidade. Um exemplo:" #. type: verbatim #: wcd.pod:649 #, no-wrap msgid "" " wcd -x c:/temp -S c:\n" "\n" msgstr "" " wcd -x c:/temp -S c:\n" "\n" #. type: textblock #: wcd.pod:651 msgid "Otherwise do not specify drive letter." msgstr "Do contrário, não especifique a letra da unidade." #. type: verbatim #: wcd.pod:653 #, no-wrap msgid "" " wcd -x /temp -s\n" "\n" msgstr "" " wcd -x /temp -s\n" "\n" #. type: =item #: wcd.pod:656 msgid "B<-xf FILE>" msgstr "B<-xf ARQUIVO>" #. type: textblock #: wcd.pod:658 msgid "Exclude all paths listed in I from scanning." msgstr "Exclui todos caminhos listados no I da varredura." #. type: textblock #: wcd.pod:660 msgid "When this option is used wcd will exclude all paths listed in I and all their subdirectories when wcd is scanning a disk. Wildcards are supported and they are matched against absolute paths; one path per line. Be aware that wcd will not ignore leading or trailing blanks on a line, because they are legal characters in a directory name. Option B<-xf> can be used multiple times. When one wants to exclude all banned paths from scanning one can do the following (example for wcd on unix):" msgstr "Quando essa opção é usada, wcd vai excluir todos os caminhos listados no I e todos seus subdiretórios quando o wcd estiver varrendo um disco. Há suporte a caracteres curingas, os quais são correspondidos com os caminhos absolutos; um caminho por linha. Esteja ciente que wcd não vai ignorar espaços em brancos no início ou fim de uma linha, porque eles são caracteres legais em um nome de diretório. A opção B<-xf> pode ser usado múltiplas vezes. Quando se deseja excluir todos os caminhos banidos da varredura, pode-se fazer o seguinte (exemplo para wcd no Unix):" #. type: verbatim #: wcd.pod:668 #, no-wrap msgid "" " wcd -xf ~/.ban.wcd -s\n" "\n" msgstr "" " wcd -xf ~/.ban.wcd -s\n" "\n" #. type: textblock #: wcd.pod:670 msgid "Wildcards are supported. For instance to exclude all your Subversion directories with administrative files add a line with C<*/.svn>." msgstr "Há suporte a caracteres curingas. Por exemplo, para excluir todos os seus diretórios Subversion com arquivos administrativos, adicione uma linha com C<*/.svn>." #. type: textblock #: wcd.pod:673 msgid "Option B<-xf> must be used in front of any scan option (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." msgstr "A opção B<-xf> deve ser usada na frente da qualquer opção de varredura (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." #. type: =item #: wcd.pod:676 msgid "B<-y, --assume-yes>" msgstr "B<-y, --assume-yes>" #. type: textblock #: wcd.pod:678 msgid "Assume Yes on all queries." msgstr "Presume \"Sim\" para todas as perguntas." #. type: textblock #: wcd.pod:680 msgid "Wcd will not prompt the user with yes/no questions, but assumes the user answers yes on all questions. This can be used in combination with option B<-rmtree>. This option must be used in front of options that can lead to yes/no questions." msgstr "Wcd não vai consultar o usuário com perguntas de sim/não, mas presume que o usuário responde sim em todas as perguntas. Isso pode ser usado em combinação com a opção B<-rmtree>. Essa opção deve ser usada na frente das opções que podem levar a perguntas sim/não." #. type: =item #: wcd.pod:685 msgid "B<-z NUMBER>" msgstr "B<-z NÚMERO>" #. type: textblock #: wcd.pod:687 msgid "Set maximum stack size to NUMBER." msgstr "Define um tamanho mínimo da pilha com NÚMERO." #. type: textblock #: wcd.pod:689 msgid "The default size of the stack is 10. Stack operation can be turned off by setting the size to 0. This option must be used in front of any other stack operations (B<->,B<+>,B<=>). Otherwise the size of the stack will be set back to the default 10." msgstr "O tamanho padrão da pilha é 10. Operação de pilha pode ser desativado ao definir o tamanho com 0. Essa opção deve ser usada na frente de qualquer outra operação de pilha (B<->,B<+>,B<=>). Do contrário, o tamanho da pilha será definido de volta para o padrão 10." #. type: textblock #: wcd.pod:694 msgid "A correct command is:" msgstr "O comando correto é:" #. type: verbatim #: wcd.pod:696 #, no-wrap msgid "" " wcd -z 50 -\n" "\n" msgstr "" " wcd -z 50 -\n" "\n" #. type: textblock #: wcd.pod:698 msgid "The new stack size will be 50, wcd will go one directory back. A wrong command is:" msgstr "O novo tamanho de pulha será 50, wcd irá uma diretório para trás. Um comando errado é:" #. type: verbatim #: wcd.pod:701 #, no-wrap msgid "" " wcd - -z 50\n" "\n" msgstr "" " wcd - -z 50\n" "\n" #. type: textblock #: wcd.pod:703 msgid "Wcd goes one directory back, the stack gets the default size 10. The B<-z 50> is ignored." msgstr "Wcd vai um diretório para trás, a pilha obtém o tamanho padrão 10. O B<-z 50> é ignorado." #. type: textblock #: wcd.pod:706 msgid "Add this option as the first option to your wcd alias or function. E.g. for the a POSIX compatible shell this would be:" msgstr "Adicione essa opção como a primeira opção a seu alias ou função de wcd. Por exemplo, para um shell compatível com POSIX, isso seria:" #. type: verbatim #: wcd.pod:709 #, no-wrap msgid "" " wcd ()\n" " {\n" "\twcd.exe -z 50 \"$@\"\n" "\t. ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" "\twcd.exe -z 50 \"$@\"\n" "\t. ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" #. type: =item #: wcd.pod:715 msgid "B<-[NUMBER]>" msgstr "B<-[NÚMERO]>" #. type: textblock #: wcd.pod:717 msgid "Push dir NUMBER of times. Default is one." msgstr "Adiciona diretório NÚMERO de vezes. O padrão é um." #. type: textblock #: wcd.pod:719 msgid "Go back a directory. Command C goes one directory back. To go more directories back add a number to it. E.g. command C. The stack is cyclic." msgstr "Volta um diretório. O comando C volta apenas um diretório. Para voltar mais diretórios, adicione um número. Por exemplo, o comando C. A pilha é cíclica." #. type: =item #: wcd.pod:723 msgid "B<+[NUMBER]>" msgstr "B<+[NÚMERO]>" #. type: textblock #: wcd.pod:725 msgid "Pop dir NUMBER of times. Default is one." msgstr "Retira diretório NÚMERO de vezes. O padrão é um." #. type: textblock #: wcd.pod:727 msgid "Go forward a directory. Command C goes one directory forward. To go more directories forward add a number to it. E.g. command C. The stack is cyclic." msgstr "Avança um diretório. O comando C avança apenas um diretório. Para avançar mais diretórios, adicione um número. Por exemplo, o comando C. A pilha é cíclica." #. type: =item #: wcd.pod:731 msgid "B<=>" msgstr "B<=>" #. type: textblock #: wcd.pod:733 msgid "Show stack." msgstr "Mostra a pilha." #. type: textblock #: wcd.pod:735 msgid "Use this option if you do not know anymore how many times to push or pop. The stack is printed and you can choose a number. The current place in the stack is marked with an asterisk C<*>." msgstr "Use essa opção se você não sabe mais quantas vezes adicionar ou retirar. A pilha é exibida e você pode escolher um número. O lugar atual na pilha é marcado com um asterisco C<*>." #. type: =head1 #: wcd.pod:741 msgid "INSTALLATION" msgstr "INSTALAÇÃO" #. type: textblock #: wcd.pod:743 msgid "The current working directory of a Unix shell can only be changed by the builtin cd(1) command. Therefore the program is always called by a function or an alias. The function or alias sources a shell script (go-script) which is generated by the wcd program. Wcd can only work after the function or alias is defined." msgstr "O diretório de trabalho atual de um shell do Unix só pode ser mudado pelo comando embarcado cd(1). Portanto, o programa é sempre chamado por uma função ou um alias. A função ou alias serve de fonte para um script shell (go-script) que é gerado pelo programa wcd. Wcd só pode funcionar após a função ou o alias ser definido." #. type: textblock #: wcd.pod:749 msgid "Another important influence on your installation is the definition of environment variables I and I. See section ENVIRONMENT VARIABLES." msgstr "Uma outra influência importante em sua instalação é a definição de variáveis de ambiente I e I. Veja a seção VARIÁVEIS DE AMBIENTE." #. type: =head2 #: wcd.pod:753 msgid "Install for POSIX type shells" msgstr "Instalação para shells de tipo POSIX" #. type: textblock #: wcd.pod:755 msgid "For a POSIX shell (ksh, bash, zsh, etc.) on Unix, Linux, Cygwin, or native MSYS add the following function to the shell startup file (e.g. Bash uses C<$HOME/.bashrc>):" msgstr "Para um shell POSIX (ksh, bash, zsh etc.) no Unix, Linux, Cygwin ou MSYS nativo, adicione a seguinte função ao arquivo de inicialização do shell (ex.: Bash usa C<$HOME/.bashrc>):" #. type: verbatim #: wcd.pod:759 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcd.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " CAMINHO/wcd.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:765 msgid "Replace I with the location where the wcd executable has been installed. Reload the shell initialization files or start new shell." msgstr "Substitua I com a localização onde o executável wcd foi instalado. Recarregue os arquivos de inicialização do shell ou inicie o novo shell." #. type: textblock #: wcd.pod:768 msgid "The location of the go-script C differs per shell." msgstr "A localização do go-script C se difere por shell." #. type: textblock #: wcd.pod:770 msgid "Wcd for DJGPP DOS bash and OS/2 bash require a different function. The go script is not written in a directory C, and if I and I are both not defined the go-script is written on c:/." msgstr "Wcd para bash de DOS do DJGPP e bash de OS/2 exige uma função diferente. O go-script não é escrito em um diretório C, e se I e I não estão definidos, o go-script é escrito no c:/." #. type: textblock #: wcd.pod:774 msgid "DOS bash:" msgstr "Bash de DOS:" #. type: verbatim #: wcd.pod:776 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdbash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " CAMINHO/wcdbash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:782 msgid "OS/2 bash:" msgstr "Bash de OS/2:" #. type: verbatim #: wcd.pod:784 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdos2bash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " CAMINHO/wcdos2bash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:790 msgid "The WinZsh version of wcd requires a bit different function. The go-script will never be written in c:/." msgstr "A versão WinZsh do wcd exige uma função um pouco diferente. O go-script nunca vai ser escrito no c:/." #. type: verbatim #: wcd.pod:793 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdwin32zsh.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " CAMINHO/wcdwin32zsh.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:799 msgid "See section FILES for more information." msgstr "Veja a seção ARQUIVOS para mais informações." #. type: =head2 #: wcd.pod:801 msgid "Install for C-alike shells (csh, tcsh)" msgstr "Instalação para shells parecidos com C (csh, tcsh)" #. type: textblock #: wcd.pod:803 msgid "Add the following alias to the shell startup file C<$HOME/.cshrc> or C<$HOME/.tcshrc> :" msgstr "Adicione o seguinte alias para o arquivo de inicialização de shell C<$HOME/.cshrc> ou C<$HOME/.tcshrc> :" #. type: verbatim #: wcd.pod:806 #, no-wrap msgid "" " if ( ${?WCDHOME} ) then\n" " alias wcd \"PATH/wcd.exe \\!* ; source $WCDHOME/bin/wcd.go\"\n" " else\n" " alias wcd \"PATH/wcd.exe \\!* ; source $HOME/bin/wcd.go\"\n" " endif\n" "\n" msgstr "" " if ( ${?WCDHOME} ) then\n" " alias wcd \"CAMINHO/wcd.exe \\!* ; source $WCDHOME/bin/wcd.go\"\n" " else\n" " alias wcd \"CAMINHO/wcd.exe \\!* ; source $HOME/bin/wcd.go\"\n" " endif\n" "\n" #. type: textblock #: wcd.pod:812 msgid "Replace I with the location where the wcd executable has been installed. Reload the shell initialization files or start a new shell." msgstr "Substitua I com a localização onde o executável wcd foi instalado. Recarregue os arquivos de inicialização do shell ou inicie um novo shell." #. type: =head2 #: wcd.pod:816 msgid "Windows Command Prompt version" msgstr "Versão para Prompt de Comando do Windows" #. type: textblock #: wcd.pod:818 msgid "Unpack the zip file and add directory C to your environment variable I." msgstr "Descompacte o arquivo zip e adicione o diretório C à sua variável de ambiente I." #. type: textblock #: wcd.pod:821 msgid "In Windows Command Prompt a Windows program cannot change the current work directory, but a .bat file can. The batch script C runs the wcd program which generates a new batch script C. Then C runs C which actually changes the directory." msgstr "No Prompt de Comando do Windows, um programa Windows não pode mudar o diretório de trabalho atual, mas um arquivo .bat pode. O script batch C executa o programa que gera um novo script batch C. Então, C executa C que, finalmente, muda o diretório." #. type: =head2 #: wcd.pod:826 msgid "Windows VISTA and higher" msgstr "Windows VISTA ou maios novo" #. type: textblock #: wcd.pod:828 msgid "In a Windows VISTA and higher Command Prompt you may have limited access to directories. To get access to more directories you need administrator rights. You can get a Command Prompt with administrator rights if you right click on the Command Prompt icon and select I." msgstr "Em um Prompt de Comando do Windows VISTA, ou mais novo, você pode ter acesso limitado aos diretórios. Para obter acesso a mais diretórios você precisa de permissões administrativas. Você pode obter um Prompt de Comando com permissões administrativas se você clicar com botão direito do mouse no ícone do Prompt de Comando e selecionar I." #. type: =head2 #: wcd.pod:833 msgid "Windows PowerShell version" msgstr "Versão para PowerShell do Windows" #. type: textblock #: wcd.pod:835 msgid "Add the following function to your PowerShell user profile. The location of this profile is stored in the $profile variable. It is required that one of the environment variables I or I is defined." msgstr "Adicione a seguinte função a seu perfil de usuário PowerShell. A localização deste perfil é armazenada na variável $profile. É necessário que uma das variáveis de ambiente I ou I esteja definida." #. type: verbatim #: wcd.pod:839 #, no-wrap msgid "" " function wcd\n" " {\n" " PATH\\wcdwin32psh.exe $args\n" " & $env:HOME\\wcdgo.ps1\n" " }\n" "\n" msgstr "" " function wcd\n" " {\n" " CAMINHO\\wcdwin32psh.exe $args\n" " & $env:HOME\\wcdgo.ps1\n" " }\n" "\n" #. type: textblock #: wcd.pod:845 msgid "Replace I with the location where the wcd executable has been installed. Start a new PowerShell. Wcd for PowerShell supports only the file system provider. No other providers." msgstr "Substitua I com a localização na qual o executável wcd foi instalado. Inicie um novo PowerShell. Wcd para PowerShell só oferece suporte ao provedor de sistema de arquivo. A nenhum outro provedor." #. type: =head2 #: wcd.pod:849 msgid "OS/2 Command Prompt version" msgstr "Versão de Prompt de Comando do OS/2" #. type: textblock #: wcd.pod:851 msgid "In an OS/2 Command Prompt (cmd.exe) an OS/2-program can't change the current work directory. That is why wcd generates a command script C which must be executed in the current shell. The script C first executes C, which creates the C script. Then C executes the C script." msgstr "Em um Prompt de Comando de OS/2 (cmd.exe), um programa do OS/2 não pode mudar o diretório de trabalho atual. É por isso que o wcd gera um script de comando C que deve ser executado no shell atual. O script C primeiro executa C, o qual cria o script C. Então, C executa o script C." #. type: =head1 #: wcd.pod:858 msgid "LOCALIZATION" msgstr "LOCALIZAÇÃO" #. type: =item #: wcd.pod:862 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:864 msgid "The primary language is selected with the environment variable I. The I variable consists out of several parts. The first part is in small letters the language code. The second one is optional and is the country code in capital letters, preceded with an underscore. There is also an optional third part: character encoding, preceded with a dot. A few examples for POSIX standard type shells:" msgstr "O idioma principal é selecionado com a variável de ambiente I. A variável I consiste em diversas partes. A primeira parte está em letras minúsculas do código do idiomas. A segunda é opcional e é o país do código em letras maiúsculas, precedida com um sublinhado. Há também uma terceira parte opcional: codificação de caracteres, precedida com um ponto. Alguns poucos exemplos para shells de tipo padrão POSIX:" #. type: verbatim #: wcd.pod:871 #, no-wrap msgid "" " export LANG=nl Dutch\n" " export LANG=nl_NL Dutch, The Netherlands\n" " export LANG=nl_BE Dutch, Belgium\n" " export LANG=es_ES Spanish, Spain\n" " export LANG=es_MX Spanish, Mexico\n" " export LANG=en_US.iso88591 English, USA, Latin-1 encoding\n" "\n" msgstr "" " export LANG=nl Holandês\n" " export LANG=nl_NL Holandês, Holanda\n" " export LANG=nl_BE Holandês, Bélgica\n" " export LANG=es_ES Espanhol, Espanha\n" " export LANG=es_MX Espanhol, México\n" " export LANG=en_US.iso88591 Inglês, EUA, codificação Latin-1\n" "\n" #. type: textblock #: wcd.pod:878 msgid "For a complete list of language and country codes see the gettext(1) manual: L On Unix systems you can use to command locale(1) to get locale specific information." msgstr "Para uma lista completa de códigos de idioma e país, veja o manual do gettext(1): L Em sistemas Unix, você pode usar o comando locale(1) para obter informações específicas de localidade." #. type: =item #: wcd.pod:884 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:886 msgid "With the I environment variable you can specify a priority list of languages, separated by colons. Wcd gives preference to I over I. For instance, first Dutch and then German: C. You have to first enable localization, by setting I or I to a value other than I, before you can use a language priority list through the I variable. See also the gettext(1) manual: L" msgstr "Coma a variável de ambiente I você pode especificar uma lista de prioridade de idiomas, separada por caracteres de dois pontos. Wcd dá preferência a I sobre I. Por exemplo, primeiro holandês e depois alemão: C. Você tem que primeiro habilitar a localização, definindo I ou I para um outro valor além de I, antes que você possa usar uma lista de prioridade de idiomas por meio da variável I. Veja também o manual do gettext (1): L" #. type: textblock #: wcd.pod:894 msgid "If you select a language which is not available you will get the standard English messages." msgstr "Se você selecionou um idioma que não está disponível, você terá as mensagens padrões em inglês." #. type: =item #: wcd.pod:897 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:899 msgid "With the environment variable I the I used during compilation and installation of wcd can be overruled. I is used by wcd with native language support to find the language files. The GNU default value is C. By typing C wcd will print the I that is used." msgstr "Com a variável de ambiente I, o valor de I usado durante a compilação e instalação de wcd pode ser sobreposto. I é usado pelo wcd com suporte nativo a idioma para localizar os arquivos de idioma. O valor padrão do GNU é C. Ao digitar C, wcd vai exibir o I que é usado." #. type: textblock #: wcd.pod:905 msgid "If you have installed wcd in a different directory than the default directory you may need to set the environment variable I to point to the locale directory." msgstr "Se você instalou o wcd em um diretório diferente do diretório padrão, você pode precisar definir a variável de ambiente I para apontar para o diretório da localidade." #. type: textblock #: wcd.pod:910 msgid "An example for Windows cmd:" msgstr "Um exemplo para cmd do Windows:" #. type: verbatim #: wcd.pod:912 #, no-wrap msgid "" " set WCDLOCALEDIR=c:/my_prefix/share/locale\n" "\n" msgstr "" " set WCDLOCALEDIR=c:/meu_prefixo/share/locale\n" "\n" #. type: textblock #: wcd.pod:915 msgid "An example for a POSIX shell:" msgstr "Um exemplo para shell POSIX:" #. type: verbatim #: wcd.pod:917 #, no-wrap msgid "" " export WCDLOCALEDIR=$HOME/share/locale\n" "\n" msgstr "" " export WCDLOCALEDIR=$HOME/share/locale\n" "\n" #. type: =item #: wcd.pod:919 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:921 msgid "When there are multiple directory matches wcd presents a sorted list. The sorting depends on the locale settings. If the environment I has been set the matches are sorted like dictionaries or phone books are sorted in that language. For instance dots and dashes are ignored, or letters e with and without accent are equal, or upper and lower case is ignored." msgstr "Quando há múltiplas correspondências de diretório, wcd apresenta uma lista ordenada. As ordenação de dependências nas configurações de localidade. Se a variável de ambiente I foi definida, as correspondências são ordenadas como dicionários ou agendas telefônicas são ordenadas naquele idioma. Por exemplo, pontos e traços são ignorados, ou letras \"e\" com e sem acento são iguais, ou a diferença entre minúsculo e maiúsculo é ignorada." #. type: textblock #: wcd.pod:927 msgid "The sorting gives preference to environment variable I over I. If you make I equal to C or C, locale sorting is turned off. For instance if you want Dutch language, but not Dutch sorting, you can do something like this:" msgstr "A ordenação dá preferência para a variável de ambiente I sobre I. Se você definir I com valor C ou C, a ordenação de localidade é desativada. Por exemplo, se você deseja o idioma holandês, mas não deseja a ordenação holandesa, você pode fazer algo como isso:" #. type: verbatim #: wcd.pod:932 #, no-wrap msgid "" " export LANG=nl_NL\n" " export LC_COLLATE=C\n" "\n" msgstr "" " export LANG=nl_NL\n" " export LC_COLLATE=C\n" "\n" #. type: =item #: wcd.pod:935 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:937 msgid "With regard to character encoding Wcd will give preference to variable I over I. For instance to set character encoding to UTF-8 the following environment setting can be done." msgstr "Em relação à codificação de caracteres, wcd vai dar preferência à variável I sobre I. Por exemplo, para definir a codificação de caracteres para UTF-8, a definição da seguinte variável de ambiente pode ser feita." #. type: verbatim #: wcd.pod:941 #, no-wrap msgid "" " export LC_CTYPE=en_US.UTF-8\n" "\n" msgstr "" " export LC_CTYPE=en_US.UTF-8\n" "\n" #. type: =item #: wcd.pod:943 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:945 msgid "All locale environment variables that start with I are overruled by the environment variable I if it is defined. Wcd gives preference to I over I and I." msgstr "Todas as variáveis de ambiente de localidade que iniciam com I são sobrepostas para variável de ambiente I, se estiver definida. Wcd dá preferência a I sobre I e I." #. type: =head2 #: wcd.pod:951 msgid "WINDOWS CODE PAGES" msgstr "PÁGINAS DE CÓDIGO DO WINDOWS" #. type: textblock #: wcd.pod:953 msgid "There are two groups of code pages: DOS code pages (OEM) and Windows code pages (ANSI). The default encoding for Windows, when configured with Western regional settings, is ANSI CP1252. Windows programs, for instance notepad, use this default system ANSI code page. The Windows console uses by default an OEM code page (CP437 or CP850) for compatibility with DOS programs. If you use a DOS version of wcd in a Windows console it will work, because of the DOS code page. But the DOS version of wcd lacks support for long directory names and network drives on Windows." msgstr "Há dois grupos de páginas de códigos: páginas de código DOS (OEM) e páginas de códigos Windows (ANSI). A codificação padrão do Windows, quando configurado com configurações regionais Western, é ANSI CP1252. Programas do Windows, como o bloco de notas, usam essa página de código ANSI padrão do sistema. O console do Windows usa por padrão uma página de código OEM (CP437 ou CP850) para compatibilidade com programas DOS. Se você usa uma versão DOS do wcd em um console Windows, ele vai funcionar por causa da página de código DOS. Mas a versão DOS do wcd carece de suporte a nomes de diretórios longos e unidades de rede no Windows." #. type: textblock #: wcd.pod:962 msgid "The Windows version of wcd is a native Windows program and will use the Windows system ANSI code page. So on a Western regional Windows it will use code page CP1252 for directory names and messages. In order to get consistent output, independent of the active code page, all Windows versions of Wcd translate ANSI output to Unicode output in the Command Prompt and PowerShell." msgstr "A versão Windows do wcd é um programa nativo do Windows e vai usar a página de código ANSI de sistema Windows. Então, em um Windows com região Western, será usada a página de código CP1252 para nomes de diretório e mensagens. Para obter uma saída consistente, independente da página de código ativa, todas as versões Windows do wcd traduzem a saída ANSI para saída Unicode no Prompt de Comando e no PowerShell." #. type: textblock #: wcd.pod:968 msgid "The console raster font only supports the original OEM code page installed with Windows, so you have to change the console's font to true type Lucida Console to make Unicode (and ANSI) letters appear correctly." msgstr "A fonte raster de console só oferece suporte à página de código OEM original instalada com Windows, então você terá que alterar a fonte de console para true type Console Lucida para fazer letras Unicode (e ANSI) aparecerem corretamente." #. type: textblock #: wcd.pod:972 msgid "Non-Unicode versions of Wcd I use plain ANSI output. For these older versions the code page of the console has to be made equal to the system code page (changed to 1252) to make wcd for Windows work properly with special characters such as accented characters or the Euro symbol." msgstr "Versões não Unicode do wcd I usam saída ANSI simples. Para essas versões antigas, a página de código do console tem que ser feita igual à página de código de sistema (alterada para 1252) para fazer wcd para Windows funcionar adequadamente com caracteres especiais como caracteres acentuados ou símbolo de Euro." #. type: textblock #: wcd.pod:977 msgid "The Windows system code page can be changed via the Control Panel regional options. The Windows console code page is changed with the C command." msgstr "A página de código de sistema do Windows pode ser alterada via as opções regionais no Painel de Controle. A página de código de console Windows é alterada com o comando C." #. type: textblock #: wcd.pod:980 msgid "When you type C, the actual character encoding used by wcd is shown. Type the command C to display the active code page of the Windows console." msgstr "Quando você digita C, a codificação de caracteres usada por wcd é mostrada. Digite o comando C para exibir a página de código ativa do console Windows." #. type: =head2 #: wcd.pod:985 msgid "UNICODE" msgstr "UNICODE" #. type: textblock #: wcd.pod:987 msgid "Wcd has optional support for Unicode. To see if wcd was built with Unicode support type C. If your terminal/console and font supports it, you should see the Euro symbol and Chinese characters (meaning: \"Chinese\")." msgstr "Wcd possui suporte opcional a Unicode. Para ver se wcd foi compilado com suporte a Unicode, digite C. Se seu terminal/console e a fonte oferecem suporte a ele, você deve ver o símbolo de Euro e caracteres chineses." #. type: textblock #: wcd.pod:992 msgid "Wcd has been I converted to Unicode. In its core wcd handles all data as a stream of bytes. Only the lines printed to screen are on the fly converted to Unicode wide characters. Wcd fully relies on libc functions and has no UTF-8 specific code. See also L" msgstr "Wcd foi I convertido em Unicode. Em seu núcleo, wcd lida com todos os dados como um fluxo de bytes. Apenas nas linhas exibidas na tela são convertidas para caracteres amplos Unicode. Wcd depende completamente das funções libc e não possui um código específico UTF-8. Veja também L" #. type: textblock #: wcd.pod:998 msgid "Wcd has optional support for Unicode matching with normalisation. To find out whether Wcd has normalisation support type C. Wcd with Unicode normalization support will match Unicode names based on I equivalence. Without Unicode normalization support, names are matched when they are binary equivalent. See also L" msgstr "Wcd possui suporte opcional a correspondência Unicode com normalização. Para descobrir se wcd possui suporte a normalização, digite C. Wcd com suporte a normalização Unicode vai corresponder nomes Unicode baseados em equivalência I. Sem suporte a normalização Unicode, nomes são correspondidos quando eles são equivalente binário. Veja também L" #. type: =head3 #: wcd.pod:1005 msgid "UTF-8 on Unix/Linux" msgstr "UTF-8 no Unix/Linux" #. type: textblock #: wcd.pod:1007 msgid "In order to view UTF-8 characters your console/terminal also needs to support UTF-8. The xterm version that comes with XFree86 4.0 or higher includes UTF-8 support. To activate it, start xterm(1) in a UTF-8 locale and use a font with iso10646-1 encoding, for instance with" msgstr "Para ver caracteres UTF-8, seu console/terminal também precisa ter suporte a UTF-8. A versão xterm que vem com o XFree86 4.0 ou mais novo inclui suporte a UTF-8. Para ativá-lo, inicie xterm(1) em uma localidade UTF-8 e use uma fonte com codificação iso10646-1, por exemplo, com" #. type: verbatim #: wcd.pod:1012 #, no-wrap msgid "" " LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'\n" "\n" msgstr "" " LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'\n" "\n" #. type: textblock #: wcd.pod:1014 msgid "Modern distributions of GNU/Linux support UTF-8 by default. Other multi-byte character encodings should also work, but that has not been tested." msgstr "Distribuições modernas do GNU/Linux oferecem suporte a UTF-8 por padrão. Outras codificações de caracteres multibyte também devem funcionar, mas isso ainda não foi testado." #. type: textblock #: wcd.pod:1017 msgid "Wcd assumes that the treedata files are encoded in the locale character encoding. There are no Byte Order Marks written to treedata files." msgstr "Wcd presume que os arquivos de dados de árvore estejam codificados na codificação de caractere de localidade. Não há Marca de Ordem de Bytes (B.O.M.) escrita em arquivos de dados de árvore." #. type: =head3 #: wcd.pod:1021 msgid "UTF-16 on Windows" msgstr "UTF-16 no Windows" #. type: textblock #: wcd.pod:1023 msgid "On Windows Unicode is supported in all versions of PowerShell, and in Windows Command Prompt on Windows 7 (or higher). Unicode also works in Take Command or TCC/LE made by JP Software, which can be used on older Windows versions (XP/Vista)." msgstr "No Windows, há suporte a Unicode em todas as versões do PowerShell e no Prompt de Comando do Windows 7 (ou mais novo). Unicode também funciona no Take Command, ou TCC/LE, feito pela JP Software, que pode ser usado em versões mais antigas do Windows (XP/Vista)." #. type: textblock #: wcd.pod:1028 msgid "On Windows all the directory names on disk are encoded in UTF-16 Unicode. For non-Unicode Windows programs the Unicode characters are translated to the default ANSI code page. For characters that are not part of the regional setting this translation is not possible and non-Unicode programs print a question mark or a wrong character instead." msgstr "No Windows, todos os nomes de diretórios no disco são codificados em Unicode UTF-16. Para programas não Unicode do Windows, os caracteres Unicode são traduzidos para a página de código ANSI padrão. Para caracteres que não são parte da configuração regional, essa tradução não é possível e programas não Unicode exibem uma interrogação ou um caractere errado." #. type: textblock #: wcd.pod:1034 msgid "Wcd with Unicode support will read the UTF-16 encoded directory names and converts them internally to UTF-8. All treedata files are encoded in UTF-8 and not compatible with the non-Unicode version of Wcd. Wcd will create a go-script encoded in UTF-8." msgstr "Wcd com suporte a Unicode vai ler os nomes de diretórios codificados em UTF-16 e convertê-los internalmente em UTF-8. Todos os arquivos de dados de árvore são codificados em UTF-8 e não compatível com a versão não Unicode do wcd. Wcd não vai criar um go-script codificado em UTF-8." #. type: textblock #: wcd.pod:1039 msgid "All versions of Windows PowerShell are able to run scripts encoded in UTF-8, provided there is an UTF-8 BOM in the script." msgstr "Todas as versões do PowerShell do Windows são capazes de executar scripts codificados em UTF-8, a menos que haja um BOM UTF-8 no script." #. type: textblock #: wcd.pod:1042 msgid "Since Windows 7 it is possible in Windows Command Prompt to change directory with a batch script to a directory with Unicode letters in the name. The directory name needs to be encoded in UTF-8, and the batch script must I have a BOM. The active code page of the Command Prompt needs to be set to 65001 (UTF-8) prior to the cd command. Wcd for Command Prompt will create such a go script C. It first changes the code page to 65001, then changes directory, and finally sets the code page back to the original code page." msgstr "Desde o Windows 7 é possível no Prompt de Comando do Windows para mudar diretório com um script batch para um diretório com letras Unicode no nome. O nome do diretório precisa ser codificado em UTF-8 e o script batch I podem ter um BOM. A página de código ativo do Prompt de Comando precisa ser definido para 65001 (UTF-8) antes do comando cd. Wcd para Prompt de Comando vai criar um go-script C. Ele primeiro muda a página de código para 65001, depois muda o diretório e, ao final, define a página de código de volta para a original." #. type: textblock #: wcd.pod:1050 msgid "You need to set the font to True Type Lucida Console (not raster font) when letters don't appear correctly." msgstr "Você precisa definir a fonte para True Type Lucida Console (fonte não raster) quando letras não aparecem corretamente." #. type: textblock #: wcd.pod:1053 msgid "The non-Unicode Windows version of Wcd can read Unicode treedata files since version 5.2.0, provided there is a Byte Order Mark (BOM) in the file (see L), but it can't change to directories with Unicode letters in the name that are not part of the default system ANSI code page. The Unicode Windows version of wcd writes a BOM in the UTF-8 encoded treedata files since version 5.2.0, which makes them also readable by notepad." msgstr "A versão não Unicode Windows do wcd pode ler arquivos de dados de árvore Unicode desde a versão 5.2.0, desde que haja uma Marca de Ordem de Bytes (BOM) no arquivo (veja L), mas ele não muda os diretórios com letras Unicode no nome que não são parte da página de código ANSI padrão do sistema. A versão Unicode Windows do wcd escreve um BOM nos arquivos de dados de árvore codificada em UTF-8 desde a versão 5.2.0, o que também os torna legível pelo notepad." #. type: =head3 #: wcd.pod:1062 msgid "UTF-8 on Cygwin" msgstr "UTF-8 no Cygwin" #. type: textblock #: wcd.pod:1064 msgid "Cygwin supports Unicode since version 1.7. The Cygwin layer takes care that the Windows UTF-16 Unicode names are converted to UTF-8. So programs, like wcd, do not need to be aware of this and can operate using UTF-8 encoding as on Unix/Linux. Set character encoding to UTF-8 with the I or I environment variable. You may need to rescan your drives. You need to set the font to True Type Lucida Console (not raster font) if you use the default Cygwin console." msgstr "Cygwin oferece suporte a Unicode desde a versão 1.7. A camada do Cygwin tem o cuidado para que os nomes Unicode UTF-16 do Windows sejam convertidos para UTF-8. Então os programas, como o wcd, não precisam estar cientes disto e podem operar usando codificação UTF-8 como no Unix/Linux. Defina a codificação de caracteres para UTF-8 com a variável de ambiente I ou I. Você pode precisar varrer novamente suas unidades. Você precisa definir a fonte para True Type Lucida Console (fonte não raster) se você usa o console padrão do Cygwin." #. type: textblock #: wcd.pod:1072 msgid "The Cygwin version behaves exactly as the Unix version of wcd. There is no BOM written in the treedata files, and it is assumed they are encoded in the B locale character encoding." msgstr "A versão Cygwin se comporta exatamente como a versão Unix do wcd. Não há BOM escrito nos arquivos de dados de árvore e ele presume que eles estejam codificados na codificação de caracteres de localidade do B." #. type: =head1 #: wcd.pod:1076 msgid "FILES" msgstr "ARQUIVOS" #. type: textblock #: wcd.pod:1078 msgid "If the environment variable I is set wcd will use I instead of I. All C<*.wcd> files are text files. They can be edited with a text editor. The Windows Command Prompt version of wcd behaves as the DOS version. The Cygwin version of wcd behaves as the Unix version." msgstr "Se a variável de ambiente I estiver definido, wcd vai usar I em vez de I. Todos os arquivos C<*.wcd> são arquivos textos. Eles podem ser editados com um editor de texto. A versão do wcd para Prompt de Comando do Windows se comporta como a versão para DOS. A versão Cygwin do wcd se comporta como a versão Unix." #. type: =item #: wcd.pod:1087 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1089 msgid "The program. In Unix shells the program is always called by a function or alias, because the current working directory of a Unix shell can only be changed by the builtin cd command. See also section INSTALLATION." msgstr "O programa. Em shells do Unix, o programa é sempre chamado por uma função ou alias porque o diretório de trabalho atual de um shell do Unix só pode ser mudado pelo comando embarcado cd. Veja também a seção INSTALAÇÃO." #. type: =item #: wcd.pod:1094 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1096 msgid "This is the default treedata file where wcd searches for matches. If it is not readable wcd will create a new one." msgstr "Esse é o arquivo de dados de árvore padrão no qual wcd pesquisa por correspondências. Se ele não for legível, wcd vai criar um novo." #. type: verbatim #: wcd.pod:1099 #, no-wrap msgid "" " DOS: \\treedata.wcd or %HOME%\\treedata.wcd\n" " Unix: $HOME/.treedata.wcd\n" "\n" msgstr "" " DOS: \\treedata.wcd or %HOME%\\treedata.wcd\n" " Unix: $HOME/.treedata.wcd\n" "\n" #. type: =item #: wcd.pod:1102 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1104 msgid "An optional extra treedata file. If it exists and is readable wcd will try to find matches in this file also." msgstr "Um arquivo de dados de árvore extra e opcional. Se ele existir e for legível, wcd vai tentar localizar correspondências também neste arquivo." #. type: verbatim #: wcd.pod:1107 #, no-wrap msgid "" " DOS: \\extra.wcd or %HOME%\\extra.wcd\n" " Unix: $HOME/.extra.wcd\n" "\n" msgstr "" " DOS: \\extra.wcd or %HOME%\\extra.wcd\n" " Unix: $HOME/.extra.wcd\n" "\n" #. type: =item #: wcd.pod:1110 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1112 msgid "In this optional file wcd places banned paths. See option B<-b>. Wildcards are supported." msgstr "Neste arquivo opcional o wcd coloca os caminhos banidos. Veja a opção B<-b>. Há suporte a caracteres curingas." #. type: verbatim #: wcd.pod:1115 #, no-wrap msgid "" " DOS: \\ban.wcd or %HOME%\\ban.wcd\n" " Unix: $HOME/.ban.wcd\n" "\n" msgstr "" " DOS: \\ban.wcd or %HOME%\\ban.wcd\n" " Unix: $HOME/.ban.wcd\n" "\n" #. type: =item #: wcd.pod:1118 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1120 msgid "Optional file with wcd aliases. See option B<-l>." msgstr "Arquivo opcional com aliases do wcd. Veja a opção B<-l>." #. type: verbatim #: wcd.pod:1122 #, no-wrap msgid "" " DOS: \\alias.wcd or %HOME%\\alias.wcd\n" " Unix: $HOME/.alias.wcd\n" "\n" msgstr "" " DOS: \\alias.wcd or %HOME%\\alias.wcd\n" " Unix: $HOME/.alias.wcd\n" "\n" #. type: =item #: wcd.pod:1125 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1127 msgid "In this file wcd stores its stack. The drive letter can be changed with the B<-d> option." msgstr "Neste arquivo o wcd armazena sua pilha. A letra de unidade pode ser alterada com a opção B<-d>." #. type: verbatim #: wcd.pod:1130 #, no-wrap msgid "" " DOS: c:\\stack.wcd or %HOME%\\stack.wcd\n" " Unix: $HOME/.stack.wcd\n" "\n" msgstr "" " DOS: c:\\stack.wcd or %HOME%\\stack.wcd\n" " Unix: $HOME/.stack.wcd\n" "\n" #. type: textblock #: wcd.pod:1133 msgid "The name of the stack file can be changed with environment variable I. See section ENVIRONMENT VARIABLES." msgstr "O nome do arquivo de pilha pode ser alterado com a variável de ambiente I. Veja a seção VARIÁVEIS DE AMBIENTE." #. type: =item #: wcd.pod:1136 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1138 msgid "This is the shell script which wcd.exe creates each time. It is sourced via a function or an alias. The drive letter can be changed with the B<-d> option. For history reasons it is placed by default in C<$HOME/bin> on Unix systems. The directory of this file can be changed with the option B<-G>." msgstr "Este é o script shell que wcd cria a cada vez. Ele é carregado por uma função ou um alias. A letra da unidade pode ser alterada com a opção B<-d>. Por motivos históricos, ele é colocado por padrão em C<$HOME/bin> em sistemas Unix. O diretório neste arquivo pode ser alterado com a opção B<-G>." #. type: verbatim #: wcd.pod:1143 #, no-wrap msgid "" " DOS bash: c:/wcd.go or $HOME/wcd.go\n" " Windows Command Prompt: c:\\wcdgo.bat or %HOME%\\wcdgo.bat\n" " Windows PowerShell: $env:HOME\\wcdgo.ps1\n" " WinZsh: $HOME/wcd.go\n" " Cygwin/MSYS: $HOME/bin/wcd.go\n" " OS/2 Command Prompt: c:\\wcdgo.cmd or %HOME%\\wcdgo.cmd\n" " OS/2 bash: c:/wcd.go or $HOME/wcd.go\n" " Unix: $HOME/bin/wcd.go\n" "\n" msgstr "" " bash do DOS: c:/wcd.go ou $HOME/wcd.go\n" " Prompt de Comando do Windows: c:\\wcdgo.bat ou %HOME%\\wcdgo.bat\n" " PowerShell do Windows: $env:HOME\\wcdgo.ps1\n" " WinZsh: $HOME/wcd.go\n" " Cygwin/MSYS: $HOME/bin/wcd.go\n" " Prompt de Comando do OS/2: c:\\wcdgo.cmd ou %HOME%\\wcdgo.cmd\n" " bash do OS/2: c:/wcd.go ou $HOME/wcd.go\n" " Unix: $HOME/bin/wcd.go\n" "\n" #. type: =item #: wcd.pod:1152 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1154 msgid "Text file with relative paths from I. See options B<+S>, B<-n> and B<+n>." msgstr "Arquivo de texto com caminhos relativos a partir de I. Veja B<+S>, B<-n> e B<+n>." #. type: verbatim #: wcd.pod:1157 #, no-wrap msgid "" " DOS: PATH\\rtdata.wcd\n" " Unix: PATH/.rtdata.wcd\n" "\n" msgstr "" " DOS: PATH\\rtdata.wcd\n" " Unix: PATH/.rtdata.wcd\n" "\n" #. type: =head1 #: wcd.pod:1162 msgid "ENVIRONMENT VARIABLES" msgstr "VARIÁVEIS DE AMBIENTE" #. type: =item #: wcd.pod:1166 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1168 msgid "Wcd uses by default environment variable I to determine where to store its files. See also section FILES. This can be overruled with environment variable I." msgstr "Wcd usa por padrão a variável de ambiente I para determinar onde deve armazenar seus arquivos. Veja também a seção ARQUIVOS. Isso pode ser sobreposto com a variável de ambiente I." #. type: textblock #: wcd.pod:1172 msgid "I also defines where to start scanning the disk when option B<-s> is used. This can be overruled with the environment variable I." msgstr "I também define por onde deve-se iniciar varrendo o disco quando a opção B<-s> é usada. Isso pode ser sobreposto com a variável de ambiente I." #. type: textblock #: wcd.pod:1176 msgid "For the Unix, Cygwin, Windows PowerShell, WinZsh and MSYS version it is required that I or I is set. For the other versions of wcd the use of these variables is optional." msgstr "Para a versão Unix, Cygwin, PowerShell do Windows, WinZsh e MSYS, é exigido que I ou I esteja definida. Para outras versões do wcd, o uso dessas variáveis é opcional." #. type: textblock #: wcd.pod:1180 msgid "If I is set on DOS/Windows, wcd will place all its files (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) in directory I. The behaviour of wcd is then equal to the Unix version of wcd. Wcd will scan the disk default from I. Drives will not be automatically scanned by changing to them. You need to tell wcd explicitly. E.g.:" msgstr "Se I estiver definido no DOS/Windows, wcd vai colocar todos seus arquivos (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) no diretório I. O comportamento do wcd é, então, igual à versão Unix de wcd. Wcd vai varrer o disco padrão a partir de I. Unidades não serão automaticamente varridas mudando para elas. Você precisa dizer wcd explicitamente. Ex.:" #. type: verbatim #: wcd.pod:1187 #, no-wrap msgid "" " wcd -S c: -A d: -A e:\n" "\n" msgstr "" " wcd -S c: -A d: -A e:\n" "\n" #. type: textblock #: wcd.pod:1189 msgid "Matching of directories is now global over all scanned drives." msgstr "Correspondência de diretórios é agora global por todas as unidades varridas." #. type: =item #: wcd.pod:1192 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1194 msgid "Environment variable I can be used to change the location of wcd's files. If both I and I are set, I will be used instead of I." msgstr "A variável de ambiente I pode ser usada para alterar a localização de arquivos do wcd. Se ambas I e I estiverem definidas, I será usada em vez de I." #. type: textblock #: wcd.pod:1198 msgid "In wcd versions prior to 5.1.5 I also changed the default scan directory. This has changed. Since version 5.1.5 I does not change the default scan directory. See option B<-s>. From version 5.1.5, use environment I to overrule the default scan directory." msgstr "Nas versões wcd antes de 5.1.5, I também mudava o diretório padrão de varredura. Isso foi alterado. Desde a versão 5.1.5, I não muda o diretório padrão de varredura. Veja a opção B<-s>. A partir da versão 5.1.5, use a variável de ambiente I para sobrepor o diretório padrão de varredura." #. type: textblock #: wcd.pod:1203 msgid "Example for DOS, Windows, OS/2 Command Prompt:" msgstr "Exemplo para Prompt de Comando do DOS, do Windows e do OS/2:" #. type: verbatim #: wcd.pod:1205 #, no-wrap msgid "" " set WCDHOME=C:\\Users\\erwin\\wcd\n" "\n" msgstr "" " set WCDHOME=C:\\Users\\erwin\\wcd\n" "\n" #. type: textblock #: wcd.pod:1207 wcd.pod:1228 wcd.pod:1248 wcd.pod:1273 msgid "An example for POSIX type shells:" msgstr "Um exemplo para shells de tipo POSIX:" #. type: verbatim #: wcd.pod:1209 #, no-wrap msgid "" " export WCDHOME=\"$HOME/.wcd\"\n" "\n" msgstr "" " export WCDHOME=\"$HOME/.wcd\"\n" "\n" #. type: textblock #: wcd.pod:1211 wcd.pod:1232 wcd.pod:1252 wcd.pod:1277 msgid "An example for Csh type shells:" msgstr "Um exemplo para shells de tipo Csh:" #. type: verbatim #: wcd.pod:1213 #, no-wrap msgid "" " setenv WCDHOME \"$HOME/.wcd\"\n" "\n" msgstr "" " setenv WCDHOME \"$HOME/.wcd\"\n" "\n" #. type: =item #: wcd.pod:1215 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1217 msgid "Use environment variable I to overrule the default scan directory I. Define a colon separated list (Unix) to define more than one directory. On DOS/Windows make the list semi-colon separated." msgstr "Use a variável de ambiente I para sobrepor o diretório padrão de varredura I. Defina uma lista separada por dois pontos (Unix) para definir mais de um diretório. No DOS/Windows, separe a lista com ponto e vírgula." #. type: textblock #: wcd.pod:1222 msgid "Examples for DOS, Windows, OS/2 Command Prompt:" msgstr "Exemplos para Prompt de Comando do DOS, Windows e OS/2:" #. type: verbatim #: wcd.pod:1224 #, no-wrap msgid "" " set WCDSCAN=C:\\Users\\erwin;D:\\data\n" "\n" msgstr "" " set WCDSCAN=C:\\Users\\erwin;D:\\data\n" "\n" #. type: verbatim #: wcd.pod:1226 #, no-wrap msgid "" " set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\\\projectdrive\\projectX\n" "\n" msgstr "" " set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\\\unidadeprojeto\\projetoX\n" "\n" #. type: verbatim #: wcd.pod:1230 #, no-wrap msgid "" " export WCDSCAN=\"$HOME:/projectdisk/projectX\"\n" "\n" msgstr "" " export WCDSCAN=\"$HOME:/unidadeprojeto/projetoX\"\n" "\n" #. type: verbatim #: wcd.pod:1234 #, no-wrap msgid "" " setenv WCDSCAN \"$HOME:/projectdisk/projectX\"\n" "\n" msgstr "" " setenv WCDSCAN \"$HOME:/unidadeprojeto/projetoX\"\n" "\n" #. type: =item #: wcd.pod:1236 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1238 msgid "Specify filters with environment variable I. All directories that do not match the filter(s) are ignored. A list can be specified by separating filters by the shell path separator. Similar as specifying the I variable. The case sensitivity is mandated by the Operating system." msgstr "Especifique filtros com a variável de ambiente I. Todos os diretórios que não correspondem ao(s) filtro(s) são ignorados. Uma lista pode ser especificada separando filtros por meio do separador de caminho do shell. Similar a especificar a variável I. A diferenciação entre maiúsculo e minúsculo depende do sistema operacional." #. type: textblock #: wcd.pod:1244 wcd.pod:1269 msgid "An example for DOS, Windows, OS/2 Command Prompt:" msgstr "Um exemplo para Prompt de Comando do DOS, Windows e OS/2:" #. type: verbatim #: wcd.pod:1246 #, no-wrap msgid "" " set WCDFILTER=projects;doc\n" "\n" msgstr "" " set WCDFILTER=projetos;doc\n" "\n" #. type: verbatim #: wcd.pod:1250 #, no-wrap msgid "" " export WCDFILTER=\"projects:doc\"\n" "\n" msgstr "" " export WCDFILTER=\"projetos:doc\"\n" "\n" #. type: verbatim #: wcd.pod:1254 #, no-wrap msgid "" " setenv WCDFILTER \"projects:doc\"\n" "\n" msgstr "" " setenv WCDFILTER \"projetos:doc\"\n" "\n" #. type: =item #: wcd.pod:1256 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1258 msgid "The paths specified with environment I will be banned by wcd. See also option B<-b>. Specify a list of paths separated by shell I separator." msgstr "Os caminhos especificados com a variável de ambiente I serão banidos pelo wcd. Veja também a opção B<-b>. Especifique uma lista de caminhos separada por separador de I do shell." #. type: =item #: wcd.pod:1262 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1264 msgid "The paths specified with environment I will be excluded by wcd. See also options B<-x> and B<-xf>. Specify a list of paths separated by shell I separator." msgstr "Os caminhos especificados com ambiente I serão excluídos por wcd. Veja também as opções B<-x> e B<-xf>. Especifique uma lista de caminhos separada por separador de I do shell." #. type: verbatim #: wcd.pod:1271 #, no-wrap msgid "" " set WCDEXCLUDE=*/windows;*/temp;*CVS\n" "\n" msgstr "" " set WCDEXCLUDE=*/windows;*/temp;*CVS\n" "\n" #. type: verbatim #: wcd.pod:1275 #, no-wrap msgid "" " export WCDEXCLUDE=\"/dev:/tmp:*CVS\"\n" "\n" msgstr "" " export WCDEXCLUDE=\"/dev:/tmp:*CVS\"\n" "\n" #. type: verbatim #: wcd.pod:1279 #, no-wrap msgid "" " setenv WCDEXCLUDE \"/dev:/tmp:*CVS\"\n" "\n" msgstr "" " setenv WCDEXCLUDE \"/dev:/tmp:*CVS\"\n" "\n" #. type: =item #: wcd.pod:1281 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1283 msgid "Set the base of user's home directories. On DOS/Windows the default value is C<\\\\users>. On Unix/Cygwin the default value is C. This variable is used to scan treedata files of other users. See also options B<-u> and B<+u>. In verbose mode wcd will print all filters, bans and excludes. See option B<-v>." msgstr "Define a base de diretórios home do usuário. No DOS/Windows, o valor padrão é C<\\\\users>. No Unix/Cygwin, o valor padrão é C. Essa variável é usada para varrer arquivos de dados de árvore de outros usuários. Veja também a opção B<-u> e B<+u>. No modo verboso, wcd vai exibir todos os filtros, banimentos e exclusões. Veja a opção B<-v>." #. type: =item #: wcd.pod:1290 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1292 msgid "Wcd gives preference to I over the default stack file name (see section FILES). With this variable each shell (or used terminal emulator) can have its private stack of used directories." msgstr "Wcd dá preferência a I sobre o nome de arquivo de pilha padrão (veja a seção ARQUIVOS). Com essa variável, cada shell (ou emulador de terminal usado) pode ter sua pilha privada de diretórios usados." #. type: textblock #: wcd.pod:1296 msgid "To use a unique time based YYYYMMDD-HHMMSS file for each opened interactive shell." msgstr "Para usar um tempo único baseado no arquivo YYYYMMDD-HHMMSS para cada shell interativo aberto:" #. type: verbatim #: wcd.pod:1299 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)\n" "\n" msgstr "" " export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)\n" "\n" #. type: textblock #: wcd.pod:1301 msgid "For a stack per xterm(1), use the xterm I environment variable:" msgstr "Para uma pilha per xterm(1), use a variável de ambiente I do xterm:" #. type: verbatim #: wcd.pod:1303 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID\n" "\n" msgstr "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID\n" "\n" #. type: textblock #: wcd.pod:1305 msgid "For GNU screen(1), to use stack per screen:" msgstr "Para o GNU screen(1), para usar pilha por tela:" #. type: verbatim #: wcd.pod:1307 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW\n" "\n" msgstr "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW\n" "\n" #. type: =item #: wcd.pod:1309 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1311 msgid "If the environment variable I is defined, wcd with ncurses interface checks for a local terminal definition before checking in the standard place. This is useful if terminal definitions are not on a standard place. Often used standard places are C and C." msgstr "Se a variável de ambiente I for usada, wcd com interface ncurses verifica por uma definição de terminal local antes de verificar no lugar padrão. Isso é útil se as definições de terminal não estiverem um lugar padrão. Lugares padrões geralmente usados são C e C." #. type: =item #: wcd.pod:1317 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1319 msgid "Wcd with PDCurses interface recognizes the environment variable I. If this environment variable is set, PDCurses will take a copy of the contents of the screen at the time that wcd is started; when wcd exits, the screen will be restored. An example for Windows Command Prompt:" msgstr "Wcd com interface PDCurses reconhece a variável de ambiente I. Se essa variável de ambiente estiver definida, PDCurses vai levar uma cópia dos conteúdos da tela no momento em que wcd for iniciado; quando wcd sair, a tela será restaurada. Um exemplo para Prompt de Comando do Windows:" #. type: verbatim #: wcd.pod:1325 #, no-wrap msgid "" " set PDC_RESTORE_SCREEN=1\n" "\n" msgstr "" " set PDC_RESTORE_SCREEN=1\n" "\n" #. type: textblock #: wcd.pod:1327 msgid "Windows allows only a small buffer to be saved. So it is not always possible to restore everything. Some garbage data may be printed in the console after wcd exits if you have set a large buffer width." msgstr "Windows só permite salvar um buffer pequeno. Então, não é sempre possível restaurar tudo. Alguns dados inúteis podem ser emitidos no console após o wcd sair, se você definir uma largura grande de buffer." #. type: =item #: wcd.pod:1332 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1334 msgid "Printing of C<#!$SHELL> on the first line of the go-script for POSIX type shell or C shell is needed for 8 bit characters. Some shells otherwise think that the go-script is a binary file and will not source it. In Cygwin Bash the variable I must be set in environment using the C command, otherwise wcd can't read the variable." msgstr "Colocar do C<#!$SHELL> na primeira linha do go-script para o shell de tipo POSIX ou shell C é necessário para caracteres de 8 bits. Do contrário, alguns shells pensarão que o go-script é um arquivo binário e não o carregarão. No bash do Cygwin, a variável I deve ser definida usando o comando C; do contrário, wcd não consegue ler a variável." #. type: =item #: wcd.pod:1342 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1344 msgid "Wcd for DOS bash uses C<$BASH> instead of C<$SHELL>, because C<$SHELL> points to the DOS command shell. One may need to define C<$BASH> with an C command, otherwise wcd can't read the variable." msgstr "Wcd para bash do DOS usa C<$BASH> em vez de C<$SHELL>, pois C<$SHELL> aponta para o shell de comando do DOS. Pode ser necessário definir C<$BASH> com o comando C; do contrário, wcd não consegue ler a variável." #. type: =head1 #: wcd.pod:1351 msgid "SEE ALSO" msgstr "VEJA TAMBÉM" #. type: textblock #: wcd.pod:1353 msgid "sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1)," msgstr "sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1)," #. type: =head1 #: wcd.pod:1361 msgid "AUTHORS" msgstr "AUTORES" #. type: textblock #: wcd.pod:1363 msgid "Wcd was written by Erwin Waterlander " msgstr "Wcd foi escrito por Erwin Waterlander " #. type: textblock #: wcd.pod:1365 msgid "Project homepage: L" msgstr "Página do projeto: L" #. type: textblock #: wcd.pod:1368 msgid "SourceForge: L" msgstr "SourceForge: L" #. type: textblock #: wcd.pod:1371 msgid "The manual page formatting was provided by Jari Aalto ." msgstr "A formatação de página de manual foi fornecida por Jari Aalto ." #. type: textblock #: wcd.pod:1374 msgid "NCD was originally written by Brad Kingsbury for Peter Norton's \"Norton Utilities\" around 1987. See also L" msgstr "NCD foi escrito originalmente por Brad Kingsbury para \"Norton Utilities\" do Peter Norton por volta de 1987. Veja também L" wcd-6.0.3/src/po-man/uk.po0000644000175500010010000045356413524756523014536 0ustar waterlanGeen# Ukrainian translation of wcd-man # Copyright 2014 Erwin Waterlander (msgids) # This file is distributed under the same license as the wcd package. # # Yuri Chornoivan , 2014, 2016, 2017, 2019. msgid "" msgstr "" "Project-Id-Version: wcd-man-6.0.3-beta7\n" "POT-Creation-Date: 2019-01-11 20:02+0100\n" "PO-Revision-Date: 2019-01-14 16:37+0200\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\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" "X-Generator: Lokalize 18.12.0\n" #. type: =head1 #: wcd.pod:43 msgid "NAME" msgstr "НАЗВА" #. type: textblock #: wcd.pod:45 msgid "wcd - Wherever Change Directory" msgstr "wcd - довільна зміна каталогу (Wherever Change Directory)" #. type: textblock #: wcd.pod:47 msgid "chdir for DOS and Unix" msgstr "засіб для зміни каталогу (chdir) у DOS та Unix" #. type: =head1 #: wcd.pod:49 msgid "SYNOPSIS" msgstr "КОРОТКИЙ ОПИС" #. type: verbatim #: wcd.pod:51 #, no-wrap msgid "" " wcd [options] [directory]\n" "\n" msgstr "" " wcd [параметри] [каталог]\n" "\n" #. type: =head1 #: wcd.pod:53 msgid "DESCRIPTION" msgstr "ОПИС" #. type: =head2 #: wcd.pod:55 msgid "Overview" msgstr "Огляд" #. type: textblock #: wcd.pod:57 msgid "Wcd is a command-line program to change directory fast. It saves time typing at the keyboard. One needs to type only a part of a directory name and wcd will jump to it. Wcd has a fast selection method in case of multiple matches and allows aliasing and banning of directories. Wcd also includes a full screen interactive directory tree browser with speed search." msgstr "Wcd — програма, що керується з командного рядка і надає змогу швидко змінювати каталоги. Вона економить час на введенні даних з клавіатури. Достатньо ввести лише частину назву каталогу і wcd перейде до цього каталогу. У wcd передбачено можливості пришвидшення вибору потрібного варіанта з декількох, створення альтернативних назв каталогів та блокування каталогів. Крім того, у wcd ви зможете скористатися повноекранною інтерактивною навігацією деревом каталогів з швидким пошуком." #. type: textblock #: wcd.pod:63 msgid "Wcd was modeled after Norton Change Directory (NCD). NCD appeared first in I, for DOS in 1987, published by Peter Norton." msgstr "Ідеї wcd часткового запозичено з Norton Change Directory (NCD). Першу версію NCD у I для DOS було випущено 1987 року компанією Пітера Нортона (Peter Norton)." #. type: textblock #: wcd.pod:66 msgid "Wcd has been ported to different command-line shells: DOS command.com, Windows cmd.exe and PowerShell, OS/2 cmd.exe, and Unix shells such as Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh), and C (csh) shell and others running on any operating system." msgstr "Wcd було портовано на різні командні оболонки: command.com для DOS, cmd.exe та PowerShell для Windows, cmd.exe для OS/2 і командні оболонки Unix, зокрема Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh) та C (csh), а також інші оболонки, що працюють у будь-якій операційній системі." #. type: textblock #: wcd.pod:71 msgid "Wcd supports 8 bit character sets on all systems, and has optional support for Unicode. See section LOCALIZATION." msgstr "У Wcd передбачено підтримку 8-бітових наборів символів на усіх системах та додаткову підтримку Unicode. Докладніше про це у розділі «ЛОКАЛІЗАЦІЯ»." #. type: textblock #: wcd.pod:74 msgid "See section INSTALLATION how to setup wcd for personal use." msgstr "Щоб дізнатися більше про налаштовування wcd для особистого користування, зверніться до розділу «ВСТАНОВЛЕННЯ»." #. type: =head2 #: wcd.pod:76 msgid "Basic use" msgstr "Основні прийоми використання" #. type: textblock #: wcd.pod:78 msgid "By default (if no wildcards are used) wcd searches for a directory with a name that begins with the typed name." msgstr "Типово (якщо не використано символів-замінників), wcd шукає каталог, назва якого починається з введених вами символів." #. type: textblock #: wcd.pod:81 msgid "For instance this command will change to directory to the current user's C:" msgstr "Наприклад, вказана нижче команда змінить каталог на каталог поточного користувача C:" #. type: verbatim #: wcd.pod:84 #, no-wrap msgid "" " wcd Desk\n" "\n" msgstr "" " wcd Desk\n" "\n" #. type: textblock #: wcd.pod:86 msgid "When there are multiple matches, wcd will present the user a list of all matches. The user can then make a selection with a few keystrokes (most of the times only one)." msgstr "Якщо буде виявлено декілька відповідників, wcd покаже користувачеві список цих відповідників. Після цього користувач зможе вибрати потрібний варіант декількома натисканнями клавіш (найчастіше, достатньо одного натискання)." #. type: =head2 #: wcd.pod:90 msgid "Wildcards" msgstr "Шаблони-замінники" #. type: textblock #: wcd.pod:92 msgid "Wcd supports following wildcards:" msgstr "У wcd передбачено підтримку таких символів-замінників:" #. type: verbatim #: wcd.pod:94 #, no-wrap msgid "" " * matches any sequence of characters (zero or more)\n" " ? matches any character\n" " [SET] matches any character in the specified set,\n" " [!SET] or [^SET] matches any character not in the specified set.\n" "\n" msgstr "" " * відповідає будь-якій послідовності символів (нульової або більшої довжини)\n" " ? відповідає довільному символу\n" " [НАБІР] відповідає довільному символу з вказаного набору,\n" " [!НАБІР] або [^НАБІР] відповідає будь-якому символу, що не належить до вказаного набору.\n" "\n" #. type: textblock #: wcd.pod:99 msgid "A set is composed of characters or ranges; a range looks like I as in C<0-9> or C. The C<[0-9a-zA-Z_]> is the minimal set of characters allowed in the C<[..]> pattern construct. International characters (i.e. 8 bit characters) are allowed if the system supports them. To suppress the special syntactic significance of any of C<[]*?!^-\\> inside or outside a C<[..]> construct and match the character exactly, precede the character with a backslash (C<\\>) marker." msgstr "Набір символів може складатися з окремих символів або діапазонів символів. Діапазон слід вказувати так: I<символ дефіс символ>, наприклад, C<0-9> або C. Мінімальним набором символів у конструкції C<[..]> є C<[0-9a-zA-Z_]>. Можна використовувати символи з розширеного набору (тобто 8-бітові символи), якщо у системі передбачено підтримку цих символів. Щоб придушити використання символів з набору C<[]*?!^-\\> для побудови синтаксичних лексем у межах конструкцій C<[..]> тобто їхнього буквального використання, додавайте перед цими символами символ зворотної риски (C<\\>)." #. type: textblock #: wcd.pod:108 msgid "Using wildcards makes powerful searching possible. For instance this matches any directory name that ends with \"top\":" msgstr "Використання символів-замінників надає доступ до досить потужних можливостей з пошуку. Наприклад, за допомогою вказаного нижче виразу можна знайти будь-який каталог, назва якого завершується на «top»:" #. type: verbatim #: wcd.pod:111 #, no-wrap msgid "" " wcd *top\n" "\n" msgstr "" " wcd *top\n" "\n" #. type: textblock #: wcd.pod:113 msgid "Match directories that have \"top\" anywhere in the name:" msgstr "Знайти каталоги, у назві яких будь-де міститься частина «top»:" #. type: verbatim #: wcd.pod:115 #, no-wrap msgid "" " wcd *top*\n" "\n" msgstr "" " wcd *top*\n" "\n" #. type: textblock #: wcd.pod:117 msgid "Match any directory name that begins with \"a\", \"b\" or \"c\":" msgstr "Знайти будь-який каталог, назва якого починається з «a», «b» або «c»:" #. type: verbatim #: wcd.pod:119 #, no-wrap msgid "" " wcd [a-c]*\n" "\n" msgstr "" " wcd [a-c]*\n" "\n" #. type: textblock #: wcd.pod:121 msgid "It is also possible to give a part of a directory path. Here Wcd searches for directory that begins with \"Desk\" and which path matches I<*me/Desk*>." msgstr "Крім того, можна вказати частину шляху до каталогу. У наведеному нижче прикладі wcd шукатиме каталог, назва якого починається з «Desk», шлях якого відповідає шаблону I<*me/Desk*>." #. type: verbatim #: wcd.pod:124 #, no-wrap msgid "" " wcd me/Desk\n" "\n" msgstr "" " wcd me/Desk\n" "\n" #. type: textblock #: wcd.pod:126 msgid "It is allowed to type any kind of expression with slashes and wildcards. E.g.:" msgstr "Можна використовувати будь-який вираз, що містить риски та символи замінники. Приклад:" #. type: verbatim #: wcd.pod:129 #, no-wrap msgid "" " wcd src*/*1?/a*2\n" "\n" msgstr "" " wcd src*/*1?/a*2\n" "\n" #. type: =head2 #: wcd.pod:131 msgid "Other uses" msgstr "Інші варіанти використання" #. type: textblock #: wcd.pod:133 msgid "If no wildcards are used and wcd finds a perfect match, wcd will ignore all wild matches by default. This behaviour can be changed with the B<-w> option." msgstr "Якщо у виразі не використано символів-замінників, а wcd знаходить повний відповідник з вказаним шляхом і назвою, wcd типово проігнорує усі відповідники, які могло б бути знайдено з використанням символів-замінників. Типову поведінку програми можна змінити за допомогою параметра B<-w>." #. type: textblock #: wcd.pod:136 msgid "The interactive directory tree browser can be started by using option B<-g>." msgstr "Інтерактивний навігатор ієрархією каталогів можна запустити за допомогою параметра B<-g>." #. type: verbatim #: wcd.pod:138 #, no-wrap msgid "" " wcd -g\n" "\n" msgstr "" " wcd -g\n" "\n" #. type: textblock #: wcd.pod:140 msgid "Wcd generates a treedata file where it searches the directory. On Unix and Windows systems wcd does add symbolic links to the treedata file while scanning the disk, but does not follow them. While following links wcd could end up scanning infinite loops, or scan very large portions of a network." msgstr "Wcd створює файл даних ієрархії (treedata) у каталогах, звідки виконується пошук. У системах Unix та Windows wcd додає символічні посилання на файл treedata під час сканування диска, але не переходить за створеними посиланнями. Перехід за посиланнями може призвести до зациклювання wcd у ієрархії каталогів або сканування великих масивів каталогів у мережі." #. type: textblock #: wcd.pod:145 msgid "Wcd can also change to directories that are not in the treedata file. E.g.:" msgstr "Крім того, wcd може переходити до каталогів, яких немає у файлі treedata. Приклад:" #. type: verbatim #: wcd.pod:147 #, no-wrap msgid "" " wcd ..\n" "\n" msgstr "" " wcd ..\n" "\n" #. type: textblock #: wcd.pod:149 msgid "If wcd found a match but can't change to the directory it tries to remove it from the default treedata file. Not from the extra treedata file. See also option B<-k>." msgstr "Якщо wcd буде виявлено відповідник критерію пошуку, але програма не зможе перейти до цього каталогу, буде виконано спробу вилучення каталогу з типового файла treedata, але не з додаткового файла treedata. Див. також параметр B<-k>." #. type: textblock #: wcd.pod:153 msgid "Wcd keeps a directory stack which is stored on disk. The stack has a default size of 10 and is cyclic. See options B<-z>, B<->, B<+> and B<=>." msgstr "Wcd зберігає на диску стос переходів за каталогами. Типовим обсягом стосу є 10. Перехід стосом здійснюється циклічно. Див. параметри B<-z>, B<->, B<+> та B<=>." #. type: textblock #: wcd.pod:157 msgid "In multi-user environments option B<-u> can be used to change to directories of other users." msgstr "У середовищах з декількома користувачами для переходу до каталогів, що належать іншим користувачам, можна скористатися параметром B<-u>." #. type: textblock #: wcd.pod:161 msgid "On DOS and Windows systems it does not matter if you use a slash \"/\" or a backslash \"\\\" as a directory separator." msgstr "У операційних системах DOS і Windows можна використовувати як роздільник між каталогами як символ «/», так і символ «\\»." #. type: textblock #: wcd.pod:164 msgid "It is possible on DOS and Windows systems to change drive and directory in one go by preceding the directory name with the drive name." msgstr "У системах DOS та Windows передбачено можливість переходу до каталогу на іншому диску. Для цього достатньо перед назвою каталогу на диску вказати назву диска." #. type: verbatim #: wcd.pod:167 #, no-wrap msgid "" " wcd d:games\n" "\n" msgstr "" " wcd d:games\n" "\n" #. type: =head2 #: wcd.pod:171 msgid "Windows UNC paths" msgstr "Шляхи UNC Windows" #. type: textblock #: wcd.pod:173 msgid "The Windows versions (Command Prompt, PowerShell, MSYS, zsh, cygwin) support Windows SMB LAN UNC paths without drive letter such as C<\\\\servername\\sharename>. Wcd for Windows Command Prompt makes use of the \"pushd\" command to automatically map a UNC path to a drive letter. In Windows PowerShell, MSYS, zsh and Cygwin UNC paths are fully supported. The current working directory can be a UNC path." msgstr "У версіях для Windows (для командного рядка, PowerShell, MSYS, zsh, cygwin) передбачено підтримку шляхів UNC LAN Windows для SMB без літер дисків, наприклад C<\\\\назва_сервера\\назва_ресурсу>. У wcd для командного рядка Windows для автоматичного прив’язування шляху UNC до літери диска використовується команда «pushd». У In Windows PowerShell, MSYS, zsh та Cygwin передбачено повноцінну підтримку шляхів UNC. Шлях UNC може бути поточним робочим каталогом." #. type: =head2 #: wcd.pod:180 msgid "Console resizing on Windows" msgstr "Зміна розмірів вікна консолі у Windows" #. type: textblock #: wcd.pod:182 msgid "Wcd supports console resizing in Windows 10 console and ConEmu (see L) since version 6.0.3. The Windows 10 console must not be in legacy mode (check the console's properties). The screen may not refresh when the console Layout property \"Wrap text output on resize\" is disabled. The screen can be refreshed manually by pressing the F5 key." msgstr "У wcd передбачено можливість зміни розмірів вікна консолі у Windows 10 і ConEmu (див. L), починаючи з версії 6.0.3. Консоль Windows 10 має бути запущено не у застарілому режимі (перевірте це у властивостях консолі). Якщо властивість компонування вікна «Переносити текстове виведення при зміні розмірів» не увімкнено, вміст вікна може не оновлюватися. Оновити вміст вікна можна вручну натисканням клавіші F5." #. type: =head2 #: wcd.pod:189 msgid "Interfaces" msgstr "Інтерфейси" #. type: textblock #: wcd.pod:191 msgid "Wcd has three different interfaces to choose from a list of matches. The interface can be chosen at compile time." msgstr "У wcd передбачено три різні інтерфейси вибору потрібного варіанта зі списку відповідників. Інтерфейс можна вибрати під час збирання програми." #. type: textblock #: wcd.pod:194 msgid "The first interface uses plain stdin/stdout. A numbered list is printed in the terminal. The user has to choose from the list by typing a number followed by . This interface does not provide scroll back functionality in case of a long list. The scroll back capability of the terminal/console has to be used. It is very small and portable." msgstr "Першим інтерфейсом є звичайні інтерфейси введення та виведення (stdin/stdout). До термінала буде виведено нумерований список варіантів. Користувач зможе вибрати відповідний варіант введенням його номера з наступним натисканням клавіші . У цьому інтерфейсі не передбачено можливостей гортання для довгих списків. Для цього доведеться користуватися можливостями з гортання термінала або консолі. Код цього інтерфейсу доволі малий і портований." #. type: textblock #: wcd.pod:200 msgid "The second interface is built with the conio library. It provides a builtin scroll back capability. The user is presented a list numbered with letters. Choosing from a list can be done by pressing just one letter. This interface is fast because it saves keystrokes. If possible the screen will be restored after exiting. One who prefers to type numbers can use the B<-N> option." msgstr "Другий інтерфейс побудовано на основі бібліотеки conio. У ньому передбачено можливості гортання. Користувачу буде показано список з літерним позначенням пунктів. Для вибору пункту у списку достатньо натиснути клавішу з відповідною літерою. Цей інтерфейс працює швидше, оскільки треба натискати менше клавіш. Після вибору варіанта, якщо це можливо, зображення на екрані буде відновлено до стану перед показом варіантів. Якщо користувач надає перевагу цифровому позначенню пунктів, можна скористатися параметром B<-N>." #. type: textblock #: wcd.pod:207 msgid "The third interface is built with the curses library. It is similar to the conio interface. The curses version of wcd has also an additional 'graphical' interface. It lets the user select a directory via a full screen interactive directory tree browser. It has a vim(1) like navigation and search method. It can be activated with option B<-g>." msgstr "Третій інтерфейс побудовано на основі бібліотеки curses. Він подібний до інтерфейсу на основі conio. Версія wcd на основі curses має додатковий «графічний» інтерфейс. За його допомогою користувач зможе вибрати каталог у повноекранному інтерактивному навігаторі ієрархією каталогів. Передбачено навігацію та пошук у стилі vim(1). Задіяти цей інтерфейс можна за допомогою параметра B<-g>." #. type: textblock #: wcd.pod:213 msgid "By using the B<-o> option one can always fall back to the stdin/stdout interface." msgstr "За допомогою параметра командного рядка B<-o> програму можна завжди перевести до стандартного інтерфейсу stdin/stdout." #. type: =head1 #: wcd.pod:216 msgid "OPTIONS" msgstr "ПАРАМЕТРИ" #. type: =item #: wcd.pod:220 msgid "B<-a>" msgstr "B<-a>" #. type: textblock #: wcd.pod:222 msgid "Add current path to the default treedata file." msgstr "Додати поточний шлях до типового файла ієрархії." #. type: textblock #: wcd.pod:224 msgid "Use this option to quickly add the current path to the default treedata file. Re-scanning the complete disk can take a long time in some cases." msgstr "За допомогою цього параметра можна швидко додати поточний шлях до типового файла ієрархії каталогів. Повторне сканування усього диска у певних випадках може бути досить тривалою справою." #. type: =item #: wcd.pod:227 msgid "B<-aa>" msgstr "B<-aa>" #. type: textblock #: wcd.pod:229 msgid "Add current and all parent paths to the default treedata file." msgstr "Додати поточний і усі батьківські шляхи до типового файла ієрархії каталогів (treedata)." #. type: =item #: wcd.pod:231 msgid "B<-A PATH>" msgstr "B<-A ШЛЯХ>" #. type: textblock #: wcd.pod:233 msgid "Scan directory tree from I and append to the default treedata file. Examples:" msgstr "Сканувати ієрархію каталогів, починаючи з каталогу I<ШЛЯХ>, і дописати усі виявлені каталоги до файла ієрархії каталогів (treedata). Приклади:" #. type: verbatim #: wcd.pod:236 #, no-wrap msgid "" " wcd -A .\n" " wcd -A /home -A /etc\n" " wcd -A d: -A e: -A \\\\server\\share\n" "\n" msgstr "" " wcd -A .\n" " wcd -A /home -A /etc\n" " wcd -A d: -A e: -A \\\\server\\share\n" "\n" #. type: textblock #: wcd.pod:240 msgid "On Windows one can scan all shared directories of a Windows LAN server by typing something like: C." msgstr "У Windows можна виконати сканування усіх каталогів спільного використання на сервері локальної мережі Windows за допомогою такої команди: C." #. type: textblock #: wcd.pod:244 msgid "See also option B<-S> and B<-s> and B<-E>." msgstr "Див. також параметри B<-S>, B<-s> та B<-E>." #. type: =item #: wcd.pod:246 msgid "B<-b>" msgstr "B<-b>" #. type: textblock #: wcd.pod:248 msgid "Ban current path." msgstr "Заблокувати поточний шлях." #. type: textblock #: wcd.pod:250 msgid "Wcd places the current path in the ban file. This means that wcd ignores all matches of this directory and its sub directories." msgstr "Wcd додає поточний шлях до файла блокування. Це означає, що wcd ігноруватиме усі відповідники з поточного каталогу і усіх його підкаталогів." #. type: textblock #: wcd.pod:253 msgid "The ban file can be edited with a text editor. Use of wildcards is supported and names are matched against the absolute path." msgstr "Файл блокувань (ban) можна редагувати у текстовому редакторі. Передбачено підтримку символів-замінників. Відповідність назв встановлюється за абсолютними шляхами." #. type: textblock #: wcd.pod:256 msgid "Banned paths are not excluded from scanning the disk. To do that use option B<-xf>." msgstr "Заблоковані шляхи не виключаються зі шляхів сканування диска. Щоб виключити заблоковані шляхи, скористайтеся параметром B<-xf>." #. type: =item #: wcd.pod:259 msgid "B<-c, --direct-cd>" msgstr "B<-c, --direct-cd>" #. type: textblock #: wcd.pod:261 msgid "Direct CD mode. By default wcd works as follows:" msgstr "Безпосередній режим CD. Типово, wcd працює так:" #. type: verbatim #: wcd.pod:263 #, no-wrap msgid "" " 1. Try to find a match in the treedata file(s)\n" " 2. If no match, try to open the directory you typed.\n" "\n" msgstr "" " 1. Спробувати знайти відповідник у файлах ієрархії (treedata).\n" " 2. Якщо нічого не знайдено, спробувати відкрити каталог, назву якого було введено.\n" "\n" #. type: textblock #: wcd.pod:266 msgid "In direct CD mode wcd works in reversed order." msgstr "У безпосередньому режимі CD wcd виконує обробку запиту у зворотному порядку." #. type: verbatim #: wcd.pod:268 #, no-wrap msgid "" " 1. Try to open the directory you typed.\n" " 2. If not, try to find a match in the treedata file(s).\n" "\n" msgstr "" " 1. Cпробувати відкрити каталог, назву якого було введено.\n" " 2. Якщо не вдалося, знайти відповідник у файлах ієрархії (treedata).\n" "\n" #. type: =item #: wcd.pod:272 msgid "B<-d DRIVE>" msgstr "B<-d ДИСК>" #. type: textblock #: wcd.pod:274 msgid "Set drive for stack and go file (DOS only)." msgstr "Встановити диск для файла стосу і переходу (лише для DOS)." #. type: textblock #: wcd.pod:276 msgid "The stack file and the go-script are by default stored on drive C: if environment variable I is not set. Use this option if drive C: is a read-only drive. This option must be used in front of the stack options B<->, B<+> and B<=>." msgstr "Типово, файл стосу та скрипт переходу зберігаються на диску C:, якщо не встановлено значення змінної середовища I. Цим параметром можна скористатися, якщо диск C: захищено від запису. Цей параметр слід вказувати перед параметрами роботи зі стосом B<->, B<+> та B<=>." #. type: =item #: wcd.pod:281 msgid "B<-e>" msgstr "B<-e>" #. type: textblock #: wcd.pod:283 msgid "Add current path to the extra treedata file." msgstr "Додати поточний шлях до додаткового файла ієрархії." #. type: textblock #: wcd.pod:285 msgid "Use this option to quickly add the current path to the extra treedata file." msgstr "За допомогою цього параметр можна швидко додати поточний шлях до додаткового файла ієрархії." #. type: =item #: wcd.pod:287 msgid "B<-ee>" msgstr "B<-ee>" #. type: textblock #: wcd.pod:289 msgid "Add current and all parent paths to extra treedata file." msgstr "Додати поточний і усі батьківські шляхи до додаткового файла ієрархії каталогів (treedata)." #. type: =item #: wcd.pod:291 msgid "B<-E PATH>" msgstr "B<-E ШЛЯХ>" #. type: textblock #: wcd.pod:293 msgid "Scan directory tree from I and append to Extra treedata file. See also options B<-A> and B<-S>." msgstr "Сканувати ієрархію каталогів, починаючи з каталогу I<ШЛЯХ>, і дописати усі виявлені каталоги до додаткового файла ієрархії каталогів (treedata). Див. також параметри B<-A> та B<-S>." #. type: =item #: wcd.pod:296 msgid "B<-f FILE>" msgstr "B<-f ФАЙЛ>" #. type: textblock #: wcd.pod:298 msgid "Read treedata file I. Do not read the default treedata file." msgstr "Прочитати файл даних ієрархії каталогів I<ФАЙЛ>. Не виконувати читання з типового файла ієрархії каталогів." #. type: =item #: wcd.pod:300 msgid "B<+f FILE>" msgstr "B<+f ФАЙЛ>" #. type: textblock #: wcd.pod:302 msgid "Read treedata file I in addition to the default treedata file." msgstr "Прочитати дані з файла ієрархії каталогів I<ФАЙЛ> на додачу до даних з типового файла даних ієрархії каталогів." #. type: =item #: wcd.pod:304 msgid "B<-g>" msgstr "B<-g>" #. type: textblock #: wcd.pod:306 msgid "Graphical interface (only in version with curses interface)." msgstr "Графічний інтерфейс (лише у версії з інтерфейсом на основі curses)." #. type: textblock #: wcd.pod:308 msgid "Wcd starts a textual curses based 'graphical' interface. The user can select a directory via a full-screen interactive directory tree browser. It has a vim(1) like navigation and search method." msgstr "Wcd запускає текстовий «графічний» інтерфейс на основі curses. Користувач може вибрати каталог за допомогою повноекранного інтерактивного навігатора ієрархією каталогів. Передбачено навігацію і пошук у стилі vim(1)." #. type: textblock #: wcd.pod:312 msgid "If no search string is given wcd presents the whole tree which is in the default treedata file and the extra treedata files." msgstr "Якщо рядок пошуку не вказано, wcd показує усю ієрархію каталогів з типового та додаткового файлів даних ієрархії." #. type: textblock #: wcd.pod:315 msgid "If a search string is given the match list is presented as a directory tree." msgstr "Якщо рядок пошуку вказано, список відповідників буде показано як ієрархію каталогів." #. type: textblock #: wcd.pod:318 msgid "The default tree layout is similar to the tree layout of the original NCD on DOS. The difference in layout is that in NCD all directories of a same depth level were vertically aligned over the whole tree. This was possible in NCD, because the maximum width of a directory name in DOS was 12 (8.3) characters. On modern operating systems directory names can be very long, so also the differences in length can be large. Therefore folders with a same depth are not vertically aligned over the whole tree in wcd, but only in sub-branches. So there is some sideways movement when moving straight up and down from one sub-branch to another sub-branch." msgstr "Типове компонування ієрархії подібне до компонування каталогів у початковій версії NCD у DOS. Різниця у компонуванні полягає у тому, що у NCD усі каталоги одного рівня було вирівняно однаковим відступом у всьому дереві. Це було можливим у NCD, оскільки максимальна довжина назви каталогу у DOS дорівнювала 12 (8.3) символам. У сучасних операційних системах назви каталогів можуть бути дуже довгими і різниця у довжинах може бути дуже великою. Тому теки однакового рівня вкладеності не вирівняно за однією лінією за усією ієрархією каталогів у wcd, а лише за гілками ієрархії. Отже, під час руху вгору-вниз ієрархією каталогів користувач спостерігатиме за зсувами списку у різні боки." #. type: textblock #: wcd.pod:328 msgid "The navigation behaviour in Wcd is exactly the same as in the original NCD. For instance if you push the Down key you go down to the next directory with the same depth level, jumping over branches. This enables fast navigation through the tree." msgstr "Навігаційна поведінка у wcd абсолютно збігається з початковою версією NCD. Наприклад, якщо ви натиснете клавішу зі стрілкою вниз, ви перейдете до наступного каталогу з тим самим рівнем вкладеності, переходячи гілками ієрархії. Це пришвидшує навігацію ієрархією каталогів." #. type: textblock #: wcd.pod:333 msgid "See options B<-Ta>, B<-TC>, and B<-Tc> to change the navigation behaviour." msgstr "Поведінку засобу навігації можна змінити за допомогою параметрів B<-Ta>, B<-TC> та B<-Tc>." #. type: =item #: wcd.pod:335 msgid "B<-gd>" msgstr "B<-gd>" #. type: textblock #: wcd.pod:337 msgid "Dump the treedata files as a tree to stdout." msgstr "Створити дамп файлів ієрархії каталогів (treedata) і вивести дані до стандартного виведення (stdout)." #. type: =item #: wcd.pod:339 msgid "B<-G PATH>" msgstr "B<-G ШЛЯХ>" #. type: textblock #: wcd.pod:341 msgid "Write go-script in directory I. For instance on Unix, C will write a go-script B." msgstr "Записати скрипт переходу у каталозі I<ШЛЯХ>. Наприклад, у Unix, C призведе до запису скрипту переходу до B<ШЛЯХ/wcd.go>." #. type: =item #: wcd.pod:344 msgid "B<-GN, --no-go-script>" msgstr "B<-GN, --no-go-script>" #. type: textblock #: wcd.pod:346 msgid "Do not create go-script. This option can be used in combination with the option B<-j> if one does not want wcd to create a go-script." msgstr "Не створювати скрипт переходу. Цим параметром можна скористатися у поєднанні з параметром B<-j>, якщо з якихось причин створення wcd скрипту переходу є небажаним." #. type: =item #: wcd.pod:349 msgid "B<-h, --help>" msgstr "B<-h, --help>" #. type: textblock #: wcd.pod:351 msgid "Show help and exit." msgstr "Показати довідку щодо використання і завершити роботу." #. type: =item #: wcd.pod:353 msgid "B<-i, --ignore-case>" msgstr "B<-i, --ignore-case>" #. type: textblock #: wcd.pod:355 msgid "Ignore case. Dos and Windows versions of wcd ignore case default. Unix/Cygwin versions regard case by default." msgstr "Ігнорувати регістр символів. У версіях wcd для DOS та Windows така поведінка є типовою. У версіях для Unix/Cygwin регістр типово враховується." #. type: =item #: wcd.pod:359 msgid "B<+i, --no-ignore-case>" msgstr "B<+i, --no-ignore-case>" #. type: textblock #: wcd.pod:361 msgid "Regard case. See also option B<-i>." msgstr "Брати до уваги регістр символів. Див. також параметр B<-i>." #. type: =item #: wcd.pod:363 msgid "B<-I, --ignore-diacritics>" msgstr "B<-I, --ignore-diacritics>" #. type: textblock #: wcd.pod:365 msgid "Ignore diacritics for Latin-based scripts. Letters with diacritical marks match their base letter without diacritical mark. The following Latin encodings are supported: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2, and Unicode Latin-1, Latin Extended-A, and Latin Extended-B. See also L" msgstr "Ігнорувати діакритичні знаки для писемностей на основі латиниці. Програма вважатиме літери з діакритичними знаками еквівалентними до їхніх відповідників без діакритичних знаків. Передбачено підтримку таких кодувань латиниці: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, ISO-8859-2 та Unicode Latin-1, Latin Extended-A, а також Latin Extended-B. Див. також L" #. type: =item #: wcd.pod:372 msgid "B<+I, --no-ignore-diacritics>" msgstr "B<+I, --no-ignore-diacritics>" #. type: textblock #: wcd.pod:374 msgid "Regard diacritics (default). See also option B<-I>." msgstr "Брати до уваги діакритичні позначки (типово). Див. також параметр B<-I>." #. type: =item #: wcd.pod:376 msgid "B<-j, --just-go>" msgstr "B<-j, --just-go>" #. type: textblock #: wcd.pod:378 msgid "Just go mode." msgstr "Режим простого переходу." #. type: textblock #: wcd.pod:380 msgid "In this mode wcd will not present a list when there is more than one directory that matches the given directory. Wcd will just change to the first option. When wcd is invoked again with the same arguments it will change to the next option, and so on." msgstr "У цьому режимі wcd не показуватиме списку, якщо для вказаної назви буде знайдено декілька відповідників. Wcd просто перейде до першого ж відповідника. Якщо wcd буде викликано знову з тими самими аргументами, програма змінить каталог на наступний пункт у списку тощо." #. type: textblock #: wcd.pod:385 msgid "Wcd will print the directory to go to to stdout. So a different installation method can be used. One could make the following function for a POSIX compatible shell:" msgstr "Wcd виведе назву каталогу, що якого переходитиме до стандартного виведення (stdout). Отже можна скористатися декількома способами встановлення. Можна створити таку функцію для сумісної з POSIX командної оболонки:" #. type: verbatim #: wcd.pod:389 #, no-wrap msgid "" " wcd ()\n" " {\n" " cd \"$($HOME/bin/wcd.exe -j $@)\"\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " cd \"$($HOME/bin/wcd.exe -j $@)\"\n" " }\n" "\n" #. type: textblock #: wcd.pod:394 msgid "When you are using an old shell that doesn't support \"$()\" command substitution you have to use old style command substitution with back-quotes." msgstr "Якщо ви користуєтеся застарілою командною оболонкою, у якій не передбачено підтримки заміни команди «$()», вам доведеться скористатися підставлянням команди у застарілому стилі з одинарними відкривними лапками." #. type: verbatim #: wcd.pod:397 #, no-wrap msgid "" " wcd ()\n" " {\n" " cd \"`$HOME/bin/wcd.exe -j $@`\"\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " cd \"`$HOME/bin/wcd.exe -j $@`\"\n" " }\n" "\n" #. type: textblock #: wcd.pod:403 msgid "On Windows systems, if one is running 4NT shell, one could make the following alias:" msgstr "У системах Windows, якщо використано командну оболонку 4NT, можна створити такі альтернативні назви:" #. type: verbatim #: wcd.pod:406 #, no-wrap msgid "" " alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`\n" "\n" msgstr "" " alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`\n" "\n" #. type: textblock #: wcd.pod:409 msgid "This method eliminates the need of the go-script, so one can use option B<-GN> in combination with B<-j>." msgstr "Подібний метод усуває потребу у скрипті переходу, отже, параметр B<-j> можна використати у поєднанні з параметром B<-GN>." #. type: =item #: wcd.pod:412 msgid "B<-k, --keep-paths>" msgstr "B<-k, --keep-paths>" #. type: textblock #: wcd.pod:414 msgid "Keep paths." msgstr "Зберігати шляхи." #. type: textblock #: wcd.pod:416 msgid "Keep paths in the treedata file when wcd can't change to them. The default behaviour of wcd is that it tries to remove paths from the treedata when wcd can't change to them. With this option this behavior is turned off." msgstr "Зберігати шляхи до файла даних ієрархії каталогів, якщо wcd не може перейти до відповідного каталогу. Типовою поведінкою програми є вилучення шляхів з файла даних ієрархії, якщо wcd не може перейти до відповідного каталогу. Якщо буде використано цей параметр, програма не вилучатиме відповідних записів каталогів." #. type: =item #: wcd.pod:420 msgid "B<-K, --color>" msgstr "B<-K, --color>" #. type: textblock #: wcd.pod:422 msgid "Use colors in graphical mode." msgstr "Використовувати кольори у графічному режимі." #. type: =item #: wcd.pod:424 msgid "B<-l ALIAS>" msgstr "B<-l АЛЬТЕРНАТИВНА НАЗВА>" #. type: textblock #: wcd.pod:426 msgid "Name the current path with I. Wcd places the current path with alias I in the alias file. Aliases are case sensitive." msgstr "Надати поточному шляху альтернативну назву I<АЛЬТЕРНАТИВНА НАЗВА>. Wcd запише поточний шлях з його альтернативною назвою до файла альтернативних назв. Альтернативні назви з різним регістром символів вважаються різними." #. type: =item #: wcd.pod:429 msgid "B<-ls>" msgstr "B<-ls>" #. type: textblock #: wcd.pod:431 msgid "Show the name of the alias file, and list all the aliases." msgstr "Показати назву файла псевдонімів і вивести список усіх альтернативних назв (псевдонімів)." #. type: =item #: wcd.pod:433 msgid "B<-m DIR>" msgstr "B<-m КАТАЛОГ>" #. type: textblock #: wcd.pod:435 msgid "Make directory and add to treedata file." msgstr "Створити каталог і додати його до файла даних ієрархії." #. type: =item #: wcd.pod:437 msgid "B<-L, --license>" msgstr "B<-L, --license>" #. type: textblock #: wcd.pod:439 msgid "Print the distribution license." msgstr "Вивести дані щодо умов ліцензування." #. type: =item #: wcd.pod:441 msgid "B<-M DIR>" msgstr "B<-M КАТАЛОГ>" #. type: textblock #: wcd.pod:443 msgid "Make directory and add to extra treedata file." msgstr "Створити каталог і додати його до додаткового файла даних ієрархії." #. type: =item #: wcd.pod:445 msgid "B<-n PATH>" msgstr "B<-n ШЛЯХ>" #. type: textblock #: wcd.pod:447 msgid "Read relative treedata file from I." msgstr "Прочитати відносний файл даних ієрархії каталогів з каталогу I<ШЛЯХ>." #. type: textblock #: wcd.pod:449 msgid "Do not read the default treedata file. The relative treedata file should already have been created using the wcd B<+S> option. I may also point to a file directly." msgstr "Не виконувати читання з типового файла даних ієрархії каталогів. Файл даних відносних шляхів до каталогів має бути вже створено за допомогою параметра wcd B<+S>. Крім того, I<ШЛЯХ> може безпосередньо вказувати на файл." #. type: textblock #: wcd.pod:453 msgid "An example. Suppose another system has been mounted to mount point C:" msgstr "Приклад. Припустімо, що іншу систему змонтовано до точки монтування C:" #. type: verbatim #: wcd.pod:456 #, no-wrap msgid "" " wcd -n /mnt/network src\n" "\n" msgstr "" " wcd -n /mnt/network src\n" "\n" #. type: textblock #: wcd.pod:458 msgid "Wcd opens the relative treedata file in C. The file contains the paths relative from that point." msgstr "Wcd відкриває файл даних відносних шляхів до каталогів у C. У цьому файлі містяться шляхи відносно відповідного каталогу." #. type: =item #: wcd.pod:461 msgid "B<+n PATH>" msgstr "B<+n ШЛЯХ>" #. type: textblock #: wcd.pod:463 msgid "Read relative treedata file in addition to the default treedata file. See option B<-n>." msgstr "Прочитати дані з файла даних відносної ієрархії каталогів на додачу до даних з типового файла даних ієрархії каталогів. Див. параметр B<-n>." #. type: =item #: wcd.pod:466 msgid "B<-N, --numbers>" msgstr "B<-N, --numbers>" #. type: textblock #: wcd.pod:468 msgid "Use numbers instead of letters." msgstr "Використовувати числа замість літер." #. type: textblock #: wcd.pod:470 msgid "Wcd with a conio or curses based interface (see section Interfaces) presents a match list by default numbered with letters. When the B<-N> option is used the match list is numbered with numbers. Regardless of the B<-N> option one can type a letter or numbers to make a selection from the list of matches." msgstr "Wcd з інтерфейсом на основі conio або curses (див. розділ щодо інтерфейсів) типово показує список варіантів з пунктами, позначеними літерами. Якщо використано параметр B<-N>, пункти у списку буде пронумеровано. Незалежно дві параметра B<-N>, користувач може натиснути клавішу з літерою або номером для вибору пункту зі списку відповідників." #. type: =item #: wcd.pod:475 msgid "B<-o>" msgstr "B<-o>" #. type: textblock #: wcd.pod:477 msgid "Use stdin/stdout interface." msgstr "Використовувати інтерфейс stdin/stdout." #. type: textblock #: wcd.pod:479 msgid "When for some kind of reason the conio or curses interface of wcd does not work one can fall back to the stdin/stdout interface of wcd by using the B<-o> option." msgstr "Якщо з певних причин інтерфейсом на основі conio або curses у wcd не можна або не бажано користуватися, користувач може перемкнути програму на інтерфейс stdin/stdout за допомогою параметра B<-o>." #. type: =item #: wcd.pod:483 msgid "B<-od, --to-stdout>" msgstr "B<-od, --to-stdout>" #. type: textblock #: wcd.pod:485 msgid "Dump all matches to stdout." msgstr "Вивести усі відповідники до stdout." #. type: =item #: wcd.pod:487 msgid "B<-q, --quiet>" msgstr "B<-q, --quiet>" #. type: textblock #: wcd.pod:489 msgid "Quieter operation. Printing of the final match is suppressed." msgstr "Менше повідомлень. Останній відповідник не виводиться до консолі." #. type: =item #: wcd.pod:491 msgid "B<-r DIR>" msgstr "B<-r КАТАЛОГ>" #. type: textblock #: wcd.pod:493 msgid "Remove directory and remove from the treedata file." msgstr "Вилучити каталог і відповідний запис з файла даних ієрархії каталогів." #. type: textblock #: wcd.pod:495 msgid "If the directory is empty, wcd will remove it, and try to remove it from the treedata file." msgstr "Якщо каталог є порожнім, wcd вилучить його і спробує вилучити відповідний запис з файла даних ієрархії каталогів." #. type: =item #: wcd.pod:498 msgid "B<-rmtree DIR>" msgstr "B<-rmtree КАТАЛОГ>" #. type: textblock #: wcd.pod:500 msgid "Recursively remove directory and remove from the treedata file." msgstr "Рекурсивно вилучити каталог і відповідні записи з файла даних ієрархії каталогів." #. type: textblock #: wcd.pod:502 msgid "Wcd will remove the directory and all its sub directories and files, and remove the directories from the treedata file." msgstr "Wcd вилучить каталог та усі його підкаталоги та файли і витре записи відповідних каталогів з файла даних ієрархії каталогів." #. type: =item #: wcd.pod:505 msgid "B<-s>" msgstr "B<-s>" #. type: textblock #: wcd.pod:507 msgid "(re)Scan disk from C<$HOME> directory. If I is not defined the disk is scanned from root directory /." msgstr "Виконати сканування або повторне сканування диска, починаючи з каталогу I<$HOME>. Якщо значення змінної HOME не визначено, сканування диска виконуватиметься, починаючи з кореневого каталогу, /." #. type: textblock #: wcd.pod:510 msgid "The existing default treedata file is overwritten." msgstr "Наявний типовий файл даних ієрархії каталогів буде перезаписано." #. type: textblock #: wcd.pod:512 msgid "The default scan directory can be overruled with environment variable C. See section ENVIRONMENT VARIABLES." msgstr "Типовий каталог сканування можна перевизначити за допомогою змінної середовища C. Див. розділ «ЗМІННІ СЕРЕДОВИЩА»." #. type: =item #: wcd.pod:515 msgid "B<-S PATH>" msgstr "B<-S ШЛЯХ>" #. type: textblock #: wcd.pod:517 msgid "Scan directory tree from I and overwrite the default treedata file. See also options B<-A>, B<-s> and B<-E>. E.g. with option B<-A> you can create a default treedata file of your choice. Examples:" msgstr "Виконати сканування ієрархії каталогів, починаючи з каталогу I<ШЛЯХ>, і перезаписати типовий файл даних ієрархії каталогів. Див. також параметри B<-A>, B<-s> та B<-E>. Наприклад, з параметром B<-A> ви можете створити типовий файл даних ієрархії каталогів за вашим вибором. Приклади:" #. type: textblock #: wcd.pod:521 msgid "Unix:" msgstr "Unix:" #. type: verbatim #: wcd.pod:523 #, no-wrap msgid "" " wcd -S /\n" " wcd -S /home -A /etc -A /usr\n" "\n" msgstr "" " wcd -S /\n" " wcd -S /home -A /etc -A /usr\n" "\n" #. type: textblock #: wcd.pod:526 msgid "DOS/Windows:" msgstr "DOS/Windows:" #. type: verbatim #: wcd.pod:528 #, no-wrap msgid "" " wcd -S c:/\n" " wcd -S c: -A d: -A \\\\server\\share\n" "\n" msgstr "" " wcd -S c:/\n" " wcd -S c: -A d: -A \\\\server\\share\n" "\n" #. type: textblock #: wcd.pod:531 msgid "With the Windows versions one can scan all shared directories of a Windows LAN server by typing something like: C." msgstr "У версіях для Windows можна виконати сканування усіх каталогів спільного використання на сервері локальної мережі Windows за допомогою такої команди: C." #. type: =item #: wcd.pod:535 msgid "B<+S PATH>" msgstr "B<+S ШЛЯХ>" #. type: textblock #: wcd.pod:537 msgid "Scan disk from I and place relative paths in a relative treedata file. This file is used by the B<-n> and B<+n> options of wcd. E.g. C." msgstr "Сканувати диск, починаючи з каталогу I<ШЛЯХ>, і замінити відносні шляхи у файлі даних відносної ієрархії каталогів. Цей файл використовується, якщо додано параметри B<-n> і B<+n>. Приклад: C." #. type: =item #: wcd.pod:541 msgid "B<-t>" msgstr "B<-t>" #. type: textblock #: wcd.pod:543 msgid "Do not strip tmp mount dir C (Unix only)" msgstr "Не вилучати із записів рядок тимчасового каталогу монтування, C (лише у Unix)" #. type: textblock #: wcd.pod:545 msgid "Wcd strips by default C from the match. Directory C is used by the auto-mounter. This behaviour can be turned off with the B<-t> option." msgstr "Типово, wcd вилучає C з відповідників. Каталог C використовується засобом автоматичного монтування. Таку обробку можна вимкнути за допомогою параметра B<-t>." #. type: =item #: wcd.pod:549 msgid "B<-T, --ascii-tree>" msgstr "B<-T, --ascii-tree>" #. type: textblock #: wcd.pod:551 msgid "Draw tree with ASCII characters. Use this option if line drawing characters are not displayed properly in your terminal." msgstr "Малювати ієрархію за допомогою символів ASCII. Скористайтеся цим параметром, якщо символи малювання ліній у терміналі буде показано з помилками." #. type: =item #: wcd.pod:554 msgid "B<-Ta, --alt-tree-nav>" msgstr "B<-Ta, --alt-tree-nav>" #. type: textblock #: wcd.pod:556 msgid "Alternative way of navigation in the graphical tree." msgstr "Альтернативний режим навігації у форматі графічної ієрархії каталогів." #. type: textblock #: wcd.pod:558 msgid "In the default NCD style tree layout the B<-Ta> option disables jumping to unrelated directories." msgstr "У типовому режимі компонування ієрархії у стилі NCD параметр B<-Ta> вимикає перехід до непов’язаних каталогів." #. type: textblock #: wcd.pod:561 msgid "In compact tree mode the alternative mode makes navigation similar to navigation in GUI file managers such as Windows Explorer or Linux KDE Konqueror. Pressing Up and Down moves the selected folder one line up or down. Pressing Left first folds the sub-folders and the next move left moves really left." msgstr "У режимі компактної ієрархії альтернативний режим робить навігацію подібною до навігації у програмах для керування файлами з графічним інтерфейсом, зокрема Провіднику Windows або KDE Konqueror у Linux. Натискання клавіш зі стрілками вгору і вниз пересуває позначення теки на один рядок вгору або вниз. Першим натисканням клавіші зі стрілкою ліворуч можна згорнути підтеки, наступне натискання — перехід ліворуч." #. type: textblock #: wcd.pod:567 msgid "You can switch on-the-fly between default and alternative navigation by pressing ." msgstr "Перемкнутися між режимами типової і альтернативної навігації без перезапуску програми можна за допомогою натискання комбінації клавіш Shift-A." #. type: textblock #: wcd.pod:570 msgid "When alternative navigation mode is on, you will see an \"A\" in the lower right corner." msgstr "Якщо увімкнено режим альтернативної навігації, у нижньому правому куті екрана ви побачите літеру «A»." #. type: =item #: wcd.pod:572 msgid "B<-TC, --center-tree>" msgstr "B<-TC, --center-tree>" #. type: textblock #: wcd.pod:574 msgid "Centered view in the graphical tree. The selected directory stays in the middle of the screen. The centered mode can also be switched on and off with key in the graphical tree." msgstr "Центрований режим перегляду у графічній ієрархії. Позначений каталог залишається посередині екрана. Центрований режим можна увімкнути або вимкнути за допомогою натискання клавіші «t» у режимі графічної ієрархії." #. type: textblock #: wcd.pod:578 msgid "The standard non-centered behaviour, which minimises tree movement, is the same as in the original NCD." msgstr "Стандартний нецентрований режим, який мінімізує рух самої ієрархії на екрані, аналогічний до оригінального режиму NCD." #. type: =item #: wcd.pod:581 msgid "B<-Tc, --compact-tree>" msgstr "B<-Tc, --compact-tree>" #. type: textblock #: wcd.pod:583 msgid "By default the 'graphical' tree is drawn the same way as the original NCD on DOS did it. On DOS a directory path could only be 66 characters in total. With the deep directory structures of today the tree can become very wide. To overcome this wcd can draw the tree in a compact way, similar to most GUI file managers, with only one folder per line. Use option B<-Tc> or switch on-the-fly with the key." msgstr "Типово, «графічну» ієрархію буде намальовано у той самий спосіб, як це робила початкова версія NCD для DOS. У DOS шлях до каталогу може складатися не більше ніж з 66 символів. Використання сучасної структури каталогів, без обмежень на довжину шляхів, може призвести до значного перевищення ширини ієрархії. Щоб подолати ці труднощі, wcd може малювати ієрархію каталогів у компактному форматі, подібному до формату більшості програм для керування файлами з графічним інтерфейсом, по одній теці на рядок. Увімкнути відповідний режим можна за допомогою параметра B<-Tc> або перемикання натисканням клавіші «m»." #. type: =item #: wcd.pod:590 msgid "B<-Td, --cjk-width>" msgstr "B<-Td, --cjk-width>" #. type: textblock #: wcd.pod:592 msgid "Legacy East-Asian CJK (Chinese, Japanese, and Korean) fonts have certain characters and line drawing symbols with a column width of 2, while the normal Unicode width for these characters is 1 column. For instance the Chinese CP936 raster font on Windows and the Simsun font. Use this option for a correct outlining of the graphical tree when a legacy CJK font is used." msgstr "У застарілих шрифтах для показу ієрогліфів східноазійських мов (китайської, японської та корейської) частина символів ієрогліфів та символів малювання ліній займають дві позиції замість звичайної для Unicode ширини цих символів у одну позицію. Прикладами таких шрифтів є растровий шрифт Chinese CP936 для Windows та шрифт Simsun. За допомогою цього параметра можна забезпечити правильний показ графічної ієрархії каталогів з використанням застарілих шрифтів з ієрогліфами." #. type: textblock #: wcd.pod:598 msgid "When CJK mode is on, you will see a \"C\" in the lower right corner." msgstr "Якщо увімкнено режим ієрогліфів, у нижньому правому куті екрана ви побачите літеру «C»." #. type: =item #: wcd.pod:600 msgid "B<-u USER>" msgstr "B<-u КОРИСТУВАЧ>" #. type: textblock #: wcd.pod:602 msgid "Scan treedata file of another user based on I, do not scan your own default treedata file. See also section ENVIRONMENT VARIABLES for I." msgstr "Сканувати файл даних ієрархії іншого користувача, I<КОРИСТУВАЧ>, не сканувати типовий файл ієрархії поточного користувача. Див. також розділ ЗМІННІ СЕРЕДОВИЩА, а саме запис щодо змінної I." #. type: textblock #: wcd.pod:605 msgid "On Unix/Cygwin the base directory for user home directories is assumed to be C. Wcd will look for C and C, in that order, and read the first one that exists and is readable. On DOS/Windows the base directory for user home directories is assumed to be C<\\\\users>, so wcd tries to read C<\\\\users\\USER\\treedata.wcd> and C<\\\\users\\USER\\.wcd\\treedata.wcd>." msgstr "У Unix/Cygwin базовим каталогом для домашніх каталогів користувачів вважається C. Wcd шукатиме файли C та C, саме у цьому порядку, і читатиме дані з першого ж із цих файлів, який буде знайдено і який виявиться придатним до читання. У DOS/Windows базовим каталогом для домашніх каталогів користувачів вважається C<\\\\users>, отже, wcd намагається прочитати дані з файлів C<\\\\users\\USER\\treedata.wcd> та C<\\\\users\\USER\\.wcd\\treedata.wcd>." #. type: =item #: wcd.pod:613 msgid "B<+u USER>" msgstr "B<+u КОРИСТУВАЧ>" #. type: textblock #: wcd.pod:615 msgid "Read default treedata file of USER in addition to your own treedata file." msgstr "Прочитати дані з типового файла ієрархії каталогів користувача КОРИСТУВАЧ на додачу до даних з типового файла даних ієрархії каталогів вашого користувача." #. type: =item #: wcd.pod:618 msgid "B<-v, --verbose>" msgstr "B<-v, --verbose>" #. type: textblock #: wcd.pod:620 msgid "Display verbose messages. With this option wcd prints all filters, bans and excludes." msgstr "Показувати докладні повідомлення. З цим параметром wcd виводитиме усі фільтри, блокування та виключення." #. type: =item #: wcd.pod:623 msgid "B<-V, --version>" msgstr "B<-V, --version>" #. type: textblock #: wcd.pod:625 msgid "Print version information and exit." msgstr "Показати дані щодо версії і завершити роботу." #. type: =item #: wcd.pod:627 msgid "B<-w, --wild-match-only>" msgstr "B<-w, --wild-match-only>" #. type: textblock #: wcd.pod:629 msgid "Wild matching only. Treat all matches as wild matches." msgstr "Встановлення відповідність для неточних відповідників, лише якщо використано символи-замінники." #. type: =item #: wcd.pod:631 msgid "B<-x PATH>" msgstr "B<-x ШЛЯХ>" #. type: textblock #: wcd.pod:633 msgid "Exclude I from scanning." msgstr "Виключити I<ШЛЯХ> зі сканування." #. type: textblock #: wcd.pod:635 msgid "When this option is used wcd will exclude I and all its subdirectories when wcd is scanning a disk. Wildcards are supported and matched against absolute paths. Option B<-x> can be used multiple times." msgstr "Якщо буде використано цей параметр, wcd виключить шлях з назвою I<ШЛЯХ> та усі його підкаталоги з переліку шляхів для сканування диска. Передбачено підтримку символів-замінників та встановлення відповідності за абсолютними шляхами. Параметр B<-x> у команді можна використовувати декілька разів." #. type: verbatim #: wcd.pod:639 #, no-wrap msgid "" " wcd -x -x -s\n" "\n" msgstr "" " wcd -x <шлях1> -x <шлях2> -s\n" "\n" #. type: textblock #: wcd.pod:641 msgid "Option B<-x> must be used in front of any scan option (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." msgstr "Параметр B<-x> слід вказувати до усіх параметрів сканування (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." #. type: textblock #: wcd.pod:645 msgid "On DOS/Windows systems one must specify the drive letter depending on if environment variable I or I is set. If I or I is set one needs to specify the drive letter. An example:" msgstr "У системах DOS/Windows слід вказати літеру диска, якщо не визначено змінної середовища I або I. Приклад:" #. type: verbatim #: wcd.pod:649 #, no-wrap msgid "" " wcd -x c:/temp -S c:\n" "\n" msgstr "" " wcd -x c:/temp -S c:\n" "\n" #. type: textblock #: wcd.pod:651 msgid "Otherwise do not specify drive letter." msgstr "У інших випадках літеру диска не слід вказувати." #. type: verbatim #: wcd.pod:653 #, no-wrap msgid "" " wcd -x /temp -s\n" "\n" msgstr "" " wcd -x /temp -s\n" "\n" #. type: =item #: wcd.pod:656 msgid "B<-xf FILE>" msgstr "B<-xf ФАЙЛ>" #. type: textblock #: wcd.pod:658 msgid "Exclude all paths listed in I from scanning." msgstr "Виключити зі сканування усі шляхи, вказані у файлі I<ФАЙЛ>." #. type: textblock #: wcd.pod:660 msgid "When this option is used wcd will exclude all paths listed in I and all their subdirectories when wcd is scanning a disk. Wildcards are supported and they are matched against absolute paths; one path per line. Be aware that wcd will not ignore leading or trailing blanks on a line, because they are legal characters in a directory name. Option B<-xf> can be used multiple times. When one wants to exclude all banned paths from scanning one can do the following (example for wcd on unix):" msgstr "Якщо використано цей параметр, wcd виключить усі шляхи зі списку у файлі I<ФАЙЛ> та усі підкаталоги цих шляхів зі сканування диска. Передбачено підтримку символів-замінників та встановлення відповідності за абсолютними шляхами. Шляхи має бути вказано по одному на рядок. Слід пам’ятати, що wcd ігноруватиме початкові та завершальні пробіли у рядку, оскільки такі пробіли є некоректними символами у назвах каталогів. Параметр B<-xf> можна вказувати декілька разів. Якщо ви хочете виключити усі заблоковані шляхи зі сканування, можна зробити так (приклад для wcd у unix):" #. type: verbatim #: wcd.pod:668 #, no-wrap msgid "" " wcd -xf ~/.ban.wcd -s\n" "\n" msgstr "" " wcd -xf ~/.ban.wcd -s\n" "\n" #. type: textblock #: wcd.pod:670 msgid "Wildcards are supported. For instance to exclude all your Subversion directories with administrative files add a line with C<*/.svn>." msgstr "Передбачено підтримку символів-замінників. Наприклад, щоб виключити усі каталоги Subversion з файлами, призначеними для адміністрування копії сховища, додайте рядок C<*/.svn>." #. type: textblock #: wcd.pod:673 msgid "Option B<-xf> must be used in front of any scan option (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." msgstr "Параметр B<-xf> слід вказувати до усіх параметрів сканування (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." #. type: =item #: wcd.pod:676 msgid "B<-y, --assume-yes>" msgstr "B<-y, --assume-yes>" #. type: textblock #: wcd.pod:678 msgid "Assume Yes on all queries." msgstr "Вважати відповіддю на всі питання «так»." #. type: textblock #: wcd.pod:680 msgid "Wcd will not prompt the user with yes/no questions, but assumes the user answers yes on all questions. This can be used in combination with option B<-rmtree>. This option must be used in front of options that can lead to yes/no questions." msgstr "Wcd не проситиме користувача підтвердити дію відповіддю «так» або «ні», відповіддю завжди вважається «так». Цей параметр можна поєднати з параметром B<-rmtree>. Параметр слід вказувати до параметрів, використання яких може призвести до появи питань, на які має відповідати користувач." #. type: =item #: wcd.pod:685 msgid "B<-z NUMBER>" msgstr "B<-z ЧИСЛО>" #. type: textblock #: wcd.pod:687 msgid "Set maximum stack size to NUMBER." msgstr "Встановити для максимального розміру стосу значення ЧИСЛО." #. type: textblock #: wcd.pod:689 msgid "The default size of the stack is 10. Stack operation can be turned off by setting the size to 0. This option must be used in front of any other stack operations (B<->,B<+>,B<=>). Otherwise the size of the stack will be set back to the default 10." msgstr "Типовим розміром стосу є 10. Дії зі стосом можна вимкнути встановленням значення 0. Цей параметр слід використовувати перед будь-якими іншими параметрами, що призводять до дій зі стосом (B<->,B<+>,B<=>). Якщо цього не зробити, стосу буде повернуто типовий розмір 10." #. type: textblock #: wcd.pod:694 msgid "A correct command is:" msgstr "Правильна команда:" #. type: verbatim #: wcd.pod:696 #, no-wrap msgid "" " wcd -z 50 -\n" "\n" msgstr "" " wcd -z 50 -\n" "\n" #. type: textblock #: wcd.pod:698 msgid "The new stack size will be 50, wcd will go one directory back. A wrong command is:" msgstr "Новим розміром стосу буде 50, wcd перейде на один крок назад у стосі. Помилковою була б така команда:" #. type: verbatim #: wcd.pod:701 #, no-wrap msgid "" " wcd - -z 50\n" "\n" msgstr "" " wcd - -z 50\n" "\n" #. type: textblock #: wcd.pod:703 msgid "Wcd goes one directory back, the stack gets the default size 10. The B<-z 50> is ignored." msgstr "Wcd повернеться на один каталог назад у стосі, розміру ж стосу буде повернуто типове значення 10. Параметр B<-z 50> буде проігноровано." #. type: textblock #: wcd.pod:706 msgid "Add this option as the first option to your wcd alias or function. E.g. for the a POSIX compatible shell this would be:" msgstr "Додайте цей параметр як перший параметр до альтернативної команди wcd або функції, де ця програма використовується. Приклад для сумісних з POSIX командних оболонок:" #. type: verbatim #: wcd.pod:709 #, no-wrap msgid "" " wcd ()\n" " {\n" "\twcd.exe -z 50 \"$@\"\n" "\t. ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" "\twcd.exe -z 50 \"$@\"\n" "\t. ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" #. type: =item #: wcd.pod:715 msgid "B<-[NUMBER]>" msgstr "B<-[ЧИСЛО]>" #. type: textblock #: wcd.pod:717 msgid "Push dir NUMBER of times. Default is one." msgstr "Повернутися на ЧИСЛО пунктів назад у стосі. Типовим є значення у один пункт." #. type: textblock #: wcd.pod:719 msgid "Go back a directory. Command C goes one directory back. To go more directories back add a number to it. E.g. command C. The stack is cyclic." msgstr "Повернутися на один каталог назад. Команда C поверне вас на один каталог назад. Щоб повернутися на більшу кількість кроків, додайте до неї кількість кроків. Приклад: C. Перехід стосом каталогів є циклічним." #. type: =item #: wcd.pod:723 msgid "B<+[NUMBER]>" msgstr "B<+[ЧИСЛО]>" #. type: textblock #: wcd.pod:725 msgid "Pop dir NUMBER of times. Default is one." msgstr "Перейти вперед на ЧИСЛО пунктів у стосі. Типовим є значення у один пункт." #. type: textblock #: wcd.pod:727 msgid "Go forward a directory. Command C goes one directory forward. To go more directories forward add a number to it. E.g. command C. The stack is cyclic." msgstr "Перейти вперед на один каталог. Команда C призведе до переходу на один каталог вперед. Щоб повернутися на більшу кількість кроків, додайте до неї кількість кроків. Приклад: C. Перехід стосом каталогів є циклічним." #. type: =item #: wcd.pod:731 msgid "B<=>" msgstr "B<=>" #. type: textblock #: wcd.pod:733 msgid "Show stack." msgstr "Показати стос." #. type: textblock #: wcd.pod:735 msgid "Use this option if you do not know anymore how many times to push or pop. The stack is printed and you can choose a number. The current place in the stack is marked with an asterisk C<*>." msgstr "Скористайтеся цим параметром, якщо ви призабули скільки пунктів залишилося попереду і позаду у стосі. У відповідь на команду з цим параметром програма виведе вміст стосу для наступного вибору номера пункту. Поточне місце у стосі буде позначено зірочкою, C<*>." #. type: =head1 #: wcd.pod:741 msgid "INSTALLATION" msgstr "ВСТАНОВЛЕННЯ" #. type: textblock #: wcd.pod:743 msgid "The current working directory of a Unix shell can only be changed by the builtin cd(1) command. Therefore the program is always called by a function or an alias. The function or alias sources a shell script (go-script) which is generated by the wcd program. Wcd can only work after the function or alias is defined." msgstr "Поточний робочий каталог командної оболонки Unix можна змінити лише за допомогою вбудованої команди cd(1). Тому програму завжди викликають функцією або за альтернативною назвою. Ця функція або альтернативна назва зберігається у скрипті командної оболонки (скрипті переходу), який створюється програмою wcd. Wcd може працювати лише після визначення функції або альтернативної назви." #. type: textblock #: wcd.pod:749 msgid "Another important influence on your installation is the definition of environment variables I and I. See section ENVIRONMENT VARIABLES." msgstr "Іншим варіантом внесення змін до поведінки встановленої вами програми є визначення значень змінних середовища I та I. Див. розділ ЗМІННІ СЕРЕДОВИЩА." #. type: =head2 #: wcd.pod:753 msgid "Install for POSIX type shells" msgstr "Встановлення для командних оболонок типу POSIX" #. type: textblock #: wcd.pod:755 msgid "For a POSIX shell (ksh, bash, zsh, etc.) on Unix, Linux, Cygwin, or native MSYS add the following function to the shell startup file (e.g. Bash uses C<$HOME/.bashrc>):" msgstr "Для командних оболонок POSIX (ksh, bash, zsh, etc.) у Unix, Linux, Cygwin або типовій оболонці MSYS додайте таку функцію до файла запуску оболонки (наприклад, у Bash використовується файл C<$HOME/.bashrc>):" #. type: verbatim #: wcd.pod:759 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcd.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " PATH/wcd.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:765 msgid "Replace I with the location where the wcd executable has been installed. Reload the shell initialization files or start new shell." msgstr "Замініть I<ШЛЯХ> на адресу каталогу, до якого встановлено виконуваний файл wcd. Перезавантажте файли ініціалізації оболонки або запустіть нову оболонку." #. type: textblock #: wcd.pod:768 msgid "The location of the go-script C differs per shell." msgstr "Розташування скрипту переходу, C, є різним для різних оболонок." #. type: textblock #: wcd.pod:770 msgid "Wcd for DJGPP DOS bash and OS/2 bash require a different function. The go script is not written in a directory C, and if I and I are both not defined the go-script is written on c:/." msgstr "Wcd для bash у DJGPP DOS bash та OS/2 bash потрібна інша функція. Скрипт переходу не буде записано до каталогу C і, якщо одночасно визначено I та I, скрипт переходу буде записано до c:/." #. type: textblock #: wcd.pod:774 msgid "DOS bash:" msgstr "DOS bash:" #. type: verbatim #: wcd.pod:776 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdbash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " PATH/wcdbash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:782 msgid "OS/2 bash:" msgstr "OS/2 bash:" #. type: verbatim #: wcd.pod:784 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdos2bash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " PATH/wcdos2bash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:790 msgid "The WinZsh version of wcd requires a bit different function. The go-script will never be written in c:/." msgstr "Версія wcd для WinZsh потребує трохи іншої функції. Скрипт go ніколи не буде записано до c:/." #. type: verbatim #: wcd.pod:793 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdwin32zsh.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/wcd.go\n" " }\n" "\n" msgstr "" " wcd ()\n" " {\n" " PATH/wcdwin32zsh.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/wcd.go\n" " }\n" "\n" #. type: textblock #: wcd.pod:799 msgid "See section FILES for more information." msgstr "Докладніший опис можна знайти у розділі «ФАЙЛИ»." #. type: =head2 #: wcd.pod:801 msgid "Install for C-alike shells (csh, tcsh)" msgstr "Встановлення для C-подібних командних оболонок (csh, tcsh)" #. type: textblock #: wcd.pod:803 msgid "Add the following alias to the shell startup file C<$HOME/.cshrc> or C<$HOME/.tcshrc> :" msgstr "Додайте такі альтернативні назви до файла запуску оболонки, C<$HOME/.cshrc> або C<$HOME/.tcshrc> :" #. type: verbatim #: wcd.pod:806 #, no-wrap msgid "" " if ( ${?WCDHOME} ) then\n" " alias wcd \"PATH/wcd.exe \\!* ; source $WCDHOME/bin/wcd.go\"\n" " else\n" " alias wcd \"PATH/wcd.exe \\!* ; source $HOME/bin/wcd.go\"\n" " endif\n" "\n" msgstr "" " if ( ${?WCDHOME} ) then\n" " alias wcd \"PATH/wcd.exe \\!* ; source $WCDHOME/bin/wcd.go\"\n" " else\n" " alias wcd \"PATH/wcd.exe \\!* ; source $HOME/bin/wcd.go\"\n" " endif\n" "\n" #. type: textblock #: wcd.pod:812 msgid "Replace I with the location where the wcd executable has been installed. Reload the shell initialization files or start a new shell." msgstr "Замініть I<ШЛЯХ> на адресу каталогу, до якого встановлено виконуваний файл wcd. Перезавантажте файли ініціалізації оболонки або запустіть нову оболонку." #. type: =head2 #: wcd.pod:816 msgid "Windows Command Prompt version" msgstr "Версія для командного рядка Windows" #. type: textblock #: wcd.pod:818 msgid "Unpack the zip file and add directory C to your environment variable I." msgstr "Розпакуйте архів zip і додайте каталог C до вашої змінної середовища I." #. type: textblock #: wcd.pod:821 msgid "In Windows Command Prompt a Windows program cannot change the current work directory, but a .bat file can. The batch script C runs the wcd program which generates a new batch script C. Then C runs C which actually changes the directory." msgstr "Програма для Windows, що працює у вікні командної оболонки Windows (Command Prompt) не може змінити поточного каталогу, але це може зробити скрипт .bat. Пакетний скрипт C» запускає програму wcd, яка створює новий пакетний скрипт, C. Після цього C запускає скрипт C, який здійснює зміну каталогу." #. type: =head2 #: wcd.pod:826 msgid "Windows VISTA and higher" msgstr "Windows VISTA та новіші версії" #. type: textblock #: wcd.pod:828 msgid "In a Windows VISTA and higher Command Prompt you may have limited access to directories. To get access to more directories you need administrator rights. You can get a Command Prompt with administrator rights if you right click on the Command Prompt icon and select I." msgstr "У командній оболонці Windows VISTA та новіших версій користувачі мають обмежений доступ до каталогів. Що отримати доступ до усіх каталогів, вам знадобляться права доступу адміністратора. Запустити командну оболонку з правами адміністратора можна так: наведіть вказівник миші на піктограму командної оболонки, клацніть правою кнопкою миші і виберіть у контекстному меню пункт I<Запуск від імені адміністратора>." #. type: =head2 #: wcd.pod:833 msgid "Windows PowerShell version" msgstr "Версія для Windows PowerShell" #. type: textblock #: wcd.pod:835 msgid "Add the following function to your PowerShell user profile. The location of this profile is stored in the $profile variable. It is required that one of the environment variables I or I is defined." msgstr "Додайте вказану нижче функцію до вашого профілю користувача PowerShell. Дані щодо місця зберігання цього профілю зберігаються у змінній $profile. Слід також визначити змінну середовища I або I." #. type: verbatim #: wcd.pod:839 #, no-wrap msgid "" " function wcd\n" " {\n" " PATH\\wcdwin32psh.exe $args\n" " & $env:HOME\\wcdgo.ps1\n" " }\n" "\n" msgstr "" " function wcd\n" " {\n" " PATH\\wcdwin32psh.exe $args\n" " & $env:HOME\\wcdgo.ps1\n" " }\n" "\n" #. type: textblock #: wcd.pod:845 msgid "Replace I with the location where the wcd executable has been installed. Start a new PowerShell. Wcd for PowerShell supports only the file system provider. No other providers." msgstr "Замініть I<ШЛЯХ> на адресу каталогу, до якого встановлено виконуваний файл wcd. Запустіть новий сеанс роботи у PowerShell. У Wcd для PowerShell передбачено роботу лише з файловими системами. Забезпечення роботи з іншими джерелами файлових даних не передбачено." #. type: =head2 #: wcd.pod:849 msgid "OS/2 Command Prompt version" msgstr "Версія для командного рядка OS/2" #. type: textblock #: wcd.pod:851 msgid "In an OS/2 Command Prompt (cmd.exe) an OS/2-program can't change the current work directory. That is why wcd generates a command script C which must be executed in the current shell. The script C first executes C, which creates the C script. Then C executes the C script." msgstr "У командній оболонці OS/2 (cmd.exe) програма OS/2 не може змінювати робочого каталогу. Ось чому wcd створює командний скрипт (C), який має бути виконано у поточній оболонці. Скрипт C спочатку запускає програму C, яка створює скрипт C. Після цього C запускає скрипт wcdgo.cmd." #. type: =head1 #: wcd.pod:858 msgid "LOCALIZATION" msgstr "ЛОКАЛІЗАЦІЯ" #. type: =item #: wcd.pod:862 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:864 msgid "The primary language is selected with the environment variable I. The I variable consists out of several parts. The first part is in small letters the language code. The second one is optional and is the country code in capital letters, preceded with an underscore. There is also an optional third part: character encoding, preceded with a dot. A few examples for POSIX standard type shells:" msgstr "Основна мова визначається за допомогою змінної середовища I. Значення змінної I складається з декількох частин. Перша частина записується малими літерами і визначає код мови. Друга частина є необов’язковою, визначає код країни і записується прописними літерами, відокремлюється від першої частини символом підкреслювання. Передбачено також необов’язкову третю частину: кодування. Ця частина відокремлюється від другої частини крапкою. Ось декілька прикладів для командних оболонок стандартного типу POSIX:" #. type: verbatim #: wcd.pod:871 #, no-wrap msgid "" " export LANG=nl Dutch\n" " export LANG=nl_NL Dutch, The Netherlands\n" " export LANG=nl_BE Dutch, Belgium\n" " export LANG=es_ES Spanish, Spain\n" " export LANG=es_MX Spanish, Mexico\n" " export LANG=en_US.iso88591 English, USA, Latin-1 encoding\n" "\n" msgstr "" " export LANG=uk українська\n" " export LANG=uk_UA українська, Україна\n" " export LANG=ru_UA російська, Україна\n" " export LANG=es_ES іспанська, Іспанія\n" " export LANG=es_MX іспанська, Мексика\n" " export LANG=en_USiso88591 англійська, США, кодування Latin-1\n" "\n" #. type: textblock #: wcd.pod:878 msgid "For a complete list of language and country codes see the gettext(1) manual: L On Unix systems you can use to command locale(1) to get locale specific information." msgstr "Повний список мов та кодів краї наведено у підручнику з gettext(1): L. У системах Unix для отримання даних щодо локалі можна скористатися командою locale(1)." #. type: =item #: wcd.pod:884 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:886 msgid "With the I environment variable you can specify a priority list of languages, separated by colons. Wcd gives preference to I over I. For instance, first Dutch and then German: C. You have to first enable localization, by setting I or I to a value other than I, before you can use a language priority list through the I variable. See also the gettext(1) manual: L" msgstr "За допомогою змінної середовища I ви можете вказати список пріоритетності мов. Записи у списку слід відокремлювати двокрапками. Програма wcd надає перевагу I над I. Наприклад, перша голландська, далі німецька: C. Спочатку вам слід увімкнути локалізацію, встановивши для змінної I (або I) значення, відмінне від I. Далі ви зможете використовувати список пріоритетності мов за допомогою змінної I. Додаткові відомості можна знайти у підручнику з gettext: L" #. type: textblock #: wcd.pod:894 msgid "If you select a language which is not available you will get the standard English messages." msgstr "Якщо вами буде вибрано мову, перекладу якою немає, буде показано стандартні повідомлення англійською мовою." #. type: =item #: wcd.pod:897 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:899 msgid "With the environment variable I the I used during compilation and installation of wcd can be overruled. I is used by wcd with native language support to find the language files. The GNU default value is C. By typing C wcd will print the I that is used." msgstr "За допомогою визначення змінної середовища I можна перевизначити значення I, вказане під час збирання та встановлення програми. Змінна I використовується wcd з підтримкою перекладів для пошуку файлів перекладів. Типовим значенням для системи GNU є C. Дізнатися про поточне значення змінної I можна за допомогою команди C." #. type: textblock #: wcd.pod:905 msgid "If you have installed wcd in a different directory than the default directory you may need to set the environment variable I to point to the locale directory." msgstr "Якщо ви встановили wcd до каталогу, відмінного від типового, вам варто встановити значення змінної середовища I так, щоб вона вказувала на каталог з файлами перекладів." #. type: textblock #: wcd.pod:910 msgid "An example for Windows cmd:" msgstr "Приклад для cmd у Windows:" #. type: verbatim #: wcd.pod:912 #, no-wrap msgid "" " set WCDLOCALEDIR=c:/my_prefix/share/locale\n" "\n" msgstr "" " set WCDLOCALEDIR=c:/my_prefix/share/locale\n" "\n" #. type: textblock #: wcd.pod:915 msgid "An example for a POSIX shell:" msgstr "Приклад для оболонки POSIX:" #. type: verbatim #: wcd.pod:917 #, no-wrap msgid "" " export WCDLOCALEDIR=$HOME/share/locale\n" "\n" msgstr "" " export WCDLOCALEDIR=$HOME/share/locale\n" "\n" #. type: =item #: wcd.pod:919 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:921 msgid "When there are multiple directory matches wcd presents a sorted list. The sorting depends on the locale settings. If the environment I has been set the matches are sorted like dictionaries or phone books are sorted in that language. For instance dots and dashes are ignored, or letters e with and without accent are equal, or upper and lower case is ignored." msgstr "Якщо wcd вдасться знайти декілька відповідників вказаного користувачем каталогу, програма покаже упорядкований список варіантів. Спосіб упорядковування залежить від параметрів локалі. Якщо у середовищі встановлено значення змінної I, відповідники буде упорядковано відповідно до порядку, який використовується у словниках або телефонних книгах відповідною мовою. Наприклад, буде проігноровано крапки і дефіси, літери з акцентами вважатимуться еквівалентними до літер без акцентів, ігноруватимуться відмінності у написанні великими чи малими літерами." #. type: textblock #: wcd.pod:927 msgid "The sorting gives preference to environment variable I over I. If you make I equal to C or C, locale sorting is turned off. For instance if you want Dutch language, but not Dutch sorting, you can do something like this:" msgstr "Під час визначення параметрів упорядковування перевага надається змінній середовища I, а не змінній I. Якщо ви вкажете для I значення C або C, упорядковування за параметрами локалі буде вимкнено. Наприклад, якщо ви хочете скористатися українською мовою інтерфейсу, але не хочете використовувати українські параметри упорядковування, ви можете зробити так:" #. type: verbatim #: wcd.pod:932 #, no-wrap msgid "" " export LANG=nl_NL\n" " export LC_COLLATE=C\n" "\n" msgstr "" " export LANG=uk_UA\n" " export LC_COLLATE=C\n" "\n" #. type: =item #: wcd.pod:935 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:937 msgid "With regard to character encoding Wcd will give preference to variable I over I. For instance to set character encoding to UTF-8 the following environment setting can be done." msgstr "Під час визначення параметрів кодування у wcd надається перевага змінній I, а не I. Наприклад, щоб встановити кодування символів UTF-8, слід скористатися такою командою:" #. type: verbatim #: wcd.pod:941 #, no-wrap msgid "" " export LC_CTYPE=en_US.UTF-8\n" "\n" msgstr "" " export LC_CTYPE=en_US.UTF-8\n" "\n" #. type: =item #: wcd.pod:943 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:945 msgid "All locale environment variables that start with I are overruled by the environment variable I if it is defined. Wcd gives preference to I over I and I." msgstr "Усі змінні середовища, пов’язані з локаллю, назви яких починаються з I, можна перевизначити за допомогою змінної середовища I. Wcd надає перевагу значенню I над значеннями I та I." #. type: =head2 #: wcd.pod:951 msgid "WINDOWS CODE PAGES" msgstr "ТАБЛИЦІ КОДУВАНЬ WINDOWS" #. type: textblock #: wcd.pod:953 msgid "There are two groups of code pages: DOS code pages (OEM) and Windows code pages (ANSI). The default encoding for Windows, when configured with Western regional settings, is ANSI CP1252. Windows programs, for instance notepad, use this default system ANSI code page. The Windows console uses by default an OEM code page (CP437 or CP850) for compatibility with DOS programs. If you use a DOS version of wcd in a Windows console it will work, because of the DOS code page. But the DOS version of wcd lacks support for long directory names and network drives on Windows." msgstr "Існує дві групи кодових сторінок: кодові сторінки DOS (OEM) та кодові сторінки Windows (ANSI). Типовим кодуванням для Windows, якщо систему налаштовано на західноєвропейські параметри регіону, є ANSI CP1252. У програмах Windows, наприклад у notepad, використовується ця типова загальносистемна кодова сторінка ANSI. У консолі Windows типово використовується кодова сторінка OEM (CP437 або CP850) для сумісності з програмами DOS. Якщо ви використовуєте версію wcd для DOS у консолі Windows, програма не працюватиме, оскільки у ній використовується кодова сторінка DOS. Але у версії wcd для DOS не передбачено підтримку довгих назв каталогів та мережевих дисків у Windows." #. type: textblock #: wcd.pod:962 msgid "The Windows version of wcd is a native Windows program and will use the Windows system ANSI code page. So on a Western regional Windows it will use code page CP1252 for directory names and messages. In order to get consistent output, independent of the active code page, all Windows versions of Wcd translate ANSI output to Unicode output in the Command Prompt and PowerShell." msgstr "Версія wcd для Windows є типовою програмою Windows, вона використовуватиме загальносистемну кодову сторінку ANSI Windows. Отже, у західноєвропейській локалізації Windows програма використовуватиме кодову сторінку CP1252 для назв каталогів та повідомлень. З метою забезпечення однорідності виведення даних, незалежно від активної кодової сторінки, усі версії wcd для Windows перетворюють виведені дані у форматі ANSI у формат Unicode у командній оболонці та PowerShell." #. type: textblock #: wcd.pod:968 msgid "The console raster font only supports the original OEM code page installed with Windows, so you have to change the console's font to true type Lucida Console to make Unicode (and ANSI) letters appear correctly." msgstr "У консольних растрових шрифтах передбачено оригінальну кодову сторінку OEM, що встановлюється разом з Windows, отже, вам слід змінити шрифт консолі на Lucida Console, щоб літери з Unicode (та ANSI) було показано належним чином." #. type: textblock #: wcd.pod:972 msgid "Non-Unicode versions of Wcd I use plain ANSI output. For these older versions the code page of the console has to be made equal to the system code page (changed to 1252) to make wcd for Windows work properly with special characters such as accented characters or the Euro symbol." msgstr "Версії wcd без підтримки Unicode I<до версії 5.2.0> виводять дані у форматі ANSI. Для цих застарілих версій кодову сторінку консолі слід зробити еквівалентною до загальносистемної кодової сторінки (змінюється на 1252), щоб забезпечити належну роботу wcd для Windows зі спеціальними символами, зокрема символами з акцентами, символами кирилиці та символом євро." #. type: textblock #: wcd.pod:977 msgid "The Windows system code page can be changed via the Control Panel regional options. The Windows console code page is changed with the C command." msgstr "Загальносистемну кодову сторінку Windows можна змінити за допомогою регіональних параметрів «Панелі керування». Кодову сторінку консолі Windows можна змінити за допомогою команди C." #. type: textblock #: wcd.pod:980 msgid "When you type C, the actual character encoding used by wcd is shown. Type the command C to display the active code page of the Windows console." msgstr "Програма виводить дані щодо справжнього кодування символів у відповідь на команду C. Щоб визначити активну кодову сторінку консолі Windows, введіть команду C." #. type: =head2 #: wcd.pod:985 msgid "UNICODE" msgstr "UNICODE" #. type: textblock #: wcd.pod:987 msgid "Wcd has optional support for Unicode. To see if wcd was built with Unicode support type C. If your terminal/console and font supports it, you should see the Euro symbol and Chinese characters (meaning: \"Chinese\")." msgstr "У wcd може бути передбачено підтримку Unicode. Щоб визначити, чи було зібрано wcd з підтримкою Unicode, скористайтеся командою C. Якщо у вашому терміналі або консолі та шрифті передбачено підтримку, ви зможете бачити символ євро та китайські ієрогліфи." #. type: textblock #: wcd.pod:992 msgid "Wcd has been I converted to Unicode. In its core wcd handles all data as a stream of bytes. Only the lines printed to screen are on the fly converted to Unicode wide characters. Wcd fully relies on libc functions and has no UTF-8 specific code. See also L" msgstr "Перетворення у Unicode у wcd виконується I<програмно>. У ядрі програми усі дані обробляються як потік даних. У широкі символи Unicode перетворюються лише рядки, що виводяться на екран. Wcd повністю покладається на функції libc і не містить специфічного для UTF-8 коду. Див. також L" #. type: textblock #: wcd.pod:998 msgid "Wcd has optional support for Unicode matching with normalisation. To find out whether Wcd has normalisation support type C. Wcd with Unicode normalization support will match Unicode names based on I equivalence. Without Unicode normalization support, names are matched when they are binary equivalent. See also L" msgstr "У wcd передбачено необов’язкову підтримку встановлення відповідності за Unicode з нормалізацією. Щоб визначити, чи передбачено у wcd підтримку нормалізації, скористайтеся командою C. У wcd з підтримкою нормалізації Unicode відповідність назв Unicode виконується на основі I<сумісної> еквівалентності. Без підтримки нормалізації Unicode відповідність назв встановлюється за двійковою еквівалентністю. Див. також L" #. type: =head3 #: wcd.pod:1005 msgid "UTF-8 on Unix/Linux" msgstr "UTF-8 у Unix/Linux" #. type: textblock #: wcd.pod:1007 msgid "In order to view UTF-8 characters your console/terminal also needs to support UTF-8. The xterm version that comes with XFree86 4.0 or higher includes UTF-8 support. To activate it, start xterm(1) in a UTF-8 locale and use a font with iso10646-1 encoding, for instance with" msgstr "Щоб у вашій консолі або терміналі можна було переглядати символи UTF-8, у консолі і терміналі також має бути передбачено підтримку UTF-8. У версії xterm, яка постачається разом з XFree86 4.0 або наступними версіями, передбачено підтримку UTF-8. Щоб задіяти цю підтримку, запустіть xterm(1) у локалі UTF-8 і скористайтеся шрифтом з кодуванням iso10646-1, наприклад за допомогою такої команди:" #. type: verbatim #: wcd.pod:1012 #, no-wrap msgid "" " LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'\n" "\n" msgstr "" " LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'\n" "\n" #. type: textblock #: wcd.pod:1014 msgid "Modern distributions of GNU/Linux support UTF-8 by default. Other multi-byte character encodings should also work, but that has not been tested." msgstr "У сучасних дистрибутивах GNU/Linux типовою використовується кодування UTF-8. Можна працювати і з іншими багатобайтовими кодуваннями символів, але належного тестування працездатності з цими кодуванням не виконувалося." #. type: textblock #: wcd.pod:1017 msgid "Wcd assumes that the treedata files are encoded in the locale character encoding. There are no Byte Order Marks written to treedata files." msgstr "У wcd припускається, що кодуванням файлів даних ієрархії каталогів є кодування символів поточної локалі. До файлів даних ієрархії каталогів символ позначки порядку байтів (BOM) не записується." #. type: =head3 #: wcd.pod:1021 msgid "UTF-16 on Windows" msgstr "UTF-16 у Windows" #. type: textblock #: wcd.pod:1023 msgid "On Windows Unicode is supported in all versions of PowerShell, and in Windows Command Prompt on Windows 7 (or higher). Unicode also works in Take Command or TCC/LE made by JP Software, which can be used on older Windows versions (XP/Vista)." msgstr "У Windows підтримку Unicode передбачено у всіх версіях PowerShell та у командній оболонці Windows у Windows 7 (та новіших версіях). Unicode також працює у Take Command або TCC/LE створених JP Software, якими можна скористатися у старіших версіях Windows (XP/Vista)." #. type: textblock #: wcd.pod:1028 msgid "On Windows all the directory names on disk are encoded in UTF-16 Unicode. For non-Unicode Windows programs the Unicode characters are translated to the default ANSI code page. For characters that are not part of the regional setting this translation is not possible and non-Unicode programs print a question mark or a wrong character instead." msgstr "У Windows усі назви каталогів на диску кодуються за допомогою UTF-16. У програмах Windows без підтримки Unicode символи Unicode перетворюються у символи типової кодової сторінки ANSI. Для символів, які не є частиною регіонального кодування, це перетворення є неможливим, отже програми без підтримки Unicode виводитимуть замість них символ знаку питання або помилковий символ." #. type: textblock #: wcd.pod:1034 msgid "Wcd with Unicode support will read the UTF-16 encoded directory names and converts them internally to UTF-8. All treedata files are encoded in UTF-8 and not compatible with the non-Unicode version of Wcd. Wcd will create a go-script encoded in UTF-8." msgstr "Wcd з підтримкою Unicode читатиме закодовані у UTF-16 назви каталогів і перетворюватиме дані до UTF-8 у внутрішньому коді. Усі дані файлів ієрархії каталогів буде закодовано у UTF-8. Ці дані є несумісними з версіями wcd без підтримки Unicode. Wcd створить скрипт переходу у кодуванні UTF-8." #. type: textblock #: wcd.pod:1039 msgid "All versions of Windows PowerShell are able to run scripts encoded in UTF-8, provided there is an UTF-8 BOM in the script." msgstr "Усі версії Windows PowerShell можуть запускати скрипти у кодуванні UTF-8, якщо у скрипті є символ BOM UTF-8." #. type: textblock #: wcd.pod:1042 msgid "Since Windows 7 it is possible in Windows Command Prompt to change directory with a batch script to a directory with Unicode letters in the name. The directory name needs to be encoded in UTF-8, and the batch script must I have a BOM. The active code page of the Command Prompt needs to be set to 65001 (UTF-8) prior to the cd command. Wcd for Command Prompt will create such a go script C. It first changes the code page to 65001, then changes directory, and finally sets the code page back to the original code page." msgstr "Починаючи з Windows 7, у командній оболонці Windows передбачено можливість змінити за допомогою пакетного скрипту каталог на каталог з літерами Unicode у назві. Кодуванням назви каталогу має бути UTF-8, а I<пакетний скрипт> не повинен містити позначки порядку байтів (BOM). Слід змінити активну кодову сторінку командної оболонки на 65001 (UTF-8) до виконання команди cd. Wcd для командної оболонки створити такий скрипт переходу (C). Цей скрипти спочатку змінюватиме кодову сторінку на 65001, потім змінюватиме каталог, і нарешті, повертатиме початкове значення параметрів кодової сторінки." #. type: textblock #: wcd.pod:1050 msgid "You need to set the font to True Type Lucida Console (not raster font) when letters don't appear correctly." msgstr "Якщо літери буде показано не так, як слід, вам слід встановити шрифт True Type Lucida Console (не растровий шрифт)." #. type: textblock #: wcd.pod:1053 msgid "The non-Unicode Windows version of Wcd can read Unicode treedata files since version 5.2.0, provided there is a Byte Order Mark (BOM) in the file (see L), but it can't change to directories with Unicode letters in the name that are not part of the default system ANSI code page. The Unicode Windows version of wcd writes a BOM in the UTF-8 encoded treedata files since version 5.2.0, which makes them also readable by notepad." msgstr "Версія wcd для Windows без підтримки Unicode може читати файли даних ієрархії каталогів у кодуванні Unicode, починаючи з версії 5.2.0, якщо у файлі є позначка порядку байтів (BOM) (див. L), але не може змінювати каталоги на каталоги з тими літерами Unicode у назві, які не є частиною типової кодової сторінки ANSI системи. Версія wcd для Windows з підтримкою Unicode записує BOM до файлів ієрархії каталогів у кодуванні UTF-8, починаючи з версії 5.2.0, отже, ці файли можна читати за допомогою notepad." #. type: =head3 #: wcd.pod:1062 msgid "UTF-8 on Cygwin" msgstr "UTF-8 у Cygwin" #. type: textblock #: wcd.pod:1064 msgid "Cygwin supports Unicode since version 1.7. The Cygwin layer takes care that the Windows UTF-16 Unicode names are converted to UTF-8. So programs, like wcd, do not need to be aware of this and can operate using UTF-8 encoding as on Unix/Linux. Set character encoding to UTF-8 with the I or I environment variable. You may need to rescan your drives. You need to set the font to True Type Lucida Console (not raster font) if you use the default Cygwin console." msgstr "У Cygwin передбачено підтримку Unicode, починаючи з версії 1.7. Шар обробки Cygwin виконує перетворення назв каталогів Windows у UTF-16 до UTF-8. Отже, програми, зокрема wcd, не потрібно перейматися процедурами перетворення, вони можуть обробляти дані у кодуванні UTF-8, як це робиться у Unix/Linux. Встановити кодування символів UTF-8 можна за допомогою змінної середовища I або I. Ймовірно, вам доведеться пересканувати ваші диски. Якщо ви користуєтеся типовою консоллю Cygwin, вам слід встановити для неї шрифт True Type Lucida Console (не растровий шрифт)." #. type: textblock #: wcd.pod:1072 msgid "The Cygwin version behaves exactly as the Unix version of wcd. There is no BOM written in the treedata files, and it is assumed they are encoded in the B locale character encoding." msgstr "Версія wcd для Cygwin поводиться точно так само, як версія wcd для Unix. Мітка порядку байтів (BOM) не записується до файлів даних ієрархії каталогів. Кодуванням файлів вважається кодування символів локалі B." #. type: =head1 #: wcd.pod:1076 msgid "FILES" msgstr "ФАЙЛИ" #. type: textblock #: wcd.pod:1078 msgid "If the environment variable I is set wcd will use I instead of I. All C<*.wcd> files are text files. They can be edited with a text editor. The Windows Command Prompt version of wcd behaves as the DOS version. The Cygwin version of wcd behaves as the Unix version." msgstr "Якщо встановлено змінну середовища I, використовуватиме I замість I. Усі файли C<*.wcd> є текстовими файлами. Їх можна редагувати у звичайному текстовому редакторі. Версія wcd для командної оболонки Windows поводиться так само, як версія для DOS. Версія wcd для Cygwin поводиться як версія для Unix." #. type: =item #: wcd.pod:1087 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1089 msgid "The program. In Unix shells the program is always called by a function or alias, because the current working directory of a Unix shell can only be changed by the builtin cd command. See also section INSTALLATION." msgstr "Сама програма. У оболонках Unix програма завжди викликається функцією або альтернативною командою, оскільки поточний робочий каталог у оболонці Unix можна змінювати лише за допомогою вбудованої команди cd. Див. також розділ «ВСТАНОВЛЕННЯ»." #. type: =item #: wcd.pod:1094 msgid "B" msgstr "B<типовий файл даних ієрархії каталогів>" #. type: textblock #: wcd.pod:1096 msgid "This is the default treedata file where wcd searches for matches. If it is not readable wcd will create a new one." msgstr "Це типовий файл даних ієрархії каталогів, де wcd шукає відповідники. Якщо цей файл непридатний до читання, wcd створить новий." #. type: verbatim #: wcd.pod:1099 #, no-wrap msgid "" " DOS: \\treedata.wcd or %HOME%\\treedata.wcd\n" " Unix: $HOME/.treedata.wcd\n" "\n" msgstr "" " DOS: \\treedata.wcd або %HOME%\\treedata.wcd\n" " Unix: $HOME/.treedata.wcd\n" "\n" #. type: =item #: wcd.pod:1102 msgid "B" msgstr "B<додатковий файл даних ієрархії каталогів>" #. type: textblock #: wcd.pod:1104 msgid "An optional extra treedata file. If it exists and is readable wcd will try to find matches in this file also." msgstr "Необов’язковий додатковий файл даних ієрархії каталогів. Якщо такий файл існує і є придатним до читання, wcd спробує знайти відповідники і у цьому файлі." #. type: verbatim #: wcd.pod:1107 #, no-wrap msgid "" " DOS: \\extra.wcd or %HOME%\\extra.wcd\n" " Unix: $HOME/.extra.wcd\n" "\n" msgstr "" " DOS: \\extra.wcd або %HOME%\\extra.wcd\n" " Unix: $HOME/.extra.wcd\n" "\n" #. type: =item #: wcd.pod:1110 msgid "B" msgstr "B<файл блокувань>" #. type: textblock #: wcd.pod:1112 msgid "In this optional file wcd places banned paths. See option B<-b>. Wildcards are supported." msgstr "До цього додаткового файла wcd записує заблоковані шляхи. Див. параметр B<-b>. Передбачено підтримку символів-замінників." #. type: verbatim #: wcd.pod:1115 #, no-wrap msgid "" " DOS: \\ban.wcd or %HOME%\\ban.wcd\n" " Unix: $HOME/.ban.wcd\n" "\n" msgstr "" " DOS: \\ban.wcd або %HOME%\\ban.wcd\n" " Unix: $HOME/.ban.wcd\n" "\n" #. type: =item #: wcd.pod:1118 msgid "B" msgstr "B<файл альтернативних назв>" #. type: textblock #: wcd.pod:1120 msgid "Optional file with wcd aliases. See option B<-l>." msgstr "Необов’язковий файл із записами альтернативних назв wcd. Див. параметр B<-l>." #. type: verbatim #: wcd.pod:1122 #, no-wrap msgid "" " DOS: \\alias.wcd or %HOME%\\alias.wcd\n" " Unix: $HOME/.alias.wcd\n" "\n" msgstr "" " DOS: \\alias.wcd або %HOME%\\alias.wcd\n" " Unix: $HOME/.alias.wcd\n" "\n" #. type: =item #: wcd.pod:1125 msgid "B" msgstr "B<файл stack>" #. type: textblock #: wcd.pod:1127 msgid "In this file wcd stores its stack. The drive letter can be changed with the B<-d> option." msgstr "У цьому файлі зберігається стос каталогів wcd. Літеру диска можна змінити за допомогою параметра B<-d>." #. type: verbatim #: wcd.pod:1130 #, no-wrap msgid "" " DOS: c:\\stack.wcd or %HOME%\\stack.wcd\n" " Unix: $HOME/.stack.wcd\n" "\n" msgstr "" " DOS: c:\\stack.wcd або %HOME%\\stack.wcd\n" " Unix: $HOME/.stack.wcd\n" "\n" #. type: textblock #: wcd.pod:1133 msgid "The name of the stack file can be changed with environment variable I. See section ENVIRONMENT VARIABLES." msgstr "Назву файла стосу можна змінити за допомогою змінної середовища I. Див. розділ «ЗМІННІ СЕРЕДОВИЩА»." #. type: =item #: wcd.pod:1136 msgid "B" msgstr "B<скрипт go>" #. type: textblock #: wcd.pod:1138 msgid "This is the shell script which wcd.exe creates each time. It is sourced via a function or an alias. The drive letter can be changed with the B<-d> option. For history reasons it is placed by default in C<$HOME/bin> on Unix systems. The directory of this file can be changed with the option B<-G>." msgstr "Це скрипт командної оболонки, який wcd.exe створює під час кожного запуску. Від використовується функцією або альтернативною командою. Літеру диска можна змінити за допомогою параметра B<-d>. З історичних міркувань у системах Unix цей файл типово зберігається у C<$HOME/bin>. Каталог цього файла можна змінити за допомогою параметра B<-G>." #. type: verbatim #: wcd.pod:1143 #, no-wrap msgid "" " DOS bash: c:/wcd.go or $HOME/wcd.go\n" " Windows Command Prompt: c:\\wcdgo.bat or %HOME%\\wcdgo.bat\n" " Windows PowerShell: $env:HOME\\wcdgo.ps1\n" " WinZsh: $HOME/wcd.go\n" " Cygwin/MSYS: $HOME/bin/wcd.go\n" " OS/2 Command Prompt: c:\\wcdgo.cmd or %HOME%\\wcdgo.cmd\n" " OS/2 bash: c:/wcd.go or $HOME/wcd.go\n" " Unix: $HOME/bin/wcd.go\n" "\n" msgstr "" " bash для DOS: c:/wcd.go або $HOME/wcd.go\n" " командна оболонка Windows: c:\\wcdgo.bat або %HOME%\\wcdgo.bat\n" " Windows PowerShell: $env:HOME\\wcdgo.ps1\n" " WinZsh: $HOME/wcd.go\n" " Cygwin/MSYS: $HOME/bin/wcd.go\n" " командна оболонка OS/2: c:\\wcdgo.cmd або %HOME%\\wcdgo.cmd\n" " OS/2 bash: c:/wcd.go або $HOME/wcd.go\n" " Unix: $HOME/bin/wcd.go\n" "\n" #. type: =item #: wcd.pod:1152 msgid "B" msgstr "B<файл відносних шляхів у ієрархії каталогів>" #. type: textblock #: wcd.pod:1154 msgid "Text file with relative paths from I. See options B<+S>, B<-n> and B<+n>." msgstr "Текстовий файл з відносними шляхами щодо каталогу I<КАТАЛОГ>. Див. параметри B<+S>, B<-n> та B<+n>." #. type: verbatim #: wcd.pod:1157 #, no-wrap msgid "" " DOS: PATH\\rtdata.wcd\n" " Unix: PATH/.rtdata.wcd\n" "\n" msgstr "" " DOS: PATH\\rtdata.wcd\n" " Unix: PATH/.rtdata.wcd\n" "\n" #. type: =head1 #: wcd.pod:1162 msgid "ENVIRONMENT VARIABLES" msgstr "ЗМІННІ СЕРЕДОВИЩА" #. type: =item #: wcd.pod:1166 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1168 msgid "Wcd uses by default environment variable I to determine where to store its files. See also section FILES. This can be overruled with environment variable I." msgstr "Типово, wcd використовує змінну середовища I для визначення місця, де зберігатимуться файли програми. Див. також розділ «ФАЙЛИ». Перевизначити каталог можна за допомогою змінної середовища I." #. type: textblock #: wcd.pod:1172 msgid "I also defines where to start scanning the disk when option B<-s> is used. This can be overruled with the environment variable I." msgstr "I також визначає місце, звідки слід розпочинати сканування диска, якщо використано параметр B<-s>. Перевизначити це місце можна за допомогою змінної середовища I." #. type: textblock #: wcd.pod:1176 msgid "For the Unix, Cygwin, Windows PowerShell, WinZsh and MSYS version it is required that I or I is set. For the other versions of wcd the use of these variables is optional." msgstr "У версіях для Unix, Cygwin, Windows PowerShell, WinZsh та MSYS слід встановити значення I або I. Для інших версій wcd використання цих змінних є необов’язковим." #. type: textblock #: wcd.pod:1180 msgid "If I is set on DOS/Windows, wcd will place all its files (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) in directory I. The behaviour of wcd is then equal to the Unix version of wcd. Wcd will scan the disk default from I. Drives will not be automatically scanned by changing to them. You need to tell wcd explicitly. E.g.:" msgstr "Якщо змінну I встановлено у DOS/Windows, wcd розташує свої файли (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) у каталозі I. Після встановлення змінної поведінка wcd стає еквівалентною до версії wcd для Unix. Типово, wcd скануватиме диск, починаючи з I. Сканування дисків не виконуватиметься у автоматичному режимі після зміни диска. Про потребу у скануванні слід повідомити явно. Приклад:" #. type: verbatim #: wcd.pod:1187 #, no-wrap msgid "" " wcd -S c: -A d: -A e:\n" "\n" msgstr "" " wcd -S c: -A d: -A e:\n" "\n" #. type: textblock #: wcd.pod:1189 msgid "Matching of directories is now global over all scanned drives." msgstr "Після цього встановлення відповідності каталогів буде загальним на усіх сканованих дисках." #. type: =item #: wcd.pod:1192 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1194 msgid "Environment variable I can be used to change the location of wcd's files. If both I and I are set, I will be used instead of I." msgstr "Для зміни місця зберігання файлів wcd слід використовувати змінну середовища I. Якщо встановлено одразу I і I, замість I буде використано I." #. type: textblock #: wcd.pod:1198 msgid "In wcd versions prior to 5.1.5 I also changed the default scan directory. This has changed. Since version 5.1.5 I does not change the default scan directory. See option B<-s>. From version 5.1.5, use environment I to overrule the default scan directory." msgstr "З версіях wcd до версії 5.1.5 типовий каталог сканування можна змінити також за допомогою змінної I. У наступних версіях таку поведінку було змінено. Починаючи з версії 5.1.5, I не змінює типового каталогу сканування. Див. параметр B<-s>. Починаючи з версії 5.1.5, для перевизначення типового каталогу сканування слід використовувати змінну середовища I." #. type: textblock #: wcd.pod:1203 msgid "Example for DOS, Windows, OS/2 Command Prompt:" msgstr "Приклад для командних оболонок DOS, Windows, OS/2:" #. type: verbatim #: wcd.pod:1205 #, no-wrap msgid "" " set WCDHOME=C:\\Users\\erwin\\wcd\n" "\n" msgstr "" " set WCDHOME=C:\\Users\\erwin\\wcd\n" "\n" #. type: textblock #: wcd.pod:1207 wcd.pod:1228 wcd.pod:1248 wcd.pod:1273 msgid "An example for POSIX type shells:" msgstr "Приклад для командних оболонок типу POSIX:" #. type: verbatim #: wcd.pod:1209 #, no-wrap msgid "" " export WCDHOME=\"$HOME/.wcd\"\n" "\n" msgstr "" " export WCDHOME=\"$HOME/.wcd\"\n" "\n" #. type: textblock #: wcd.pod:1211 wcd.pod:1232 wcd.pod:1252 wcd.pod:1277 msgid "An example for Csh type shells:" msgstr "Приклад для командних оболонок типу Csh:" #. type: verbatim #: wcd.pod:1213 #, no-wrap msgid "" " setenv WCDHOME \"$HOME/.wcd\"\n" "\n" msgstr "" " setenv WCDHOME \"$HOME/.wcd\"\n" "\n" #. type: =item #: wcd.pod:1215 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1217 msgid "Use environment variable I to overrule the default scan directory I. Define a colon separated list (Unix) to define more than one directory. On DOS/Windows make the list semi-colon separated." msgstr "Для перевизначення встановленого за допомогою змінної середовища I типового каталогу сканування скористайтеся змінною середовища I. Щоб визначити декілька каталогів, скористайтеся списком каталогів, відокремлених двокрапкою (Unix). У DOS або Windows записи у списку слід відокремлювати крапкою з комою." #. type: textblock #: wcd.pod:1222 msgid "Examples for DOS, Windows, OS/2 Command Prompt:" msgstr "Приклади для командних оболонок DOS, Windows, OS/2:" #. type: verbatim #: wcd.pod:1224 #, no-wrap msgid "" " set WCDSCAN=C:\\Users\\erwin;D:\\data\n" "\n" msgstr "" " set WCDSCAN=C:\\Users\\erwin;D:\\data\n" "\n" #. type: verbatim #: wcd.pod:1226 #, no-wrap msgid "" " set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\\\projectdrive\\projectX\n" "\n" msgstr "" " set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\\\projectdrive\\projectX\n" "\n" #. type: verbatim #: wcd.pod:1230 #, no-wrap msgid "" " export WCDSCAN=\"$HOME:/projectdisk/projectX\"\n" "\n" msgstr "" " export WCDSCAN=\"$HOME:/projectdisk/projectX\"\n" "\n" #. type: verbatim #: wcd.pod:1234 #, no-wrap msgid "" " setenv WCDSCAN \"$HOME:/projectdisk/projectX\"\n" "\n" msgstr "" " setenv WCDSCAN \"$HOME:/projectdisk/projectX\"\n" "\n" #. type: =item #: wcd.pod:1236 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1238 msgid "Specify filters with environment variable I. All directories that do not match the filter(s) are ignored. A list can be specified by separating filters by the shell path separator. Similar as specifying the I variable. The case sensitivity is mandated by the Operating system." msgstr "Фільтри можна вказати за допомогою змінної середовища I. Усі каталоги, які не відповідають цим фільтрам, буде проігноровано. Записи у списку слід відокремлювати типовим роздільником каталогів у шляхах командної оболонки. Це щось подібне до визначення змінної середовища I. Те, чи буде враховано регістр символів, визначається параметрами операційної системи." #. type: textblock #: wcd.pod:1244 wcd.pod:1269 msgid "An example for DOS, Windows, OS/2 Command Prompt:" msgstr "Приклад для командних оболонок DOS, Windows, OS/2:" #. type: verbatim #: wcd.pod:1246 #, no-wrap msgid "" " set WCDFILTER=projects;doc\n" "\n" msgstr "" " set WCDFILTER=projects;doc\n" "\n" #. type: verbatim #: wcd.pod:1250 #, no-wrap msgid "" " export WCDFILTER=\"projects:doc\"\n" "\n" msgstr "" " export WCDFILTER=\"projects:doc\"\n" "\n" #. type: verbatim #: wcd.pod:1254 #, no-wrap msgid "" " setenv WCDFILTER \"projects:doc\"\n" "\n" msgstr "" " setenv WCDFILTER \"projects:doc\"\n" "\n" #. type: =item #: wcd.pod:1256 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1258 msgid "The paths specified with environment I will be banned by wcd. See also option B<-b>. Specify a list of paths separated by shell I separator." msgstr "Шляхи, вказані за допомогою змінної середовища I, вважатимуться заблокованими для wcd. Див. також параметр B<-b>. Записи у списку шляхів слід відокремлювати типовим роздільником змінної I командної оболонки." #. type: =item #: wcd.pod:1262 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1264 msgid "The paths specified with environment I will be excluded by wcd. See also options B<-x> and B<-xf>. Specify a list of paths separated by shell I separator." msgstr "Шляхи, вказані за допомогою змінної середовища I, вважатимуться виключеними для wcd. Див. також параметри B<-x> та B<-xf>. Записи у списку шляхів слід відокремлювати типовим роздільником змінної I командної оболонки." #. type: verbatim #: wcd.pod:1271 #, no-wrap msgid "" " set WCDEXCLUDE=*/windows;*/temp;*CVS\n" "\n" msgstr "" " set WCDEXCLUDE=*/windows;*/temp;*CVS\n" "\n" #. type: verbatim #: wcd.pod:1275 #, no-wrap msgid "" " export WCDEXCLUDE=\"/dev:/tmp:*CVS\"\n" "\n" msgstr "" " export WCDEXCLUDE=\"/dev:/tmp:*CVS\"\n" "\n" #. type: verbatim #: wcd.pod:1279 #, no-wrap msgid "" " setenv WCDEXCLUDE \"/dev:/tmp:*CVS\"\n" "\n" msgstr "" " setenv WCDEXCLUDE \"/dev:/tmp:*CVS\"\n" "\n" #. type: =item #: wcd.pod:1281 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1283 msgid "Set the base of user's home directories. On DOS/Windows the default value is C<\\\\users>. On Unix/Cygwin the default value is C. This variable is used to scan treedata files of other users. See also options B<-u> and B<+u>. In verbose mode wcd will print all filters, bans and excludes. See option B<-v>." msgstr "Встановлює основний каталог для домашніх каталогів користувачів. У DOS або Windows типовим значенням змінної є C<\\\\users>. У Unix або Cygwin типовим значенням є C. Ця змінна середовища використовується для сканування файлів даних ієрархії каталогів інших користувачів. Див. також параметри B<-u> та B<+u>. У докладному режимі wcd виводитиме усі фільтри, блокування та виключення. Див. параметр B<-v>." #. type: =item #: wcd.pod:1290 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1292 msgid "Wcd gives preference to I over the default stack file name (see section FILES). With this variable each shell (or used terminal emulator) can have its private stack of used directories." msgstr "Wcd надає перевагу значенню змінної I над типовою назвою файла стосу (див. розділ «ФАЙЛИ»). За допомогою цієї змінної можна визначити окремий стос використаних каталогів для декількох різних командних оболонок (або використаних емуляторів термінала)." #. type: textblock #: wcd.pod:1296 msgid "To use a unique time based YYYYMMDD-HHMMSS file for each opened interactive shell." msgstr "Використання файла з унікальною назвою на основі поточного часу у форматі РРРММДД-ГГХХСС для кожної відкритої інтерактивної командної оболонки:" #. type: verbatim #: wcd.pod:1299 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)\n" "\n" msgstr "" " export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)\n" "\n" #. type: textblock #: wcd.pod:1301 msgid "For a stack per xterm(1), use the xterm I environment variable:" msgstr "Для окремого стосу на кожний екземпляр xterm(1) скористайтеся змінної середовища I для xterm:" #. type: verbatim #: wcd.pod:1303 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID\n" "\n" msgstr "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID\n" "\n" #. type: textblock #: wcd.pod:1305 msgid "For GNU screen(1), to use stack per screen:" msgstr "Для GNU screen(1), використання окремого стосу на екземпляр screen:" #. type: verbatim #: wcd.pod:1307 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW\n" "\n" msgstr "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW\n" "\n" #. type: =item #: wcd.pod:1309 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1311 msgid "If the environment variable I is defined, wcd with ncurses interface checks for a local terminal definition before checking in the standard place. This is useful if terminal definitions are not on a standard place. Often used standard places are C and C." msgstr "Якщо визначено змінну середовища I, wcd з інтерфейсом на основі ncurses шукатиме локальні визначення термінала до виконання пошуку у стандартному місці. Це корисно, якщо визначення термінала зберігаються у нестандартному місці. Часто використовуються стандартні місця C та C." #. type: =item #: wcd.pod:1317 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1319 msgid "Wcd with PDCurses interface recognizes the environment variable I. If this environment variable is set, PDCurses will take a copy of the contents of the screen at the time that wcd is started; when wcd exits, the screen will be restored. An example for Windows Command Prompt:" msgstr "Wcd з інтерфейсом на основі PDCurses розпізнає змінну середовища I. Якщо встановлено цю змінну середовища, PDCurses скопіює вміст екрана на час запуску wcd; після завершення роботи wcd вміст екрана буде відновлено. Приклад для командної оболонки Windows:" #. type: verbatim #: wcd.pod:1325 #, no-wrap msgid "" " set PDC_RESTORE_SCREEN=1\n" "\n" msgstr "" " set PDC_RESTORE_SCREEN=1\n" "\n" #. type: textblock #: wcd.pod:1327 msgid "Windows allows only a small buffer to be saved. So it is not always possible to restore everything. Some garbage data may be printed in the console after wcd exits if you have set a large buffer width." msgstr "У Windows передбачено можливість зберігання лише буфера незначного обсягу. Тому повне відновлення не завжди можливе. Якщо вміст буфера є доволі значним, до консолі після виходу з wcd буде виведено випадкові символи." #. type: =item #: wcd.pod:1332 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1334 msgid "Printing of C<#!$SHELL> on the first line of the go-script for POSIX type shell or C shell is needed for 8 bit characters. Some shells otherwise think that the go-script is a binary file and will not source it. In Cygwin Bash the variable I must be set in environment using the C command, otherwise wcd can't read the variable." msgstr "Для виведення 8-бітових символів у скриптах переходу для командних оболонок типу POSIX та C слід вказати C<#!$SHELL> у першому рядку. Якщо цього не зробити, у деяких оболонках скрипт переходу вважатиметься бінарним файлом і не використовуватиметься. У bash Cygwin у середовищі має бути визначено змінну I за допомогою команди C, інакше wcd не зможе прочитати змінну." #. type: =item #: wcd.pod:1342 msgid "B" msgstr "B" #. type: textblock #: wcd.pod:1344 msgid "Wcd for DOS bash uses C<$BASH> instead of C<$SHELL>, because C<$SHELL> points to the DOS command shell. One may need to define C<$BASH> with an C command, otherwise wcd can't read the variable." msgstr "Wcd для bash DOS використовується C<$BASH> замість C<$SHELL>, оскільки C<$SHELL> вказує на командну оболонку DOS. Можливо, слід визначити змінну C<$BASH> за допомогою команди C, інакше wcd не зможе прочитати змінну." #. type: =head1 #: wcd.pod:1351 msgid "SEE ALSO" msgstr "ТАКОЖ ПЕРЕГЛЯНЬТЕ" #. type: textblock #: wcd.pod:1353 msgid "sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1)," msgstr "sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1)," #. type: =head1 #: wcd.pod:1361 msgid "AUTHORS" msgstr "АВТОРИ" #. type: textblock #: wcd.pod:1363 msgid "Wcd was written by Erwin Waterlander " msgstr "Wcd створено Erwin Waterlander " #. type: textblock #: wcd.pod:1365 msgid "Project homepage: L" msgstr "Домашня сторінка проекту: L" #. type: textblock #: wcd.pod:1368 msgid "SourceForge: L" msgstr "SourceForge: L" #. type: textblock #: wcd.pod:1371 msgid "The manual page formatting was provided by Jari Aalto ." msgstr "Форматування сторінки підручника було виконано Jari Aalto ." #. type: textblock #: wcd.pod:1374 msgid "NCD was originally written by Brad Kingsbury for Peter Norton's \"Norton Utilities\" around 1987. See also L" msgstr "Початкову версію NCD було створено Brad Kingsbury для пакунка \"Norton Utilities\" Пітера Нортона близько 1987 року. Див. також L" #~ msgid "CONSOLE RESIZING ON WINDOWS" #~ msgstr "ЗМІНА РОЗМІРІВ КОНСОЛІ У WINDOWS" #~ msgid "Freecode: L" #~ msgstr "Freecode: L" #~ msgid "Option -x must be used in front of any scan option (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." #~ msgstr "Параметр -x слід вказувати до усіх параметрів сканування (B<-s>, B<-S>, B<+S>, B<-A>, B<-E>)." #~ msgid "Replace with the location where wcd executable have been installed. Reload the shell initialization files or start new shell." #~ msgstr "Замініть <ШЛЯХ> на адресу каталогу, до якого встановлено виконуваний файл wcd. Перезавантажте файли ініціалізації оболонки або запустіть нову оболонку." wcd-6.0.3/src/po-man/wcd-man.pot0000644000175500010010000020462013524756533015615 0ustar waterlanGeen# 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. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2019-08-14 12:07+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: =head1 #: wcd.pod:43 msgid "NAME" msgstr "" #. type: textblock #: wcd.pod:45 msgid "wcd - Wherever Change Directory" msgstr "" #. type: textblock #: wcd.pod:47 msgid "chdir for DOS and Unix" msgstr "" #. type: =head1 #: wcd.pod:49 msgid "SYNOPSIS" msgstr "" #. type: verbatim #: wcd.pod:51 #, no-wrap msgid "" " wcd [options] [directory]\n" "\n" msgstr "" #. type: =head1 #: wcd.pod:53 msgid "DESCRIPTION" msgstr "" #. type: =head2 #: wcd.pod:55 msgid "Overview" msgstr "" #. type: textblock #: wcd.pod:57 msgid "" "Wcd is a command-line program to change directory fast. It saves time typing " "at the keyboard. One needs to type only a part of a directory name and wcd " "will jump to it. Wcd has a fast selection method in case of multiple matches " "and allows aliasing and banning of directories. Wcd also includes a full " "screen interactive directory tree browser with speed search." msgstr "" #. type: textblock #: wcd.pod:63 msgid "" "Wcd was modeled after Norton Change Directory (NCD). NCD appeared first in " "I, for DOS in 1987, published by Peter " "Norton." msgstr "" #. type: textblock #: wcd.pod:66 msgid "" "Wcd has been ported to different command-line shells: DOS command.com, " "Windows cmd.exe and PowerShell, OS/2 cmd.exe, and Unix shells such as Bourne " "(sh), Bourne Again (bash), Korn (ksh), Z (zsh), and C (csh) shell and others " "running on any operating system." msgstr "" #. type: textblock #: wcd.pod:71 msgid "" "Wcd supports 8 bit character sets on all systems, and has optional support " "for Unicode. See section LOCALIZATION." msgstr "" #. type: textblock #: wcd.pod:74 msgid "See section INSTALLATION how to setup wcd for personal use." msgstr "" #. type: =head2 #: wcd.pod:76 msgid "Basic use" msgstr "" #. type: textblock #: wcd.pod:78 msgid "" "By default (if no wildcards are used) wcd searches for a directory with a " "name that begins with the typed name." msgstr "" #. type: textblock #: wcd.pod:81 msgid "" "For instance this command will change to directory to the current user's " "C:" msgstr "" #. type: verbatim #: wcd.pod:84 #, no-wrap msgid "" " wcd Desk\n" "\n" msgstr "" #. type: textblock #: wcd.pod:86 msgid "" "When there are multiple matches, wcd will present the user a list of all " "matches. The user can then make a selection with a few keystrokes (most of " "the times only one)." msgstr "" #. type: =head2 #: wcd.pod:90 msgid "Wildcards" msgstr "" #. type: textblock #: wcd.pod:92 msgid "Wcd supports following wildcards:" msgstr "" #. type: verbatim #: wcd.pod:94 #, no-wrap msgid "" " * matches any sequence of characters (zero or more)\n" " ? matches any character\n" " [SET] matches any character in the specified set,\n" " [!SET] or [^SET] matches any character not in the specified set.\n" "\n" msgstr "" #. type: textblock #: wcd.pod:99 msgid "" "A set is composed of characters or ranges; a range looks like I as in C<0-9> or C. The C<[0-9a-zA-Z_]> is the minimal " "set of characters allowed in the C<[..]> pattern construct. International " "characters (i.e. 8 bit characters) are allowed if the system supports " "them. To suppress the special syntactic significance of any of C<[]*?!^-\\> " "inside or outside a C<[..]> construct and match the character exactly, " "precede the character with a backslash (C<\\>) marker." msgstr "" #. type: textblock #: wcd.pod:108 msgid "" "Using wildcards makes powerful searching possible. For instance this matches " "any directory name that ends with \"top\":" msgstr "" #. type: verbatim #: wcd.pod:111 #, no-wrap msgid "" " wcd *top\n" "\n" msgstr "" #. type: textblock #: wcd.pod:113 msgid "Match directories that have \"top\" anywhere in the name:" msgstr "" #. type: verbatim #: wcd.pod:115 #, no-wrap msgid "" " wcd *top*\n" "\n" msgstr "" #. type: textblock #: wcd.pod:117 msgid "Match any directory name that begins with \"a\", \"b\" or \"c\":" msgstr "" #. type: verbatim #: wcd.pod:119 #, no-wrap msgid "" " wcd [a-c]*\n" "\n" msgstr "" #. type: textblock #: wcd.pod:121 msgid "" "It is also possible to give a part of a directory path. Here Wcd searches " "for directory that begins with \"Desk\" and which path matches I<*me/Desk*>." msgstr "" #. type: verbatim #: wcd.pod:124 #, no-wrap msgid "" " wcd me/Desk\n" "\n" msgstr "" #. type: textblock #: wcd.pod:126 msgid "" "It is allowed to type any kind of expression with slashes and wildcards. " "E.g.:" msgstr "" #. type: verbatim #: wcd.pod:129 #, no-wrap msgid "" " wcd src*/*1?/a*2\n" "\n" msgstr "" #. type: =head2 #: wcd.pod:131 msgid "Other uses" msgstr "" #. type: textblock #: wcd.pod:133 msgid "" "If no wildcards are used and wcd finds a perfect match, wcd will ignore all " "wild matches by default. This behaviour can be changed with the B<-w> " "option." msgstr "" #. type: textblock #: wcd.pod:136 msgid "The interactive directory tree browser can be started by using option B<-g>." msgstr "" #. type: verbatim #: wcd.pod:138 #, no-wrap msgid "" " wcd -g\n" "\n" msgstr "" #. type: textblock #: wcd.pod:140 msgid "" "Wcd generates a treedata file where it searches the directory. On Unix and " "Windows systems wcd does add symbolic links to the treedata file while " "scanning the disk, but does not follow them. While following links wcd could " "end up scanning infinite loops, or scan very large portions of a network." msgstr "" #. type: textblock #: wcd.pod:145 msgid "Wcd can also change to directories that are not in the treedata file. E.g.:" msgstr "" #. type: verbatim #: wcd.pod:147 #, no-wrap msgid "" " wcd ..\n" "\n" msgstr "" #. type: textblock #: wcd.pod:149 msgid "" "If wcd found a match but can't change to the directory it tries to remove it " "from the default treedata file. Not from the extra treedata file. See also " "option B<-k>." msgstr "" #. type: textblock #: wcd.pod:153 msgid "" "Wcd keeps a directory stack which is stored on disk. The stack has a default " "size of 10 and is cyclic. See options B<-z>, B<->, B<+> and B<=>." msgstr "" #. type: textblock #: wcd.pod:157 msgid "" "In multi-user environments option B<-u> can be used to change to directories " "of other users." msgstr "" #. type: textblock #: wcd.pod:161 msgid "" "On DOS and Windows systems it does not matter if you use a slash \"/\" or a " "backslash \"\\\" as a directory separator." msgstr "" #. type: textblock #: wcd.pod:164 msgid "" "It is possible on DOS and Windows systems to change drive and directory in " "one go by preceding the directory name with the drive name." msgstr "" #. type: verbatim #: wcd.pod:167 #, no-wrap msgid "" " wcd d:games\n" "\n" msgstr "" #. type: =head2 #: wcd.pod:171 msgid "Windows UNC paths" msgstr "" #. type: textblock #: wcd.pod:173 msgid "" "The Windows versions (Command Prompt, PowerShell, MSYS, zsh, cygwin) support " "Windows SMB LAN UNC paths without drive letter such as " "C<\\\\servername\\sharename>. Wcd for Windows Command Prompt makes use of " "the \"pushd\" command to automatically map a UNC path to a drive letter. In " "Windows PowerShell, MSYS, zsh and Cygwin UNC paths are fully supported. The " "current working directory can be a UNC path." msgstr "" #. type: =head2 #: wcd.pod:180 msgid "Console resizing on Windows" msgstr "" #. type: textblock #: wcd.pod:182 msgid "" "Wcd supports console resizing in Windows 10 console and ConEmu (see " "L) since version 6.0.3. The Windows 10 console " "must not be in legacy mode (check the console's properties). The screen may " "not refresh when the console Layout property \"Wrap text output on resize\" " "is disabled. The screen can be refreshed manually by pressing the F5 key." msgstr "" #. type: =head2 #: wcd.pod:189 msgid "Interfaces" msgstr "" #. type: textblock #: wcd.pod:191 msgid "" "Wcd has three different interfaces to choose from a list of matches. The " "interface can be chosen at compile time." msgstr "" #. type: textblock #: wcd.pod:194 msgid "" "The first interface uses plain stdin/stdout. A numbered list is printed in " "the terminal. The user has to choose from the list by typing a number " "followed by . This interface does not provide scroll back " "functionality in case of a long list. The scroll back capability of the " "terminal/console has to be used. It is very small and portable." msgstr "" #. type: textblock #: wcd.pod:200 msgid "" "The second interface is built with the conio library. It provides a builtin " "scroll back capability. The user is presented a list numbered with letters. " "Choosing from a list can be done by pressing just one letter. This interface " "is fast because it saves keystrokes. If possible the screen will be restored " "after exiting. One who prefers to type numbers can use the B<-N> option." msgstr "" #. type: textblock #: wcd.pod:207 msgid "" "The third interface is built with the curses library. It is similar to the " "conio interface. The curses version of wcd has also an additional " "'graphical' interface. It lets the user select a directory via a full screen " "interactive directory tree browser. It has a vim(1) like navigation and " "search method. It can be activated with option B<-g>." msgstr "" #. type: textblock #: wcd.pod:213 msgid "" "By using the B<-o> option one can always fall back to the stdin/stdout " "interface." msgstr "" #. type: =head1 #: wcd.pod:216 msgid "OPTIONS" msgstr "" #. type: =item #: wcd.pod:220 msgid "B<-a>" msgstr "" #. type: textblock #: wcd.pod:222 msgid "Add current path to the default treedata file." msgstr "" #. type: textblock #: wcd.pod:224 msgid "" "Use this option to quickly add the current path to the default treedata " "file. Re-scanning the complete disk can take a long time in some cases." msgstr "" #. type: =item #: wcd.pod:227 msgid "B<-aa>" msgstr "" #. type: textblock #: wcd.pod:229 msgid "Add current and all parent paths to the default treedata file." msgstr "" #. type: =item #: wcd.pod:231 msgid "B<-A PATH>" msgstr "" #. type: textblock #: wcd.pod:233 msgid "" "Scan directory tree from I and append to the default treedata " "file. Examples:" msgstr "" #. type: verbatim #: wcd.pod:236 #, no-wrap msgid "" " wcd -A .\n" " wcd -A /home -A /etc\n" " wcd -A d: -A e: -A \\\\server\\share\n" "\n" msgstr "" #. type: textblock #: wcd.pod:240 msgid "" "On Windows one can scan all shared directories of a Windows LAN server by " "typing something like: C." msgstr "" #. type: textblock #: wcd.pod:244 msgid "See also option B<-S> and B<-s> and B<-E>." msgstr "" #. type: =item #: wcd.pod:246 msgid "B<-b>" msgstr "" #. type: textblock #: wcd.pod:248 msgid "Ban current path." msgstr "" #. type: textblock #: wcd.pod:250 msgid "" "Wcd places the current path in the ban file. This means that wcd ignores all " "matches of this directory and its sub directories." msgstr "" #. type: textblock #: wcd.pod:253 msgid "" "The ban file can be edited with a text editor. Use of wildcards is supported " "and names are matched against the absolute path." msgstr "" #. type: textblock #: wcd.pod:256 msgid "" "Banned paths are not excluded from scanning the disk. To do that use option " "B<-xf>." msgstr "" #. type: =item #: wcd.pod:259 msgid "B<-c, --direct-cd>" msgstr "" #. type: textblock #: wcd.pod:261 msgid "Direct CD mode. By default wcd works as follows:" msgstr "" #. type: verbatim #: wcd.pod:263 #, no-wrap msgid "" " 1. Try to find a match in the treedata file(s)\n" " 2. If no match, try to open the directory you typed.\n" "\n" msgstr "" #. type: textblock #: wcd.pod:266 msgid "In direct CD mode wcd works in reversed order." msgstr "" #. type: verbatim #: wcd.pod:268 #, no-wrap msgid "" " 1. Try to open the directory you typed.\n" " 2. If not, try to find a match in the treedata file(s).\n" "\n" msgstr "" #. type: =item #: wcd.pod:272 msgid "B<-d DRIVE>" msgstr "" #. type: textblock #: wcd.pod:274 msgid "Set drive for stack and go file (DOS only)." msgstr "" #. type: textblock #: wcd.pod:276 msgid "" "The stack file and the go-script are by default stored on drive C: if " "environment variable I is not set. Use this option if drive C: is a " "read-only drive. This option must be used in front of the stack options " "B<->, B<+> and B<=>." msgstr "" #. type: =item #: wcd.pod:281 msgid "B<-e>" msgstr "" #. type: textblock #: wcd.pod:283 msgid "Add current path to the extra treedata file." msgstr "" #. type: textblock #: wcd.pod:285 msgid "Use this option to quickly add the current path to the extra treedata file." msgstr "" #. type: =item #: wcd.pod:287 msgid "B<-ee>" msgstr "" #. type: textblock #: wcd.pod:289 msgid "Add current and all parent paths to extra treedata file." msgstr "" #. type: =item #: wcd.pod:291 msgid "B<-E PATH>" msgstr "" #. type: textblock #: wcd.pod:293 msgid "" "Scan directory tree from I and append to Extra treedata file. See also " "options B<-A> and B<-S>." msgstr "" #. type: =item #: wcd.pod:296 msgid "B<-f FILE>" msgstr "" #. type: textblock #: wcd.pod:298 msgid "Read treedata file I. Do not read the default treedata file." msgstr "" #. type: =item #: wcd.pod:300 msgid "B<+f FILE>" msgstr "" #. type: textblock #: wcd.pod:302 msgid "Read treedata file I in addition to the default treedata file." msgstr "" #. type: =item #: wcd.pod:304 msgid "B<-g>" msgstr "" #. type: textblock #: wcd.pod:306 msgid "Graphical interface (only in version with curses interface)." msgstr "" #. type: textblock #: wcd.pod:308 msgid "" "Wcd starts a textual curses based 'graphical' interface. The user can select " "a directory via a full-screen interactive directory tree browser. It has a " "vim(1) like navigation and search method." msgstr "" #. type: textblock #: wcd.pod:312 msgid "" "If no search string is given wcd presents the whole tree which is in the " "default treedata file and the extra treedata files." msgstr "" #. type: textblock #: wcd.pod:315 msgid "If a search string is given the match list is presented as a directory tree." msgstr "" #. type: textblock #: wcd.pod:318 msgid "" "The default tree layout is similar to the tree layout of the original NCD on " "DOS. The difference in layout is that in NCD all directories of a same depth " "level were vertically aligned over the whole tree. This was possible in NCD, " "because the maximum width of a directory name in DOS was 12 (8.3) " "characters. On modern operating systems directory names can be very long, so " "also the differences in length can be large. Therefore folders with a same " "depth are not vertically aligned over the whole tree in wcd, but only in " "sub-branches. So there is some sideways movement when moving straight up " "and down from one sub-branch to another sub-branch." msgstr "" #. type: textblock #: wcd.pod:328 msgid "" "The navigation behaviour in Wcd is exactly the same as in the original " "NCD. For instance if you push the Down key you go down to the next directory " "with the same depth level, jumping over branches. This enables fast " "navigation through the tree." msgstr "" #. type: textblock #: wcd.pod:333 msgid "See options B<-Ta>, B<-TC>, and B<-Tc> to change the navigation behaviour." msgstr "" #. type: =item #: wcd.pod:335 msgid "B<-gd>" msgstr "" #. type: textblock #: wcd.pod:337 msgid "Dump the treedata files as a tree to stdout." msgstr "" #. type: =item #: wcd.pod:339 msgid "B<-G PATH>" msgstr "" #. type: textblock #: wcd.pod:341 msgid "" "Write go-script in directory I. For instance on Unix, C " "will write a go-script B." msgstr "" #. type: =item #: wcd.pod:344 msgid "B<-GN, --no-go-script>" msgstr "" #. type: textblock #: wcd.pod:346 msgid "" "Do not create go-script. This option can be used in combination with the " "option B<-j> if one does not want wcd to create a go-script." msgstr "" #. type: =item #: wcd.pod:349 msgid "B<-h, --help>" msgstr "" #. type: textblock #: wcd.pod:351 msgid "Show help and exit." msgstr "" #. type: =item #: wcd.pod:353 msgid "B<-i, --ignore-case>" msgstr "" #. type: textblock #: wcd.pod:355 msgid "" "Ignore case. Dos and Windows versions of wcd ignore case " "default. Unix/Cygwin versions regard case by default." msgstr "" #. type: =item #: wcd.pod:359 msgid "B<+i, --no-ignore-case>" msgstr "" #. type: textblock #: wcd.pod:361 msgid "Regard case. See also option B<-i>." msgstr "" #. type: =item #: wcd.pod:363 msgid "B<-I, --ignore-diacritics>" msgstr "" #. type: textblock #: wcd.pod:365 msgid "" "Ignore diacritics for Latin-based scripts. Letters with diacritical marks " "match their base letter without diacritical mark. The following Latin " "encodings are supported: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1, " "ISO-8859-2, and Unicode Latin-1, Latin Extended-A, and Latin Extended-B. " "See also L" msgstr "" #. type: =item #: wcd.pod:372 msgid "B<+I, --no-ignore-diacritics>" msgstr "" #. type: textblock #: wcd.pod:374 msgid "Regard diacritics (default). See also option B<-I>." msgstr "" #. type: =item #: wcd.pod:376 msgid "B<-j, --just-go>" msgstr "" #. type: textblock #: wcd.pod:378 msgid "Just go mode." msgstr "" #. type: textblock #: wcd.pod:380 msgid "" "In this mode wcd will not present a list when there is more than one " "directory that matches the given directory. Wcd will just change to the " "first option. When wcd is invoked again with the same arguments it will " "change to the next option, and so on." msgstr "" #. type: textblock #: wcd.pod:385 msgid "" "Wcd will print the directory to go to to stdout. So a different installation " "method can be used. One could make the following function for a POSIX " "compatible shell:" msgstr "" #. type: verbatim #: wcd.pod:389 #, no-wrap msgid "" " wcd ()\n" " {\n" " cd \"$($HOME/bin/wcd.exe -j $@)\"\n" " }\n" "\n" msgstr "" #. type: textblock #: wcd.pod:394 msgid "" "When you are using an old shell that doesn't support \"$()\" command " "substitution you have to use old style command substitution with " "back-quotes." msgstr "" #. type: verbatim #: wcd.pod:397 #, no-wrap msgid "" " wcd ()\n" " {\n" " cd \"`$HOME/bin/wcd.exe -j $@`\"\n" " }\n" "\n" msgstr "" #. type: textblock #: wcd.pod:403 msgid "" "On Windows systems, if one is running 4NT shell, one could make the " "following alias:" msgstr "" #. type: verbatim #: wcd.pod:406 #, no-wrap msgid "" " alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`\n" "\n" msgstr "" #. type: textblock #: wcd.pod:409 msgid "" "This method eliminates the need of the go-script, so one can use option " "B<-GN> in combination with B<-j>." msgstr "" #. type: =item #: wcd.pod:412 msgid "B<-k, --keep-paths>" msgstr "" #. type: textblock #: wcd.pod:414 msgid "Keep paths." msgstr "" #. type: textblock #: wcd.pod:416 msgid "" "Keep paths in the treedata file when wcd can't change to them. The default " "behaviour of wcd is that it tries to remove paths from the treedata when wcd " "can't change to them. With this option this behavior is turned off." msgstr "" #. type: =item #: wcd.pod:420 msgid "B<-K, --color>" msgstr "" #. type: textblock #: wcd.pod:422 msgid "Use colors in graphical mode." msgstr "" #. type: =item #: wcd.pod:424 msgid "B<-l ALIAS>" msgstr "" #. type: textblock #: wcd.pod:426 msgid "" "Name the current path with I. Wcd places the current path with alias " "I in the alias file. Aliases are case sensitive." msgstr "" #. type: =item #: wcd.pod:429 msgid "B<-ls>" msgstr "" #. type: textblock #: wcd.pod:431 msgid "Show the name of the alias file, and list all the aliases." msgstr "" #. type: =item #: wcd.pod:433 msgid "B<-m DIR>" msgstr "" #. type: textblock #: wcd.pod:435 msgid "Make directory and add to treedata file." msgstr "" #. type: =item #: wcd.pod:437 msgid "B<-L, --license>" msgstr "" #. type: textblock #: wcd.pod:439 msgid "Print the distribution license." msgstr "" #. type: =item #: wcd.pod:441 msgid "B<-M DIR>" msgstr "" #. type: textblock #: wcd.pod:443 msgid "Make directory and add to extra treedata file." msgstr "" #. type: =item #: wcd.pod:445 msgid "B<-n PATH>" msgstr "" #. type: textblock #: wcd.pod:447 msgid "Read relative treedata file from I." msgstr "" #. type: textblock #: wcd.pod:449 msgid "" "Do not read the default treedata file. The relative treedata file should " "already have been created using the wcd B<+S> option. I may also " "point to a file directly." msgstr "" #. type: textblock #: wcd.pod:453 msgid "" "An example. Suppose another system has been mounted to mount point " "C:" msgstr "" #. type: verbatim #: wcd.pod:456 #, no-wrap msgid "" " wcd -n /mnt/network src\n" "\n" msgstr "" #. type: textblock #: wcd.pod:458 msgid "" "Wcd opens the relative treedata file in C. The file contains " "the paths relative from that point." msgstr "" #. type: =item #: wcd.pod:461 msgid "B<+n PATH>" msgstr "" #. type: textblock #: wcd.pod:463 msgid "" "Read relative treedata file in addition to the default treedata file. See " "option B<-n>." msgstr "" #. type: =item #: wcd.pod:466 msgid "B<-N, --numbers>" msgstr "" #. type: textblock #: wcd.pod:468 msgid "Use numbers instead of letters." msgstr "" #. type: textblock #: wcd.pod:470 msgid "" "Wcd with a conio or curses based interface (see section Interfaces) presents " "a match list by default numbered with letters. When the B<-N> option is used " "the match list is numbered with numbers. Regardless of the B<-N> option one " "can type a letter or numbers to make a selection from the list of matches." msgstr "" #. type: =item #: wcd.pod:475 msgid "B<-o>" msgstr "" #. type: textblock #: wcd.pod:477 msgid "Use stdin/stdout interface." msgstr "" #. type: textblock #: wcd.pod:479 msgid "" "When for some kind of reason the conio or curses interface of wcd does not " "work one can fall back to the stdin/stdout interface of wcd by using the " "B<-o> option." msgstr "" #. type: =item #: wcd.pod:483 msgid "B<-od, --to-stdout>" msgstr "" #. type: textblock #: wcd.pod:485 msgid "Dump all matches to stdout." msgstr "" #. type: =item #: wcd.pod:487 msgid "B<-q, --quiet>" msgstr "" #. type: textblock #: wcd.pod:489 msgid "Quieter operation. Printing of the final match is suppressed." msgstr "" #. type: =item #: wcd.pod:491 msgid "B<-r DIR>" msgstr "" #. type: textblock #: wcd.pod:493 msgid "Remove directory and remove from the treedata file." msgstr "" #. type: textblock #: wcd.pod:495 msgid "" "If the directory is empty, wcd will remove it, and try to remove it from the " "treedata file." msgstr "" #. type: =item #: wcd.pod:498 msgid "B<-rmtree DIR>" msgstr "" #. type: textblock #: wcd.pod:500 msgid "Recursively remove directory and remove from the treedata file." msgstr "" #. type: textblock #: wcd.pod:502 msgid "" "Wcd will remove the directory and all its sub directories and files, and " "remove the directories from the treedata file." msgstr "" #. type: =item #: wcd.pod:505 msgid "B<-s>" msgstr "" #. type: textblock #: wcd.pod:507 msgid "" "(re)Scan disk from C<$HOME> directory. If I is not defined the disk is " "scanned from root directory /." msgstr "" #. type: textblock #: wcd.pod:510 msgid "The existing default treedata file is overwritten." msgstr "" #. type: textblock #: wcd.pod:512 msgid "" "The default scan directory can be overruled with environment variable " "C. See section ENVIRONMENT VARIABLES." msgstr "" #. type: =item #: wcd.pod:515 msgid "B<-S PATH>" msgstr "" #. type: textblock #: wcd.pod:517 msgid "" "Scan directory tree from I and overwrite the default treedata file. " "See also options B<-A>, B<-s> and B<-E>. E.g. with option B<-A> you can " "create a default treedata file of your choice. Examples:" msgstr "" #. type: textblock #: wcd.pod:521 msgid "Unix:" msgstr "" #. type: verbatim #: wcd.pod:523 #, no-wrap msgid "" " wcd -S /\n" " wcd -S /home -A /etc -A /usr\n" "\n" msgstr "" #. type: textblock #: wcd.pod:526 msgid "DOS/Windows:" msgstr "" #. type: verbatim #: wcd.pod:528 #, no-wrap msgid "" " wcd -S c:/\n" " wcd -S c: -A d: -A \\\\server\\share\n" "\n" msgstr "" #. type: textblock #: wcd.pod:531 msgid "" "With the Windows versions one can scan all shared directories of a Windows " "LAN server by typing something like: C." msgstr "" #. type: =item #: wcd.pod:535 msgid "B<+S PATH>" msgstr "" #. type: textblock #: wcd.pod:537 msgid "" "Scan disk from I and place relative paths in a relative treedata " "file. This file is used by the B<-n> and B<+n> options of wcd. E.g. C." msgstr "" #. type: =item #: wcd.pod:541 msgid "B<-t>" msgstr "" #. type: textblock #: wcd.pod:543 msgid "Do not strip tmp mount dir C (Unix only)" msgstr "" #. type: textblock #: wcd.pod:545 msgid "" "Wcd strips by default C from the match. Directory C is " "used by the auto-mounter. This behaviour can be turned off with the B<-t> " "option." msgstr "" #. type: =item #: wcd.pod:549 msgid "B<-T, --ascii-tree>" msgstr "" #. type: textblock #: wcd.pod:551 msgid "" "Draw tree with ASCII characters. Use this option if line drawing characters " "are not displayed properly in your terminal." msgstr "" #. type: =item #: wcd.pod:554 msgid "B<-Ta, --alt-tree-nav>" msgstr "" #. type: textblock #: wcd.pod:556 msgid "Alternative way of navigation in the graphical tree." msgstr "" #. type: textblock #: wcd.pod:558 msgid "" "In the default NCD style tree layout the B<-Ta> option disables jumping to " "unrelated directories." msgstr "" #. type: textblock #: wcd.pod:561 msgid "" "In compact tree mode the alternative mode makes navigation similar to " "navigation in GUI file managers such as Windows Explorer or Linux KDE " "Konqueror. Pressing Up and Down moves the selected folder one line up or " "down. Pressing Left first folds the sub-folders and the next move left moves " "really left." msgstr "" #. type: textblock #: wcd.pod:567 msgid "" "You can switch on-the-fly between default and alternative navigation by " "pressing ." msgstr "" #. type: textblock #: wcd.pod:570 msgid "" "When alternative navigation mode is on, you will see an \"A\" in the lower " "right corner." msgstr "" #. type: =item #: wcd.pod:572 msgid "B<-TC, --center-tree>" msgstr "" #. type: textblock #: wcd.pod:574 msgid "" "Centered view in the graphical tree. The selected directory stays in the " "middle of the screen. The centered mode can also be switched on and off with " "key in the graphical tree." msgstr "" #. type: textblock #: wcd.pod:578 msgid "" "The standard non-centered behaviour, which minimises tree movement, is the " "same as in the original NCD." msgstr "" #. type: =item #: wcd.pod:581 msgid "B<-Tc, --compact-tree>" msgstr "" #. type: textblock #: wcd.pod:583 msgid "" "By default the 'graphical' tree is drawn the same way as the original NCD on " "DOS did it. On DOS a directory path could only be 66 characters in " "total. With the deep directory structures of today the tree can become very " "wide. To overcome this wcd can draw the tree in a compact way, similar to " "most GUI file managers, with only one folder per line. Use option B<-Tc> or " "switch on-the-fly with the key." msgstr "" #. type: =item #: wcd.pod:590 msgid "B<-Td, --cjk-width>" msgstr "" #. type: textblock #: wcd.pod:592 msgid "" "Legacy East-Asian CJK (Chinese, Japanese, and Korean) fonts have certain " "characters and line drawing symbols with a column width of 2, while the " "normal Unicode width for these characters is 1 column. For instance the " "Chinese CP936 raster font on Windows and the Simsun font. Use this option " "for a correct outlining of the graphical tree when a legacy CJK font is " "used." msgstr "" #. type: textblock #: wcd.pod:598 msgid "When CJK mode is on, you will see a \"C\" in the lower right corner." msgstr "" #. type: =item #: wcd.pod:600 msgid "B<-u USER>" msgstr "" #. type: textblock #: wcd.pod:602 msgid "" "Scan treedata file of another user based on I, do not scan your own " "default treedata file. See also section ENVIRONMENT VARIABLES for " "I." msgstr "" #. type: textblock #: wcd.pod:605 msgid "" "On Unix/Cygwin the base directory for user home directories is assumed to be " "C. Wcd will look for C and " "C, in that order, and read the first one that " "exists and is readable. On DOS/Windows the base directory for user home " "directories is assumed to be C<\\\\users>, so wcd tries to read " "C<\\\\users\\USER\\treedata.wcd> and C<\\\\users\\USER\\.wcd\\treedata.wcd>." msgstr "" #. type: =item #: wcd.pod:613 msgid "B<+u USER>" msgstr "" #. type: textblock #: wcd.pod:615 msgid "Read default treedata file of USER in addition to your own treedata file." msgstr "" #. type: =item #: wcd.pod:618 msgid "B<-v, --verbose>" msgstr "" #. type: textblock #: wcd.pod:620 msgid "" "Display verbose messages. With this option wcd prints all filters, bans and " "excludes." msgstr "" #. type: =item #: wcd.pod:623 msgid "B<-V, --version>" msgstr "" #. type: textblock #: wcd.pod:625 msgid "Print version information and exit." msgstr "" #. type: =item #: wcd.pod:627 msgid "B<-w, --wild-match-only>" msgstr "" #. type: textblock #: wcd.pod:629 msgid "Wild matching only. Treat all matches as wild matches." msgstr "" #. type: =item #: wcd.pod:631 msgid "B<-x PATH>" msgstr "" #. type: textblock #: wcd.pod:633 msgid "Exclude I from scanning." msgstr "" #. type: textblock #: wcd.pod:635 msgid "" "When this option is used wcd will exclude I and all its subdirectories " "when wcd is scanning a disk. Wildcards are supported and matched against " "absolute paths. Option B<-x> can be used multiple times." msgstr "" #. type: verbatim #: wcd.pod:639 #, no-wrap msgid "" " wcd -x -x -s\n" "\n" msgstr "" #. type: textblock #: wcd.pod:641 msgid "" "Option B<-x> must be used in front of any scan option (B<-s>, B<-S>, B<+S>, " "B<-A>, B<-E>)." msgstr "" #. type: textblock #: wcd.pod:645 msgid "" "On DOS/Windows systems one must specify the drive letter depending on if " "environment variable I or I is set. If I or I " "is set one needs to specify the drive letter. An example:" msgstr "" #. type: verbatim #: wcd.pod:649 #, no-wrap msgid "" " wcd -x c:/temp -S c:\n" "\n" msgstr "" #. type: textblock #: wcd.pod:651 msgid "Otherwise do not specify drive letter." msgstr "" #. type: verbatim #: wcd.pod:653 #, no-wrap msgid "" " wcd -x /temp -s\n" "\n" msgstr "" #. type: =item #: wcd.pod:656 msgid "B<-xf FILE>" msgstr "" #. type: textblock #: wcd.pod:658 msgid "Exclude all paths listed in I from scanning." msgstr "" #. type: textblock #: wcd.pod:660 msgid "" "When this option is used wcd will exclude all paths listed in I and " "all their subdirectories when wcd is scanning a disk. Wildcards are " "supported and they are matched against absolute paths; one path per line. Be " "aware that wcd will not ignore leading or trailing blanks on a line, because " "they are legal characters in a directory name. Option B<-xf> can be used " "multiple times. When one wants to exclude all banned paths from scanning one " "can do the following (example for wcd on unix):" msgstr "" #. type: verbatim #: wcd.pod:668 #, no-wrap msgid "" " wcd -xf ~/.ban.wcd -s\n" "\n" msgstr "" #. type: textblock #: wcd.pod:670 msgid "" "Wildcards are supported. For instance to exclude all your Subversion " "directories with administrative files add a line with C<*/.svn>." msgstr "" #. type: textblock #: wcd.pod:673 msgid "" "Option B<-xf> must be used in front of any scan option (B<-s>, B<-S>, B<+S>, " "B<-A>, B<-E>)." msgstr "" #. type: =item #: wcd.pod:676 msgid "B<-y, --assume-yes>" msgstr "" #. type: textblock #: wcd.pod:678 msgid "Assume Yes on all queries." msgstr "" #. type: textblock #: wcd.pod:680 msgid "" "Wcd will not prompt the user with yes/no questions, but assumes the user " "answers yes on all questions. This can be used in combination with option " "B<-rmtree>. This option must be used in front of options that can lead to " "yes/no questions." msgstr "" #. type: =item #: wcd.pod:685 msgid "B<-z NUMBER>" msgstr "" #. type: textblock #: wcd.pod:687 msgid "Set maximum stack size to NUMBER." msgstr "" #. type: textblock #: wcd.pod:689 msgid "" "The default size of the stack is 10. Stack operation can be turned off by " "setting the size to 0. This option must be used in front of any other stack " "operations (B<->,B<+>,B<=>). Otherwise the size of the stack will be set " "back to the default 10." msgstr "" #. type: textblock #: wcd.pod:694 msgid "A correct command is:" msgstr "" #. type: verbatim #: wcd.pod:696 #, no-wrap msgid "" " wcd -z 50 -\n" "\n" msgstr "" #. type: textblock #: wcd.pod:698 msgid "" "The new stack size will be 50, wcd will go one directory back. A wrong " "command is:" msgstr "" #. type: verbatim #: wcd.pod:701 #, no-wrap msgid "" " wcd - -z 50\n" "\n" msgstr "" #. type: textblock #: wcd.pod:703 msgid "" "Wcd goes one directory back, the stack gets the default size 10. The B<-z " "50> is ignored." msgstr "" #. type: textblock #: wcd.pod:706 msgid "" "Add this option as the first option to your wcd alias or function. E.g. for " "the a POSIX compatible shell this would be:" msgstr "" #. type: verbatim #: wcd.pod:709 #, no-wrap msgid "" " wcd ()\n" " {\n" "\twcd.exe -z 50 \"$@\"\n" "\t. ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" msgstr "" #. type: =item #: wcd.pod:715 msgid "B<-[NUMBER]>" msgstr "" #. type: textblock #: wcd.pod:717 msgid "Push dir NUMBER of times. Default is one." msgstr "" #. type: textblock #: wcd.pod:719 msgid "" "Go back a directory. Command C goes one directory back. To go more " "directories back add a number to it. E.g. command C. The stack is " "cyclic." msgstr "" #. type: =item #: wcd.pod:723 msgid "B<+[NUMBER]>" msgstr "" #. type: textblock #: wcd.pod:725 msgid "Pop dir NUMBER of times. Default is one." msgstr "" #. type: textblock #: wcd.pod:727 msgid "" "Go forward a directory. Command C goes one directory forward. To go " "more directories forward add a number to it. E.g. command C. The " "stack is cyclic." msgstr "" #. type: =item #: wcd.pod:731 msgid "B<=>" msgstr "" #. type: textblock #: wcd.pod:733 msgid "Show stack." msgstr "" #. type: textblock #: wcd.pod:735 msgid "" "Use this option if you do not know anymore how many times to push or pop. " "The stack is printed and you can choose a number. The current place in the " "stack is marked with an asterisk C<*>." msgstr "" #. type: =head1 #: wcd.pod:741 msgid "INSTALLATION" msgstr "" #. type: textblock #: wcd.pod:743 msgid "" "The current working directory of a Unix shell can only be changed by the " "builtin cd(1) command. Therefore the program is always called by a function " "or an alias. The function or alias sources a shell script (go-script) which " "is generated by the wcd program. Wcd can only work after the function or " "alias is defined." msgstr "" #. type: textblock #: wcd.pod:749 msgid "" "Another important influence on your installation is the definition of " "environment variables I and I. See section ENVIRONMENT " "VARIABLES." msgstr "" #. type: =head2 #: wcd.pod:753 msgid "Install for POSIX type shells" msgstr "" #. type: textblock #: wcd.pod:755 msgid "" "For a POSIX shell (ksh, bash, zsh, etc.) on Unix, Linux, Cygwin, or native " "MSYS add the following function to the shell startup file (e.g. Bash uses " "C<$HOME/.bashrc>):" msgstr "" #. type: verbatim #: wcd.pod:759 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcd.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/bin/wcd.go\n" " }\n" "\n" msgstr "" #. type: textblock #: wcd.pod:765 msgid "" "Replace I with the location where the wcd executable has been " "installed. Reload the shell initialization files or start new shell." msgstr "" #. type: textblock #: wcd.pod:768 msgid "The location of the go-script C differs per shell." msgstr "" #. type: textblock #: wcd.pod:770 msgid "" "Wcd for DJGPP DOS bash and OS/2 bash require a different function. The go " "script is not written in a directory C, and if I and I " "are both not defined the go-script is written on c:/." msgstr "" #. type: textblock #: wcd.pod:774 msgid "DOS bash:" msgstr "" #. type: verbatim #: wcd.pod:776 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdbash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" msgstr "" #. type: textblock #: wcd.pod:782 msgid "OS/2 bash:" msgstr "" #. type: verbatim #: wcd.pod:784 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdos2bash.exe \"$@\"\n" " . ${WCDHOME:-${HOME:-\"c:\"}}/wcd.go\n" " }\n" "\n" msgstr "" #. type: textblock #: wcd.pod:790 msgid "" "The WinZsh version of wcd requires a bit different function. The go-script " "will never be written in c:/." msgstr "" #. type: verbatim #: wcd.pod:793 #, no-wrap msgid "" " wcd ()\n" " {\n" " PATH/wcdwin32zsh.exe \"$@\"\n" " . ${WCDHOME:-${HOME}}/wcd.go\n" " }\n" "\n" msgstr "" #. type: textblock #: wcd.pod:799 msgid "See section FILES for more information." msgstr "" #. type: =head2 #: wcd.pod:801 msgid "Install for C-alike shells (csh, tcsh)" msgstr "" #. type: textblock #: wcd.pod:803 msgid "" "Add the following alias to the shell startup file C<$HOME/.cshrc> or " "C<$HOME/.tcshrc> :" msgstr "" #. type: verbatim #: wcd.pod:806 #, no-wrap msgid "" " if ( ${?WCDHOME} ) then\n" " alias wcd \"PATH/wcd.exe \\!* ; source $WCDHOME/bin/wcd.go\"\n" " else\n" " alias wcd \"PATH/wcd.exe \\!* ; source $HOME/bin/wcd.go\"\n" " endif\n" "\n" msgstr "" #. type: textblock #: wcd.pod:812 msgid "" "Replace I with the location where the wcd executable has been " "installed. Reload the shell initialization files or start a new shell." msgstr "" #. type: =head2 #: wcd.pod:816 msgid "Windows Command Prompt version" msgstr "" #. type: textblock #: wcd.pod:818 msgid "" "Unpack the zip file and add directory C to your environment variable " "I." msgstr "" #. type: textblock #: wcd.pod:821 msgid "" "In Windows Command Prompt a Windows program cannot change the current work " "directory, but a .bat file can. The batch script C runs the wcd " "program which generates a new batch script C. Then C " "runs C which actually changes the directory." msgstr "" #. type: =head2 #: wcd.pod:826 msgid "Windows VISTA and higher" msgstr "" #. type: textblock #: wcd.pod:828 msgid "" "In a Windows VISTA and higher Command Prompt you may have limited access to " "directories. To get access to more directories you need administrator " "rights. You can get a Command Prompt with administrator rights if you right " "click on the Command Prompt icon and select I." msgstr "" #. type: =head2 #: wcd.pod:833 msgid "Windows PowerShell version" msgstr "" #. type: textblock #: wcd.pod:835 msgid "" "Add the following function to your PowerShell user profile. The location of " "this profile is stored in the $profile variable. It is required that one of " "the environment variables I or I is defined." msgstr "" #. type: verbatim #: wcd.pod:839 #, no-wrap msgid "" " function wcd\n" " {\n" " PATH\\wcdwin32psh.exe $args\n" " & $env:HOME\\wcdgo.ps1\n" " }\n" "\n" msgstr "" #. type: textblock #: wcd.pod:845 msgid "" "Replace I with the location where the wcd executable has been " "installed. Start a new PowerShell. Wcd for PowerShell supports only the " "file system provider. No other providers." msgstr "" #. type: =head2 #: wcd.pod:849 msgid "OS/2 Command Prompt version" msgstr "" #. type: textblock #: wcd.pod:851 msgid "" "In an OS/2 Command Prompt (cmd.exe) an OS/2-program can't change the current " "work directory. That is why wcd generates a command script C " "which must be executed in the current shell. The script C first " "executes C, which creates the C script. Then " "C executes the C script." msgstr "" #. type: =head1 #: wcd.pod:858 msgid "LOCALIZATION" msgstr "" #. type: =item #: wcd.pod:862 msgid "B" msgstr "" #. type: textblock #: wcd.pod:864 msgid "" "The primary language is selected with the environment variable I. The " "I variable consists out of several parts. The first part is in small " "letters the language code. The second one is optional and is the country " "code in capital letters, preceded with an underscore. There is also an " "optional third part: character encoding, preceded with a dot. A few examples " "for POSIX standard type shells:" msgstr "" #. type: verbatim #: wcd.pod:871 #, no-wrap msgid "" " export LANG=nl Dutch\n" " export LANG=nl_NL Dutch, The Netherlands\n" " export LANG=nl_BE Dutch, Belgium\n" " export LANG=es_ES Spanish, Spain\n" " export LANG=es_MX Spanish, Mexico\n" " export LANG=en_US.iso88591 English, USA, Latin-1 encoding\n" "\n" msgstr "" #. type: textblock #: wcd.pod:878 msgid "" "For a complete list of language and country codes see the gettext(1) " "manual: " "L On " "Unix systems you can use to command locale(1) to get locale specific " "information." msgstr "" #. type: =item #: wcd.pod:884 msgid "B" msgstr "" #. type: textblock #: wcd.pod:886 msgid "" "With the I environment variable you can specify a priority list of " "languages, separated by colons. Wcd gives preference to I over " "I. For instance, first Dutch and then German: C. You " "have to first enable localization, by setting I or I to a " "value other than I, before you can use a language priority list through " "the I variable. See also the gettext(1) manual: " "L" msgstr "" #. type: textblock #: wcd.pod:894 msgid "" "If you select a language which is not available you will get the standard " "English messages." msgstr "" #. type: =item #: wcd.pod:897 msgid "B" msgstr "" #. type: textblock #: wcd.pod:899 msgid "" "With the environment variable I the I used during " "compilation and installation of wcd can be overruled. I is used " "by wcd with native language support to find the language files. The GNU " "default value is C. By typing C wcd will " "print the I that is used." msgstr "" #. type: textblock #: wcd.pod:905 msgid "" "If you have installed wcd in a different directory than the default " "directory you may need to set the environment variable I to " "point to the locale directory." msgstr "" #. type: textblock #: wcd.pod:910 msgid "An example for Windows cmd:" msgstr "" #. type: verbatim #: wcd.pod:912 #, no-wrap msgid "" " set WCDLOCALEDIR=c:/my_prefix/share/locale\n" "\n" msgstr "" #. type: textblock #: wcd.pod:915 msgid "An example for a POSIX shell:" msgstr "" #. type: verbatim #: wcd.pod:917 #, no-wrap msgid "" " export WCDLOCALEDIR=$HOME/share/locale\n" "\n" msgstr "" #. type: =item #: wcd.pod:919 msgid "B" msgstr "" #. type: textblock #: wcd.pod:921 msgid "" "When there are multiple directory matches wcd presents a sorted list. The " "sorting depends on the locale settings. If the environment I has been " "set the matches are sorted like dictionaries or phone books are sorted in " "that language. For instance dots and dashes are ignored, or letters e with " "and without accent are equal, or upper and lower case is ignored." msgstr "" #. type: textblock #: wcd.pod:927 msgid "" "The sorting gives preference to environment variable I over " "I. If you make I equal to C or C, locale sorting " "is turned off. For instance if you want Dutch language, but not Dutch " "sorting, you can do something like this:" msgstr "" #. type: verbatim #: wcd.pod:932 #, no-wrap msgid "" " export LANG=nl_NL\n" " export LC_COLLATE=C\n" "\n" msgstr "" #. type: =item #: wcd.pod:935 msgid "B" msgstr "" #. type: textblock #: wcd.pod:937 msgid "" "With regard to character encoding Wcd will give preference to variable " "I over I. For instance to set character encoding to UTF-8 " "the following environment setting can be done." msgstr "" #. type: verbatim #: wcd.pod:941 #, no-wrap msgid "" " export LC_CTYPE=en_US.UTF-8\n" "\n" msgstr "" #. type: =item #: wcd.pod:943 msgid "B" msgstr "" #. type: textblock #: wcd.pod:945 msgid "" "All locale environment variables that start with I are overruled by the " "environment variable I if it is defined. Wcd gives preference to " "I over I and I." msgstr "" #. type: =head2 #: wcd.pod:951 msgid "WINDOWS CODE PAGES" msgstr "" #. type: textblock #: wcd.pod:953 msgid "" "There are two groups of code pages: DOS code pages (OEM) and Windows code " "pages (ANSI). The default encoding for Windows, when configured with Western " "regional settings, is ANSI CP1252. Windows programs, for instance notepad, " "use this default system ANSI code page. The Windows console uses by default " "an OEM code page (CP437 or CP850) for compatibility with DOS programs. If " "you use a DOS version of wcd in a Windows console it will work, because of " "the DOS code page. But the DOS version of wcd lacks support for long " "directory names and network drives on Windows." msgstr "" #. type: textblock #: wcd.pod:962 msgid "" "The Windows version of wcd is a native Windows program and will use the " "Windows system ANSI code page. So on a Western regional Windows it will use " "code page CP1252 for directory names and messages. In order to get " "consistent output, independent of the active code page, all Windows versions " "of Wcd translate ANSI output to Unicode output in the Command Prompt and " "PowerShell." msgstr "" #. type: textblock #: wcd.pod:968 msgid "" "The console raster font only supports the original OEM code page installed " "with Windows, so you have to change the console's font to true type Lucida " "Console to make Unicode (and ANSI) letters appear correctly." msgstr "" #. type: textblock #: wcd.pod:972 msgid "" "Non-Unicode versions of Wcd I use plain ANSI " "output. For these older versions the code page of the console has to be " "made equal to the system code page (changed to 1252) to make wcd for Windows " "work properly with special characters such as accented characters or the " "Euro symbol." msgstr "" #. type: textblock #: wcd.pod:977 msgid "" "The Windows system code page can be changed via the Control Panel regional " "options. The Windows console code page is changed with the C command." msgstr "" #. type: textblock #: wcd.pod:980 msgid "" "When you type C, the actual character encoding used by wcd is " "shown. Type the command C to display the active code page of the " "Windows console." msgstr "" #. type: =head2 #: wcd.pod:985 msgid "UNICODE" msgstr "" #. type: textblock #: wcd.pod:987 msgid "" "Wcd has optional support for Unicode. To see if wcd was built with Unicode " "support type C. If your terminal/console and font supports it, you " "should see the Euro symbol and Chinese characters (meaning: \"Chinese\")." msgstr "" #. type: textblock #: wcd.pod:992 msgid "" "Wcd has been I converted to Unicode. In its core wcd handles all data " "as a stream of bytes. Only the lines printed to screen are on the fly " "converted to Unicode wide characters. Wcd fully relies on libc functions and " "has no UTF-8 specific code. See also " "L" msgstr "" #. type: textblock #: wcd.pod:998 msgid "" "Wcd has optional support for Unicode matching with normalisation. To find " "out whether Wcd has normalisation support type C. Wcd with Unicode " "normalization support will match Unicode names based on I " "equivalence. Without Unicode normalization support, names are matched when " "they are binary equivalent. See also " "L" msgstr "" #. type: =head3 #: wcd.pod:1005 msgid "UTF-8 on Unix/Linux" msgstr "" #. type: textblock #: wcd.pod:1007 msgid "" "In order to view UTF-8 characters your console/terminal also needs to " "support UTF-8. The xterm version that comes with XFree86 4.0 or higher " "includes UTF-8 support. To activate it, start xterm(1) in a UTF-8 locale and " "use a font with iso10646-1 encoding, for instance with" msgstr "" #. type: verbatim #: wcd.pod:1012 #, no-wrap msgid "" " LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn " "'-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'\n" "\n" msgstr "" #. type: textblock #: wcd.pod:1014 msgid "" "Modern distributions of GNU/Linux support UTF-8 by default. Other multi-byte " "character encodings should also work, but that has not been tested." msgstr "" #. type: textblock #: wcd.pod:1017 msgid "" "Wcd assumes that the treedata files are encoded in the locale character " "encoding. There are no Byte Order Marks written to treedata files." msgstr "" #. type: =head3 #: wcd.pod:1021 msgid "UTF-16 on Windows" msgstr "" #. type: textblock #: wcd.pod:1023 msgid "" "On Windows Unicode is supported in all versions of PowerShell, and in " "Windows Command Prompt on Windows 7 (or higher). Unicode also works in Take " "Command or TCC/LE made by JP Software, which can be used on older Windows " "versions (XP/Vista)." msgstr "" #. type: textblock #: wcd.pod:1028 msgid "" "On Windows all the directory names on disk are encoded in UTF-16 Unicode. " "For non-Unicode Windows programs the Unicode characters are translated to " "the default ANSI code page. For characters that are not part of the regional " "setting this translation is not possible and non-Unicode programs print a " "question mark or a wrong character instead." msgstr "" #. type: textblock #: wcd.pod:1034 msgid "" "Wcd with Unicode support will read the UTF-16 encoded directory names and " "converts them internally to UTF-8. All treedata files are encoded in UTF-8 " "and not compatible with the non-Unicode version of Wcd. Wcd will create a " "go-script encoded in UTF-8." msgstr "" #. type: textblock #: wcd.pod:1039 msgid "" "All versions of Windows PowerShell are able to run scripts encoded in UTF-8, " "provided there is an UTF-8 BOM in the script." msgstr "" #. type: textblock #: wcd.pod:1042 msgid "" "Since Windows 7 it is possible in Windows Command Prompt to change directory " "with a batch script to a directory with Unicode letters in the name. The " "directory name needs to be encoded in UTF-8, and the batch script must " "I have a BOM. The active code page of the Command Prompt needs to be " "set to 65001 (UTF-8) prior to the cd command. Wcd for Command Prompt will " "create such a go script C. It first changes the code page to " "65001, then changes directory, and finally sets the code page back to the " "original code page." msgstr "" #. type: textblock #: wcd.pod:1050 msgid "" "You need to set the font to True Type Lucida Console (not raster font) when " "letters don't appear correctly." msgstr "" #. type: textblock #: wcd.pod:1053 msgid "" "The non-Unicode Windows version of Wcd can read Unicode treedata files since " "version 5.2.0, provided there is a Byte Order Mark (BOM) in the file (see " "L), but it can't change to " "directories with Unicode letters in the name that are not part of the " "default system ANSI code page. The Unicode Windows version of wcd writes a " "BOM in the UTF-8 encoded treedata files since version 5.2.0, which makes " "them also readable by notepad." msgstr "" #. type: =head3 #: wcd.pod:1062 msgid "UTF-8 on Cygwin" msgstr "" #. type: textblock #: wcd.pod:1064 msgid "" "Cygwin supports Unicode since version 1.7. The Cygwin layer takes care that " "the Windows UTF-16 Unicode names are converted to UTF-8. So programs, like " "wcd, do not need to be aware of this and can operate using UTF-8 encoding as " "on Unix/Linux. Set character encoding to UTF-8 with the I or " "I environment variable. You may need to rescan your drives. You " "need to set the font to True Type Lucida Console (not raster font) if you " "use the default Cygwin console." msgstr "" #. type: textblock #: wcd.pod:1072 msgid "" "The Cygwin version behaves exactly as the Unix version of wcd. There is no " "BOM written in the treedata files, and it is assumed they are encoded in the " "B locale character encoding." msgstr "" #. type: =head1 #: wcd.pod:1076 msgid "FILES" msgstr "" #. type: textblock #: wcd.pod:1078 msgid "" "If the environment variable I is set wcd will use I " "instead of I. All C<*.wcd> files are text files. They can be edited " "with a text editor. The Windows Command Prompt version of wcd behaves as " "the DOS version. The Cygwin version of wcd behaves as the Unix version." msgstr "" #. type: =item #: wcd.pod:1087 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1089 msgid "" "The program. In Unix shells the program is always called by a function or " "alias, because the current working directory of a Unix shell can only be " "changed by the builtin cd command. See also section INSTALLATION." msgstr "" #. type: =item #: wcd.pod:1094 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1096 msgid "" "This is the default treedata file where wcd searches for matches. If it is " "not readable wcd will create a new one." msgstr "" #. type: verbatim #: wcd.pod:1099 #, no-wrap msgid "" " DOS: \\treedata.wcd or %HOME%\\treedata.wcd\n" " Unix: $HOME/.treedata.wcd\n" "\n" msgstr "" #. type: =item #: wcd.pod:1102 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1104 msgid "" "An optional extra treedata file. If it exists and is readable wcd will try " "to find matches in this file also." msgstr "" #. type: verbatim #: wcd.pod:1107 #, no-wrap msgid "" " DOS: \\extra.wcd or %HOME%\\extra.wcd\n" " Unix: $HOME/.extra.wcd\n" "\n" msgstr "" #. type: =item #: wcd.pod:1110 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1112 msgid "" "In this optional file wcd places banned paths. See option B<-b>. Wildcards " "are supported." msgstr "" #. type: verbatim #: wcd.pod:1115 #, no-wrap msgid "" " DOS: \\ban.wcd or %HOME%\\ban.wcd\n" " Unix: $HOME/.ban.wcd\n" "\n" msgstr "" #. type: =item #: wcd.pod:1118 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1120 msgid "Optional file with wcd aliases. See option B<-l>." msgstr "" #. type: verbatim #: wcd.pod:1122 #, no-wrap msgid "" " DOS: \\alias.wcd or %HOME%\\alias.wcd\n" " Unix: $HOME/.alias.wcd\n" "\n" msgstr "" #. type: =item #: wcd.pod:1125 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1127 msgid "" "In this file wcd stores its stack. The drive letter can be changed with the " "B<-d> option." msgstr "" #. type: verbatim #: wcd.pod:1130 #, no-wrap msgid "" " DOS: c:\\stack.wcd or %HOME%\\stack.wcd\n" " Unix: $HOME/.stack.wcd\n" "\n" msgstr "" #. type: textblock #: wcd.pod:1133 msgid "" "The name of the stack file can be changed with environment variable " "I. See section ENVIRONMENT VARIABLES." msgstr "" #. type: =item #: wcd.pod:1136 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1138 msgid "" "This is the shell script which wcd.exe creates each time. It is sourced via " "a function or an alias. The drive letter can be changed with the B<-d> " "option. For history reasons it is placed by default in C<$HOME/bin> on Unix " "systems. The directory of this file can be changed with the option B<-G>." msgstr "" #. type: verbatim #: wcd.pod:1143 #, no-wrap msgid "" " DOS bash: c:/wcd.go or $HOME/wcd.go\n" " Windows Command Prompt: c:\\wcdgo.bat or %HOME%\\wcdgo.bat\n" " Windows PowerShell: $env:HOME\\wcdgo.ps1\n" " WinZsh: $HOME/wcd.go\n" " Cygwin/MSYS: $HOME/bin/wcd.go\n" " OS/2 Command Prompt: c:\\wcdgo.cmd or %HOME%\\wcdgo.cmd\n" " OS/2 bash: c:/wcd.go or $HOME/wcd.go\n" " Unix: $HOME/bin/wcd.go\n" "\n" msgstr "" #. type: =item #: wcd.pod:1152 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1154 msgid "" "Text file with relative paths from I. See options B<+S>, B<-n> and " "B<+n>." msgstr "" #. type: verbatim #: wcd.pod:1157 #, no-wrap msgid "" " DOS: PATH\\rtdata.wcd\n" " Unix: PATH/.rtdata.wcd\n" "\n" msgstr "" #. type: =head1 #: wcd.pod:1162 msgid "ENVIRONMENT VARIABLES" msgstr "" #. type: =item #: wcd.pod:1166 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1168 msgid "" "Wcd uses by default environment variable I to determine where to store " "its files. See also section FILES. This can be overruled with environment " "variable I." msgstr "" #. type: textblock #: wcd.pod:1172 msgid "" "I also defines where to start scanning the disk when option B<-s> is " "used. This can be overruled with the environment variable I." msgstr "" #. type: textblock #: wcd.pod:1176 msgid "" "For the Unix, Cygwin, Windows PowerShell, WinZsh and MSYS version it is " "required that I or I is set. For the other versions of wcd " "the use of these variables is optional." msgstr "" #. type: textblock #: wcd.pod:1180 msgid "" "If I is set on DOS/Windows, wcd will place all its files " "(treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) in directory " "I. The behaviour of wcd is then equal to the Unix version of wcd. Wcd " "will scan the disk default from I. Drives will not be automatically " "scanned by changing to them. You need to tell wcd explicitly. E.g.:" msgstr "" #. type: verbatim #: wcd.pod:1187 #, no-wrap msgid "" " wcd -S c: -A d: -A e:\n" "\n" msgstr "" #. type: textblock #: wcd.pod:1189 msgid "Matching of directories is now global over all scanned drives." msgstr "" #. type: =item #: wcd.pod:1192 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1194 msgid "" "Environment variable I can be used to change the location of wcd's " "files. If both I and I are set, I will be used " "instead of I." msgstr "" #. type: textblock #: wcd.pod:1198 msgid "" "In wcd versions prior to 5.1.5 I also changed the default scan " "directory. This has changed. Since version 5.1.5 I does not change " "the default scan directory. See option B<-s>. From version 5.1.5, use " "environment I to overrule the default scan directory." msgstr "" #. type: textblock #: wcd.pod:1203 msgid "Example for DOS, Windows, OS/2 Command Prompt:" msgstr "" #. type: verbatim #: wcd.pod:1205 #, no-wrap msgid "" " set WCDHOME=C:\\Users\\erwin\\wcd\n" "\n" msgstr "" #. type: textblock #: wcd.pod:1207 wcd.pod:1228 wcd.pod:1248 wcd.pod:1273 msgid "An example for POSIX type shells:" msgstr "" #. type: verbatim #: wcd.pod:1209 #, no-wrap msgid "" " export WCDHOME=\"$HOME/.wcd\"\n" "\n" msgstr "" #. type: textblock #: wcd.pod:1211 wcd.pod:1232 wcd.pod:1252 wcd.pod:1277 msgid "An example for Csh type shells:" msgstr "" #. type: verbatim #: wcd.pod:1213 #, no-wrap msgid "" " setenv WCDHOME \"$HOME/.wcd\"\n" "\n" msgstr "" #. type: =item #: wcd.pod:1215 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1217 msgid "" "Use environment variable I to overrule the default scan directory " "I. Define a colon separated list (Unix) to define more than one " "directory. On DOS/Windows make the list semi-colon separated." msgstr "" #. type: textblock #: wcd.pod:1222 msgid "Examples for DOS, Windows, OS/2 Command Prompt:" msgstr "" #. type: verbatim #: wcd.pod:1224 #, no-wrap msgid "" " set WCDSCAN=C:\\Users\\erwin;D:\\data\n" "\n" msgstr "" #. type: verbatim #: wcd.pod:1226 #, no-wrap msgid "" " set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\\\projectdrive\\projectX\n" "\n" msgstr "" #. type: verbatim #: wcd.pod:1230 #, no-wrap msgid "" " export WCDSCAN=\"$HOME:/projectdisk/projectX\"\n" "\n" msgstr "" #. type: verbatim #: wcd.pod:1234 #, no-wrap msgid "" " setenv WCDSCAN \"$HOME:/projectdisk/projectX\"\n" "\n" msgstr "" #. type: =item #: wcd.pod:1236 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1238 msgid "" "Specify filters with environment variable I. All directories that " "do not match the filter(s) are ignored. A list can be specified by " "separating filters by the shell path separator. Similar as specifying the " "I variable. The case sensitivity is mandated by the Operating system." msgstr "" #. type: textblock #: wcd.pod:1244 wcd.pod:1269 msgid "An example for DOS, Windows, OS/2 Command Prompt:" msgstr "" #. type: verbatim #: wcd.pod:1246 #, no-wrap msgid "" " set WCDFILTER=projects;doc\n" "\n" msgstr "" #. type: verbatim #: wcd.pod:1250 #, no-wrap msgid "" " export WCDFILTER=\"projects:doc\"\n" "\n" msgstr "" #. type: verbatim #: wcd.pod:1254 #, no-wrap msgid "" " setenv WCDFILTER \"projects:doc\"\n" "\n" msgstr "" #. type: =item #: wcd.pod:1256 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1258 msgid "" "The paths specified with environment I will be banned by wcd. See " "also option B<-b>. Specify a list of paths separated by shell I " "separator." msgstr "" #. type: =item #: wcd.pod:1262 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1264 msgid "" "The paths specified with environment I will be excluded by " "wcd. See also options B<-x> and B<-xf>. Specify a list of paths separated by " "shell I separator." msgstr "" #. type: verbatim #: wcd.pod:1271 #, no-wrap msgid "" " set WCDEXCLUDE=*/windows;*/temp;*CVS\n" "\n" msgstr "" #. type: verbatim #: wcd.pod:1275 #, no-wrap msgid "" " export WCDEXCLUDE=\"/dev:/tmp:*CVS\"\n" "\n" msgstr "" #. type: verbatim #: wcd.pod:1279 #, no-wrap msgid "" " setenv WCDEXCLUDE \"/dev:/tmp:*CVS\"\n" "\n" msgstr "" #. type: =item #: wcd.pod:1281 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1283 msgid "" "Set the base of user's home directories. On DOS/Windows the default value " "is C<\\\\users>. On Unix/Cygwin the default value is C. This " "variable is used to scan treedata files of other users. See also options " "B<-u> and B<+u>. In verbose mode wcd will print all filters, bans and " "excludes. See option B<-v>." msgstr "" #. type: =item #: wcd.pod:1290 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1292 msgid "" "Wcd gives preference to I over the default stack file name " "(see section FILES). With this variable each shell (or used terminal " "emulator) can have its private stack of used directories." msgstr "" #. type: textblock #: wcd.pod:1296 msgid "" "To use a unique time based YYYYMMDD-HHMMSS file for each opened interactive " "shell." msgstr "" #. type: verbatim #: wcd.pod:1299 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)\n" "\n" msgstr "" #. type: textblock #: wcd.pod:1301 msgid "For a stack per xterm(1), use the xterm I environment variable:" msgstr "" #. type: verbatim #: wcd.pod:1303 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID\n" "\n" msgstr "" #. type: textblock #: wcd.pod:1305 msgid "For GNU screen(1), to use stack per screen:" msgstr "" #. type: verbatim #: wcd.pod:1307 #, no-wrap msgid "" " export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW\n" "\n" msgstr "" #. type: =item #: wcd.pod:1309 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1311 msgid "" "If the environment variable I is defined, wcd with ncurses " "interface checks for a local terminal definition before checking in the " "standard place. This is useful if terminal definitions are not on a standard " "place. Often used standard places are C and " "C." msgstr "" #. type: =item #: wcd.pod:1317 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1319 msgid "" "Wcd with PDCurses interface recognizes the environment variable " "I. If this environment variable is set, PDCurses will " "take a copy of the contents of the screen at the time that wcd is started; " "when wcd exits, the screen will be restored. An example for Windows Command " "Prompt:" msgstr "" #. type: verbatim #: wcd.pod:1325 #, no-wrap msgid "" " set PDC_RESTORE_SCREEN=1\n" "\n" msgstr "" #. type: textblock #: wcd.pod:1327 msgid "" "Windows allows only a small buffer to be saved. So it is not always possible " "to restore everything. Some garbage data may be printed in the console after " "wcd exits if you have set a large buffer width." msgstr "" #. type: =item #: wcd.pod:1332 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1334 msgid "" "Printing of C<#!$SHELL> on the first line of the go-script for POSIX type " "shell or C shell is needed for 8 bit characters. Some shells otherwise think " "that the go-script is a binary file and will not source it. In Cygwin Bash " "the variable I must be set in environment using the C " "command, otherwise wcd can't read the variable." msgstr "" #. type: =item #: wcd.pod:1342 msgid "B" msgstr "" #. type: textblock #: wcd.pod:1344 msgid "" "Wcd for DOS bash uses C<$BASH> instead of C<$SHELL>, because C<$SHELL> " "points to the DOS command shell. One may need to define C<$BASH> with an " "C command, otherwise wcd can't read the variable." msgstr "" #. type: =head1 #: wcd.pod:1351 msgid "SEE ALSO" msgstr "" #. type: textblock #: wcd.pod:1353 msgid "sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1)," msgstr "" #. type: =head1 #: wcd.pod:1361 msgid "AUTHORS" msgstr "" #. type: textblock #: wcd.pod:1363 msgid "Wcd was written by Erwin Waterlander " msgstr "" #. type: textblock #: wcd.pod:1365 msgid "Project homepage: L" msgstr "" #. type: textblock #: wcd.pod:1368 msgid "SourceForge: L" msgstr "" #. type: textblock #: wcd.pod:1371 msgid "" "The manual page formatting was provided by Jari Aalto " "." msgstr "" #. type: textblock #: wcd.pod:1374 msgid "" "NCD was originally written by Brad Kingsbury for Peter Norton's \"Norton " "Utilities\" around 1987. See also " "L" msgstr "" wcd-6.0.3/src/querycp.c0000644000175500010010000001415213524756523014206 0ustar waterlanGeen/* querycp.c is in the public domain */ #if (defined(__WATCOMC__) && defined(__NT__)) # define _WIN32 #endif #ifdef __MSYS__ # define _WIN32 # undef __CYGWIN__ #endif #ifdef __DJGPP__ #include #include #include /* ---------------------------------------------------------------------- Tuesday, May 5, 2009 1:40pm rugxulo _AT_ gmail _DOT_ com This file is (obviously?) not copyrighted, "nenies proprajxo" !! Tested successfully on DR-DOS 7.03, FreeDOS 1.0++, and MS-DOS 6.22. (Doesn't work on XP or Vista, though.) ---------------------------------------------------------------------- unsigned short query_con_codepage(void); gets currently selected display CON codepage int 21h, 6601h ("chcp") needs NLSFUNC.EXE + COUNTRY.SYS, but many obscure codepages (e.g. FD's cp853 from EGA.CPX (CPIX.ZIP) or Kosta Kostis' cp913 from ISOLATIN.CPI (ISOCP101.ZIP) have no relevant data inside COUNTRY.SYS. int 21h, 440Ch 6Ah only works in MS-DOS and DR-DOS (not FreeDOS) because FreeDOS DISPLAY is an .EXE TSR, not a device driver, and hence doesn't fully support IOCTL, so they use the undocumented int 2Fh, 0AD02h (which doesn't work in DR-DOS!). But DR-DOS' DISPLAY doesn't respond to the typical install check i.d. anyways. FreeDOS currently only supports COUNTRY.SYS in their "unstable" kernel 2037, but at least their KEYB, "gxoje", supports cp853 too (thanks, Henrique!). P.S. For MS or DR: ren ega.cpx *.com ; upx -d ega.com ; ren ega.com *.cpi ADDENDUM (2011): Latest "stable" FreeDOS kernel is 2040, it now includes COUNTRY.SYS support by default, but NLSFUNC (CHCP) 'system code page' support is partially unimplemented (lacking some int 2Fh calls, yet Eduardo Casino didn't seem too worried, so I dunno, nag him if necessary, heh). ---------------------------------------------------------------------- */ unsigned short query_con_codepage(void) { __dpmi_regs regs; unsigned short param_block[2] = { 0, 437 }; regs.d.eax = 0x440C; /* GENERIC IO FOR HANDLES */ regs.d.ebx = 1; /* STDOUT */ regs.d.ecx = 0x036A; /* 3 = CON, 0x6A = QUERY SELECTED CP */ regs.x.ds = __tb >> 4; /* using transfer buffer for low mem. */ regs.x.dx = __tb & 0x0F; /* (suggested by DJGPP FAQ, hi Eli!) */ regs.x.flags |= 1; /* preset carry for potential failure */ __dpmi_int (0x21, ®s); if (!(regs.x.flags & 1)) /* if succeed (carry flag not set) */ dosmemget( __tb, 4, param_block); else { /* (undocumented method) */ regs.x.ax = 0xAD02; /* 440C -> MS-DOS or DR-DOS only */ regs.x.bx = 0xFFFE; /* AD02 -> MS-DOS or FreeDOS only */ regs.x.flags |= 1; __dpmi_int(0x2F, ®s); if ((!(regs.x.flags & 1)) && (regs.x.bx < 0xFFFE)) param_block[1] = regs.x.bx; } return param_block[1]; } #elif defined(__WATCOMC__) && defined(__I86__) /* Watcom C, 16 bit Intel */ /* rugxulo _AT_ gmail _DOT_ com */ #include #include #include unsigned short query_con_codepage(void) { union REGS regs; unsigned short param_block[2] = { 0, 437 }; regs.x.ax = 0x440C; /* GENERIC IO FOR HANDLES */ regs.x.bx = 1; /* STDOUT */ regs.x.cx = 0x036A; /* 3 = CON, 0x6A = QUERY SELECTED CP */ regs.x.dx = (unsigned short)param_block; regs.x.cflag |= 1; /* preset carry for potential failure */ int86(0x21, ®s, ®s); if (regs.x.cflag) /* if not succeed (carry flag set) */ { regs.x.ax = 0xAD02; /* 440C -> MS-DOS or DR-DOS only */ regs.x.bx = 0xFFFE; /* AD02 -> MS-DOS or FreeDOS only */ regs.x.cflag |= 1; int86(0x2F, ®s, ®s); } if ((!(regs.x.cflag)) && (regs.x.bx < 0xFFFE)) param_block[1] = regs.x.bx; return param_block[1]; } #elif defined(__WATCOMC__) && defined(__DOS__) /* Watcom C, 32 bit DOS */ /* rugxulo _AT_ gmail _DOT_ com */ #include #include #include unsigned short query_con_codepage(void) { union REGS regs; unsigned short param_block[2] = { 0, 437 }; regs.x.eax = 0x440C; /* GENERIC IO FOR HANDLES */ regs.x.ebx = 1; /* STDOUT */ regs.x.ecx = 0x036A; /* 3 = CON, 0x6A = QUERY SELECTED CP */ regs.x.edx = (unsigned short)param_block; regs.x.cflag |= 1; /* preset carry for potential failure */ int386(0x21, ®s, ®s); if (regs.x.cflag) /* if not succeed (carry flag set) */ { regs.x.eax = 0xAD02; /* 440C -> MS-DOS or DR-DOS only */ regs.x.ebx = 0xFFFE; /* AD02 -> MS-DOS or FreeDOS only */ regs.x.cflag |= 1; int386(0x2F, ®s, ®s); } if ((!(regs.x.cflag)) && (regs.x.ebx < 0xFFFE)) param_block[1] = regs.x.ebx; return param_block[1]; } #elif defined (_WIN32) && !defined(__CYGWIN__) /* Windows, not Cygwin */ /* Erwin Waterlander */ #include unsigned short query_con_codepage(void) { /* Get the console's DOS code page */ /* return((unsigned short)GetConsoleOutputCP()); */ /* The Windows version of Wcd writes the treedata * files in the system's default encoding, which is * the ANSI code page. */ /* Get the system's ANSI code page */ return((unsigned short)GetACP()); } #elif defined (__OS2__) /* OS/2 Warp */ #define INCL_DOS #include unsigned short query_con_codepage(void) { ULONG cp[3]; ULONG cplen; DosQueryCp(sizeof(cp), cp, &cplen); return((unsigned short)cp[0]); } #else /* Unix, other */ #ifndef __MSDOS__ #include #include #endif unsigned short query_con_codepage(void) { #ifndef __MSDOS__ if (strcmp(nl_langinfo(CODESET), "ISO-8859-1") == 0) return(28591); if (strcmp(nl_langinfo(CODESET), "ISO-8859-2") == 0) return(28592); #endif return(0); } #endif #ifdef TEST int main() { printf("\nCP%u\n",query_con_codepage() ); /* should be same result as */ return 0; /* "mode con cp /status" */ } #endif wcd-6.0.3/src/querycp.h0000644000175500010010000000021013524756523014201 0ustar waterlanGeen/* querycp.h is in the public domain */ #ifndef _WCD_QUERYCP_H #define _WCD_QUERYCP_H unsigned short query_con_codepage(void); #endif wcd-6.0.3/src/stack.c0000644000175500010010000001265413524756523013630 0ustar waterlanGeen/* Copyright (C) 1997-2014 Erwin Waterlander 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "std_macr.h" #include "structur.h" #include "nameset.h" #include "display.h" #include "finddirs.h" #include "WcdStack.h" #include "Text.h" #include "wcd.h" #include "stack.h" #include "config.h" #include "wcddir.h" /******************************************************************** * * stack_add * ********************************************************************/ int stack_add(WcdStack ws, char *dir) { ws->lastadded++; if(ws->lastadded == ws->maxsize) ws->lastadded = 0; ws->current = ws->lastadded; /* printWcdStack("add ", ws, stdout); */ /* free old dir string if present */ if (ws->dir != NULL) if((ws->dir[ws->lastadded] != NULL) && (ws->size == (size_t)ws->maxsize)) free (ws->dir[ws->lastadded]); putElementAtWcdStackDir(textNew(dir), (size_t)ws->lastadded, ws); return(0); } /******************************************************************** * * stack_read * ********************************************************************/ int stack_read(WcdStack ws,const char *stackfilename) { FILE *infile; int line_nr=1; /* open stack-file */ if ((ws->maxsize <= 0)||((infile = wcd_fopen(stackfilename,"r",1)) == NULL)) { /* print_error("Unable to read file %s\n",stackfilename); */ ws->lastadded = -1; ws->current = -1; } else { if(fscanf(infile,"%d %d",&ws->lastadded,&ws->current)==2) { char tmp[WCD_MAXPATH]; while( !feof(infile) && !ferror(infile) && (ws->size < (size_t)ws->maxsize) ) { int len ; /* read a line */ len = wcd_getline(tmp,WCD_MAXPATH,infile,stackfilename,&line_nr); ++line_nr; if (len > 0 ) addToWcdStackDir(textNew(tmp), ws); } } else { print_error("%s", _("Error parsing stack\n")); ws->lastadded = -1; ws->current = -1; } if (ferror(infile)) { wcd_read_error(stackfilename); } wcd_fclose(infile, stackfilename, "r", "stack_read: "); if (ws->lastadded >= (int)ws->size) ws->lastadded = 0; if (ws->current >= (int)ws->size) ws->current = 0; } /* printWcdStack("READ ", ws, stdout); */ return(0); } /*******************************************************************/ int stack_print(WcdStack ws, int use_numbers, int use_stdout) { #ifdef WCD_USECONIO if (use_stdout == WCD_STDOUT_NO) return display_list_conio(NULL,ws,0,use_numbers); else return display_list_stdout(NULL,ws,0, use_stdout); #else # ifdef WCD_USECURSES int i; if ((use_stdout == WCD_STDOUT_NO) && ((i = display_list_curses(NULL,ws,0,use_numbers)) != WCD_ERR_CURSES)) return i; else return display_list_stdout(NULL,ws,0, use_stdout); # else return display_list_stdout(NULL,ws,0, use_stdout); # endif #endif } /******************************************************************** * * stack_push * ********************************************************************/ char* stack_push(WcdStack ws, int push_ntimes) { int new_stack_nr; if(ws == NULL) return (NULL); else if( ((ws->size) == 0) || ((ws->size) > (size_t)ws->maxsize) ) return (NULL); else { push_ntimes = push_ntimes % (int)ws->size; new_stack_nr = ws->current - push_ntimes; if(new_stack_nr < 0) new_stack_nr = (int)ws->size + new_stack_nr; ws->current = new_stack_nr; return(ws->dir[ws->current]); } } /******************************************************************** * * stack_pop * * * ********************************************************************/ char* stack_pop(WcdStack ws, int pop_ntimes) { int new_stack_nr; if(ws == NULL) return (NULL); else if( ((ws->size) == 0) || ((ws->size) > (size_t)ws->maxsize) ) return (NULL); else { pop_ntimes = pop_ntimes % (int)ws->size; new_stack_nr = ws->current + pop_ntimes; if(new_stack_nr > (int)(ws->size -1)) new_stack_nr = new_stack_nr - (int)ws->size; ws->current = new_stack_nr; return(ws->dir[ws->current]); } } /******************************************************************** * * stack_write * ********************************************************************/ int stack_write(WcdStack ws,const char *stackfilename) { if (ws->maxsize <= 0) return(0); else { FILE *outfile; /* create directory for stack file if it doesn't exist */ create_dir_for_file(stackfilename); if ( (outfile = wcd_fopen(stackfilename,"w",0)) == NULL) { return(0); } else { int i; wcd_fprintf(outfile,"%d %d\n",ws->lastadded,ws->current); for(i=0;((i<(int)ws->size)&&(imaxsize));i++) { /* printf("writing line %d\n",i); */ wcd_fprintf(outfile,"%s\n",ws->dir[i]); } wcd_fclose(outfile, stackfilename, "w", "stack_write: "); } return(0); } } wcd-6.0.3/src/stack.h0000644000175500010010000000213313524756523013624 0ustar waterlanGeen/* Copyright (C) 1997-1998 Erwin Waterlander 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef _WCD_STACK_H #define _WCD_STACK_H #define WCD_STACK_SIZE 10 int stack_read(WcdStack ws,const char *stackfilename); int stack_print(WcdStack ws, int use_numbers, int use_stdout); int stack_write(WcdStack ws,const char *stackfilename); int stack_add(WcdStack ws, char *dir); char* stack_push(WcdStack ws, int push_ntimes); char* stack_pop(WcdStack ws, int pop_ntimes); #endif wcd-6.0.3/src/tailor.h0000644000175500010010000000370113524756523014013 0ustar waterlanGeen/* tailor.h Copyright (C) 1998-2017 Erwin Waterlander. Was original written by Mark Adler (Not copyrighted 1993) 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef _WCD_TAILOR_H #define _WCD_TAILOR_H /* Define __MSDOS__ for Turbo C and Power C */ #ifdef __POWERC # define __TURBOC__ # define __MSDOS__ #endif /* __POWERC */ #if (defined(__DOS__) && !defined(__MSDOS__)) # define __MSDOS__ #endif /* Watcom C DOS target. EW */ #if (defined(__NT__) && !defined(_WIN32)) # define _WIN32 #endif /* Watcom C Windows NT and 95 target. EW */ #if defined(__DJGPP__) /* MS-DOS extender: NOT Unix */ # undef unix # undef __unix # undef __unix__ #endif #if (defined(unix) || defined(__unix) || defined(__unix__)) # ifndef UNIX # define UNIX # endif #endif /* unix || __unix || __unix__ */ /* GCC on OS/2 defines _BSD_SOURCE in /usr/inlcude/features.h EW. */ #if (defined(linux) || defined(_BSD_SOURCE)) && !defined(__OS2__) # ifndef UNIX # define UNIX # endif #endif /* linux || _BSD_SOURCE */ #if (defined(M_XENIX) || defined(COHERENT) || defined(__hpux)) # ifndef UNIX # define UNIX # endif #endif /* M_XENIX || COHERENT || __hpux */ #if defined(__convexc__) || defined(MINIX) || defined(sgi) # ifndef UNIX # define UNIX # endif #endif /* __convexc__ || MINIX || sgi */ #endif /* end of tailor.h */ wcd-6.0.3/src/vc.mak0000644000175500010010000001123613524756523013454 0ustar waterlanGeen# Common parts of the Microsoft Visual C++ makefiles. DOCFILES = $(SRCDIR)\man\man1\wcd.txt $(SRCDIR)\man\man1\wcd.$(HTMLEXT) all: $(PROGRAM) $(DOCFILES) $(PROGRAM): $(OBJS) $(LINK) /out:$@ $(LDFLAGS) $(OBJS) $(LIBS) DEBUG = 0 CFLAGS = $(CFLAGS) /DDEBUG=$(DEBUG) !if "$(ASCII_TREE)" == "1" CFLAGS = $(CFLAGS) /DASCII_TREE !endif !if "$(UCS)" == "1" CFLAGS = $(CFLAGS) /DWCD_UNICODE !endif stack.obj : $(SRCDIR)\stack.c $(CC) /c $(CFLAGS) $(SRCDIR)\stack.c match.obj : $(SRCDIR)\match.c $(CC) /c $(CFLAGS) $(SRCDIR)\match.c matchl.obj : $(SRCDIR)\matchl.c $(CC) /c $(CFLAGS) $(SRCDIR)\matchl.c matchw.obj : $(SRCDIR)\matchw.c $(CC) /c $(CFLAGS) $(SRCDIR)\matchw.c querycp.obj : $(SRCDIR)\querycp.c $(CC) /c $(CFLAGS) $(SRCDIR)\querycp.c wcwidth.obj : $(SRCDIR)\wcwidth.c $(CC) /c $(CFLAGS) $(SRCDIR)\wcwidth.c wfixpath.obj : $(SRCDIR)\wfixpath.c $(CC) /c $(CFLAGS) $(SRCDIR)\wfixpath.c display.obj : $(SRCDIR)\display.c $(CC) /c $(CFLAGS) $(SRCDIR)\display.c colors.obj : $(SRCDIR)\colors.c $(CC) /c $(CFLAGS) $(SRCDIR)\colors.c graphics.obj : $(SRCDIR)\graphics.c $(CC) /c $(CFLAGS) $(SRCDIR)\graphics.c wcd.obj : $(SRCDIR)\wcd.c $(CC) /c $(CFLAGS) $(CFLAGS_VERSION) $(SRCDIR)\wcd.c wcddir.obj : $(SRCDIR)\wcddir.c $(CC) /c $(CFLAGS) $(SRCDIR)\wcddir.c finddirs.obj : $(SRCDIR)\finddirs.c $(CC) /c $(CFLAGS) $(SRCDIR)\finddirs.c WcdStack.obj : $(SRCDIR)\c3po\WcdStack.c $(CC) /c $(CFLAGS) $(SRCDIR)\c3po\WcdStack.c Text.obj : $(SRCDIR)\c3po\Text.c $(CC) /c $(CFLAGS) $(SRCDIR)\c3po\Text.c nameset.obj : $(SRCDIR)\c3po\nameset.c $(CC) /c $(CFLAGS) $(SRCDIR)\c3po\nameset.c Error.obj : $(SRCDIR)\c3po\Error.c $(CC) /c $(CFLAGS) $(SRCDIR)\c3po\Error.c intset.obj : $(SRCDIR)\c3po\intset.c $(CC) /c $(CFLAGS) $(SRCDIR)\c3po\intset.c command.obj : $(SRCDIR)\c3po\command.c $(CC) /c $(CFLAGS) $(SRCDIR)\c3po\command.c dirnode.obj : $(SRCDIR)\c3po\dirnode.c $(CC) /c $(CFLAGS) $(SRCDIR)\c3po\dirnode.c PACKAGE = wcd exec_prefix = $(prefix) bindir = $(exec_prefix)\bin datarootdir = $(prefix)\share datadir = $(datarootdir) !ifndef docsubdir docsubdir = $(PACKAGE)-$(VERSION) !endif docdir = $(datarootdir)\doc\$(docsubdir) status: @echo "CFLAGS = $(CFLAGS)" @echo $(MAKEDIR) $(prefix): if not exist $@ mkdir $@ $(bindir): $(prefix) if not exist $@ mkdir $@ $(datarootdir): $(prefix) if not exist $@ mkdir $@ $(datarootdir)\doc: $(datarootdir) if not exist $@ mkdir $@ $(docdir): $(datarootdir)\doc if not exist $@ mkdir $@ install: $(PROGRAM) $(DOCFILES) $(bindir) $(docdir) copy $(PROGRAM) $(bindir) !if "$(PROGRAM)" == "wcdwin32.exe" copy ..\wcd.bat $(bindir) copy ..\wcd_win95.bat $(bindir) !endif !if "$(PROGRAM)" == "wcdwin64.exe" copy ..\wcd.bat $(bindir) !endif $(MAKE) install-doc $(SRCDIR)\man\man1\wcd.txt : $(SRCDIR)\man\man1\wcd.pod pod2text $** > $@ $(SRCDIR)\man\man1\wcd.$(HTMLEXT) : $(SRCDIR)\man\man1\wcd.pod pod2html --title="$(PACKAGE) $(VERSION) - Wherever Change Directory" $** > $@ txt: $(SRCDIR)\man\man1\wcd.txt html: $(SRCDIR)\man\man1\wcd.$(HTMLEXT) doc : $(DOCFILES) install-doc: $(docdir) $(DOCFILES) copy $(SRCDIR)\..\doc\faq.txt $(docdir) copy $(SRCDIR)\..\doc\whatsnew.txt $(docdir) copy $(SRCDIR)\..\doc\README.txt $(docdir) copy $(SRCDIR)\..\doc\problems.txt $(docdir) copy $(SRCDIR)\..\doc\todo.txt $(docdir) copy $(SRCDIR)\..\doc\INSTALL.txt $(docdir) copy $(SRCDIR)\..\doc\INST_DOS.txt $(docdir) copy $(SRCDIR)\..\doc\copying.txt $(docdir) copy $(SRCDIR)\man\man1\$(PACKAGE).txt $(docdir) copy $(SRCDIR)\man\man1\$(PACKAGE).$(HTMLEXT) $(docdir) uninstall: -del $(bindir)\$(PROGRAM) !if "$(PROGRAM)" == "wcdwin32.exe" -del $(bindir)\wcd.bat -del $(bindir)\wcd_win95.bat !endif !if "$(PROGRAM)" == "wcdwin64.exe" -del $(bindir)\wcd.bat !endif -rmdir /s /q $(docdir) !ifndef VERSIONSUFFIX VERSIONSUFFIX = -bin !endif !ifndef ZIPFILE ZIPFILE = $(PACKAGE)$(VERSION)$(VERSIONSUFFIX).zip !endif !ifndef ZIPFILEDIR ZIPFILEDIR = ..\..\.. !endif ZIPOBJ = bin\$(PROGRAM) share\doc\$(docsubdir) $(ZIPOBJ_EXTRA) DISTCMD = dist.bat dist : @echo cd /d $(prefix) > $(DISTCMD) @echo unix2dos -k share\doc\$(docsubdir)\*.txt >> $(DISTCMD) @echo unix2dos -k share\doc\$(docsubdir)\*.$(HTMLEXT) >> $(DISTCMD) @echo zip -r $(ZIPFILE) $(ZIPOBJ) >> $(DISTCMD) @echo cd /d $(MAKEDIR) >> $(DISTCMD) @echo move $(prefix)\$(ZIPFILE) $(ZIPFILEDIR) >> $(DISTCMD) .\$(DISTCMD) mostlyclean: -del *~ -del *.bak -del *.obj -del *.exe -del *.tmp -del $(DISTCMD) clean: mostlyclean maintainer-clean: clean -del $(DOCFILES) wcd-6.0.3/src/version.mk0000644000175500010010000000007613524756523014370 0ustar waterlanGeenVERSION = 6.0.3 VERSION_SHORT = 603 VERSION_DATE = 2019-08-14 wcd-6.0.3/src/watcom.mif0000755000175500010010000001135613524756523014347 0ustar waterlanGeen# Common parts of the Watcom C makefiles. DEBUG = 0 CFLAGS += -dDEBUG=$(DEBUG) !ifdef ASCII_TREE CFLAGS += -dASCII_TREE !endif !ifeq UCS 1 CFLAGS += -dWCD_UNICODE -za99 !endif stack.obj : $(SRCDIR)\stack.c $(CC) $(CFLAGS) $(SRCDIR)\stack.c match.obj : $(SRCDIR)\match.c $(CC) $(CFLAGS) $(SRCDIR)\match.c matchl.obj : $(SRCDIR)\matchl.c $(CC) $(CFLAGS) $(SRCDIR)\matchl.c matchw.obj : $(SRCDIR)\matchw.c $(CC) $(CFLAGS) $(SRCDIR)\matchw.c querycp.obj : $(SRCDIR)\querycp.c $(CC) $(CFLAGS) $(SRCDIR)\querycp.c wcwidth.obj : $(SRCDIR)\wcwidth.c $(CC) $(CFLAGS) $(SRCDIR)\wcwidth.c wfixpath.obj : $(SRCDIR)\wfixpath.c $(CC) $(CFLAGS) $(SRCDIR)\wfixpath.c display.obj : $(SRCDIR)\display.c $(CC) $(CFLAGS) $(SRCDIR)\display.c colors.obj : $(SRCDIR)\colors.c $(CC) $(CFLAGS) $(SRCDIR)\colors.c graphics.obj : $(SRCDIR)\graphics.c $(CC) $(CFLAGS) $(SRCDIR)\graphics.c wcd.obj : $(SRCDIR)\wcd.c $(CC) $(CFLAGS) $(CFLAGS_VERSION) $(SRCDIR)\wcd.c wcddir.obj : $(SRCDIR)\wcddir.c $(CC) $(CFLAGS) $(SRCDIR)\wcddir.c finddirs.obj : $(SRCDIR)\finddirs.c $(CC) $(CFLAGS) $(SRCDIR)\finddirs.c WcdStack.obj : $(SRCDIR)\c3po\WcdStack.c $(CC) $(CFLAGS) $(SRCDIR)\c3po\WcdStack.c Text.obj : $(SRCDIR)\c3po\Text.c $(CC) $(CFLAGS) $(SRCDIR)\c3po\Text.c nameset.obj : $(SRCDIR)\c3po\nameset.c $(CC) $(CFLAGS) $(SRCDIR)\c3po\nameset.c Error.obj : $(SRCDIR)\c3po\Error.c $(CC) $(CFLAGS) $(SRCDIR)\c3po\Error.c intset.obj : $(SRCDIR)\c3po\intset.c $(CC) $(CFLAGS) $(SRCDIR)\c3po\intset.c command.obj : $(SRCDIR)\c3po\command.c $(CC) $(CFLAGS) $(SRCDIR)\c3po\command.c dirnode.obj : $(SRCDIR)\c3po\dirnode.c $(CC) $(CFLAGS) $(SRCDIR)\c3po\dirnode.c PACKAGE = wcd exec_prefix = $(prefix) bindir = $(exec_prefix)\bin datarootdir = $(prefix)\share datadir = $(datarootdir) !ifndef docsubdir docsubdir = $(PACKAGE)-$(VERSION) !endif docdir = $(datarootdir)\doc\$(docsubdir) status: .SYMBOLIC @echo CFLAGS = $(CFLAGS) $(prefix): .EXISTSONLY mkdir $@ $(bindir): $(prefix) .EXISTSONLY mkdir $@ $(datarootdir): $(prefix) .EXISTSONLY mkdir $@ $(datarootdir)\doc: $(datarootdir) .EXISTSONLY mkdir $@ $(docdir): $(datarootdir)\doc .EXISTSONLY mkdir $@ install: $(PROGRAM) $(DOCFILES) $(bindir) $(docdir) .SYMBOLIC copy $(PROGRAM) $(bindir) !ifeq PROGRAM wcdwin32.exe copy ..\wcd.bat $(bindir) copy ..\wcd_win95.bat $(bindir) !endif !ifeq PROGRAM wcdos2.exe copy ..\wcd.cmd $(bindir) !endif $(MAKE) install-doc $(SRCDIR)\man\man1\wcd.txt : $(SRCDIR)\man\man1\wcd.pod pod2text $< > $@ $(SRCDIR)\man\man1\wcd.$(HTMLEXT) : $(SRCDIR)\man\man1\wcd.pod pod2html --title="$(PACKAGE) $(VERSION) - Wherever Change Directory" $< > $@ txt: $(SRCDIR)\man\man1\wcd.txt .SYMBOLIC html: $(SRCDIR)\man\man1\wcd.$(HTMLEXT) .SYMBOLIC doc : $(DOCFILES) .SYMBOLIC install-doc: $(docdir) $(DOCFILES) .SYMBOLIC copy $(SRCDIR)\..\doc\faq.txt $(docdir) copy $(SRCDIR)\..\doc\whatsnew.txt $(docdir) copy $(SRCDIR)\..\doc\README.txt $(docdir) copy $(SRCDIR)\..\doc\problems.txt $(docdir) copy $(SRCDIR)\..\doc\todo.txt $(docdir) copy $(SRCDIR)\..\doc\INSTALL.txt $(docdir) copy $(SRCDIR)\..\doc\INST_DOS.txt $(docdir) copy $(SRCDIR)\..\doc\copying.txt $(docdir) copy $(SRCDIR)\man\man1\$(PACKAGE).txt $(docdir) copy $(SRCDIR)\man\man1\$(PACKAGE).$(HTMLEXT) $(docdir) uninstall: .SYMBOLIC -del $(bindir)\$(PROGRAM) !ifeq PROGRAM wcdwin32.exe -del $(bindir)\wcd.bat -del $(bindir)\wcd_win95.bat !endif !ifeq PROGRAM wcdos2.exe -del $(bindir)\wcd.cmd !endif -rmdir /s /q $(docdir) !ifndef VERSIONSUFFIX VERSIONSUFFIX = -bin !endif !ifndef ZIPFILE ZIPFILE = $(PACKAGE)$(VERSION)$(VERSIONSUFFIX).zip !endif !ifndef ZIPFILEDIR ZIPFILEDIR = ..\..\.. !endif ZIPOBJ = bin\$(PROGRAM) share\doc\$(docsubdir) $(ZIPOBJ_EXTRA) CURDISK = $+ $(%cdrive): $- CURDIR = $+ $(%cwd) $- !ifdef __OS2__ DISTCMD = dist.cmd !else DISTCMD = dist.bat !endif dist : .SYMBOLIC @%create $(DISTCMD) @%append $(DISTCMD) set PREFIX=$(prefix) @%append $(DISTCMD) set PREFIXDISK=%PREFIX:~0,2% @%append $(DISTCMD) %PREFIXDISK% @%append $(DISTCMD) cd $(prefix) @%append $(DISTCMD) unix2dos -k share\doc\$(docsubdir)\*.txt @%append $(DISTCMD) unix2dos -k share\doc\$(docsubdir)\*.$(HTMLEXT) @%append $(DISTCMD) zip -r $(ZIPFILE) $(ZIPOBJ) @%append $(DISTCMD) $(CURDISK) @%append $(DISTCMD) cd $(CURDIR) @%append $(DISTCMD) move $(prefix)\$(ZIPFILE) $(ZIPFILEDIR) .\$(DISTCMD) mostlyclean: .SYMBOLIC -del *~ -del *.bak -del *.obj -del *.ilk -del *.map -del *.err -del *.sym -del *.exe -del *.tmp -del $(DISTCMD) clean: mostlyclean .SYMBOLIC maintainer-clean: clean .SYMBOLIC -del $(DOCFILES) wcd-6.0.3/src/wcd.c0000644000175500010010000034327613524756523013307 0ustar waterlanGeen/* filename: WCD.C WCD - Chdir for Dos and Unix. Author: Erwin Waterlander E-mail : waterlan@xs4all.nl WWW : http://waterlan.home.xs4all.nl/ ====================================================================== = Copyright = ====================================================================== Copyright (C) 1996-2019 Erwin Waterlander 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ======================================================================= Jason Mathews' file filelist.c was a starting point for this file. */ #include #include #include #include #include #include #include #if !defined(__TURBOC__) && !defined(_MSC_VER) # include #endif #ifdef __TURBOC__ #define __FLAT__ #endif #include #ifdef _MSC_VER #include #define S_ISDIR( m ) (((m) & _S_IFMT) == _S_IFDIR) #define S_ISREG( m ) (((m) & _S_IFMT) == _S_IFREG) #endif #ifdef __DJGPP__ # include #endif #include "wcd.h" #ifndef __MSDOS__ /* Win32, OS/2, Unix, Cygwin */ #include #endif /* MSYS1 has no langinfo.h and does not support Unix locales */ /* MSYS1 has __GNUC__ = 3, MSYS2 has __GNUC__ = 4 */ #if !defined(__MSDOS__) && !defined(_WIN32) && !defined(__OS2__) && !(defined(__MSYS__) && (__GNUC__ == 3))/* Unix, Cygwin, MSYS2 */ # include #endif #include "querycp.h" #include "finddirs.h" #include "match.h" #ifdef WCD_UNICODE # include "matchw.h" #else # include "matchl.h" #endif #include "std_macr.h" #include "structur.h" #include "Error.h" #include "Text.h" #include "nameset.h" #include "WcdStack.h" #include "dirnode.h" #include "stack.h" #include "display.h" #include "wfixpath.h" #include "graphics.h" #include "wcddir.h" #include "config.h" #if defined(_WIN32) || defined(WCD_UNICODE) # include #endif #if defined (_WIN32) && !defined(__CYGWIN__) # include #endif #ifdef __CYGWIN__ # undef _WIN32 #endif /* Global variables */ /* Disable wildcard globbing */ #ifdef __MINGW32__ # ifdef __MINGW64__ int _dowildcard = 0; # else int _CRT_glob = 0; # endif #endif #ifdef __DJGPP__ #include char **__crt0_glob_function (char *arg) { return 0; } #endif /* Copy string src to dest, and null terminate dest. dest_size must be the buffer size of dest. */ char *wcd_strncpy(char *dest, const char *src, size_t dest_size) { strncpy(dest,src,dest_size); dest[dest_size-1] = '\0'; #if DEBUG if(strlen(src) > (dest_size-1)) { print_error("Text %s has been truncated from %d to %d characters in %s to prevent a buffer overflow.\n", src, (int)strlen(src), (int)dest_size, "wcd_strncpy()"); } #endif return dest; } /* Append string src to dest, and null terminate dest. dest_size must be the buffer size of dest. */ char *wcd_strncat(char *dest, const char *src, size_t dest_size) { #if DEBUG if((strlen(dest) + strlen(src)) > (dest_size-1)) { print_error("Text %s + %s has been truncated to %d characters in %s to prevent a buffer overflow.\n", dest, src, (int)dest_size,"wcd_strncat()"); } #endif strncat(dest,src,dest_size-strlen(dest)); dest[dest_size-1] = '\0'; return dest; } int print_msg(const char *format, ...) { va_list args; int rc; printf("Wcd: "); va_start(args, format); rc = vprintf(format, args); va_end(args); return(rc); } int print_error(const char *format, ...) { va_list args; int rc; fprintf(stderr,_("Wcd: error: ")); va_start(args, format); rc = vfprintf(stderr, format, args); va_end(args); return(rc); } void wcd_read_error(const char *filename) { char *errstr; errstr = strerror(errno); print_error(_("Unable to read file %s: %s\n"), filename, errstr); } /* Use wcd_fprintf() when we write to files. To get an * error message when the disk is full or quota is exceeded. Because the output is buffered, you may not get the disk-full error during fprintf(), but during fclose() when the buffer is flushed to disk. When you write a lot of data, more than fits in the buffer, the buffer is flushed in the meantime, before closing the file and you get the disk-full error during fprintf(). You may not get the error message during fclose() then. Therefore we have to check for errors during writing to file AND when the file is closed. */ int wcd_fprintf(FILE *stream, const char *format, ...) { va_list args; int rc; va_start(args, format); rc = vfprintf(stream, format, args); va_end(args); if (rc < 0) { char *errstr = strerror(errno); print_error("%s\n", errstr); } return(rc); } FILE *wcd_fopen(const char *filename, const char *m, int quiet) { struct stat buf; FILE *f; char *errstr; int loc_quiet; #if DEBUG fprintf(stderr, "Wcd: wcd_fopen: Opening file \"%s\" mode=%s quiet=%d\n",filename, m, quiet); loc_quiet = 0; #else loc_quiet = quiet; #endif if (m[0] == 'r') /* we try to read an existing file */ { if (stat(filename, &buf) != 0) /* check if file exists */ { if ( !loc_quiet ) { errstr = strerror(errno); print_error(_("Unable to read file %s: %s\n"), filename, errstr); } return(NULL); } if (!S_ISREG(buf.st_mode)) /* check if it is a file */ { if ( !loc_quiet ) { print_error(_("Unable to read file %s: Not a regular file.\n"), filename); } return(NULL); } } f = fopen(filename, m); /* open the file */ if ( !loc_quiet && (f == NULL)) { errstr = strerror(errno); if (m[0] == 'r') print_error(_("Unable to read file %s: %s\n"), filename, errstr); else print_error(_("Unable to write file %s: %s\n"), filename, errstr); } #if DEBUG fprintf(stderr, "Wcd: wcd_fopen: Opening file \"%s\" OK.\n", filename); #endif return(f); } /* wcd_fopen_type, similar as wcd_fopen, but also returns file * type based on Unicode BOM. Returns file pointer or NULL in case of a read error */ FILE *wcd_fopen_bom(const char *filename, const char *m, int quiet, int *bomtype) { FILE *f; /* BOMs * UTF16-LE ff fe * UTF16-BE fe ff * UTF-8 ef bb bf */ *bomtype = FILE_MBS; if ((f = wcd_fopen(filename, m, quiet)) == NULL) return NULL; /* Check for BOM */ if (m[0] == 'r') { int bom[3]; if ((bom[0] = fgetc(f)) == EOF) { if (ferror(f)) goto read_failed; *bomtype = FILE_MBS; return(f); } if ((bom[0] != 0xff) && (bom[0] != 0xfe) && (bom[0] != 0xef)) { if (ungetc(bom[0], f) == EOF) goto read_failed; *bomtype = FILE_MBS; return(f); } if ((bom[1] = fgetc(f)) == EOF) { if (ferror(f)) goto read_failed; if (ungetc(bom[1], f) == EOF) goto read_failed; if (ungetc(bom[0], f) == EOF) goto read_failed; *bomtype = FILE_MBS; return(f); } if ((bom[0] == 0xff) && (bom[1] == 0xfe)) { /* UTF16-LE */ *bomtype = FILE_UTF16LE; return(f); } if ((bom[0] == 0xfe) && (bom[1] == 0xff)) { /* UTF16-BE */ *bomtype = FILE_UTF16BE; return(f); } if ((bom[2] = fgetc(f)) == EOF) { if (ferror(f)) goto read_failed; if (ungetc(bom[2], f) == EOF) goto read_failed; if (ungetc(bom[1], f) == EOF) goto read_failed; if (ungetc(bom[0], f) == EOF) goto read_failed; *bomtype = FILE_MBS; return(f); } if ((bom[0] == 0xef) && (bom[1] == 0xbb) && (bom[2]== 0xbf)) { /* UTF-8 */ *bomtype = FILE_UTF8; return(f); } if (ungetc(bom[2], f) == EOF) goto read_failed; if (ungetc(bom[1], f) == EOF) goto read_failed; if (ungetc(bom[0], f) == EOF) goto read_failed; *bomtype = FILE_MBS; return(f); } return(f); read_failed: wcd_read_error(filename); wcd_fclose(f, filename, "r", "wcd_fopen_bom: "); return NULL; } void wcd_fclose(FILE *fp, const char *filename, const char *m, const char *functionname) { if (fclose(fp) != 0) { char *errstr = strerror(errno); if (m[0] == 'w') print_error(_("Unable to write file %s: %s\n"), filename, errstr); else print_error(_("Unable to close file %s: %s\n"), filename, errstr); } #if DEBUG else fprintf(stderr, "Wcd: %sClosing file \"%s\" OK.\n", functionname, filename); #endif } /******************************************************************** * void cleanPath(char path[], int len, minlength) * * Clean path string from ending '/' character. * * Borland's chdir() function cannot change to paths ending with '/' * or '\' except root itself (/ or \). * ********************************************************************/ void cleanPath(char path[], int len, int minlength) { /* strip ending separator (if present) */ if (len > minlength && path[len-1]==DIR_SEPARATOR && path[len-2]!=':') path[len-1] = '\0'; } /* trimPath(char* path, size_t n) * Remove n characters from beginning of path. */ void trimPath(char* path, size_t n) { if ((path != NULL) && (n <= strlen(path))) { char* dest = path; char* src = path + n; while (*src) *dest++ = *src++; *dest = *src; } } #ifdef _WCD_DOSFS void rmDriveLetter(char path[], int *use_HOME) { if (path == NULL) return; /* remove drive letter */ if (*use_HOME == 0 ) { char *ptr; if ( (ptr=strstr(path,"/")) != NULL) trimPath(path,(size_t)(ptr-path)); } } #endif void rmDirFromList(char *string, nameset n) { size_t len = strlen(string) + 1; char *dir = (char *)malloc(len); char *subdir; size_t i; if (dir==NULL) { print_error(_("Memory allocation error in %s: %s\n"),"rmDirFromList()",strerror(errno)); return; } subdir = (char *)malloc(len+2); if (subdir==NULL) { print_error(_("Memory allocation error in %s: %s\n"),"rmDirFromList()",strerror(errno)); free(dir); return; } wcd_strncpy(dir,string,len); wcd_fixpath(dir,len); wcd_strncpy(subdir,dir,len+2); wcd_strncat(subdir,"/*",len+2); i = 0; while (i < n->size ) { #ifdef _WCD_DOSFS if( dd_match(n->array[i],dir,1) || dd_match(n->array[i],subdir,1)) #else if( dd_match(n->array[i],dir,0) || dd_match(n->array[i],subdir,0)) #endif removeElementAtNamesetArray(i,n,true); else ++i; } free(subdir); free(dir); } /********************************/ void writeList(char * filename, nameset n, int bomtype) { FILE *outfile; if ( (outfile = wcd_fopen(filename,"w",0)) != NULL) { #ifdef WCD_UTF16 wcd_fprintf(outfile, "%s", "\xEF\xBB\xBF"); /* UTF-8 BOM */ #endif #ifdef WCD_ANSI /* non-Unicode Windows version */ /* When the treefile was in Unicode the non-Unicode Windows version of wcd translated the Unicode directory names to the system default ANSI code page. */ if (bomtype > 0) /* Unicode, write back in UTF-8 */ wcd_fprintf(outfile, "%s", "\xEF\xBB\xBF"); /* UTF-8 BOM */ #endif size_t i; int rc = 0; #ifdef WCD_ANSI char path[WCD_MAXPATH]; wchar_t pathw[WCD_MAXPATH]; #endif for(i=0;((isize)&&(rc>=0));i++) { #ifdef WCD_ANSI if (bomtype > 0) { /* Unicode, write back in UTF-8. Characters that are not supported by the ANSI code page get broken. */ wcd_strncpy(path, n->array[i], sizeof(path)); MultiByteToWideChar(CP_ACP, 0, path, -1, pathw, sizeof(pathw)); WideCharToMultiByte(CP_UTF8, 0, pathw, -1, path, sizeof(path), NULL, NULL); rc = wcd_fprintf(outfile,"%s\n",path); } else rc = wcd_fprintf(outfile,"%s\n",n->array[i]); #else rc = wcd_fprintf(outfile,"%s\n",n->array[i]); #endif } wcd_fclose(outfile, filename, "w", "writeList: "); } } #ifdef UNIX /************************************************************* * void stripTmpMnt(char* path) * * This function stips /tmp_mnt from path if it begins with it. * /tmp_mnt is used by the automounter. * *************************************************************/ void stripTmpMnt(char* path) { if (path != NULL) { if (strncmp(path,TMP_MNT_STR,strlen(TMP_MNT_STR)) == 0) trimPath(path,strlen(TMP_MNT_STR) - 1); } } #endif #ifdef WCD_UNIXSHELL /************************************************************* * * void quoteString(char *string) * * ----- * quote all metacharacters (; & $ ( ) | < > space), quotes ("), * apostrophes ('), grave accents (`), wildcard characters * (* ? [ ]), and backslashes (\) with a backslash. * * Quoting every character with a backslash seems to be * the most portable solution. Using apostrophes ('...') to quote the whole * string makes it impossible to quote an apostrophe in the path. Using quotes * ("...") does not work well in csh, because you can't escape a $ character * inside quotes to stop variable substitution, and you can't escape a grave * accent. * * Functions is_slash() and is_term() in file wfixpath.c have also * been modified so that a backslash is not replaced by slash anymore * on UNIX systems. * * Erwin Waterlander Oct 17 2001 *************************************************************/ void quoteString(char *string) { size_t i, j; int k,kmax; char help1_str[WCD_MAXPATH]; j = strlen(string); k = 0; kmax = WCD_MAXPATH -3; for (i=0; (i < j)&&(k < kmax) ; i++) { if ( (string[i] == '"') || (string[i] == '$') || (string[i] == '&') || (string[i] == '\'') || (string[i] == '(') || (string[i] == ')') || (string[i] == '*') || (string[i] == ';') || (string[i] == '<') || (string[i] == '>') || (string[i] == '?') || (string[i] == '[') || (string[i] == '\\') || (string[i] == ']') || (string[i] == ' ') || (string[i] == '`') || (string[i] == '|') ) { help1_str[k] = '\\'; k++; } help1_str[k] = string[i]; k++ ; } help1_str[k] = '\0' ; wcd_strncpy(string,help1_str,(size_t)WCD_MAXPATH); } #endif /************************************************************* * * void quoteString(char *string) * * For cmd.exe on Windows and OS/2, and Windows PowerShell. * We need backslashes instead of forward slashes. * * ----- * Quoting ("...") is needed for paths that contain '&' characters * Quote '%' characters with '%', needed when cd command is executed * via batch file. * Oct 16 2001 * *************************************************************/ #if (defined(_WIN32) && !defined(WCD_WINZSH)) || (defined(__OS2__) && !defined(WCD_OS2BASH)) void quoteString(char *string) { size_t i, j; int k,kmax; char help1_str[WCD_MAXPATH]; j = strlen(string); help1_str[0] = '"'; k = 1; kmax = WCD_MAXPATH -3; for (i=0; (i < j)&&(k < kmax) ; i++) { #ifndef WCD_WINPWRSH if (string[i] == '%') { help1_str[k] = '%'; k++; } #endif if (string[i] == '/') help1_str[k] = '\\'; else help1_str[k] = string[i]; k++ ; } help1_str[k] = '"' ; k++; help1_str[k] = '\0' ; wcd_strncpy(string,help1_str,(size_t)WCD_MAXPATH); } #endif /************************************************************* * * changeDisk * * Returns: * On succes : the new drive number >=0, or the current * disk number >=0 if there was no drive to go to. * Fail : -1 * *************************************************************/ #ifdef _WCD_DOSFS int changeDisk(char *path, int *changed, char *newdrive, int *use_HOME) { char drive[WCD_MAXDRIVE]; int i = getdisk(); /* current disk */ if (strlen(path)>1) { wcd_strncpy(drive,path,sizeof(drive)); if (dd_match(drive,"[a-z]:",1)) { int destDisk = islower(*drive) ? *drive-'a' : *drive-'A'; if (destDisk >= 0) { setdisk(destDisk); i = getdisk(); /* new disk */ } if ((i==destDisk) && (i>=0)) /* succes ? */ { *changed = 1 ; wcd_strncpy(newdrive,drive,(size_t)WCD_MAXDRIVE) ; if((use_HOME == NULL)||(*use_HOME == 0)) { char *ptr = path + 2; if (strcmp(ptr,"") == 0) { wcd_strncpy(path,"/",(size_t)WCD_MAXPATH); } else { wcd_strncpy(path,ptr,(size_t)WCD_MAXPATH); } } } else i = -1; } } return(i); } #endif /*****************************************************************/ char *getCurPath(char *buffer, size_t size, int *use_HOME) { char *path = wcd_getcwd(buffer, size); if(path != NULL) { size_t len = strlen(buffer); if (len==0) buffer[len] = '\0'; #ifdef _WCD_DOSFS wcd_fixpath(buffer,size); rmDriveLetter(buffer,use_HOME); #endif } return path; } /***************************************************************** * add current path to file. * *****************************************************************/ void addCurPathToFile(char *filename,int *use_HOME, int parents) { char tmp[WCD_MAXPATH]; /* tmp string buffer */ char *path = getCurPath(tmp,(size_t)WCD_MAXPATH,use_HOME); if(path != NULL) { /* open the treedata file */ FILE *outfile; if ((outfile = wcd_fopen(filename,"a",0)) != NULL) { wcd_fprintf(outfile,"%s\n",tmp); print_msg(""); wcd_printf(_("%s added to file %s\n"),tmp,filename); if (parents) { char *ptr ; while ( (ptr = strrchr(tmp,DIR_SEPARATOR)) != NULL) { *ptr = '\0' ; /* keep one last separator in the path */ if (strrchr(tmp,DIR_SEPARATOR) != NULL) { wcd_fprintf(outfile,"%s\n",tmp); print_msg(""); wcd_printf(_("%s added to file %s\n"),tmp,filename); } } } wcd_fclose(outfile, filename, "w", "addCurPathToFile: "); } } } /******************************************************************** * * scanDisk(char *path, char *treefile, int scanreldir, size_t append, int *use_HOME) * * append == 1 : append to treefile * scanreldir == 1 : write relative paths in rtdata.wcd * ********************************************************************/ void scanDisk(char *path, char *treefile, int scanreldir, size_t append, int *use_HOME, nameset exclude) { size_t offset = 0 ; /* offset to remove scanned from path */ char tmp2[WCD_MAXPATH]; /* tmp string buffer */ FILE *outfile; #ifdef _WCD_DOSFS char drive[WCD_MAXDRIVE]; int changedrive = 0; #endif wcd_fixpath(path,(size_t)WCD_MAXPATH); wcd_fixpath(treefile,(size_t)WCD_MAXPATH); wcd_getcwd(tmp2, sizeof(tmp2)); /* remember current dir */ if(! wcd_isdir(path,0)) { print_msg(""); wcd_printf(_("%s is not a directory.\n"),path); return ; } print_msg(""); wcd_printf(_("Please wait. Scanning disk. Building treedata-file %s from %s\n"),treefile, path); #ifdef _WCD_DOSFS changeDisk(path,&changedrive,drive,use_HOME); #endif if (scanreldir) { if ( !wcd_chdir(path,0) ) { char tmp[WCD_MAXPATH]; /* tmp string buffer */ wcd_getcwd(tmp, sizeof(tmp)); /* get full path */ #ifdef _WCD_DOSFS wcd_fixpath(tmp,sizeof(tmp)); rmDriveLetter(tmp,use_HOME); #endif offset = strlen(tmp); /* do not count ending separator (if present) */ if (offset > 0 && tmp[offset-1]==DIR_SEPARATOR) offset--; offset++; } wcd_chdir(tmp2,0); /* go back */ } #ifdef _WCD_DOSFS /* open the output file */ if (append) outfile = wcd_fopen(treefile,"a",0); /* append to database */ else outfile = wcd_fopen(treefile,"w",0); /* create new database */ if (!outfile) /* Try to open in a temp dir */ { char *ptr; if ( (ptr = getenv("TEMP")) != NULL ) { wcd_strncpy(treefile,ptr,(size_t)WCD_MAXPATH); wcd_strncat(treefile,TREEFILE,(size_t)WCD_MAXPATH); outfile = wcd_fopen(treefile,"w",1); } if (outfile == NULL) { if ( (ptr = getenv("TMP")) != NULL ) { wcd_strncpy(treefile,ptr,(size_t)WCD_MAXPATH); wcd_strncat(treefile,TREEFILE,(size_t)WCD_MAXPATH); outfile = wcd_fopen(treefile,"w",1); } if (outfile == NULL) { if ( (ptr = getenv("TMPDIR")) != NULL ) { wcd_strncpy(treefile,ptr,(size_t)WCD_MAXPATH); wcd_strncat(treefile,TREEFILE,(size_t)WCD_MAXPATH); outfile = wcd_fopen(treefile,"w",1); } } } print_msg(_("Writing file \"%s\"\n"), treefile); } if (outfile == NULL) /* Did we succeed? */ { print_error("%s", _("Write access to tree-file denied.\n")); print_error("%s", _("Set TEMP environment variable if this is a read-only disk.\n")); return ; } #else /* open the output file */ if (append) outfile = wcd_fopen(treefile,"a",0); /* append to database */ else outfile = wcd_fopen(treefile,"w",0); /* create new database */ if (outfile == NULL) return ; #endif #ifdef WCD_UTF16 /* Add UTF-8 BOM to make it readable by notepad. */ if (append == 0) wcd_fprintf(outfile, "%s", "\xEF\xBB\xBF"); /* UTF-8 BOM */ #endif finddirs( path, &offset, outfile, use_HOME, exclude, 0); /* Build treedata-file */ wcd_fclose(outfile, treefile, "w", "scanDisk: "); wcd_chdir(tmp2,0); /* go back */ } #if (defined(_WIN32) || defined(__CYGWIN__)) /*********************************************************************** * scanServer() * scan all the shared directories on a server ***********************************************************************/ void scanServer(char *path, char *treefile, size_t append, int *use_HOME, nameset exclude) { size_t i; nameset shares; shares = namesetNew(); wcd_getshares(path, shares); i = 0; while (i= lim-1) { int j; print_error(_("line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n"),"wcd_getline()",(lim-1)); print_error(_("file: %s, line: %d,"),file_name, *line_nr); /* Continue reading until end of line */ j = i+1; while (((c=getc(infile)) != '\n') && (c != EOF)) { ++j; } fprintf(stderr,_(" length: %d\n"),j); } if (c == EOF) { if (ferror(infile)) { wcd_read_error(file_name); } } return i ; } #if defined(_WIN32) || defined(WCD_UNICODE) /* UTF16 little endian */ int wcd_wgetline(wchar_t s[], int lim, FILE* infile, const char* file_name, const int* line_nr) { int i; int c_high=EOF, c_low=EOF; #if !defined(_WIN32) && !defined(__CYGWIN__) wchar_t lead, trail; #endif for (i=0; i= 4) && (s[i] >= 0xd800) && (s[i] < 0xdc00)) { lead = s[i]; if (((c_low=fgetc(infile)) != EOF) && ((c_high=fgetc(infile)) != EOF) && !((c_high == '\0') && (c_low == '\n'))) { c_high <<=8; trail = (wchar_t)(c_high + c_low) ; if ((trail >= 0xdc00) && (trail < 0xe000)) { s[i] = 0x10000; s[i] += (lead & 0x03FF) << 10; s[i] += (trail & 0x03FF); } else /* not a UTF-16 surrogate pair trail. */ { s[i] = trail; if (s[i] == L'\r') i--; } } } #endif } s[i] = L'\0' ; if (i >= lim-1) { print_error(_("line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n"),"wcd_wgetline()",(lim-1)); print_error(_("file: %s, line: %d,"),file_name, *line_nr); /* Continue reading until end of line */ int j = i+1; while (((c_low=fgetc(infile)) != EOF) && ((c_high=fgetc(infile)) != EOF) && !((c_high == '\0') && (c_low == '\n'))) { ++j; } fprintf(stderr,_(" length: %d\n"),j); } if ((c_low == EOF) || (c_high == EOF)) { if (ferror(infile)) { wcd_read_error(file_name); } } return i ; } /* UTF16 big endian */ int wcd_wgetline_be(wchar_t s[], int lim, FILE* infile, const char* file_name, const int* line_nr) { int i; int c_high=EOF, c_low=EOF; #if !defined(_WIN32) && !defined(__CYGWIN__) wchar_t lead, trail; #endif for (i=0; i= 4) && (s[i] >= 0xd800) && (s[i] < 0xdc00)) { lead = s[i]; if (((c_high=fgetc(infile)) != EOF) && ((c_low=fgetc(infile)) != EOF) && !((c_high == '\0') && (c_low == '\n'))) { c_high <<=8; trail = (wchar_t)(c_high + c_low) ; if ((trail >= 0xdc00) && (trail < 0xe000)) { s[i] = 0x10000; s[i] += (lead & 0x03FF) << 10; s[i] += (trail & 0x03FF); } else /* not a UTF-16 surrogate pair trail. */ { s[i] = trail; if (s[i] == L'\r') i--; } } } #endif } s[i] = L'\0' ; if (i >= lim-1) { print_error(_("line too long in %s ( > %d). The treefile could be corrupt, else fix by increasing WCD_MAXPATH in source code.\n"),"wcd_wgetline_be()",(lim-1)); print_error(_("file: %s, line: %d,"),file_name, *line_nr); /* Continue reading until end of line */ int j = i+1; while (((c_high=fgetc(infile)) != EOF) && ((c_low=fgetc(infile)) != EOF) && !((c_high == '\0') && (c_low == '\n'))) { ++j; } fprintf(stderr,_(" length: %d\n"),j); } if ((c_low == EOF) || (c_high == EOF)) { if (ferror(infile)) { wcd_read_error(file_name); } } return i ; } #endif /******************************************************************** * * Read treefile in a structure. * ********************************************************************/ void read_treefileA(FILE *f, nameset bd, const char* file_name) { int line_nr=1; char path[WCD_MAXPATH]; while (!feof(f) && !ferror(f)) { /* read a line */ int len = wcd_getline(path,WCD_MAXPATH,f,file_name,&line_nr); ++line_nr; if (len > 0 ) { wcd_fixpath(path,sizeof(path)); addToNamesetArray(textNew(path),bd); } } /* while (!feof(f) && !ferror(f)) */ } #if defined(_WIN32) || defined(WCD_UNICODE) void read_treefileUTF16LE(FILE *f, nameset bd, const char* file_name) { int line_nr=1; char path[WCD_MAXPATH]; wchar_t pathw[WCD_MAXPATH]; while (!feof(f) && !ferror(f)) { /* read a line */ int len = wcd_wgetline(pathw,WCD_MAXPATH,f,file_name,&line_nr); ++line_nr; if (len > 0 ) { WCSTOMBS(path, pathw, sizeof(path)); wcd_fixpath(path,sizeof(path)); addToNamesetArray(textNew(path),bd); } } /* while (!feof(f) && !ferror(f)) */ } void read_treefileUTF16BE(FILE *f, nameset bd, const char* file_name) { int line_nr=1; char path[WCD_MAXPATH]; wchar_t pathw[WCD_MAXPATH]; while (!feof(f) && !ferror(f)) { /* read a line */ int len = wcd_wgetline_be(pathw,WCD_MAXPATH,f,file_name,&line_nr); ++line_nr; if (len > 0 ) { WCSTOMBS(path, pathw, sizeof(path)); wcd_fixpath(path,sizeof(path)); addToNamesetArray(textNew(path),bd); } } /* while (!feof(f) && !ferror(f)) */ } /* read_treefileUTF8() was made to make it possible that a non-Unicode Windows version of Wcd can read UTF-8 encoded tree-data files. Handy when a person uses also the Windows version for PowerShell with Unicode support. Most non-ASCII characters are likely part of the default system ANSI code page. */ void read_treefileUTF8(FILE *f, nameset bd, const char *file_name) { int line_nr=1; char path[WCD_MAXPATH]; #ifdef WCD_ANSI wchar_t pathw[WCD_MAXPATH]; #endif while (!feof(f) && !ferror(f)) { /* read a line */ int len = wcd_getline(path,WCD_MAXPATH,f,file_name,&line_nr); ++line_nr; if (len > 0 ) { #ifdef WCD_ANSI /* Convert UTF-8 to ANSI */ MultiByteToWideChar(CP_UTF8, 0, path, -1, pathw, sizeof(pathw)); WideCharToMultiByte(CP_ACP, 0, pathw, -1, path, sizeof(path), NULL, NULL); #endif wcd_fixpath(path,sizeof(path)); addToNamesetArray(textNew(path),bd); } } /* while (!feof(f) && !ferror(f)) */ } #endif int read_treefile(char* filename, nameset bd, int quiet) { FILE *infile; int bomtype; /* open treedata-file */ if ((infile = wcd_fopen_bom(filename,"rb", quiet, &bomtype)) != NULL) { switch (bomtype) { case FILE_MBS: read_treefileA(infile, bd, filename); break; #if defined(_WIN32) || defined(WCD_UNICODE) case FILE_UTF16LE: read_treefileUTF16LE(infile, bd, filename); break; case FILE_UTF16BE: read_treefileUTF16BE(infile, bd, filename); break; case FILE_UTF8: read_treefileUTF8(infile, bd, filename); break; #endif default: read_treefileA(infile, bd, filename); } wcd_fclose(infile, filename, "r", "read_treefile: "); } else { return -1; } return bomtype; } /******************************************************************** * * void cleanTreeFile(char *filename, char *dir) * * remove path from treefile * ********************************************************************/ void cleanTreeFile(char *filename, char *dir) { nameset dirs; int bomtype; dirs = namesetNew(); if ((bomtype = read_treefile(filename,dirs,0)) >= 0) { rmDirFromList(dir,dirs); writeList(filename, dirs, bomtype); } freeNameset(dirs, true); } /******************************************************************** * * check_double_match(char *dir, nameset set) * * Returns 0 if directory had no match before. * Returns 1 if directory is double matched. * ********************************************************************/ int check_double_match(char *dir, nameset set) { size_t i = 0; if ((dir == NULL) || (set == NULL)) return(0); while(i < set->size) { #ifdef _WCD_DOSFS if( stricmp(set->array[i],dir) == 0) return(1); #else if( strcmp(set->array[i],dir) == 0) return(1); #endif ++i; } return(0); } /******************************************************************** * * check_filter(char *dir, nameset filter) * * Returns 0 if directory is in filter list or filter list is empty. * Returns 1 if directory is in filter list. * ********************************************************************/ int check_filter(char *dir, nameset filter) { size_t index = 0; if (filter->size == 0) return (0); while (index < filter->size) { #ifdef _WCD_DOSFS if(dd_match(dir,filter->array[index],1)) return(0); #else if(dd_match(dir,filter->array[index],0)) return(0); #endif ++index; } return(1); } /******************************************************************** * * read_treefile_line() * * Read a line from a tree file. Convert the line when the input is UTF-16. * * Returns the number of characters read. * ********************************************************************/ int read_treefile_line (char line[], FILE* infile, const char* filename, const int* line_nr, int bomtype) { int len; #if defined(_WIN32) || defined(WCD_UNICODE) wchar_t linew[WCD_MAXPATH]; /* database path */ #endif #if defined(_WIN32) || defined(WCD_UNICODE) /* read a line */ switch (bomtype) { case FILE_MBS: len = wcd_getline(line,WCD_MAXPATH,infile,filename,line_nr); break; case FILE_UTF16LE: len = wcd_wgetline(linew,WCD_MAXPATH,infile,filename,line_nr); WCSTOMBS(line, linew, (size_t)WCD_MAXPATH); break; case FILE_UTF16BE: len = wcd_wgetline_be(linew,WCD_MAXPATH,infile,filename,line_nr); WCSTOMBS(line, linew, (size_t)WCD_MAXPATH); break; case FILE_UTF8: len = wcd_getline(line,WCD_MAXPATH,infile,filename,line_nr); #ifdef WCD_ANSI /* convert UTF-8 to ANSI */ MultiByteToWideChar(CP_UTF8, 0, line, -1, linew, sizeof(linew)); len = WideCharToMultiByte(CP_ACP, 0, linew, -1, line, WCD_MAXPATH, NULL, NULL) -1; #endif break; default: len = wcd_getline(line,WCD_MAXPATH,infile,filename,line_nr); } #else len = wcd_getline(line,WCD_MAXPATH,infile,filename,line_nr); #endif if (len<0) len = 0; return len; } /******************************************************************** * * pathInNameset(char *path, nameset set) * * Test if *path is a directory or a subdirectory of one * of the paths in set. * * set is a list of paths. * wildcards are supported. * * * Returns (size_t)-1 if directory is not in nameset. * Returns index number (>=0) of first match found if directory is in nameset. * ********************************************************************/ size_t pathInNameset (text path, nameset set) { char tmp[WCD_MAXPATH]; size_t size, index = 0; if ((path == NULL)||(set == NULL)) return((size_t)-1); size = getSizeOfNamesetArray(set); while (index < size) { wcd_strncpy(tmp,set->array[index],sizeof(tmp)); wcd_strncat(tmp,"/*",sizeof(tmp)); #ifdef _WCD_DOSFS if ((dd_match(path,set->array[index],1)) || (dd_match(path, tmp,1))) #else if ((dd_match(path,set->array[index],0)) || (dd_match(path, tmp,0))) #endif { return(index); } ++index; } return((size_t)-1); } /******************************************************************** * * scanfile(char *org_dir, char *filename, int * ignore_case, nameset pm, nameset wm, nameset bd, int nfs) * * ********************************************************************/ void scanfile(char *org_dir, char *filename, int ignore_case, nameset pm, nameset wm, nameset bd, nameset filter, int relative, int wildOnly, int ignore_diacritics) { FILE *infile; char line[WCD_MAXPATH]; /* database path */ int bomtype ; char *line_end; /* database directory */ char path_str[WCD_MAXPATH]; /* path name to match */ char dirwild_str[WCD_MAXPATH]; /* directory name to wild match */ char *dir_str ; /* directory name to perfect match */ char relative_prefix[WCD_MAXPATH]; /* relative prefix */ char tmp[WCD_MAXPATH]; int wild = 0; int line_nr =1; /* open treedata-file */ if ((infile = wcd_fopen_bom(filename,"rb",0,&bomtype)) == NULL) { return; } if( (dir_str = strrchr(org_dir,DIR_SEPARATOR)) != NULL) dir_str++; else dir_str = org_dir; wcd_strncpy(dirwild_str,dir_str,sizeof(dirwild_str)); #ifdef _WCD_DOSFS if ((strlen(org_dir)>1) && (dd_match(org_dir,"[a-z]:*",1))) { /* If user searches "c:bin" (a directory "bin" on drive c:) set path_str to "c:*bin" */ wcd_strncpy(path_str,org_dir,WCD_MAXDRIVE-1); path_str[WCD_MAXDRIVE-1] = '\0'; line_end = org_dir + WCD_MAXDRIVE ; wcd_strncat(path_str,"*",sizeof(path_str)); wcd_strncat(path_str,line_end,sizeof(path_str)); } else #endif { wcd_strncpy(path_str,"*",sizeof(path_str)); wcd_strncat(path_str,org_dir,sizeof(path_str)); } if (!dd_iswild(dir_str)) { wcd_strncat(dirwild_str,"*",sizeof(dirwild_str)); wcd_strncat(path_str,"*",sizeof(path_str)); wild = 0; } else wild = 1; if (wildOnly) wild = 1; if (relative) { wcd_strncpy(relative_prefix,filename,sizeof(relative_prefix)); if( (line_end = strrchr(relative_prefix,DIR_SEPARATOR)) != NULL) { line_end++ ; *line_end = '\0'; } else relative_prefix[0] = '\0'; } while (!feof(infile) && !ferror(infile)) /* parse the file */ { int len; len = read_treefile_line(line,infile,filename,&line_nr, bomtype); if (ferror(infile)) { wcd_read_error(filename); wcd_fclose(infile, filename, "r", "scanfile: "); return; } ++line_nr; cleanPath(line,len,1) ; if( (line_end = strrchr(line,DIR_SEPARATOR)) != NULL) line_end++; else line_end = line; /* test for a perfect match */ #ifdef WCD_UNICODE if ( (wild == 0) && (dd_matchmbs(line_end,dir_str,ignore_case,ignore_diacritics)) && (dd_matchmbs(line,path_str,ignore_case,ignore_diacritics)) ) #else if ( (wild == 0) && (dd_matchl(line_end,dir_str,ignore_case,ignore_diacritics)) && (dd_matchl(line,path_str,ignore_case,ignore_diacritics)) ) #endif { if (relative) { wcd_strncpy(tmp,relative_prefix,sizeof(tmp)); wcd_strncat(tmp,line,sizeof(tmp)); wcd_strncpy(line,tmp,sizeof(line)); } if ((pathInNameset(line,bd) == (size_t)-1) && (check_double_match(line,pm)==0)&& (check_filter(line,filter)==0)) { addToNamesetArray(textNew(line),pm); } } else { /* test for a wild match if no perfect match */ #ifdef WCD_UNICODE if ( (dd_matchmbs(line_end,dirwild_str,ignore_case,ignore_diacritics)) && (dd_matchmbs(line,path_str,ignore_case,ignore_diacritics)) && (pm->size == 0)) #else if ( (dd_matchl(line_end,dirwild_str,ignore_case,ignore_diacritics)) && (dd_matchl(line,path_str,ignore_case,ignore_diacritics)) && (pm->size == 0)) #endif { if (relative) { wcd_strncpy(tmp,relative_prefix,sizeof(tmp)); wcd_strncat(tmp,line,sizeof(tmp)); wcd_strncpy(line,tmp,sizeof(line)); } if((pathInNameset(line,bd) == (size_t)-1) && (check_double_match(line,wm)==0) && (check_filter(line,filter)==0)) { addToNamesetArray(textNew(line),wm); } } } } /* while (!feof(infile) && !ferror(f)) */ wcd_fclose(infile, filename, "r", "scanfile: "); } /******************************************************************** * * scanaliasfile(char *org_dir, char *filename, * nameset *pm, nameset *wm, int wildOnly) * * ********************************************************************/ void scanaliasfile(char *org_dir, char *filename, nameset pm, nameset wm, int wildOnly) { FILE *infile; char *dir; char line[WCD_MAXPATH]; int line_nr=1; int bomtype; dir = org_dir; #ifdef _WCD_DOSFS /* wcd_fixpath() could have added a '/' before the alias e.g. wcd d:alias => /alias */ if (*dir == '/') dir++; #endif /* open treedata-file */ if ((infile = wcd_fopen_bom(filename,"r",1,&bomtype)) == NULL) return; if ((bomtype == FILE_UTF16LE)||(bomtype == FILE_UTF16BE)) { wcd_fclose(infile, filename, "r", "scanaliasfile: "); print_error("%s", _("Alias file in UTF-16 format is not supported.\n")); return; } while (!feof(infile) && !ferror(infile)) { char alias[256]; int len; char *ptr; size_t j; /* skip spaces at the beginning of the line */ while ((line[0]=(char)fgetc(infile)) == ' '){}; ungetc(line[0], infile); /* read a line */ len = wcd_getline(line,WCD_MAXPATH,infile,filename,&line_nr); ++line_nr; if (len == 0 ) continue; ptr = line; j=0; while ((*ptr != ' ') && (*ptr != '\0') && (j<(sizeof(alias)-1))) { alias[j] = *ptr; ++j; ++ptr; } alias[j]='\0'; while ((*ptr!=' ')&&(*ptr!='\0')){++ptr;}; /* alias longer than 256 chars */ while (*ptr==' '){++ptr;}; /* skip spaces between alias and dir */ if (strlen(ptr) > 0 ) /* Only a perfect match counts, case sensitive */ if ((strcmp(alias,dir)==0) && (check_double_match(line,pm)==0) /* && (check_filter(line,filter)==0) */ ) { if(wildOnly) addToNamesetArray(textNew(ptr),wm); else addToNamesetArray(textNew(ptr),pm); } } /* while (!feof(infile) && !ferror(infile)) */ if (ferror(infile)) { wcd_read_error(filename); } wcd_fclose(infile, filename, "r", "scanaliasfile: "); } /******************************************************************** * * list_alias_file(char *filename); * List the aliases in alphabetical order. * ********************************************************************/ void list_alias_file(char *filename) { FILE *infile; char alias[256]; int line_nr=1; size_t i; nameset aliaslines; int bomtype; /* open treedata-file */ if ((infile = wcd_fopen_bom(filename,"r",1,&bomtype)) == NULL) return; if ((bomtype == FILE_UTF16LE)||(bomtype == FILE_UTF16BE)) { wcd_fclose(infile, filename, "r", "list_alias_file: "); print_error("%s", _("Alias file in UTF-16 format is not supported.\n")); return; } aliaslines = namesetNew(); /* First read all the lines in a nameset so that we can sort it later */ while (!feof(infile) && !ferror(infile)) { char line[WCD_MAXPATH]; int len; /* skip spaces at the beginning of the line */ while ((line[0]=(char)fgetc(infile)) == ' '){}; ungetc(line[0], infile); /* read a line */ len = wcd_getline(line,WCD_MAXPATH,infile,filename,&line_nr); ++line_nr; if (len > 0 ) addToNamesetArray(textNew(line),aliaslines); } /* while (!feof(infile) && !ferror(infile)) */ if (ferror(infile)) { wcd_read_error(filename); } wcd_fclose(infile, filename, "r", "list_alias_file: "); sort_list(aliaslines); for (i=0;isize;i++) { char *ptr = aliaslines->array[i]; size_t j=0; while ((*ptr != ' ') && (*ptr != '\0') && (j<(sizeof(alias)-1))) { alias[j] = *ptr; ++j; ++ptr; } alias[j]='\0'; while ((*ptr!=' ')&&(*ptr!='\0')){++ptr;}; /* alias longer than 256 chars */ while (*ptr==' '){++ptr;}; /* skip spaces between alias and dir */ if (strlen(ptr) > 0 ) wcd_printf("%s\t%s\n",alias,ptr); } freeNameset(aliaslines, true); } /******************************************************************** * * Get int * ********************************************************************/ int wcd_get_int(void) { int i; char string[32]; fgets(string,(int)sizeof(string),stdin); fflush(stdin); /* flush the input stream in case of bad input */ /* fgets retains the newline character (LF) at the end of string and appends a null byte to string to mark the end of the string. */ string[strlen(string)-1] = '\0'; /* remove LF */ i=atoi(string); return(i); } /******************************************************************** * * exit * ********************************************************************/ int wcd_exit(nameset pm, nameset wm, nameset ef, nameset bd, nameset nfs, WcdStack ws, nameset excl, nameset scan_dirs, nameset filter) { /* free datastructures */ freeNameset(pm, true); /* perfect list */ freeNameset(wm, true); /* wild list */ freeNameset(ef, true); /* extra files */ freeNameset(bd, true); /* banned dirs */ freeNameset(nfs, true); /* relative files */ freeWcdStack(ws, true); /* directory stack */ freeNameset(excl, true); /* excluded paths */ freeNameset(scan_dirs, true); freeNameset(filter, true); return(0); } /******************************************************************** * * Print help * ********************************************************************/ void print_help(void) { printf(_("Usage: wcd [options] [directory]\n\n")); printf(_("directory: Name of directory to change to.\n")); printf(_(" Wildcards *, ? and [SET] are supported.\n\n")); printf(_("options:\n")); printf(_(" -a Add current path to treefile\n")); printf(_(" -aa Add current and all parent paths to treefile\n")); printf(_(" -A PATH Add tree from PATH\n")); printf(_(" -b Ban current path\n")); printf(_(" -c, --direct-cd direct CD mode\n")); printf(_(" -d DRIVE set DRIVE for stack & go files (DOS)\n")); printf(_(" -e add current path to Extra treefile\n")); printf(_(" -ee add current and all parent paths to Extra treefile\n")); printf(_(" -E PATH add tree from PATH to Extra treefile\n")); printf(_(" -f FILE use extra treeFile\n")); printf(_(" +f FILE add extra treeFile\n")); printf(_(" -g Graphics\n")); printf(_(" -gd Graphics, dump tree\n")); printf(_(" -G PATH set PATH Go-script\n")); printf(_(" -GN, --no-go-script No Go-script\n")); printf(_(" -h, --help show this Help\n")); #ifdef _WCD_DOSFS printf(_(" -i, --ignore-case Ignore case (default)\n")); printf(_(" +i, --no-ignore-case regard case\n")); #else printf(_(" -i, --ignore-case Ignore case\n")); printf(_(" +i, --no-ignore-case regard case (default)\n")); #endif printf(_(" -I, --ignore-diacritics Ignore diacritics\n")); printf(_(" +I, --no-ignore-diacritics regard diacritics (default)\n")); printf(_(" -j, --just-go Just go mode\n")); printf(_(" -k, --keep-paths Keep paths\n")); printf(_(" -K, --color colors\n")); printf(_(" -l ALIAS aLias current directory\n")); printf(_(" -ls List the aliases\n")); printf(_(" -L, --license show software License\n")); printf(_(" -m DIR Make DIR, add to treefile\n")); printf(_(" -M DIR Make DIR, add to extra treefile\n")); printf(_(" -n PATH use relative treefile in PATH\n")); printf(_(" +n PATH add relative treefile in PATH\n")); printf(_(" -N, --numbers use Numbers\n")); printf(_(" -o use stdOut\n")); printf(_(" -od, --to-stdout dump matches\n")); printf(_(" -q, --quiet Quieter operation\n")); printf(_(" -r DIR Remove DIR\n")); printf(_(" -rmtree DIR Remove DIR recursive\n")); printf(_(" -s Scan disk from $HOME\n")); printf(_(" -S PATH Scan disk from PATH\n")); printf(_(" +S PATH Scan disk from PATH, create relative treefile\n")); printf(_(" -t don't strip /tmp_mnt from paths\n")); printf(_(" -T, --ascii-tree draw tree with ASCII characters\n")); printf(_(" -Ta, --alt-tree-nav Alternative tree navigation\n")); printf(_(" -TC, --center-tree Centered tree view\n")); printf(_(" -Tc, --compact-tree Compact tree\n")); printf(_(" -Td, --cjk-width support legacy CJK fonts\n")); printf(_(" -u USER use USER's treefile\n")); printf(_(" +u USER add USER's treefile\n")); printf(_(" -v, --verbose Verbose operation\n")); printf(_(" -V, --version show Version info\n")); printf(_(" -w, --wild-match-only Wild matching only\n")); printf(_(" -x PATH eXclude PATH during disk scan\n")); printf(_(" -xf FILE eXclude paths from FILE\n")); printf(_(" -y, --assume-yes assume Yes on all queries\n")); printf(_(" -z NUMBER set max stack siZe\n")); printf(_(" -[NUMBER] push dir (NUMBER times)\n")); printf(_(" +[NUMBER] pop dir (NUMBER times)\n")); printf(_(" = show stack\n")); } #ifdef ENABLE_NLS void print_version(char *localedir) #else void print_version(void) #endif { printf(_("wcd %s (%s) - Wherever Change Directory\n"),VERSION,VERSION_DATE); printf(_("Chdir for Dos and Unix.\n\n")); #ifdef __MSDOS__ #if defined(__WATCOMC__) && defined(__I86__) printf(_("DOS 16 bit version (WATCOMC).\n")); #elif defined(__TURBOC__) printf( _("DOS 16 bit version (TURBOC).\n")); #elif defined(__GO32__) printf(_("DOS 32 bit version (DJGPP).\n")); #elif defined(__WATCOMC__) && defined(__386__) printf(_("DOS 32 bit version (WATCOMC).\n")); #endif #endif #ifdef _WIN32 # ifdef _WIN64 # ifdef _MSC_VER printf(_("Win64 version (MSVC %d).\n"),_MSC_VER); # else printf(_("Win64 version (MinGW-w64).\n")); # endif # else # if defined(__WATCOMC__) && defined(__NT__) printf(_("Win32 version (WATCOMC).\n")); # elif defined(_MSC_VER) printf(_("Win32 version (MSVC %d).\n"),_MSC_VER); # elif defined(__MINGW32__) && defined(WCD_MINGW32_W64) printf(_("Win32 version (MinGW-w64).\n")); # else printf(_("Win32 version (MinGW).\n")); # endif # endif #endif #ifdef _WIN32 # ifdef WCD_WINZSH printf(_("This version is for MSYS and WinZsh.\n")); # elif defined(WCD_WINPWRSH) printf(_("This version is for Windows PowerShell.\n")); # else printf(_("This version is for Windows Command Prompt (cmd.exe).\n")); # endif #endif #ifdef __OS2__ printf(_("OS/2 version")); # ifdef __WATCOMC__ printf(" (WATCOMC).\n"); # elif defined(__EMX__) printf(" (EMX).\n"); # else printf( ".\n"); # endif #endif #ifdef __MSYS__ printf(_("This version is for native MSYS.\n")); #endif #if defined(__CYGWIN__) && !defined(__MSYS__) printf(_("Cygwin version.\n")); #endif #ifdef WCD_DOSBASH printf(_("This version is for DJGPP DOS bash.\n")); #endif #ifdef WCD_OS2BASH printf(_("This version is for OS/2 bash.\n")); #endif printf(_("Interface: ")); #ifdef WCD_USECONIO printf("conio\n"); #else # ifdef WCD_USECURSES # ifdef NCURSES_VERSION printf(_("ncurses version %s.%d\n"),NCURSES_VERSION,NCURSES_VERSION_PATCH); # else # ifdef __PDCURSES__ printf(_("PDCurses build %d\n"),PDC_BUILD); # else printf(_("curses\n")); # endif # endif # ifdef ASCII_TREE printf("ASCII_TREE=1\n"); # else printf("ASCII_TREE=0\n"); # endif # else printf(_("stdout\n")); # endif #endif #ifdef ENABLE_NLS printf(_("Native language support included.\n")); printf(_("LOCALEDIR=%s\n"),localedir); #else printf(_("No native language support included.\n")); #endif #if defined(_WCD_DOSFS) || (defined(__MSYS__) && (__GNUC__ == 3 )) /* DOS, OS/2, Windows, or MSYS 1 */ printf(_("Current locale uses CP%u encoding.\n"),query_con_codepage()); #else printf(_("Current locale uses %s encoding.\n"),nl_langinfo(CODESET)); #endif #ifdef WCD_UNICODE printf(_("With Unicode support.\n")); #ifndef WCD_UTF16 if (strcmp(nl_langinfo(CODESET), "UTF-8") == 0) #endif { printf(_(" Euro symbol: ")); wcd_printf ("%s\n","€"); /* Put real UTF-8. Visual C does not support C99 unicode notation. */ printf(_(" Chinese characters: ")); wcd_printf ("%s\n","中文"); } #else printf(_("Without Unicode support.\n")); #endif #ifdef WCD_UNINORM printf(_("With Unicode normalization.\n")); #else printf(_("Without Unicode normalization.\n")); #endif printf("\n"); printf(_("Download the latest executables and sources from:\n")); printf("http://waterlan.home.xs4all.nl/\n"); } void print_license(void) { printf(_("wcd %s (%s) - Wherever Change Directory\n"),VERSION,VERSION_DATE); printf(_("\ Copyright (C) 1996-%d Erwin Waterlander\n\ Copyright (C) 1994-2002 Ondrej Popp on C3PO\n\ Copyright (C) 1995-1996 DJ Delorie on _fixpath()\n\ Copyright (C) 1995-1996 Borja Etxebarria & Olivier Sirol on Ninux Czo Directory\n\ Copyright (C) 1994-1996 Jason Mathews on DOSDIR\n\ Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,\n\ Kai Uwe Rommel and Igor Mandrichenko on recmatch()\n"),2019); printf(_("\ Source code to scan Windows LAN was originally written and placed\n\ in the public domain by Felix Kasza.\n\ Markus Kuhn's free wcwidth() and wcswidth() implementations are used.\n\ Rugxulo is the original author of query_con_codepage() (public domain).\n\n")); printf(_("\ This program is free software; you can redistribute it and/or\n\ modify it under the terms of the GNU General Public License\n\ as published by the Free Software Foundation; either version 2\n\ of the License, or (at your option) any later version.\n\n")); printf(_("\ This program is distributed in the hope that it will be useful,\n\ but WITHOUT ANY WARRANTY; without even the implied warranty of\n\ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\ GNU General Public License for more details.\n\n")); printf(_("\ You should have received a copy of the GNU General Public License\n\ along with this program; if not, write to the Free Software\n\ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n")); } /* Recurively create directory path, to enable writing * the file */ void create_dir_for_file(const char *f) { char path[WCD_MAXPATH]; char *ptr ; wcd_strncpy(path, f, sizeof(path)); if ( (ptr = strrchr(path,DIR_SEPARATOR)) != NULL) { *ptr = '\0' ; if ( (path[0] != '\0') && /* not an empty string */ #ifdef _WCD_DOSFS (!dd_match(path,"[a-z]:",1)) && /* not a drive letter */ #endif (! wcd_isdir(path,1)) /* dir does not exist */ ) { create_dir_for_file(path); #if (defined(UNIX) || defined(__DJGPP__) || defined(__EMX__)) mode_t m; m = S_IRWXU | S_IRWXG | S_IRWXO; if (wcd_mkdir(path,m,0)==0) #else if (wcd_mkdir(path,0)==0) #endif print_msg(_("creating directory %s\n"), path); } } } /******************************************************************** * * empty wcd.go file * ********************************************************************/ #if defined(UNIX) || defined(_WIN32) || defined(__OS2__) void empty_wcdgo(char *go_file, int use_GoScript, int verbose) { FILE *outfile; if (use_GoScript == 0) return; if (verbose) print_msg(_("Writing file \"%s\"\n"), go_file); /* try to create directory for go-script if it doesn't exist */ create_dir_for_file(go_file); if ((outfile = wcd_fopen(go_file,"w",0)) == NULL) exit(0); wcd_fprintf(outfile, "%s", "\n"); wcd_fclose(outfile, go_file, "w", "empty_wcdgo: "); } #endif #ifdef WCD_DOSBASH void empty_wcdgo(char *go_file, int changedrive, char *drive, int use_GoScript, int verbose) { FILE *outfile; if (use_GoScript == 0) return; if (verbose) print_msg(_("Writing file \"%s\"\n"), go_file); /* try to create directory for go-script if it doesn't exist */ create_dir_for_file(go_file); if ((outfile = wcd_fopen(go_file,"w",0)) == NULL) exit(0); if(changedrive == 1) wcd_fprintf(outfile,"cd %s\n",drive); else wcd_fprintf(outfile, "%s", "\n"); wcd_fclose(outfile, go_file, "w", "empty_wcdgo: "); } #endif /******************************************************************** * * pickDir() * * gets current dirname. * picks dirname from a nameset. The next one after the current, * otherwise the first dirname. * * Returns 0, if no dir found. Otherwise the indexnumber of the * list + 1. * * ******************************************************************/ size_t pickDir(nameset list, int *use_HOME) { char curDir[WCD_MAXPATH]; size_t i; char *path; if (list == NULL) /* there is no list */ return(0); sort_list(list); path = getCurPath(curDir,(size_t)WCD_MAXPATH,use_HOME); if (path == NULL) /* no dirname found */ return(1); /* return first of list */ if ((i = inNameset(curDir,list)) == (size_t)-1) /* not in list */ return(1); /* return first of list */ i++; /* next dirname */ if (i >= getSizeOfNamesetArray(list)) i = 0; /* wrap to beginning */ return(i+1); } /******************************************************************** * * ********************************************************************/ #ifdef WCD_SHELL void writeGoFile(char *go_file, int *changedrive, char *drive, char *best_match, int use_GoScript, int verbose) { FILE *outfile; #ifdef WCD_UNIXSHELL char *ptr ; #endif #if defined (_WIN32) && !defined(__CYGWIN__) unsigned int codepage_ansi, codepage_dos; codepage_ansi = GetACP(); codepage_dos = GetConsoleOutputCP(); #endif if (use_GoScript == 0) return; if (verbose) print_msg(_("Writing file \"%s\"\n"), go_file); /* try to create directory for go-script if it doesn't exist */ create_dir_for_file(go_file); /* open go-script */ if ((outfile = wcd_fopen(go_file,"w",0)) == NULL) return; # ifdef WCD_UNIXSHELL /* unix shell */ # ifdef WCD_DOSBASH /* In DOS Bash $SHELL points to the windows command shell. So we use $BASH instead. */ if ((ptr = getenv("BASH")) != NULL) wcd_fprintf(outfile,"#!%s\n",ptr); if (*changedrive) wcd_fprintf(outfile,"cd %s ; ",drive); # else /* Printing of #!$SHELL is needed for 8 bit characters. Some shells otherwise think that the go-script is a binary file and will not source it. */ if ((ptr = getenv("SHELL")) != NULL) wcd_fprintf(outfile,"#!%s\n",ptr); # endif wcd_fprintf(outfile,"cd %s\n", best_match); # else /* WCD_UNIXSHELL */ /* Go-script required, but not unix shell type. */ # ifdef WCD_WINPWRSH /* Windows powershell */ # ifdef WCD_UTF16 /* PowerShell can run UTF-8 encoded scripts when the UTF-8 BOM is in. */ wcd_fprintf(outfile, "%s", "\xEF\xBB\xBF"); /* UTF-8 BOM */ # endif if (codepage_ansi != codepage_dos) wcd_fprintf(outfile,"chcp %d | Out-Null\n", codepage_ansi); wcd_fprintf(outfile,"set-location %s\n", best_match); if (codepage_ansi != codepage_dos) wcd_fprintf(outfile,"chcp %d | Out-Null\n", codepage_dos); # else /* Windows Command Prompt, os/2 */ wcd_fprintf(outfile, "%s", "@echo off\n"); if (*changedrive) wcd_fprintf(outfile,"%s\n",drive); # ifdef WCD_UTF16 if (codepage_ansi != 65001) wcd_fprintf(outfile,"chcp 65001 > nul\n"); # endif # ifdef WCD_ANSI if (codepage_ansi != codepage_dos) wcd_fprintf(outfile,"chcp %d > nul\n", codepage_ansi); # endif if (strncmp(best_match,"\"\\\\",3) == 0) wcd_fprintf(outfile,"pushd %s\n", best_match); /* UNC path */ else wcd_fprintf(outfile,"cd %s\n", best_match); # ifdef WCD_UTF16 if (codepage_ansi != 65001) wcd_fprintf(outfile,"chcp %d > nul\n", codepage_dos); # endif # ifdef WCD_ANSI if (codepage_ansi != codepage_dos) wcd_fprintf(outfile,"chcp %d > nul\n", codepage_dos); # endif # endif # endif wcd_fclose(outfile, go_file, "w", "writeGoFile: "); } #endif void addListToNameset(nameset set, char *list) { if (list != NULL) { char tmp[WCD_MAXPATH]; /* tmp string buffer */ list = strtok(list, LIST_SEPARATOR); while (list != NULL) { if (strlen(list) < (WCD_MAXPATH-2)) /* prevent buffer overflow */ { wcd_strncpy(tmp,list,sizeof(tmp)); wcd_fixpath(tmp,sizeof(tmp)); addToNamesetArray(textNew(tmp),set); } list = strtok(NULL, LIST_SEPARATOR); } } } void addListToNamesetFilter(nameset set, char *list) { if (list != NULL) { char tmp[WCD_MAXPATH]; /* tmp string buffer */ list = strtok(list, LIST_SEPARATOR); while (list != NULL) { if (strlen(list) < (WCD_MAXPATH-2)) /* prevent buffer overflow */ { wcd_strncpy(tmp,"*",sizeof(tmp)); wcd_strncat(tmp,list,sizeof(tmp)); wcd_strncat(tmp,"*",sizeof(tmp)); wcd_fixpath(tmp,sizeof(tmp)); addToNamesetArray(textNew(tmp),set); } list = strtok(NULL, LIST_SEPARATOR); } } } /******************************************************************** * * MAIN * ********************************************************************/ #if defined(XCURSES) char *XCursesProgramName = "wcd"; #endif int main(int argc,char** argv) { FILE *infile; FILE *outfile; char best_match[WCD_MAXPATH]; char verbose = 0; int i; size_t ii, j; int exit_wcd = 0; int use_default_treedata = 1; int use_numbers = 0; /* use numbers instead of letters in conio or curses interface */ int use_stdout = WCD_STDOUT_NO; /* use stdout interface instead of curses */ #ifdef UNIX int strip_mount_string = 1 ; /* remove mount string prefix( e.g. /tmp_mnt ) from path before /home */ #endif int stack_hit = 0, stack_index; char rootdir[WCD_MAXPATH],treefile[WCD_MAXPATH],banfile[WCD_MAXPATH],aliasfile[WCD_MAXPATH]; char stackfile[WCD_MAXPATH]; char scandir[WCD_MAXPATH]; char rootscandir[WCD_MAXPATH]; char extratreefile[WCD_MAXPATH]; char homedir[WCD_MAXPATH]; char dir[WCD_MAXPATH]; /* directory to go to, or dir to scan, make or remove */ char scan_mk_rm = 0; /* scan disk, or make dir, or remove dir */ char *ptr, *stackptr; int quieter = 0, cd = 0 ; size_t len; char tmp[WCD_MAXPATH]; /* tmp string buffer */ char tmp2[WCD_MAXPATH]; /* tmp string buffer */ int stack_is_read = 0; WcdStack DirStack; nameset extra_files, banned_dirs, scan_dirs; nameset perfect_list, wild_list ; /* match lists */ nameset relative_files; nameset exclude; /* list of paths to exclude from scanning */ nameset filter; int use_HOME = 0 ; int wildOnly = 0 ; int justGo = 0; int assumeYes = 0; int graphics = WCD_GRAPH_NO ; int keep_paths =0; /* Keep paths in treedata.wcd when wcd can't change to them */ #ifdef WCD_USECURSES dirnode rootNode ; #endif int changedrive = 0; char drive[WCD_MAXDRIVE]; int ignore_diacritics = 0; #ifdef _WCD_DOSFS int ignore_case = 1; #else int ignore_case = 0; #endif #ifdef WCD_SHELL char go_file[WCD_MAXPATH]; int use_GoScript = 1; #endif #ifdef WCD_UTF16 wchar_t *cmdstr; wchar_t **wargv; #endif #ifndef __MSDOS__ /* Win32, OS/2, Unix, Cygwin */ /* setlocale is required for correct working of nl_langinfo() DOS versions of wcd will use query_con_codepage(). */ #if (defined(_WIN32) && !defined(__CYGWIN__)) /* When the locale is set to "" on Windows all East-Asian multi-byte ANSI encoded text is printed wrongly when you use standard printf() on Windows with East- Asian regional setting. When we set the locale to "C" gettext still translates the messages on Windows. On Unix this would disable gettext. */ setlocale (LC_ALL, "C"); #else setlocale (LC_ALL, ""); #endif #endif #ifdef ENABLE_NLS char localedir[WCD_MAXPATH]; ptr = getenv("WCDLOCALEDIR"); if (ptr == NULL) wcd_strncpy(localedir,LOCALEDIR,sizeof(localedir)); else { if (strlen(ptr) < sizeof(localedir)) { wcd_strncpy(localedir,ptr,sizeof(localedir)); wcd_fixpath(localedir,sizeof(localedir)); } else { print_error(_("Value of environment variable %s is too long.\n"),"WCDLOCALEDIR"); wcd_strncpy(localedir,LOCALEDIR,sizeof(localedir)); } } bindtextdomain (PACKAGE, localedir); textdomain (PACKAGE); #endif #ifdef __PDCURSES__ /* if ( getenv("PDC_RESTORE_SCREEN") == NULL ) putenv("PDC_RESTORE_SCREEN=1"); */ /* restore screen after exit */ if ( getenv("PDC_ORIGINAL_COLORS") == NULL ) putenv("PDC_ORIGINAL_COLORS=1"); /* use command prompt original colours */ /* When PDC_RESTORE_SCREEN is set, wcd scrolls away if command window buffer is too large. This has been fixed in PDCurses 2.7. Bug 1144353. Don't assume user has PDCurses 2.7, so don't set PDC_RESTORE_SCREEN by default. Erwin */ #endif #if defined(_WIN32) && !defined(__CYGWIN__) && defined(NCURSES_VERSION) /* On Windows TERM is not standardized and may be set to any value. * When ncurses does not understand the value of TERM it will exit * right away. On Windows (not Cygwin) it is best to not set TERM at all. */ if (getenv("TERM") != NULL) { if (putenv("TERM=") != 0) { ptr = strerror(errno); print_error(_("Failed to unset environment variable TERM: %s\n"), ptr); } } #endif if ((ptr = getenv("HOME")) == NULL) { wcd_strncpy(rootscandir,ROOTDIR,sizeof(rootscandir)); } else { if (strlen(ptr) > (WCD_MAXPATH -20)) { print_error(_("Value of environment variable %s is too long.\n"),"HOME"); return(1); } wcd_strncpy(rootscandir,ptr,sizeof(rootscandir)); } #ifdef _WCD_DOSFS if ((ptr = getenv("WCDHOME")) == NULL) ptr = getenv("HOME"); if (ptr != NULL) { if (strlen(ptr) > (WCD_MAXPATH -20)) { print_error(_("Value of environment variable %s is too long.\n"),"HOME or WCDHOME"); return(1); } use_HOME = 1 ; wcd_strncpy(rootdir,ptr,sizeof(rootdir)); wcd_fixpath(rootdir,sizeof(rootdir)); wcd_strncpy(treefile,rootdir,sizeof(treefile)); wcd_strncat(treefile,TREEFILE,sizeof(treefile)); wcd_strncpy(extratreefile,rootdir,sizeof(extratreefile)); wcd_strncat(extratreefile,EXTRA_TREEFILE,sizeof(extratreefile)); # if (defined(_WIN32) || defined(WCD_DOSBASH) || defined(__OS2__)) wcd_strncpy(go_file,rootdir,sizeof(go_file)); wcd_strncat(go_file,GO_FILE,sizeof(go_file)); # endif wcd_strncpy(banfile,rootdir,sizeof(banfile)); wcd_strncat(banfile,BANFILE,sizeof(banfile)); wcd_strncpy(aliasfile,rootdir,sizeof(aliasfile)); wcd_strncat(aliasfile,ALIASFILE,sizeof(aliasfile)); if ((ptr = getenv("WCDSTACKFILE")) == NULL) { wcd_strncpy(stackfile,rootdir,sizeof(stackfile)); wcd_strncat(stackfile,STACKFILE,sizeof(stackfile)); } else { wcd_strncpy(stackfile,ptr,sizeof(stackfile)); } } else { # if (defined(WCD_WINZSH) || defined(WCD_WINPWRSH)) print_error("%s", _("Environment variable HOME or WCDHOME is not set.\n")); return(1); # endif # if (defined(_WIN32) || defined(WCD_DOSBASH) || defined(__OS2__)) wcd_strncpy(go_file,STACK_GO_DRIVE,sizeof(go_file)); wcd_strncat(go_file,GO_FILE,sizeof(go_file)); # endif wcd_strncpy(rootdir,ROOTDIR,sizeof(rootdir)); wcd_strncpy(treefile,TREEFILE,sizeof(treefile)); wcd_strncpy(extratreefile,EXTRA_TREEFILE,sizeof(extratreefile)); wcd_strncpy(banfile,BANFILE,sizeof(banfile)); wcd_strncpy(aliasfile,ALIASFILE,sizeof(aliasfile)); if ((ptr = getenv("WCDSTACKFILE")) == NULL) { wcd_strncpy(stackfile,STACK_GO_DRIVE,sizeof(stackfile)); wcd_strncat(stackfile,STACKFILE,sizeof(stackfile)); } else { wcd_strncpy(stackfile,ptr,sizeof(stackfile)); } } #else if ((ptr = getenv("WCDHOME")) == NULL) ptr = getenv("HOME"); if (ptr == NULL) { print_error("%s", _("Environment variable HOME or WCDHOME is not set.\n")); return(1); } else { if (strlen(ptr) > (WCD_MAXPATH -20)) { print_error(_("Value of environment variable %s is too long.\n"),"HOME or WCDHOME"); return(1); } wcd_strncpy(rootdir,ptr,sizeof(rootdir)); } wcd_fixpath(rootdir,sizeof(rootdir)); wcd_strncpy(treefile,rootdir,sizeof(treefile)); wcd_strncat(treefile,TREEFILE,sizeof(treefile)); wcd_strncpy(extratreefile,rootdir,sizeof(extratreefile)); wcd_strncat(extratreefile,EXTRA_TREEFILE,sizeof(extratreefile)); wcd_strncpy(go_file,rootdir,sizeof(go_file)); wcd_strncat(go_file,GO_FILE,sizeof(go_file)); wcd_strncpy(banfile,rootdir,sizeof(banfile)); wcd_strncat(banfile,BANFILE,sizeof(banfile)); wcd_strncpy(aliasfile,rootdir,sizeof(aliasfile)); wcd_strncat(aliasfile,ALIASFILE,sizeof(aliasfile)); if ((ptr = getenv("WCDSTACKFILE")) == NULL) { wcd_strncpy(stackfile,rootdir,sizeof(stackfile)); wcd_strncat(stackfile,STACKFILE,sizeof(stackfile)); } else { wcd_strncpy(stackfile,ptr,sizeof(stackfile)); } #endif create_dir_for_file(treefile); wcd_strncpy(scandir,rootdir,sizeof(scandir)); strcpy(dir,""); perfect_list = namesetNew(); wild_list = namesetNew(); extra_files = namesetNew(); banned_dirs = namesetNew(); scan_dirs = namesetNew(); relative_files = namesetNew(); exclude = namesetNew(); filter = namesetNew(); DirStack = WcdStackNew(WCD_STACK_SIZE); read_treefile(banfile,banned_dirs,1); ptr = getenv("WCDSCAN"); addListToNameset(scan_dirs, ptr); ptr = getenv("WCDEXCLUDE"); addListToNameset(exclude, ptr); ptr = getenv("WCDBAN"); addListToNameset(banned_dirs, ptr); ptr = getenv("WCDFILTER"); addListToNamesetFilter(filter, ptr); stackptr = NULL; ptr = getenv("WCDUSERSHOME"); if (ptr == NULL) wcd_strncpy(homedir,HOMESTRING,sizeof(homedir)); else { if (strlen(ptr) > WCD_MAXPATH) { print_error(_("Value of environment variable %s is too long.\n"),"WCDUSERSHOME"); return(1); } wcd_strncpy(homedir,ptr,sizeof(homedir)); wcd_fixpath(homedir,sizeof(homedir)); } #ifdef WCD_UTF16 /* Get Unicode parameters. */ cmdstr = GetCommandLineW(); wargv = CommandLineToArgvW(cmdstr, &argc); #endif /* ---------------------- parse the commandline ------------*/ for (i=1; i < argc; i++) { if (*argv[i]=='-') /* is it a switch? */ switch (argv[i][1]) { case '\0': if (stack_is_read == 0) { stack_read(DirStack,stackfile); stack_is_read = 1; } stackptr = stack_push(DirStack,1); if (stackptr != NULL) { stack_hit = 1; stack_write(DirStack,stackfile); } break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (stack_is_read == 0) { stack_read(DirStack,stackfile); stack_is_read = 1; } ptr = argv[i]; ptr++; stackptr = stack_push(DirStack,atoi(ptr)); if (stackptr != NULL) { stack_hit = 1; stack_write(DirStack,stackfile); } break; case 's': if (getSizeOfNamesetArray(scan_dirs) == 0) scanDisk(rootscandir,treefile,0,(size_t)0,&use_HOME,exclude); else { j = 0; while (j= 0) { stackptr = DirStack->dir[stack_index] ; if (stackptr != NULL) { stack_hit = 1; stack_write(DirStack,stackfile); } } else { #if defined(UNIX) || defined(_WIN32) || defined(__OS2__) /* empty wcd.go file */ empty_wcdgo(go_file,use_GoScript,verbose); #endif #ifdef WCD_DOSBASH /* empty wcd.go file */ empty_wcdgo(go_file,0,drive,use_GoScript,verbose); #endif return wcd_exit(perfect_list,wild_list,extra_files,banned_dirs,relative_files,DirStack,exclude,scan_dirs,filter); } } else /* Not a switch. Must be a dir or filename. */ { if (strcmp(argv[i-1],"-l") == 0 ) { if (wcd_getcwd(tmp, sizeof(tmp)) != NULL) { len = strlen(tmp); if (len==0) tmp[len] = '\0'; /* open the treedata file */ if ((outfile = wcd_fopen(aliasfile,"a",0)) != NULL) { #ifdef WCD_UTF16 wcstoutf8(tmp2,wargv[i],sizeof(tmp2)); #else wcd_strncpy(tmp2,argv[i],sizeof(tmp2)); #endif #ifdef _WCD_DOSFS wcd_fixpath(tmp,sizeof(tmp)) ; rmDriveLetter(tmp,&use_HOME); #endif wcd_fprintf(outfile,"%s %s\n",tmp2,tmp); print_msg(""); wcd_printf(_("%s added to aliasfile %s\n"),tmp,aliasfile); wcd_fclose(outfile, aliasfile, "w", "main: "); } } #if defined(UNIX) || defined(_WIN32) || defined(__OS2__) /* empty wcd.go file */ empty_wcdgo(go_file,use_GoScript,verbose); #endif #ifdef WCD_DOSBASH /* empty wcd.go file */ empty_wcdgo(go_file,0,drive,use_GoScript,verbose); #endif return wcd_exit(perfect_list,wild_list,extra_files,banned_dirs,relative_files,DirStack,exclude,scan_dirs,filter); } else if ((strcmp(argv[i-1],"-f") == 0 ) || (strcmp(argv[i-1],"+f") == 0 )) { if (argv[i-1][0] == '-') use_default_treedata = 0; addToNamesetArray(textNew(argv[i]),extra_files); } else if (strncmp(argv[i-1],"-x",(size_t)2) == 0 ) /* exclude paths from scanning */ { wcd_strncpy(tmp,argv[i],sizeof(tmp)); wcd_fixpath(tmp,sizeof(tmp)); if (argv[i-1][2] == 'f') read_treefile(tmp,exclude,0); /* read exclude paths from file */ else addToNamesetArray(textNew(tmp),exclude); /* get path from argument */ /* printNameset("exclude ==>",exclude,stderr,true); */ } else if ((strcmp(argv[i-1],"-n") == 0 ) || (strcmp(argv[i-1],"+n") == 0 )) { if (argv[i-1][0] == '-') use_default_treedata = 0; wcd_strncpy(tmp,argv[i],sizeof(tmp)); wcd_fixpath(tmp,sizeof(tmp)); #ifdef _WCD_DOSFS /* is there a drive to go to ? */ changeDisk(tmp,&changedrive,drive,&use_HOME); #endif if (wcd_isdir(tmp,1)) /* is it a dir */ { wcd_strncat(tmp,RELTREEFILE,sizeof(tmp)); wcd_fixpath(tmp,sizeof(tmp)); addToNamesetArray(textNew(tmp),relative_files); } else /* it is a file */ { addToNamesetArray(textNew(tmp),relative_files); } } else if ((strcmp(argv[i-1],"-u") == 0 ) || (strcmp(argv[i-1],"+u") == 0 )) { if (argv[i-1][0] == '-') use_default_treedata = 0; if (strcmp(argv[i],"root") == 0) strcpy(tmp,"/"); else wcd_strncpy(tmp,homedir,sizeof(tmp)); if ((strlen(tmp)+strlen(argv[i])+strlen(TREEFILE)+1) > WCD_MAXPATH ) { print_error(_("Value of environment variable %s is too long.\n"),"WCDUSERSHOME"); return(1); } wcd_strncat(tmp,"/", sizeof(tmp)); wcd_strncat(tmp,argv[i], sizeof(tmp)); wcd_strncat(tmp,TREEFILE,sizeof(tmp)); if ((infile = wcd_fopen(tmp,"r",1)) != NULL) { wcd_fclose(infile, tmp, "r", "main: "); addToNamesetArray(textNew(tmp),extra_files); } else { if (strcmp(argv[i],"root") == 0) strcpy(tmp2,"/"); else wcd_strncpy(tmp2,homedir,sizeof(tmp2)); if ((strlen(tmp2)+strlen(argv[i])+strlen(TREEFILE)+1+5) > WCD_MAXPATH ) { print_error(_("Value of environment variable %s is too long.\n"),"WCDUSERSHOME"); return(1); } wcd_strncat(tmp2,"/", sizeof(tmp2)); wcd_strncat(tmp2,argv[i], sizeof(tmp2)); wcd_strncat(tmp2,"/.wcd", sizeof(tmp2)); wcd_strncat(tmp2,TREEFILE,sizeof(tmp2)); if ((infile = wcd_fopen(tmp2,"r",1)) != NULL) { wcd_fclose(infile, tmp2, "r", "main: "); addToNamesetArray(textNew(tmp2),extra_files); } else print_error(_("Unable to read file %s or %s\n"), tmp, tmp2); } } else #ifdef _WCD_DOSFS if (strcmp(argv[i-1],"-d") == 0 ) { if (stack_is_read == 0) { stackfile[0] = argv[i][0]; #ifdef WCD_DOSBASH go_file[0] = argv[i][0]; #endif } } else #endif if (strcmp(argv[i-1],"-S") == 0 ) { #ifdef WCD_UTF16 wcstoutf8(scandir,wargv[i],sizeof(scandir)); #else wcd_strncpy(scandir,argv[i],sizeof(scandir)); #endif #if (defined(_WIN32) || defined(__CYGWIN__)) if (wcd_isServerPath(scandir)) { scanServer(scandir,treefile,0,&use_HOME,exclude); } else #endif scanDisk(scandir,treefile,0,(size_t)0,&use_HOME,exclude); } else if (strcmp(argv[i-1],"+S") == 0 ) { #ifdef WCD_UTF16 wcstoutf8(scandir,wargv[i],sizeof(scandir)); #else wcd_strncpy(scandir,argv[i],sizeof(scandir)); #endif wcd_strncpy(treefile,scandir,sizeof(treefile)); wcd_strncat(treefile,RELTREEFILE,sizeof(treefile)); scanDisk(scandir,treefile,1,(size_t)0,&use_HOME,exclude); } else if (strcmp(argv[i-1],"-z") == 0 ) { if ((stack_is_read == 0) && (atoi(argv[i]) >= 0)) DirStack->maxsize = atoi(argv[i]); } else if (strcmp(argv[i-1],"-A") == 0 ) { #ifdef WCD_UTF16 wcstoutf8(scandir,wargv[i],sizeof(scandir)); #else wcd_strncpy(scandir,argv[i],sizeof(scandir)); #endif #if (defined(_WIN32) || defined(__CYGWIN__)) if (wcd_isServerPath(scandir)) { scanServer(scandir,treefile,1,&use_HOME,exclude); } else #endif scanDisk(scandir,treefile,0,(size_t)1,&use_HOME,exclude); } else if (strcmp(argv[i-1],"-E") == 0 ) { #ifdef WCD_UTF16 wcstoutf8(scandir,wargv[i],sizeof(scandir)); #else wcd_strncpy(scandir,argv[i],sizeof(scandir)); #endif #if (defined(_WIN32) || defined(__CYGWIN__)) if (wcd_isServerPath(scandir)) { scanServer(scandir,extratreefile,1,&use_HOME,exclude); } else #endif scanDisk(scandir,extratreefile,0,(size_t)1,&use_HOME,exclude); } else if (strcmp(argv[i-1],"-m") == 0 ) { #ifdef WCD_UTF16 wcstoutf8(tmp,wargv[i],sizeof(tmp)); #else wcd_strncpy(tmp,argv[i],sizeof(tmp)); #endif makeDir(tmp,treefile,&use_HOME) ; } else if (strcmp(argv[i-1],"-M") == 0 ) { wcd_strncpy(tmp,argv[i],sizeof(tmp)); makeDir(tmp,extratreefile,&use_HOME) ; } else if (strcmp(argv[i-1],"-r") == 0 ) /* remove one dir, or link to dir */ { #ifdef WCD_UTF16 wcstoutf8(tmp,wargv[i],sizeof(tmp)); #else wcd_strncpy(tmp,argv[i],sizeof(tmp)); #endif deleteDir(tmp,treefile,0,&use_HOME, assumeYes) ; } else if (strcmp(argv[i-1],"-rmtree") == 0 ) /* remove dir recursive */ { wcd_strncpy(tmp,argv[i],sizeof(tmp)); deleteDir(tmp,treefile,1,&use_HOME, assumeYes) ; } #ifdef WCD_SHELL else if (strcmp(argv[i-1],"-G") == 0) { wcd_strncpy(go_file,argv[i],sizeof(go_file)); wcd_fixpath(go_file,sizeof(go_file)) ; # ifdef UNIX wcd_strncat(go_file,GO_FILE2,sizeof(go_file)); # else wcd_strncat(go_file,GO_FILE,sizeof(go_file)); # endif } #endif else { #ifdef WCD_UTF16 wcstoutf8(dir,wargv[i],sizeof(dir)); #else wcd_strncpy(dir,argv[i],sizeof(dir)); #endif wcd_fixpath(dir,sizeof(dir)); } } } /* for */ /*--- end parsing commandline -----------*/ if (verbose > 0) { for (ii=0; iisize; ++ii) print_msg(_("WCDSCAN directory {%s}\n"),elementAtNamesetArray(ii, scan_dirs)); for (ii=0; iisize; ++ii) print_msg(_("banning {%s}\n"),elementAtNamesetArray(ii, banned_dirs)); for (ii=0; iisize; ++ii) print_msg(_("excluding {%s}\n"),elementAtNamesetArray(ii, exclude)); for (ii=0; iisize; ++ii) print_msg(_("filtering {%s}\n"),elementAtNamesetArray(ii, filter)); } if (stack_is_read == 0) { stack_read(DirStack,stackfile); } if ((strcmp(dir,"") == 0 )&& !(graphics & WCD_GRAPH_NORMAL)) /* no directory given, no graphics, so we go HOME */ addToNamesetArray(textNew(rootscandir),perfect_list); /*--- stack hit ? ------------------------*/ if (stack_hit==1) { wcd_strncpy(best_match,stackptr,sizeof(best_match)); #ifdef UNIX /* strip the /tmp_mnt string */ if (strip_mount_string) stripTmpMnt(best_match); #endif if ((!quieter)&&(!justGo)) wcd_printf("-> %s\n",best_match); #ifdef _WCD_DOSFS /* is there a drive to go to ? */ changeDisk(best_match,&changedrive,drive,&use_HOME); #endif #ifdef WCD_SHELL quoteString(best_match); if (justGo) wcd_printf("%s\n",best_match); writeGoFile(go_file,&changedrive,drive,best_match,use_GoScript,verbose); #else wcd_chdir(best_match,0); /* change to directory */ #endif stack_write(DirStack,stackfile); return wcd_exit(perfect_list,wild_list,extra_files,banned_dirs,relative_files,DirStack,exclude,scan_dirs,filter); } /*--- end stack hit ? ------------------------*/ /*--- Direct CD mode -------------------------*/ if ((cd==1)&&(strcmp(dir,"")!=0)) /* Try open dir direct. */ { if(wcd_isdir(dir,1)) /* GJM */ { if ( use_stdout & WCD_STDOUT_DUMP ) /* just dump the match and exit */ { wcd_printf("%s\n", dir); #if defined(UNIX) || defined(_WIN32) || defined(__OS2__) /* empty wcd.go file */ empty_wcdgo(go_file,use_GoScript,verbose); #endif #ifdef WCD_DOSBASH /* empty wcd.go file */ empty_wcdgo(go_file,changedrive,drive,use_GoScript,verbose); #endif return wcd_exit(perfect_list,wild_list,extra_files,banned_dirs,relative_files,DirStack,exclude,scan_dirs,filter); } wcd_strncpy(best_match,dir,sizeof(best_match)); if ((!quieter)&&(!justGo)) wcd_printf("-> %s\n",best_match); #ifdef _WCD_DOSFS /* is there a drive to go to ? */ changeDisk(best_match,&changedrive,drive,&use_HOME); #endif wcd_chdir(dir,0); if(wcd_getcwd(tmp, sizeof(tmp)) != NULL) { len = strlen(tmp); if (len==0) tmp[len] = '\0'; wcd_fixpath(tmp,sizeof(tmp)); if ( (ptr=strstr(tmp,"/")) != NULL) { wcd_strncpy(best_match,tmp,sizeof(best_match)); #ifdef UNIX /* strip the /tmp_mnt string */ if (strip_mount_string) stripTmpMnt(best_match); #endif stack_add(DirStack,tmp); /* stack include /tmp_mnt string */ stack_write(DirStack,stackfile); } } #ifdef WCD_SHELL quoteString(best_match); if (justGo) wcd_printf("%s\n",best_match); writeGoFile(go_file,&changedrive,drive,best_match,use_GoScript,verbose); #else wcd_chdir(best_match,0); /* change to directory */ #endif return wcd_exit(perfect_list,wild_list,extra_files,banned_dirs,relative_files,DirStack,exclude,scan_dirs,filter); } /* ? (wcd_isdir(dir)) */ } /* ? direct cd mode ((cd==1)&&(strcmp(dir,"")!=0)) */ /*--- end Direct CD mode -------------------------*/ #ifdef _WCD_DOSFS /* is there a drive to go to ? */ changeDisk(dir,&changedrive,drive,&use_HOME); #endif /* does default treedata-file exist? */ if (use_default_treedata) { if ((infile = wcd_fopen(treefile,"r",1)) == NULL) { /* create treefile */ if (getSizeOfNamesetArray(scan_dirs) == 0) scanDisk(rootscandir,treefile,0,(size_t)0,&use_HOME,exclude); else { j = 0; while (jsize;ii++) { scanfile(dir, extra_files->array[ii],ignore_case,perfect_list,wild_list,banned_dirs,filter,0,wildOnly,ignore_diacritics); /* scan the extra treedata file */ } /* search relative files */ for (ii=0;iisize;ii++) { scanfile(dir, relative_files->array[ii],ignore_case,perfect_list,wild_list,banned_dirs,filter,1,wildOnly,ignore_diacritics); /* scan the nfs treedata file */ } /* search alias file */ scanaliasfile(dir, aliasfile, perfect_list, wild_list,wildOnly); } #ifdef WCD_USECURSES else { /* graphics? */ if (graphics & WCD_GRAPH_NORMAL) { ptr = NULL; rootNode = createRootNode(); if(rootNode != NULL) { if (use_default_treedata) buildTreeFromFile(treefile,rootNode,0); buildTreeFromFile(extratreefile,rootNode,1); for (ii=0;iisize;ii++) { buildTreeFromFile(extra_files->array[ii],rootNode,0); } for (ii=0;iisize;ii++) { buildTreeFromFile(relative_files->array[ii],rootNode,0); } sortTree(rootNode); setXYTree(rootNode, &graphics); if (graphics & WCD_GRAPH_DUMP) dumpTree(rootNode, &graphics); else ptr = selectANode(rootNode,&use_HOME,ignore_case,graphics,ignore_diacritics); freeDirnode(rootNode,true); } if (ptr != NULL) { addToNamesetArray(textNew(ptr),perfect_list); free(ptr); } else { #if defined(UNIX) || defined(_WIN32) || defined(__OS2__) /* empty wcd.go file */ empty_wcdgo(go_file,use_GoScript,verbose); #endif #ifdef WCD_DOSBASH /* empty wcd.go file */ empty_wcdgo(go_file,changedrive,drive,use_GoScript,verbose); #endif return wcd_exit(perfect_list,wild_list,extra_files,banned_dirs,relative_files,DirStack,exclude,scan_dirs,filter); } } } #endif /*********** search is done ***************/ if ((perfect_list->size==0)&&(wild_list->size == 0)&&(cd==0)) /* No match at all & no direct CD mode */ { if(wcd_isdir(dir,1)) /* GJM */ { /* typed directory exists */ addToNamesetArray(textNew(dir),perfect_list); } } /*******************************/ if ((perfect_list->size==0)&&(wild_list->size == 0)) /* No match at all */ { if ( !(use_stdout & WCD_STDOUT_DUMP) ) { /* don't print message if option -od is used */ print_msg(""); wcd_printf(_("No directory found matching %s\n"),dir); print_msg(_("Perhaps you need to rescan the disk or path is banned.\n")); } #if defined(UNIX) || defined(_WIN32) || defined(__OS2__) /* empty wcd.go file */ empty_wcdgo(go_file,use_GoScript,verbose); #endif #ifdef WCD_DOSBASH /* empty wcd.go file */ empty_wcdgo(go_file,changedrive,drive,use_GoScript,verbose); #endif return wcd_exit(perfect_list,wild_list,extra_files,banned_dirs,relative_files,DirStack,exclude,scan_dirs,filter); } else if (perfect_list->size==1) /* one perfect match */ { wcd_strncpy(best_match,perfect_list->array[0],sizeof(best_match)); } else if ((perfect_list->size==0) && (wild_list->size==1)) /* one wild match, zero perfect matches */ { wcd_strncpy(best_match,wild_list->array[0],sizeof(best_match)); } else { nameset match_list; if (perfect_list->size > 1) match_list = perfect_list; /* choose from perfect list */ else match_list = wild_list; /* choose from wild list */ #ifdef WCD_USECURSES if(graphics & WCD_GRAPH_NORMAL) { ptr = NULL; rootNode = createRootNode(); if(rootNode != NULL) { buildTreeFromNameset(match_list, rootNode); setXYTree(rootNode, &graphics); if (graphics & WCD_GRAPH_DUMP) dumpTree(rootNode, &graphics); else ptr = selectANode(rootNode,&use_HOME,ignore_case,graphics,ignore_diacritics); freeDirnode(rootNode,true); } if (ptr != NULL) { wcd_strncpy(best_match,ptr,sizeof(best_match)); free(ptr); } else exit_wcd = 1; } else #endif { if (justGo) i = (int)pickDir(match_list,&use_HOME); else i = display_list(match_list,(int)perfect_list->size,use_numbers,use_stdout); if ( (i>0) && (i <= (int)match_list->size)) { i--; wcd_strncpy(best_match,match_list->array[i],sizeof(best_match)); } else exit_wcd = 1; } if (exit_wcd) { #if defined(UNIX) || defined(_WIN32) || defined(__OS2__) /* empty wcd.go file */ empty_wcdgo(go_file,use_GoScript,verbose); #endif #ifdef WCD_DOSBASH /* empty wcd.go file */ empty_wcdgo(go_file,changedrive,drive,use_GoScript,verbose); #endif return wcd_exit(perfect_list,wild_list,extra_files,banned_dirs,relative_files,DirStack,exclude,scan_dirs,filter); } } /*******************************/ /* Yes, a match (best_match) */ if ( use_stdout & WCD_STDOUT_DUMP ) /* just dump the match and exit */ { wcd_printf("%s\n", best_match); #if defined(UNIX) || defined(_WIN32) || defined(__OS2__) /* empty wcd.go file */ empty_wcdgo(go_file,use_GoScript,verbose); #endif #ifdef WCD_DOSBASH /* empty wcd.go file */ empty_wcdgo(go_file,changedrive,drive,use_GoScript,verbose); #endif return wcd_exit(perfect_list,wild_list,extra_files,banned_dirs,relative_files,DirStack,exclude,scan_dirs,filter); } wcd_strncpy(tmp,best_match,sizeof(tmp)); /* remember path (with /tmp_mnt) */ #ifdef UNIX /* strip the /tmp_mnt string */ if (strip_mount_string) stripTmpMnt(best_match); #endif #ifdef _WCD_DOSFS changeDisk(tmp,&changedrive,drive,&use_HOME); #endif if ( wcd_chdir(best_match,0) == 0) /* change to dir to get full path */ { if(wcd_getcwd(tmp, sizeof(tmp)) != NULL) { if ((!quieter)&&(!justGo)) wcd_printf("-> %s\n",best_match); /* print match without /tmp_mnt string */ len = strlen(tmp); if (len==0) tmp[len] = '\0'; wcd_fixpath(tmp,sizeof(tmp)); if ( (ptr=strstr(tmp,"/")) != NULL) { wcd_strncpy(best_match,tmp,sizeof(best_match)); #ifdef UNIX /* strip the /tmp_mnt string */ if (strip_mount_string) stripTmpMnt(best_match); #endif stack_add(DirStack,tmp); /* stack includes /tmp_mnt string */ stack_write(DirStack,stackfile); } } } else { print_msg(""); wcd_printf(_("Cannot change to %s\n"),best_match); #if defined(UNIX) || defined(_WIN32) || defined(__OS2__) /* empty wcd.go file */ empty_wcdgo(go_file,use_GoScript,verbose); #endif #ifdef WCD_DOSBASH /* empty wcd.go file */ empty_wcdgo(go_file,changedrive,drive,use_GoScript,verbose); #endif if (keep_paths == 0) cleanTreeFile(treefile,tmp); return wcd_exit(perfect_list,wild_list,extra_files,banned_dirs,relative_files,DirStack,exclude,scan_dirs,filter); } #ifdef WCD_SHELL quoteString(best_match); if (justGo) wcd_printf("%s\n",best_match); writeGoFile(go_file,&changedrive,drive,best_match,use_GoScript,verbose); #else wcd_chdir(best_match,0); /* change to directory */ #endif return wcd_exit(perfect_list,wild_list,extra_files,banned_dirs,relative_files,DirStack,exclude,scan_dirs,filter); } wcd-6.0.3/src/wcd.h0000644000175500010010000001427713524756523013310 0ustar waterlanGeen/* Copyright (C) 1997-2018 Erwin Waterlander 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef _WCD_H #define _WCD_H #include #include #include "tailor.h" #include "std_macr.h" #include "structur.h" #if defined(__MSDOS__) || defined(__OS2__) || (defined(_WIN32) && !defined(__CYGWIN__)) /* A DOS like file system: * with drive letters * case insensitive * backslash separator. */ #define _WCD_DOSFS 1 #endif #ifdef VMS # define EXIT_OK 1 # define ALT_SW || *argv[i]=='/' # define CHDIR(s) vms_chdir(s) #else # define EXIT_OK 0 # define CHDIR(s) chdir(s) # ifdef _WCD_DOSFS # define ALT_SW || *argv[i]=='/' # define TREEFILE "/treedata.wcd" # define RELTREEFILE "/rtdata.wcd" /* relative treedata */ # define EXTRA_TREEFILE "/extra.wcd" # define BANFILE "/ban.wcd" # define ALIASFILE "/alias.wcd" # define STACK_GO_DRIVE "c:" # define STACKFILE "/stack.wcd" # ifdef WCD_WINZSH # define GO_FILE "/wcd.go" # elif defined(WCD_WINPWRSH) # define GO_FILE "/wcdgo.ps1" # elif defined(_WIN32) # define GO_FILE "/wcdgo.bat" # elif (defined(__OS2__) && !defined(WCD_OS2BASH)) # define GO_FILE "/wcdgo.cmd" # else # define GO_FILE "/wcd.go" # endif # define ROOTDIR "/" # define HOMESTRING "//users" # define DIR_SEPARATOR '/' # else /* ?UNIX */ # define ALT_SW # define TREEFILE "/.treedata.wcd" # define RELTREEFILE "/.rtdata.wcd" /* relative treedata */ # define EXTRA_TREEFILE "/.extra.wcd" # define BANFILE "/.ban.wcd" # define ALIASFILE "/.alias.wcd" # define STACKFILE "/.stack.wcd" # define ROOTDIR "/" # define HOMESTRING "/home" # define TMP_MNT_STR "/tmp_mnt/" /* temp mount dir for automounter, including ending / */ # define GO_FILE "/bin/wcd.go" # define GO_FILE2 "/wcd.go" # define DIR_SEPARATOR '/' # endif /* ?__MSDOS__ */ #endif /* ?VMS */ #if defined(UNIX) || defined(_WIN32) || defined(WCD_DOSBASH) || defined(__OS2__) /* A go-script is required */ #define WCD_SHELL #endif #if defined(UNIX) || defined(WCD_WINZSH) || defined(WCD_DOSBASH) || defined(WCD_OS2BASH) #define WCD_UNIXSHELL #endif /* Unix shells DJGPP-bash and WinZsh use Windows style paths, e.g. "c:/Program Files". * So in these shells we have to use a semicolon ';' as list separator. */ #ifdef _WCD_DOSFS # define LIST_SEPARATOR ";" #else # define LIST_SEPARATOR ":" #endif #if defined(__MSDOS__) || defined(_WIN32) || defined(__OS2__) || defined(VMS) # define OP_DIR "" #else /* ?unix */ # define OP_DIR "." #endif /* ?__MSDOS__|VMS */ /* Function prototypes */ #if defined(UNIX) || defined(WCD_DOSBASH) || defined(_WIN32) || defined(__OS2__) void quoteString(char *string); #endif #if defined(_WIN32) && !defined(__CYGWIN__) && defined(WCD_UNICODE) # define WCD_UTF16 # define WCSTOMBS wcstoutf8 # define MBSTOWCS utf8towcs #elif defined(_WIN32) && !defined(__CYGWIN__) && !defined(WCD_UTF16) # define WCD_ANSI # define WCSTOMBS wcstoansi # define MBSTOWCS ansitowcs #else # define WCSTOMBS wcstombs # define MBSTOWCS mbstowcs #endif #ifdef WCD_UTF16 typedef unsigned char wcd_uchar; typedef wchar_t wcd_char; #else typedef unsigned char wcd_uchar; typedef char wcd_char; #endif #if defined(_WIN32) && !defined(__CYGWIN__) # define WCD_WINDOWS #endif #define FILE_MBS 0 /* Multi-byte string or 8-bit char */ #define FILE_UTF16LE 1 /* UTF-16 Little Endian */ #define FILE_UTF16BE 2 /* UTF-16 Big Endian */ #define FILE_UTF8 3 /* UTF-8 */ char *wcd_strncpy(char *dest, const char *src, size_t dest_size); char *wcd_strncat(char *dest, const char *src, size_t dest_size); FILE *wcd_fopen(const char *filename, const char *m, int quiet); FILE *wcd_fopen_bom(const char *filename, const char *m, int quiet, int *bomtype); int wcd_fprintf(FILE *stream, const char *format, ...); void wcd_fclose(FILE *fp, const char *filename, const char *m, const char *functionname); int read_treefile(char *filename, nameset bd, int silent); void rmDirFromList(char *string, nameset n); void writeList(char *filename, nameset n, int bomtype); void cleanTreeFile(char *filename, char *dir); void create_dir_for_file(const char *f); void trimPath(char* path, size_t n); char *removeBackSlash(char *string); void addCurPathToFile(char *filename, int *use_HOME, int parents); int check_double_match(char *dir, nameset set); void scanfile(char *org_dir, char *filename, int ignore_case, nameset pm, nameset wm, nameset bd, nameset filter, int relative, int wildOnly, int ignore_diacritics); void scanaliasfile(char *org_dir, char *filename, nameset pm, nameset wm, int wildOnly); int strcompare(const char*, const char*, int); int print_msg(const char *format, ...); int print_error(const char *format, ...); void wcd_read_error(const char *filename); void print_help(void); #ifdef ENABLE_NLS void print_version(char *localedir); #else void print_version(void); #endif void print_license(void); int wcd_get_int(void); int wcd_getline(char s[], int lim, FILE* infile, const char* file_name, const int* line_nr); int read_treefile_line (char line[], FILE* infile, const char* file_name, const int* line_nr, int bomtype); int wcd_exit(nameset pm, nameset wm, nameset ef, nameset bd, nameset nfs, WcdStack ws, nameset excl, nameset scan_dirs, nameset filter); char *getCurPath(char *buffer, size_t size, int *use_HOME); size_t pathInNameset (text path, nameset set); #ifdef _WCD_DOSFS void rmDriveLetter(char path[], int *use_HOME); #endif #ifdef WCD_DOSBASH void empty_wcdgo(char *go_file, int changedrive, char *drive, int use_GoScript, int verbose); #else void empty_wcdgo(char *go_file, int use_GoScript, int verbose); #endif #endif wcd-6.0.3/src/wcddir.c0000644000175500010010000004432413524756523013776 0ustar waterlanGeen/* filename: wcddir.c WCD - Chdir for Dos and Unix. Author: Erwin Waterlander ====================================================================== = Copyright = ====================================================================== Copyright (C) 2002-2017 Erwin Waterlander 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ======================================================================= */ /* set tabstop=3 */ /* This file contains wrapper functions that operate on directories. These are needed to use the WIN32 API functions. WIN32 API functions are needed to get support for UNC paths. */ #include "config.h" #include #include #ifdef _MSC_VER #define S_ISDIR( m ) (((m) & _S_IFMT) == _S_IFDIR) #endif #if defined(UNIX) || defined(__DJGPP__) || defined(__OS2__) # include #endif #include "finddirs.h" #include "wcddir.h" #include "match.h" #include #include #include "wcd.h" #ifdef _WCD_DOSFS # include #endif #if (defined(_WIN32) && defined(WCD_UNICODE)) #include #endif #if (defined(__MSDOS__) && !defined(__DJGPP__)) || (defined(__OS2__) && !defined(__EMX__)) # include /* for unlink() */ #endif #if (defined(_WIN32) || defined(__CYGWIN__)) /* WIN32: Use WIN32 API to support UNC paths. CYGWIN: Use WIN32 API only to scan servers and find shared directories. The Cygwin POSIX interface already supports UNC paths directly. In Cygwin the Win32 api function don't work on cygwin (unix like) paths. */ #include "std_macr.h" #include "structur.h" #include "Text.h" #include "nameset.h" #include "wfixpath.h" #include #include "display.h" #include /* int wcd_isServerPath (char* path) check if path is a possible UNC server path like \\servername RETURNS 1 if true RETURNS 0 if false */ int wcd_isServerPath (char* path) { if ((strlen(path) > 2) && (wcd_is_slash(*path)) && (wcd_is_slash(*(path+1))) && (strchr(path+2,'/') == NULL) && (strchr(path+2,'\\') == NULL)) return(1); else return(0); } void exterr( void ) { /* This function was taken from Felix Kasza's Win32 Samples page at MVPS.ORG. http://www.mvps.org/win32/ */ char errbuf[2048], namebuf[2048]; DWORD err; errbuf[0] = namebuf[0] = '\0'; if ( WNetGetLastError( &err, errbuf, sizeof errbuf, namebuf, sizeof namebuf ) == NO_ERROR ) print_error(_("%lu (\"%s\") reported by \"%s\".\n"), err, errbuf, namebuf ); return; } #define MAX_NR_BUF 1000 int doEnum( int level, NETRESOURCE *pnr, nameset n ) { /* This function was taken from Felix Kasza's Win32 Samples page at MVPS.ORG. http://www.mvps.org/win32/ */ DWORD rc, rc2; HANDLE hEnum; DWORD count, bufsize, ui; NETRESOURCE buf[MAX_NR_BUF]; /* const char *type; */ char path[WCD_MAXPATH]; rc = WNetOpenEnum( RESOURCE_GLOBALNET, RESOURCETYPE_DISK, 0, pnr, &hEnum ); if ( rc == ERROR_ACCESS_DENIED ) { /* printf( "%-6.6s %-4.4s%*s Error 5 -- access denied\n", "", "", level * 2, "" ); */ print_msg( _("access denied.\n")); return 1; } if ( rc ) { rc2 = GetLastError(); /* printf( "WNOE(): rc = %lu, gle = %lu\n", rc, rc2 ); */ if ( rc2 == ERROR_EXTENDED_ERROR ) exterr(); return 0; } while ( 1 ) { count = (DWORD) -1L; bufsize = sizeof buf; rc = WNetEnumResource( hEnum, &count, buf, &bufsize ); if ( rc != NO_ERROR ) break; for ( ui = 0; (ui < count); ++ ui ) { switch ( buf[ui].dwDisplayType ) { case RESOURCEDISPLAYTYPE_DOMAIN: /* type = "domain"; */ break; case RESOURCEDISPLAYTYPE_GENERIC: /* type = "generic"; */ break; case RESOURCEDISPLAYTYPE_SERVER: /* type = "server"; */ break; case RESOURCEDISPLAYTYPE_SHARE: /* type = "share"; */ print_msg( "%s\n", buf[ui].lpRemoteName ); wcd_strncpy(path, buf[ui].lpRemoteName, WCD_MAXPATH); wcd_fixpath(path, WCD_MAXPATH); addToNamesetArray(textNew(path), n); break; default: /* type = "unknown"; */ break; } /* now we recurse if it's a container */ if ( buf[ui].dwUsage & RESOURCEUSAGE_CONTAINER ) doEnum( level + 1, &buf[ui], n ); } } if ( rc != ERROR_NO_MORE_ITEMS ) { /* bad things */ rc2 = GetLastError(); /* printf( "WNER(): rc = %lu, gle = %lu\n", rc, rc2 ); */ if ( rc2 == ERROR_EXTENDED_ERROR ) exterr(); } WNetCloseEnum( hEnum ); return 1; } /************************************************************* * * wcd_getshares(char *path, nameset n) * * In case path points to a server this function will * search for shared directories on that server and add * the shared directory names to n. *************************************************************/ void wcd_getshares(char* path, nameset n) { NETRESOURCE nr; if ((path == NULL) || (n == NULL)) return; if (wcd_isServerPath(path)) { /* an UNC path, possibly pointing to a server */ /* WIN32 API needs backslashes. */ *path = '\\'; *(path+1) = '\\'; print_msg(_("Searching for shared directories on server %s\n"), path); nr.dwScope = RESOURCE_GLOBALNET; nr.dwType = RESOURCETYPE_ANY; nr.dwDisplayType = RESOURCEDISPLAYTYPE_SERVER; nr.dwUsage = RESOURCEUSAGE_CONTAINER; nr.lpLocalName = NULL; nr.lpRemoteName = path ; nr.lpProvider = NULL; doEnum( 0, &nr, n ); } print_msg(_("Found %lu shared directories on server %s\n"), (unsigned long)getSizeOfNamesetArray(n), path); } #endif #if (defined(_WIN32) && !defined(__CYGWIN__)) /* WIN32, not CYGWIN Use WIN32 API */ void wcd_PrintError(DWORD dw) { /* Retrieve the system error message for the last-error code */ LPVOID lpMsgBuf; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, dw, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpMsgBuf, 0, NULL ); /* Display the error message */ /* MessageBox(NULL, (LPCTSTR)lpMsgBuf, TEXT("Error"), MB_OK); */ fprintf(stderr, "%s\n",(LPCTSTR)lpMsgBuf); LocalFree(lpMsgBuf); } /* int wcd_isSharePath (char* path) check if path is a possible UNC share path like \\servername\sharename RETURNS 1 if true RETURNS 0 if false */ int wcd_isSharePath (char* path) { /* Assume the path has been fixed by wcd_fixpath(). Only forward slashes. */ if ((strlen(path) > 2) && (wcd_is_slash(*path)) && (wcd_is_slash(*(path+1)))) { char *ptr = strchr(path+2,'/'); if (ptr == NULL) return(0); else { ptr = strchr(ptr+1,'/'); if (ptr == NULL) return(1); else return(0); } } else return(0); } /* * wcd_islink() * Check if directory is a symbolic link. * Returns: 1 if dir is a symlink, 0 if dir is not a symlink. */ int wcd_islink(const char *dir, int quiet) { DWORD attrs; DWORD dw; #ifdef WCD_UNICODE static wchar_t wstr[WCD_MAXPATH]; if (utf8towcs(wstr, dir, WCD_MAXPATH) == (size_t)(-1)) attrs = INVALID_FILE_ATTRIBUTES; else attrs = GetFileAttributesW(wstr); #else attrs = GetFileAttributes(dir); #endif if (attrs == INVALID_FILE_ATTRIBUTES) { if ( !quiet ) { dw = GetLastError(); print_error("wcd_islink(): "); wcd_PrintError(dw); } return(0); } return ((attrs & FILE_ATTRIBUTE_REPARSE_POINT) != 0); } /* If WCD_UNICODE is defined we assume that all multi-byte * strings are encoded in UTF-8. */ char *wcd_getcwd(char *buf, size_t size) { DWORD err; DWORD dw; #ifdef WCD_UNICODE static wchar_t wstr[WCD_MAXPATH]; err = GetCurrentDirectoryW((DWORD)size, wstr); if ( err != 0) if (wcstoutf8(buf, wstr, WCD_MAXPATH) == (size_t)(-1)) err = 0; #else err = GetCurrentDirectory(size, buf); #endif if (err == 0) { dw = GetLastError(); print_error("%s", _("Unable to get current working directory: ")); wcd_PrintError(dw); return(NULL); /* fail */ } else return(buf); /* success */ } int wcd_chdir(const char *path, int quiet) { BOOL err; DWORD dw; #ifdef WCD_UNICODE static wchar_t wstr[WCD_MAXPATH]; if (utf8towcs(wstr, path, WCD_MAXPATH) == (size_t)(-1)) err = 0; else err = SetCurrentDirectoryW(wstr); #else err = SetCurrentDirectory(path); #endif if (err == 0) { if ( !quiet ) { dw = GetLastError(); print_error(""); wcd_printf(_("Unable to change to directory %s: "), path); wcd_PrintError(dw); } return(1); /* fail */ } else return(0); /* success */ } int wcd_mkdir(const char *path, int quiet) { BOOL err; DWORD dw; #ifdef WCD_UNICODE static wchar_t wstr[WCD_MAXPATH]; if (utf8towcs(wstr, path, WCD_MAXPATH) == (size_t)(-1)) err = FALSE; else err = CreateDirectoryW(wstr, NULL); #else err = CreateDirectory(path, NULL); #endif if (err == TRUE) return(0); /* success */ else { if ( !quiet ) { dw = GetLastError(); print_error(""); wcd_printf(_("Unable to create directory %s: "), path); wcd_PrintError(dw); } return(1); /* fail */ } } int wcd_rmdir(const char *path, int quiet) { BOOL err; DWORD dw; #ifdef WCD_UNICODE static wchar_t wstr[WCD_MAXPATH]; if (utf8towcs(wstr, path, WCD_MAXPATH) == (size_t)(-1)) err = FALSE; else err = RemoveDirectoryW(wstr); #else err = RemoveDirectory(path); #endif if (err == TRUE) return(0); /* success */ else { if ( !quiet ) { dw = GetLastError(); print_error(""); wcd_printf(_("Unable to remove directory %s: "), path); wcd_PrintError(dw); } return(1); /* fail */ } } int wcd_unlink(const char *path) { #ifdef WCD_UNICODE wchar_t pathw[WCD_MAXPATH]; if (utf8towcs(pathw, path, WCD_MAXPATH) == (size_t)(-1)) return -1; return _wunlink(pathw); #else return unlink(path); #endif } /****************************************************************** * * int wcd_isdir(char *dir) * * test if *dir points to a directory. * * returns 1 when *dir is a directory path, 0 when it isn't. * * - The following method using POSIX API fails on UNC share paths * like //servername/sharename on MS-Windows systems. * * stat(path, &buf) ; * if (S_ISDIR(buf.st_mode)) { ... } * * See also bug report at http://sourceforge.net/projects/mingw/ * http://sourceforge.net/tracker/?func=detail&atid=102435&aid=3304800&group_id=2435 * * - The function 'opendir()' from works on all systems, * also on Windows UNC paths as above, but not all compilers have 'dirent' * included. E.g. LCC 3.8 and Open Watcom 1.3 don't have it. * * - Using 'wcd_chdir()' is a portable solution to check \\servername\sharename. * ******************************************************************/ int wcd_isdir(char *dir, int quiet) { #ifdef WCD_UTF16 BOOL err; DWORD dw; struct _stat buf; #else struct stat buf; #endif if (wcd_isSharePath(dir)) { char tmp[WCD_MAXDIR]; wcd_getcwd(tmp, sizeof(tmp)); /* remember current dir */ if (wcd_chdir(dir, quiet) == 0) { /* just try to change to dir */ wcd_chdir(tmp, quiet); /* go back */ return 1 ; } else return 0; } else { #ifdef WCD_UTF16 static wchar_t wstr[WCD_MAXPATH]; if (utf8towcs(wstr, dir, WCD_MAXPATH) == (size_t)(-1)) err = FALSE; else err = TRUE; if (err == TRUE) { if (_wstat(wstr, &buf) == 0) { if (S_ISDIR(buf.st_mode)) return 1; else return(0); } else { if (!quiet) { char *errstr = strerror(errno); wcd_printf("Wcd: %s: %s\n", dir, errstr); } return 0; } } else { if ( !quiet ) { dw = GetLastError(); wcd_printf("Wcd: %s: ", dir); wcd_PrintError(dw); } return 0; /* fail */ } #else if (stat(dir, &buf) == 0) { if (S_ISDIR(buf.st_mode)) return 1; else return(0); } else { if (!quiet) { char *errstr = strerror(errno); print_error("%s: %s\n", dir, errstr); } return 0; } #endif } } #else /************************************************************/ /* Use POSIX API */ #if defined(UNIX) || defined(__DJGPP__) || defined(__EMX__) int wcd_mkdir(const char *path, mode_t m, int quiet) { int err = mkdir(path, m); if ( !quiet && err) print_error(_("Unable to create directory %s: %s\n"), path, strerror(errno)); return(err); } #else int wcd_mkdir(const char *path, int quiet) { int err = mkdir(path); if ( !quiet && err) print_error(_("Unable to create directory %s: %s\n"), path, strerror(errno)); return(err); } #endif #ifdef UNIX /* The $HOME directory can be mounted to a long absolute path by * a volume manager. Replace the absolute volume path by $HOME. */ char *replace_volume_path_HOME(char *buf, size_t size) { static char *home = NULL; /* value of $HOME env variable */ static char home_abs[WCD_MAXPATH]; /* absolute volume path of $HOME */ static char status = 0; static size_t len_home = 0; static size_t len_home_abs = 0; size_t i, len_buf; size_t j; char tmp[WCD_MAXPATH]; static char pattern[WCD_MAXPATH]; char *ptr1, *ptr2; if (buf == NULL) return(NULL); if ( status == 0 ) { /* not intialised. */ /* initialize only once. */ if ((home = getenv("HOME")) != NULL ) { getcwd(tmp, sizeof(tmp)); /* remember current dir */ if (wcd_chdir(home,0) == 0) { if (getcwd(home_abs, sizeof(home_abs)) == NULL) { status = 3; /* fail */ } else { if (strcmp(home,home_abs) == 0) { status = 4; /* home and home_abs are equal */ } else { if ( ((ptr1 = strrchr(home,DIR_SEPARATOR)) != NULL) && ((ptr2 = strrchr(home_abs,DIR_SEPARATOR)) != NULL)) { if (strcmp(ptr1,ptr2) == 0) { /* Both paths have same user name. Strip user name, so that * also paths from other users benefit if users have a common * volume prefix. Depends on how Volume Manager was configured. */ *ptr1 = '\0'; *ptr2 = '\0'; } } wcd_strncpy(pattern, home_abs, sizeof(pattern)); wcd_strncat(pattern,"*", sizeof(pattern)); len_home = strlen(home); len_home_abs = strlen(home_abs); if (len_home <= len_home_abs) { status = 1; /* home and home_abs are not equal */ } else { status = 2; /* home and home_abs are not equal */ } } } wcd_chdir(tmp,0); /* go back */ } else { status = 5; /* fail */ } } else { status = 6; /* fail */ } /* printf("status = %d\n", status); */ } if ( status == 1 ) { /* $HOME is shorter or equal length than volume name */ if (dd_match(buf, pattern , 0)) { len_buf = strlen(buf); for (i=0; i < len_home; i++) buf[i] = home[i]; j = i; for (i=len_home_abs; i < len_buf; i++) { buf[j] = buf[i]; ++j; } buf[j] = '\0'; } } if ( status == 2 ) { /* $HOME is longer than volume name */ if (dd_match(buf, pattern, 0)) { len_buf = strlen(buf); for (i=0; (i < len_home) && (i < size); i++) tmp[i] = home[i]; j = i; for (i=len_home_abs; (i < len_buf) && (i < size); i++) { tmp[j] = buf[i]; ++j; } tmp[j] = '\0'; strcpy(buf,tmp); } } return(buf); } #endif char *wcd_getcwd(char *buf, size_t size) { char *err = getcwd(buf, size); if ( err == NULL) { char *errstr = strerror(errno); print_error(_("Unable to get current working directory: %s\n"), errstr); } #ifdef UNIX else replace_volume_path_HOME(buf,size); #endif return(err); } int wcd_chdir(const char *path, int quiet) { int err = chdir(path); if (!quiet && err) print_error(_("Unable to change to directory %s: %s\n"), path, strerror(errno)); return(err); } int wcd_rmdir(const char *path, int quiet) { int err = rmdir(path); if (!quiet && err) print_error(_("Unable to remove directory %s: %s\n"), path, strerror(errno)); return(err); } int wcd_unlink(const char *path) { return unlink(path); } /****************************************************************** * * int wcd_isdir(char *dir) * * test if *dir points to a directory. * * returns 1 when *dir is a directory path, 0 when it isn't. * ******************************************************************/ int wcd_isdir(char *dir, int quiet) { struct stat buf; if (stat(dir, &buf) == 0) { if (S_ISDIR(buf.st_mode)) return 1; else return 0; } else { if (!quiet) print_error("%s: %s\n", dir, strerror(errno)); return 0; } } #endif wcd-6.0.3/src/wcddir.h0000644000175500010010000000363713524756523014005 0ustar waterlanGeen/* filename: wcddir.h WCD - Chdir for Dos and Unix. Author: Erwin Waterlander ====================================================================== = Copyright = ====================================================================== Copyright (C) 2002-2017 Erwin Waterlander 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ======================================================================= */ #ifndef _WCD_WCDDIR_H #define _WCD_WCDDIR_H #if (defined(_WIN32) || defined(__CYGWIN__)) #include #include "std_macr.h" #include "structur.h" #include "nameset.h" int wcd_isServerPath (char* path); void wcd_getshares(char* path, nameset n); #endif #if (defined(_WIN32) && !defined(__CYGWIN__)) int wcd_islink(const char *dir, int quiet); int wcd_mkdir(const char *path, int quiet); #else /* not WIN32 API */ # if defined(UNIX) || defined(__DJGPP__) || defined(__EMX__) # include int wcd_mkdir(const char *path, mode_t m, int quiet); # else int wcd_mkdir(const char *path, int quiet); # endif #endif char *wcd_getcwd(char *buf, size_t size); int wcd_chdir(const char *path, int quiet); int wcd_rmdir(const char *path, int quiet); int wcd_unlink(const char *path); int wcd_isdir(char *dir, int quiet); #endif wcd-6.0.3/src/wcwidth.c0000644000175500010010000003350513524756523014172 0ustar waterlanGeen/* * This is an implementation of wcwidth() and wcswidth() (defined in * IEEE Std 1002.1-2001) for Unicode. * * http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html * http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html * * In fixed-width output devices, Latin characters all occupy a single * "cell" position of equal width, whereas ideographic CJK characters * occupy two such cells. Interoperability between terminal-line * applications and (teletype-style) character terminals using the * UTF-8 encoding requires agreement on which character should advance * the cursor by how many cell positions. No established formal * standards exist at present on which Unicode character shall occupy * how many cell positions on character terminals. These routines are * a first attempt of defining such behavior based on simple rules * applied to data provided by the Unicode Consortium. * * For some graphical characters, the Unicode standard explicitly * defines a character-cell width via the definition of the East Asian * FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes. * In all these cases, there is no ambiguity about which width a * terminal shall use. For characters in the East Asian Ambiguous (A) * class, the width choice depends purely on a preference of backward * compatibility with either historic CJK or Western practice. * Choosing single-width for these characters is easy to justify as * the appropriate long-term solution, as the CJK practice of * displaying these characters as double-width comes from historic * implementation simplicity (8-bit encoded characters were displayed * single-width and 16-bit ones double-width, even for Greek, * Cyrillic, etc.) and not any typographic considerations. * * Much less clear is the choice of width for the Not East Asian * (Neutral) class. Existing practice does not dictate a width for any * of these characters. It would nevertheless make sense * typographically to allocate two character cells to characters such * as for instance EM SPACE or VOLUME INTEGRAL, which cannot be * represented adequately with a single-width glyph. The following * routines at present merely assign a single-cell width to all * neutral characters, in the interest of simplicity. This is not * entirely satisfactory and should be reconsidered before * establishing a formal standard in this area. At the moment, the * decision which Not East Asian (Neutral) characters should be * represented by double-width glyphs cannot yet be answered by * applying a simple rule from the Unicode database content. Setting * up a proper standard for the behavior of UTF-8 character terminals * will require a careful analysis not only of each Unicode character, * but also of each presentation form, something the author of these * routines has avoided to do so far. * * http://www.unicode.org/unicode/reports/tr11/ * * Markus Kuhn -- 2007-05-26 (Unicode 5.0) * * Permission to use, copy, modify, and distribute this software * for any purpose and without fee is hereby granted. The author * disclaims all warranties with regard to this software. * * Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c */ #include struct interval { int first; int last; }; /* auxiliary function for binary search in interval table */ static int bisearch(wchar_t ucs, const struct interval *table, int max) { int min = 0; if (ucs < table[0].first || ucs > table[max].last) return 0; while (max >= min) { int mid = (min + max) / 2; if (ucs > table[mid].last) min = mid + 1; else if (ucs < table[mid].first) max = mid - 1; else return 1; } return 0; } /* The following two functions define the column width of an ISO 10646 * character as follows: * * - The null character (U+0000) has a column width of 0. * * - Other C0/C1 control characters and DEL will lead to a return * value of -1. * * - Non-spacing and enclosing combining characters (general * category code Mn or Me in the Unicode database) have a * column width of 0. * * - SOFT HYPHEN (U+00AD) has a column width of 1. * * - Other format characters (general category code Cf in the Unicode * database) and ZERO WIDTH SPACE (U+200B) have a column width of 0. * * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) * have a column width of 0. * * - Spacing characters in the East Asian Wide (W) or East Asian * Full-width (F) category as defined in Unicode Technical * Report #11 have a column width of 2. * * - All remaining characters (including all printable * ISO 8859-1 and WGL4 characters, Unicode control characters, * etc.) have a column width of 1. * * This implementation assumes that wchar_t characters are encoded * in ISO 10646. */ int mk_wcwidth(wchar_t ucs) { /* sorted list of non-overlapping intervals of non-spacing characters */ /* generated by "uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c" */ static const struct interval combining[] = { { 0x0300, 0x036F }, { 0x0483, 0x0486 }, { 0x0488, 0x0489 }, { 0x0591, 0x05BD }, { 0x05BF, 0x05BF }, { 0x05C1, 0x05C2 }, { 0x05C4, 0x05C5 }, { 0x05C7, 0x05C7 }, { 0x0600, 0x0603 }, { 0x0610, 0x0615 }, { 0x064B, 0x065E }, { 0x0670, 0x0670 }, { 0x06D6, 0x06E4 }, { 0x06E7, 0x06E8 }, { 0x06EA, 0x06ED }, { 0x070F, 0x070F }, { 0x0711, 0x0711 }, { 0x0730, 0x074A }, { 0x07A6, 0x07B0 }, { 0x07EB, 0x07F3 }, { 0x0901, 0x0902 }, { 0x093C, 0x093C }, { 0x0941, 0x0948 }, { 0x094D, 0x094D }, { 0x0951, 0x0954 }, { 0x0962, 0x0963 }, { 0x0981, 0x0981 }, { 0x09BC, 0x09BC }, { 0x09C1, 0x09C4 }, { 0x09CD, 0x09CD }, { 0x09E2, 0x09E3 }, { 0x0A01, 0x0A02 }, { 0x0A3C, 0x0A3C }, { 0x0A41, 0x0A42 }, { 0x0A47, 0x0A48 }, { 0x0A4B, 0x0A4D }, { 0x0A70, 0x0A71 }, { 0x0A81, 0x0A82 }, { 0x0ABC, 0x0ABC }, { 0x0AC1, 0x0AC5 }, { 0x0AC7, 0x0AC8 }, { 0x0ACD, 0x0ACD }, { 0x0AE2, 0x0AE3 }, { 0x0B01, 0x0B01 }, { 0x0B3C, 0x0B3C }, { 0x0B3F, 0x0B3F }, { 0x0B41, 0x0B43 }, { 0x0B4D, 0x0B4D }, { 0x0B56, 0x0B56 }, { 0x0B82, 0x0B82 }, { 0x0BC0, 0x0BC0 }, { 0x0BCD, 0x0BCD }, { 0x0C3E, 0x0C40 }, { 0x0C46, 0x0C48 }, { 0x0C4A, 0x0C4D }, { 0x0C55, 0x0C56 }, { 0x0CBC, 0x0CBC }, { 0x0CBF, 0x0CBF }, { 0x0CC6, 0x0CC6 }, { 0x0CCC, 0x0CCD }, { 0x0CE2, 0x0CE3 }, { 0x0D41, 0x0D43 }, { 0x0D4D, 0x0D4D }, { 0x0DCA, 0x0DCA }, { 0x0DD2, 0x0DD4 }, { 0x0DD6, 0x0DD6 }, { 0x0E31, 0x0E31 }, { 0x0E34, 0x0E3A }, { 0x0E47, 0x0E4E }, { 0x0EB1, 0x0EB1 }, { 0x0EB4, 0x0EB9 }, { 0x0EBB, 0x0EBC }, { 0x0EC8, 0x0ECD }, { 0x0F18, 0x0F19 }, { 0x0F35, 0x0F35 }, { 0x0F37, 0x0F37 }, { 0x0F39, 0x0F39 }, { 0x0F71, 0x0F7E }, { 0x0F80, 0x0F84 }, { 0x0F86, 0x0F87 }, { 0x0F90, 0x0F97 }, { 0x0F99, 0x0FBC }, { 0x0FC6, 0x0FC6 }, { 0x102D, 0x1030 }, { 0x1032, 0x1032 }, { 0x1036, 0x1037 }, { 0x1039, 0x1039 }, { 0x1058, 0x1059 }, { 0x1160, 0x11FF }, { 0x135F, 0x135F }, { 0x1712, 0x1714 }, { 0x1732, 0x1734 }, { 0x1752, 0x1753 }, { 0x1772, 0x1773 }, { 0x17B4, 0x17B5 }, { 0x17B7, 0x17BD }, { 0x17C6, 0x17C6 }, { 0x17C9, 0x17D3 }, { 0x17DD, 0x17DD }, { 0x180B, 0x180D }, { 0x18A9, 0x18A9 }, { 0x1920, 0x1922 }, { 0x1927, 0x1928 }, { 0x1932, 0x1932 }, { 0x1939, 0x193B }, { 0x1A17, 0x1A18 }, { 0x1B00, 0x1B03 }, { 0x1B34, 0x1B34 }, { 0x1B36, 0x1B3A }, { 0x1B3C, 0x1B3C }, { 0x1B42, 0x1B42 }, { 0x1B6B, 0x1B73 }, { 0x1DC0, 0x1DCA }, { 0x1DFE, 0x1DFF }, { 0x200B, 0x200F }, { 0x202A, 0x202E }, { 0x2060, 0x2063 }, { 0x206A, 0x206F }, { 0x20D0, 0x20EF }, { 0x302A, 0x302F }, { 0x3099, 0x309A }, { 0xA806, 0xA806 }, { 0xA80B, 0xA80B }, { 0xA825, 0xA826 }, { 0xFB1E, 0xFB1E }, { 0xFE00, 0xFE0F }, { 0xFE20, 0xFE23 }, { 0xFEFF, 0xFEFF }, { 0xFFF9, 0xFFFB }, { 0x10A01, 0x10A03 }, { 0x10A05, 0x10A06 }, { 0x10A0C, 0x10A0F }, { 0x10A38, 0x10A3A }, { 0x10A3F, 0x10A3F }, { 0x1D167, 0x1D169 }, { 0x1D173, 0x1D182 }, { 0x1D185, 0x1D18B }, { 0x1D1AA, 0x1D1AD }, { 0x1D242, 0x1D244 }, { 0xE0001, 0xE0001 }, { 0xE0020, 0xE007F }, { 0xE0100, 0xE01EF } }; /* test for 8-bit control characters */ if (ucs == 0) return 0; if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0)) return -1; /* binary search in table of non-spacing characters */ if (bisearch(ucs, combining, sizeof(combining) / sizeof(struct interval) - 1)) return 0; /* if we arrive here, ucs is not a combining or C0/C1 control character */ return 1 + (ucs >= 0x1100 && (ucs <= 0x115f || /* Hangul Jamo init. consonants */ ucs == 0x2329 || ucs == 0x232a || (ucs >= 0x2e80 && ucs <= 0xa4cf && ucs != 0x303f) || /* CJK ... Yi */ (ucs >= 0xac00 && ucs <= 0xd7a3) || /* Hangul Syllables */ (ucs >= 0xf900 && ucs <= 0xfaff) || /* CJK Compatibility Ideographs */ (ucs >= 0xfe10 && ucs <= 0xfe19) || /* Vertical forms */ (ucs >= 0xfe30 && ucs <= 0xfe6f) || /* CJK Compatibility Forms */ (ucs >= 0xff00 && ucs <= 0xff60) || /* Fullwidth Forms */ (ucs >= 0xffe0 && ucs <= 0xffe6) || (ucs >= 0x20000 && ucs <= 0x2fffd) || (ucs >= 0x30000 && ucs <= 0x3fffd))); } int mk_wcswidth(const wchar_t *pwcs, size_t n) { int width = 0; for (;*pwcs && n-- > 0; pwcs++) { int w; if ((w = mk_wcwidth(*pwcs)) < 0) return -1; else width += w; } return width; } /* * The following functions are the same as mk_wcwidth() and * mk_wcswidth(), except that spacing characters in the East Asian * Ambiguous (A) category as defined in Unicode Technical Report #11 * have a column width of 2. This variant might be useful for users of * CJK legacy encodings who want to migrate to UCS without changing * the traditional terminal character-width behaviour. It is not * otherwise recommended for general use. */ int mk_wcwidth_cjk(wchar_t ucs) { /* sorted list of non-overlapping intervals of East Asian Ambiguous * characters, generated by "uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c" */ static const struct interval ambiguous[] = { { 0x00A1, 0x00A1 }, { 0x00A4, 0x00A4 }, { 0x00A7, 0x00A8 }, { 0x00AA, 0x00AA }, { 0x00AE, 0x00AE }, { 0x00B0, 0x00B4 }, { 0x00B6, 0x00BA }, { 0x00BC, 0x00BF }, { 0x00C6, 0x00C6 }, { 0x00D0, 0x00D0 }, { 0x00D7, 0x00D8 }, { 0x00DE, 0x00E1 }, { 0x00E6, 0x00E6 }, { 0x00E8, 0x00EA }, { 0x00EC, 0x00ED }, { 0x00F0, 0x00F0 }, { 0x00F2, 0x00F3 }, { 0x00F7, 0x00FA }, { 0x00FC, 0x00FC }, { 0x00FE, 0x00FE }, { 0x0101, 0x0101 }, { 0x0111, 0x0111 }, { 0x0113, 0x0113 }, { 0x011B, 0x011B }, { 0x0126, 0x0127 }, { 0x012B, 0x012B }, { 0x0131, 0x0133 }, { 0x0138, 0x0138 }, { 0x013F, 0x0142 }, { 0x0144, 0x0144 }, { 0x0148, 0x014B }, { 0x014D, 0x014D }, { 0x0152, 0x0153 }, { 0x0166, 0x0167 }, { 0x016B, 0x016B }, { 0x01CE, 0x01CE }, { 0x01D0, 0x01D0 }, { 0x01D2, 0x01D2 }, { 0x01D4, 0x01D4 }, { 0x01D6, 0x01D6 }, { 0x01D8, 0x01D8 }, { 0x01DA, 0x01DA }, { 0x01DC, 0x01DC }, { 0x0251, 0x0251 }, { 0x0261, 0x0261 }, { 0x02C4, 0x02C4 }, { 0x02C7, 0x02C7 }, { 0x02C9, 0x02CB }, { 0x02CD, 0x02CD }, { 0x02D0, 0x02D0 }, { 0x02D8, 0x02DB }, { 0x02DD, 0x02DD }, { 0x02DF, 0x02DF }, { 0x0391, 0x03A1 }, { 0x03A3, 0x03A9 }, { 0x03B1, 0x03C1 }, { 0x03C3, 0x03C9 }, { 0x0401, 0x0401 }, { 0x0410, 0x044F }, { 0x0451, 0x0451 }, { 0x2010, 0x2010 }, { 0x2013, 0x2016 }, { 0x2018, 0x2019 }, { 0x201C, 0x201D }, { 0x2020, 0x2022 }, { 0x2024, 0x2027 }, { 0x2030, 0x2030 }, { 0x2032, 0x2033 }, { 0x2035, 0x2035 }, { 0x203B, 0x203B }, { 0x203E, 0x203E }, { 0x2074, 0x2074 }, { 0x207F, 0x207F }, { 0x2081, 0x2084 }, { 0x20AC, 0x20AC }, { 0x2103, 0x2103 }, { 0x2105, 0x2105 }, { 0x2109, 0x2109 }, { 0x2113, 0x2113 }, { 0x2116, 0x2116 }, { 0x2121, 0x2122 }, { 0x2126, 0x2126 }, { 0x212B, 0x212B }, { 0x2153, 0x2154 }, { 0x215B, 0x215E }, { 0x2160, 0x216B }, { 0x2170, 0x2179 }, { 0x2190, 0x2199 }, { 0x21B8, 0x21B9 }, { 0x21D2, 0x21D2 }, { 0x21D4, 0x21D4 }, { 0x21E7, 0x21E7 }, { 0x2200, 0x2200 }, { 0x2202, 0x2203 }, { 0x2207, 0x2208 }, { 0x220B, 0x220B }, { 0x220F, 0x220F }, { 0x2211, 0x2211 }, { 0x2215, 0x2215 }, { 0x221A, 0x221A }, { 0x221D, 0x2220 }, { 0x2223, 0x2223 }, { 0x2225, 0x2225 }, { 0x2227, 0x222C }, { 0x222E, 0x222E }, { 0x2234, 0x2237 }, { 0x223C, 0x223D }, { 0x2248, 0x2248 }, { 0x224C, 0x224C }, { 0x2252, 0x2252 }, { 0x2260, 0x2261 }, { 0x2264, 0x2267 }, { 0x226A, 0x226B }, { 0x226E, 0x226F }, { 0x2282, 0x2283 }, { 0x2286, 0x2287 }, { 0x2295, 0x2295 }, { 0x2299, 0x2299 }, { 0x22A5, 0x22A5 }, { 0x22BF, 0x22BF }, { 0x2312, 0x2312 }, { 0x2460, 0x24E9 }, { 0x24EB, 0x254B }, { 0x2550, 0x2573 }, { 0x2580, 0x258F }, { 0x2592, 0x2595 }, { 0x25A0, 0x25A1 }, { 0x25A3, 0x25A9 }, { 0x25B2, 0x25B3 }, { 0x25B6, 0x25B7 }, { 0x25BC, 0x25BD }, { 0x25C0, 0x25C1 }, { 0x25C6, 0x25C8 }, { 0x25CB, 0x25CB }, { 0x25CE, 0x25D1 }, { 0x25E2, 0x25E5 }, { 0x25EF, 0x25EF }, { 0x2605, 0x2606 }, { 0x2609, 0x2609 }, { 0x260E, 0x260F }, { 0x2614, 0x2615 }, { 0x261C, 0x261C }, { 0x261E, 0x261E }, { 0x2640, 0x2640 }, { 0x2642, 0x2642 }, { 0x2660, 0x2661 }, { 0x2663, 0x2665 }, { 0x2667, 0x266A }, { 0x266C, 0x266D }, { 0x266F, 0x266F }, { 0x273D, 0x273D }, { 0x2776, 0x277F }, { 0xE000, 0xF8FF }, { 0xFFFD, 0xFFFD }, { 0xF0000, 0xFFFFD }, { 0x100000, 0x10FFFD } }; /* binary search in table of non-spacing characters */ if (bisearch(ucs, ambiguous, sizeof(ambiguous) / sizeof(struct interval) - 1)) return 2; return mk_wcwidth(ucs); } int mk_wcswidth_cjk(const wchar_t *pwcs, size_t n) { int width = 0; for (;*pwcs && n-- > 0; pwcs++) { int w; if ((w = mk_wcwidth_cjk(*pwcs)) < 0) return -1; else width += w; } return width; } #if defined (_WIN32) && !defined(__CYGWIN__) int wcwidth(wchar_t ucs) { return mk_wcwidth(ucs); } int wcswidth(const wchar_t *pwcs, size_t n) { return mk_wcswidth(pwcs,n); } #endif wcd-6.0.3/src/wcwidth.h0000644000175500010010000000207513524756523014175 0ustar waterlanGeen/* Copyright (C) 2013 Erwin Waterlander 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef _WCD_WCWIDTH_H #define _WCD_WCWIDTH_H #include int mk_wcwidth(wchar_t ucs); int mk_wcswidth(const wchar_t *pwcs, size_t n); int mk_wcwidth_cjk(wchar_t ucs); int mk_wcswidth_cjk(const wchar_t *pwcs, size_t n); #if defined (_WIN32) && !defined(__CYGWIN__) int wcwidth(wchar_t ucs); int wcswidth(const wchar_t *pwcs, size_t n); #endif #endif wcd-6.0.3/src/wfixpath.c0000644000175500010010000000760413524756523014354 0ustar waterlanGeen/* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ /* Modified by Erwin Waterlander. Mar 30 1999 */ /* Oct 16 2001: On Unix directories can have a backslash (\) * in the name, so they must not be replaced a slash (/) * Erwin Waterlander * Oct 26 2002: Keep first two slashes if WIN32 (UNC path) * Erwin Waterlander * Sep 8 2005: Keep first two slashes also for Cygwin (UNC path) * Erwin Waterlander * Sep 15 2011: changed parameter 'lim' to size_t type. * Erwin Waterlander */ #include /* For FILENAME_MAX */ #include #include #include #include "tailor.h" #include "config.h" #include "wcd.h" int wcd_is_slash(int c) { #if (defined(UNIX) && !defined(__CYGWIN__)) /* Oct 16 2001 */ return c == '/'; #else return c == '/' || c == '\\'; #endif } static int is_term(int c) { #if (defined(UNIX) && !defined(__CYGWIN__)) /* Oct 16 2001 */ return c == '/' || c == '\0'; #else return c == '/' || c == '\\' || c == '\0'; #endif } /* Takes as input an arbitrary path. Fixes up the path by: 1. Removing consecutive slashes 2. Removing trailing slashes 4. Removing "." in the path 7. Converting all slashes to '/' 8. Keep beginning "/" 9. Keep beginning "./" 10. Don't fix path "." */ void wcd_fixpath(char *in, size_t lim) { size_t i=0; int drive_number= -1; const char *ip = in; char *out; char *op; if ((in == NULL) || (lim == 0)) return ; if ((out = (char *) malloc(lim)) == NULL) { print_error(_("Memory allocation error in %s: %s\n"),"wcd_fixpath()",strerror(errno)); return; } op = out; #if defined(__MSDOS__) || defined(_WIN32) || defined(__OS2__) /* Add drive specification to output string (if present) */ if (((*ip >= 'a' && *ip <= 'z') || (*ip >= 'A' && *ip <= 'Z')) && (*(ip + 1) == ':')) { if (*ip >= 'a' && *ip <= 'z') { drive_number = *ip - 'a'; *op++ = *ip++; } else { drive_number = *ip - 'A'; if (*ip <= 'Z') *op++ = (char)(drive_number + 'a'); else *op++ = *ip; ++ip; } *op++ = *ip++; i+=2; } #endif #if (defined(_WIN32) || defined(__CYGWIN__)) /* Keep first "//" if present (UNC path) */ if (wcd_is_slash(*ip) && wcd_is_slash(*(ip + 1))) { ip+=2 ; *op++ = '/'; *op++ = '/'; i+=2 ; } else { #endif /* Keep first slash if present */ if (wcd_is_slash(*ip)) { ip++; *op++ = '/'; i++ ; } else { /* return if ip == "." */ if ((*ip == '.') && (*(ip + 1) == '\0')) { free(out); return ; } else { /* Keep first "./" if present */ if (*ip == '.' && wcd_is_slash(*(ip + 1))) { ip+=2 ; *op++ = '.'; *op++ = '/'; i+=2 ; } } } #if (defined(_WIN32) || defined(__CYGWIN__)) } #endif /* Step through the input path */ while ((*ip) && (i<(lim-1))) { /* Skip input slashes */ if (wcd_is_slash(*ip)) { ip++; continue; } /* Skip "." and output nothing */ if (*ip == '.' && is_term(*(ip + 1))) { ip++; continue; } /* Copy path component from in to out */ if ((op > out) && (*(op-1) != '/')) { *op++ = '/'; i++ ; } while (!is_term(*ip)) { *op++ = *ip++; i++; } } /* If root directory, insert trailing slash */ if (((drive_number >= 0) && (op == out + 2)) || (op == out)) *op++ = '/'; /* Null terminate the output */ *op = '\0'; strcpy(in,out); free(out); } #ifdef TEST int main (int argc, char *argv[]) { if (argc > 1) { char fixed[FILENAME_MAX]; strncpy(fixed,argv[1],FILENAME_MAX -1); fixed[FILENAME_MAX -1] = '\0'; wcd_fixpath (fixed,FILENAME_MAX); printf ("You mean %s?\n", fixed); } return 0; } #endif wcd-6.0.3/src/wfixpath.h0000644000175500010010000000017513524756523014355 0ustar waterlanGeen#ifndef _WCD_WFIXPATH_H_ #define _WCD_WFIXPATH_H_ int wcd_is_slash(int c); void wcd_fixpath(char *in, size_t lim) ; #endif wcd-6.0.3/test/0000755000175500010010000000000013524756523012537 5ustar waterlanGeenwcd-6.0.3/test/utf16.wcd0000644000175500010010000002640613524756523014213 0ustar waterlanGeen/home/waterlan/src/utf8 /home/waterlan/src/utf8/utf8_EUR 14.95 /home/waterlan/src/utf8/test /home/waterlan/src/utf8/test/iso-8859-1 /home/waterlan/src/utf8/test/iso-8859-1/xyz_startmen /home/waterlan/src/utf8/test/iso-8859-1/xyz_rwon /home/waterlan/src/utf8/test/iso-8859-1/xyz_ /home/waterlan/src/utf8/test/iso-8859-1/xyz_/xyz_a /home/waterlan/src/utf8/test/iso-8859-1/xyz_/xyz_erwin /home/waterlan/src/utf8/test/iso-8859-1/xyz_/xyz_b /home/waterlan/src/utf8/test/iso-8859-1/xyz_ /home/waterlan/src/utf8/test/utf8 /home/waterlan/src/utf8/test/utf8/utf8_ERWAN /home/waterlan/src/utf8/test/utf8/utf8_ERWUN /home/waterlan/src/utf8/test/utf8/utf8_ZZ /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/aa /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/bb /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/bb/utf8_chinees -Ne /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/bb/utf8_chinees -Ne/utf8_a /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/bb/utf8_chinees -Ne/utf8_a/utf8_b /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/bb/utf8_chinees -Ne/utf8_a/utf8_b/utf8_c /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/bb/utf8_chinees -Ne/utf8_b /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/bb/utf8_EUR 14.95 /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/cc /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/cc/utf8_greek_/utf8_a/utf8_b/utf8_c /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/cc/utf8_greek_/utf8_a/utf8_b/utf8_d /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/cc/utf8_greek_/utf8_a/utf8_/utf8_ /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/cc/utf8_greek_/utf8_a/utf8_/utf8_ /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/cc/utf8_greek_/utf8_b/utf8_c /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/cc/utf8_greek_/utf8_a /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/cc/utf8_a /home/waterlan/src/utf8/test/utf8/utf8_chinees -Ne/cc/utf8_b /home/waterlan/src/utf8/test/utf8/utf8_erwin /home/waterlan/src/utf8/test/utf8/utf8_ccccccc_xx /home/waterlan/src/utf8/test/utf8/utf8_ccccccc_xx/dd /home/waterlan/src/utf8/test/utf8/utf8_ccccccc_xx/dd/utf8_ccccccc_zz /home/waterlan/src/utf8/test/utf8/utf8_ /home/waterlan/src/utf8/test/utf8/utf8_ERW-IN /home/waterlan/src/utf8/test/utf8/utf8_EUR 14.95 /home/waterlan/src/utf8/test/utf8/utf8_ /home/waterlan/src/utf8/test/utf8/utf8_ /home/waterlan/src/utf8/test/utf8/utf8_ /home/waterlan/src/utf8/test/utf8/utf8_s /home/waterlan/src/utf8/test/utf8/utf8_ /home/waterlan/src/utf8/test/utf8/utf8_Su /home/waterlan/src/utf8/test/utf8/utf8_ /home/waterlan/src/utf8/test/utf8/utf8_chinees -N /home/waterlan/src/utf8/test/utf8/utf8_chinees -N/aa /home/waterlan/src/utf8/test/utf8/utf8_chinees -N/bb /home/waterlan/src/utf8/test/utf8/utf8_chinees -N/bb/utf8_chinees -Ne /home/waterlan/src/utf8/test/utf8/utf8_chinees -N/bb/utf8_chinees -Ne/utf8_a /home/waterlan/src/utf8/test/utf8/utf8_chinees -N/bb/utf8_chinees -Ne/utf8_a/utf8_b /home/waterlan/src/utf8/test/utf8/utf8_chinees -N/bb/utf8_chinees -Ne/utf8_a/utf8_b/utf8_c /home/waterlan/src/utf8/test/utf8/utf8_chinees -N/bb/utf8_chinees -Ne/utf8_b /home/waterlan/src/utf8/test/utf8/utf8_chinees -N/bb/utf8_EUR 14.95 /home/waterlan/src/utf8/test/utf8/utf8_chinees -N/cc /home/waterlan/src/utf8/test/utf8/utf8_chinees -N/cc/utf8_a /home/waterlan/src/utf8/test/utf8/utf8_chinees -N/cc/utf8_b /home/waterlan/src/utf8/utf8_EUR-8 /home/waterlan/src/utf8/utf8_chinees -Ne /home/waterlan/src/utf8/utf8_nee /home/waterlan/src/utf8/utf8_comb_aeu -xx-o7 /home/waterlan/src/utf8/utf8_comb_aeu -xx-o7/a /home/waterlan/src/utf8/utf8_comb_aeu -xx-o7/a/b /home/waterlan/src/utf8/utf8_comb_aeu -xx-o7/a/b/c /home/waterlan/src/utf8/utf8_comb_aeu -xx-o7/a/b/c/d /home/waterlan/src/utf8/utf8_comb_aeu -xx-o7/a/c /home/waterlan/src/utf8/utf8_comb_aeu -xx-o7/a/c/d /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7 /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/utf1 /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/utf1/utf2 /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/utf1/utf2/utf3 /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/utf1/utf2/utf3/a /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/utf1/utf2/utf3/a/b /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/utf1/utf2/utf3/a/b/c /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/utf1/utf2/utf3/a/b/c/d /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/utf1/utf2/utf3/a/b/c/d/e /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/utf1/utf2/utf3/a/b/c/d/e/f /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/utf1/utf2/utf3/utf4 /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/utf1/utf2/utf3/utf4/utf5 /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/a /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/a/b /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/a/b/c /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/a/b/c/d /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/a/b/c/d/e /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/a/b/c/d/e/f /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/a/b/c/d/e/f/g /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/a/b/c/d/e/f/g/h /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/a/b/c/d/e/f/g/h/i /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/a/b/c/d/e/f/g/h/i/utf8_x /home/waterlan/src/utf8/utf8_comb_ae-Neu -xx-o7/a/b/c/d/e/f/utf8_u /home/waterlan/src/utf8/utf8_ne /home/waterlan/src/utf8/utf8_n /home/waterlan/src/utf8/utf8_surrogate_A/utf8_A/utf8_erwin /home/waterlan/src/utf8/utf8_surrogate_A/utf8_9_A/utf8_erwin /home/waterlan/src/utf8/utf8_surrogate_A/utf8_99_A/utf8_erwin /home/waterlan/src/utf8/utf8_surrogate_A/utf8_99_A/utf8_waterlander wcd-6.0.3/test/utf8.wcd0000644000175500010010000001411313524756523014124 0ustar waterlanGeen/home/waterlan/src/utf8 /home/waterlan/src/utf8/utf8_EUR € 14.95 /home/waterlan/src/utf8/test /home/waterlan/src/utf8/test/iso-8859-1 /home/waterlan/src/utf8/test/iso-8859-1/xyz_startmen� /home/waterlan/src/utf8/test/iso-8859-1/xyz_�rwon /home/waterlan/src/utf8/test/iso-8859-1/xyz_���� /home/waterlan/src/utf8/test/iso-8859-1/xyz_����/xyz_a /home/waterlan/src/utf8/test/iso-8859-1/xyz_����/xyz_erwin /home/waterlan/src/utf8/test/iso-8859-1/xyz_����/xyz_b /home/waterlan/src/utf8/test/iso-8859-1/xyz_��� /home/waterlan/src/utf8/test/utf8 /home/waterlan/src/utf8/test/utf8/utf8_ERWAN /home/waterlan/src/utf8/test/utf8/utf8_ERWUN /home/waterlan/src/utf8/test/utf8/utf8_ZZ /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文 /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/aa /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/bb /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/bb/utf8_chinees 中文 /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/bb/utf8_chinees 中文/utf8_a /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/bb/utf8_chinees 中文/utf8_a/utf8_b /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/bb/utf8_chinees 中文/utf8_a/utf8_b/utf8_c /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/bb/utf8_chinees 中文/utf8_b /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/bb/utf8_EUR € 14.95 /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/cc /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/cc/utf8_greek_δΔΩ/utf8_a/utf8_b/utf8_c /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/cc/utf8_greek_δΔΩ/utf8_a/utf8_b/utf8_d /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/cc/utf8_greek_δΔΩ/utf8_a/utf8_β/utf8_Σ /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/cc/utf8_greek_δΔΩ/utf8_a/utf8_β/utf8_Ψ /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/cc/utf8_greek_δΔΩ/utf8_b/utf8_c /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/cc/utf8_greek_δΔΩ/utf8_a /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/cc/utf8_a /home/waterlan/src/utf8/test/utf8/utf8_chinees 中文/cc/utf8_b /home/waterlan/src/utf8/test/utf8/utf8_erwin /home/waterlan/src/utf8/test/utf8/utf8_ccccccc_xx /home/waterlan/src/utf8/test/utf8/utf8_ccccccc_xx/dd /home/waterlan/src/utf8/test/utf8/utf8_ccccccc_xx/dd/utf8_ccccccc_zz /home/waterlan/src/utf8/test/utf8/utf8_µ /home/waterlan/src/utf8/test/utf8/utf8_ERW-IN /home/waterlan/src/utf8/test/utf8/utf8_EUR € 14.95 /home/waterlan/src/utf8/test/utf8/utf8_† /home/waterlan/src/utf8/test/utf8/utf8_© /home/waterlan/src/utf8/test/utf8/utf8_é /home/waterlan/src/utf8/test/utf8/utf8_sü /home/waterlan/src/utf8/test/utf8/utf8_� /home/waterlan/src/utf8/test/utf8/utf8_Su /home/waterlan/src/utf8/test/utf8/utf8_π /home/waterlan/src/utf8/test/utf8/utf8_chinees 中 /home/waterlan/src/utf8/test/utf8/utf8_chinees 中/aa /home/waterlan/src/utf8/test/utf8/utf8_chinees 中/bb /home/waterlan/src/utf8/test/utf8/utf8_chinees 中/bb/utf8_chinees 中文 /home/waterlan/src/utf8/test/utf8/utf8_chinees 中/bb/utf8_chinees 中文/utf8_a /home/waterlan/src/utf8/test/utf8/utf8_chinees 中/bb/utf8_chinees 中文/utf8_a/utf8_b /home/waterlan/src/utf8/test/utf8/utf8_chinees 中/bb/utf8_chinees 中文/utf8_a/utf8_b/utf8_c /home/waterlan/src/utf8/test/utf8/utf8_chinees 中/bb/utf8_chinees 中文/utf8_b /home/waterlan/src/utf8/test/utf8/utf8_chinees 中/bb/utf8_EUR € 14.95 /home/waterlan/src/utf8/test/utf8/utf8_chinees 中/cc /home/waterlan/src/utf8/test/utf8/utf8_chinees 中/cc/utf8_a /home/waterlan/src/utf8/test/utf8/utf8_chinees 中/cc/utf8_b /home/waterlan/src/utf8/utf8_EUR-8 € /home/waterlan/src/utf8/utf8_chinees 中文 /home/waterlan/src/utf8/utf8_nee /home/waterlan/src/utf8/utf8_comb_áêu̠-xx-o̷ /home/waterlan/src/utf8/utf8_comb_áêu̠-xx-o̷/a /home/waterlan/src/utf8/utf8_comb_áêu̠-xx-o̷/a/b /home/waterlan/src/utf8/utf8_comb_áêu̠-xx-o̷/a/b/c /home/waterlan/src/utf8/utf8_comb_áêu̠-xx-o̷/a/b/c/d /home/waterlan/src/utf8/utf8_comb_áêu̠-xx-o̷/a/c /home/waterlan/src/utf8/utf8_comb_áêu̠-xx-o̷/a/c/d /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷ /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/utf1 /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/utf1/utf2 /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/utf1/utf2/utf3 /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/utf1/utf2/utf3/a /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/utf1/utf2/utf3/a/b /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/utf1/utf2/utf3/a/b/c /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/utf1/utf2/utf3/a/b/c/d /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/utf1/utf2/utf3/a/b/c/d/e /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/utf1/utf2/utf3/a/b/c/d/e/f /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/utf1/utf2/utf3/utf4 /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/utf1/utf2/utf3/utf4/utf5 /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/a /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/a/b /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/a/b/c /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/a/b/c/d /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/a/b/c/d/e /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/a/b/c/d/e/f /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/a/b/c/d/e/f/g /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/a/b/c/d/e/f/g/h /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/a/b/c/d/e/f/g/h/i /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/a/b/c/d/e/f/g/h/i/utf8_x /home/waterlan/src/utf8/utf8_comb_áê中文u̠-xx-o̷/a/b/c/d/e/f/utf8_u /home/waterlan/src/utf8/utf8_nèe /home/waterlan/src/utf8/utf8_nêé /home/waterlan/src/utf8/utf8_surrogate_𠜎/utf8_𠜎/utf8_erwin /home/waterlan/src/utf8/utf8_surrogate_𠜎/utf8_9_𠜎/utf8_erwin /home/waterlan/src/utf8/utf8_surrogate_𠜎/utf8_99_𠜎/utf8_erwin /home/waterlan/src/utf8/utf8_surrogate_𠜎/utf8_99_𠜎/utf8_waterlander wcd-6.0.3/win32/0000755000175500010010000000000013524756523012522 5ustar waterlanGeenwcd-6.0.3/win32/Makefile0000644000175500010010000000444613524756523014172 0ustar waterlanGeen PREFIX = c:/usr/local prefix = $(PREFIX) exec_prefix = $(prefix) MKDIR = mkdir LIBS_EXTRA = -lkernel32 -luser32 -lmpr CFLAGS = -O2 -Wall -Wextra -Wconversion -Wno-unused-parameter CURSES = pdcursesw ENABLE_NLS = DEFS = ifdef CURSES LIB_CURSES = -l${CURSES} DEFS += -DWCD_USECURSES -DPDC_STATIC_BUILD DEFS += -DPDC_WIDE EXTRA_OBJ += wcwidth.o endif ifdef ENABLE_NLS LIBS_EXTRA += -lintl -liconv endif UCS=1 ifdef UNINORM UCS=1 endif ifdef UCS EXTRA_OBJ += matchw.o endif bindir = ${exec_prefix}/bin PROGRAM = wcdwin32.exe VERSIONSUFFIX = -win32 ZIPOBJ_EXTRA = bin/wcd.bat bin/wcd_win95.bat ifdef ENABLE_NLS # Using MinGW gettext,iconv ZIPOBJ_EXTRA += bin/libintl-8.dll bin/libiconv-2.dll # libgcc_s_dw2-1 and libwinpthread-1 are needed when built with MSYS2 ZIPOBJ_EXTRA += bin/libgcc_s_dw2-1.dll bin/libwinpthread-1.dll endif ifdef UNINORM ifndef ENABLE_NLS ZIPOBJ_EXTRA += bin/libgcc_s_dw2-1.dll bin/libwinpthread-1.dll # libunistring needs libiconv ZIPOBJ_EXTRA += bin/libiconv-2.dll endif ZIPOBJ_EXTRA += bin/libunistring-2.dll endif ifeq ($(findstring ncurses,$(CURSES)),ncurses) ifneq ($(findstring libwinpthread,$(ZIPOBJ_EXTRA)),libwinpthread) ZIPOBJ_EXTRA += bin/libwinpthread-1.dll endif endif all : ${MAKE} -C ../src all PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES=${LIB_CURSES} DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" prefix=${prefix} EXTRA_OBJ="${EXTRA_OBJ}" ENABLE_NLS=${ENABLE_NLS} install : ${MAKE} -C ../src install PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES=${LIB_CURSES} DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" prefix=${prefix} MKDIR=${MKDIR} EXTRA_OBJ="${EXTRA_OBJ}" INSTALL_OBJS_DOC_INSTALL="../doc/INST_DOS.txt ../doc/INSTALL.txt" ENABLE_NLS=${ENABLE_NLS} install -m 755 wcd.bat $(DESTDIR)${bindir}/wcd.bat install -m 755 wcd_win95.bat $(DESTDIR)${bindir}/wcd_win95.bat uninstall : ${MAKE} -C ../src uninstall PROGRAM=${PROGRAM} prefix=${prefix} ENABLE_NLS=${ENABLE_NLS} -rm -f $(DESTDIR)${bindir}/wcd.bat -rm -f $(DESTDIR)${bindir}/wcd_win95.bat dist : ${MAKE} -C ../src dist-zip ZIPOBJ_EXTRA="${ZIPOBJ_EXTRA}" PROGRAM=${PROGRAM} prefix=${prefix} VERSIONSUFFIX=${VERSIONSUFFIX} ENABLE_NLS=${ENABLE_NLS} strip: ${MAKE} -C ../src strip PROGRAM=${PROGRAM} mostlyclean : ${MAKE} -C ../src mostlyclean clean : ${MAKE} -C ../src clean wcd-6.0.3/win32/vc/0000755000175500010010000000000013524756523013132 5ustar waterlanGeenwcd-6.0.3/win32/vc/makefile0000644000175500010010000000175113524756523014636 0ustar waterlanGeenSRCDIR = ..\..\src !include $(SRCDIR)\version.mk CC = cl.exe /nologo LINK = link.exe /nologo PROGRAM = wcdwin32.exe DEFINES = CURSES = pdcursesw UCS = 1 !if "$(CURSES)" != "" DEFINES = $(DEFINES) /DWCD_USECURSES /DPDC_WIDE !endif CFLAGS = $(DEFINES) /I$(SRCDIR) /I$(SRCDIR)\c3po CFLAGS_VERSION = -DVERSION=\"$(VERSION)\" -DVERSION_DATE=\"$(VERSION_DATE)\" OBJS = wcd.obj match.obj stack.obj nameset.obj error.obj text.obj WcdStack.obj display.obj wfixpath.obj intset.obj wcddir.obj command.obj matchl.obj querycp.obj wcwidth.obj finddirs.obj LIBS = mpr.lib !if "$(CURSES)" != "" OBJS = $(OBJS) dirnode.obj colors.obj graphics.obj LIBS = $(LIBS) user32.lib advapi32.lib $(CURSES).lib !endif !if "$(UCS)" == "1" OBJS = $(OBJS) matchw.obj LIBS = $(LIBS) shell32.lib VERSIONSUFFIX = -win32-ucs !else VERSIONSUFFIX = -win32 !endif HTMLEXT = htm ZIPOBJ_EXTRA = bin\wcd.bat bin\wcd_win95.bat prefix = c:\usr\local !include $(SRCDIR)\vc.mak wcd-6.0.3/win32/watcom/0000755000175500010010000000000013524756523014014 5ustar waterlanGeenwcd-6.0.3/win32/watcom/makefile0000644000175500010010000000277213524756523015524 0ustar waterlanGeenSRCDIR = ..\..\src !include $(SRCDIR)\version.mk CC = wcc386 PROGRAM = wcdwin32.exe DEFINES = CURSES = pdcursesw UCS = 1 !ifneq CURSES DEFINES += -dWCD_USECURSES -dPDC_WIDE !endif CFLAGS = $(DEFINES) -i=$(SRCDIR) -i=$(SRCDIR)\c3po -w4 -e25 -zq -od -d2 -5r -bt=nt -mf CFLAGS_VERSION = -DVERSION="$(VERSION)" -DVERSION_DATE="$(VERSION_DATE)" OBJS = wcd.obj match.obj stack.obj nameset.obj error.obj text.obj WcdStack.obj display.obj wfixpath.obj intset.obj wcddir.obj command.obj matchl.obj querycp.obj wcwidth.obj finddirs.obj LOBJS = wcd.obj,match.obj,stack.obj,nameset.obj,error.obj,text.obj,WcdStack.obj,display.obj,wfixpath.obj,intset.obj,wcddir.obj,command.obj,matchl.obj,querycp.obj,wcwidth.obj,finddirs.obj !ifneq CURSES OBJS += dirnode.obj colors.obj graphics.obj LOBJS +=,dirnode.obj,colors.obj,graphics.obj !endif !ifeq UCS 1 OBJS += matchw.obj LOBJS +=,matchw.obj VERSIONSUFFIX = -win32-ucs !else VERSIONSUFFIX = -win32 !endif HTMLEXT = htm DOCFILES = $(SRCDIR)\man\man1\wcd.txt $(SRCDIR)\man\man1\wcd.$(HTMLEXT) ZIPOBJ_EXTRA = bin\wcd.bat bin\wcd_win95.bat prefix = c:\usr\local TARGET = nt all: $(PROGRAM) $(DOCFILES) .SYMBOLIC $(PROGRAM): $(OBJS) @%create wcd.lnk @%append wcd.lnk FIL $(LOBJS) @%append wcd.lnk library mpr.lib !ifneq CURSES @%append wcd.lnk library $(CURSES).lib !endif wlink name wcdwin32 d all SYS $(TARGET) op inc op m op st=64k op maxe=25 op q op symf @wcd.lnk del wcd.lnk !include $(SRCDIR)\watcom.mif wcd-6.0.3/win32/wcd.bat0000755000175500010010000000121313524756523013767 0ustar waterlanGeen@echo off set PDC_RESTORE_SCREEN=1 rem set WCDHOME=%HOMEDRIVE%%HOMEPATH% rem set LANG=nl_NL rem set LANGUAGE=nl rem set WCDLOCALEDIR=c:/Program Files/wcd/share/locale rem set WCDSCAN=c:;d: rem Define WCDHOME when WCDHOME and HOME are both not defined, rem because on Windows Vista and up users are not allowed to rem create files in the root directory of the system partition. IF NOT DEFINED WCDHOME ( IF NOT DEFINED HOME ( set WCDHOME=%HOMEDRIVE%%HOMEPATH% ) ) wcdwin32.exe %* IF DEFINED WCDHOME ( "%WCDHOME%\wcdgo.bat" ) ELSE ( IF DEFINED HOME ( "%HOME%\wcdgo.bat" ) ELSE ( c:\wcdgo.bat ) ) wcd-6.0.3/win32/wcd_win95.bat0000755000175500010010000000056313524756523015031 0ustar waterlanGeen@echo off set PDC_RESTORE_SCREEN=1 rem set LANG=nl_NL rem set LANGUAGE=nl rem set WCDLOCALEDIR=c:/Program Files/wcd/share/locale wcdwin32.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 IF NOT "%WCDHOME%" == "" GOTO WCDHOME IF NOT "%HOME%" == "" GOTO HOME c:\wcdgo.bat GOTO END :WCDHOME %WCDHOME%\wcdgo.bat GOTO END :HOME %HOME%\wcdgo.bat GOTO END :END wcd-6.0.3/win32psh/0000755000175500010010000000000013524756523013235 5ustar waterlanGeenwcd-6.0.3/win32psh/Makefile0000644000175500010010000000413313524756523014676 0ustar waterlanGeen PREFIX = c:/usr/local prefix = $(PREFIX) exec_prefix = $(prefix) MKDIR = mkdir LIBS_EXTRA = -lkernel32 -luser32 -lmpr CFLAGS = -O2 -Wall -Wextra -Wconversion -Wno-unused-parameter CURSES = pdcursesw ENABLE_NLS = DEFS = -DWCD_WINPWRSH ifdef CURSES LIB_CURSES = -l${CURSES} DEFS += -DWCD_USECURSES -DPDC_STATIC_BUILD DEFS += -DPDC_WIDE EXTRA_OBJ += wcwidth.o endif ifdef ENABLE_NLS LIBS_EXTRA += -lintl -liconv endif UCS=1 ifdef UNINORM UCS=1 endif ifdef UCS EXTRA_OBJ += matchw.o endif bindir = ${exec_prefix}/bin PROGRAM = wcdwin32psh.exe VERSIONSUFFIX = -win32psh ZIPOBJ_EXTRA = ifdef ENABLE_NLS # Using MinGW gettext,iconv ZIPOBJ_EXTRA += bin/libintl-8.dll bin/libiconv-2.dll # libgcc_s_dw2-1 and libwinpthread-1 are needed when built with MSYS2 ZIPOBJ_EXTRA += bin/libgcc_s_dw2-1.dll bin/libwinpthread-1.dll endif ifdef UNINORM ifndef ENABLE_NLS ZIPOBJ_EXTRA += bin/libgcc_s_dw2-1.dll bin/libwinpthread-1.dll # libunistring needs libiconv ZIPOBJ_EXTRA += bin/libiconv-2.dll endif ZIPOBJ_EXTRA += bin/libunistring-2.dll endif ifeq ($(findstring ncurses,$(CURSES)),ncurses) ifneq ($(findstring libwinpthread,$(ZIPOBJ_EXTRA)),libwinpthread) ZIPOBJ_EXTRA += bin/libwinpthread-1.dll endif endif all : ${MAKE} -C ../src all PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES=${LIB_CURSES} DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" prefix=${prefix} EXTRA_OBJ="${EXTRA_OBJ}" ENABLE_NLS=${ENABLE_NLS} install : ${MAKE} -C ../src install PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES=${LIB_CURSES} DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" prefix=${prefix} MKDIR=${MKDIR} EXTRA_OBJ="${EXTRA_OBJ}" INSTALL_OBJS_DOC_INSTALL="../doc/INST_DOS.txt ../doc/INSTALL.txt" ENABLE_NLS=${ENABLE_NLS} uninstall : ${MAKE} -C ../src uninstall PROGRAM=${PROGRAM} prefix=${prefix} ENABLE_NLS=${ENABLE_NLS} dist : ${MAKE} -C ../src dist-zip ZIPOBJ_EXTRA="${ZIPOBJ_EXTRA}" PROGRAM=${PROGRAM} prefix=${prefix} VERSIONSUFFIX=${VERSIONSUFFIX} ENABLE_NLS=${ENABLE_NLS} strip: ${MAKE} -C ../src strip PROGRAM=${PROGRAM} mostlyclean : ${MAKE} -C ../src mostlyclean clean : ${MAKE} -C ../src clean wcd-6.0.3/win32psh/vc/0000755000175500010010000000000013524756523013645 5ustar waterlanGeenwcd-6.0.3/win32psh/vc/makefile0000644000175500010010000000172413524756523015351 0ustar waterlanGeenSRCDIR = ..\..\src !include $(SRCDIR)\version.mk CC = cl.exe /nologo LINK = link.exe /nologo PROGRAM = wcdwin32psh.exe DEFINES = /DWCD_WINPWRSH CURSES = pdcursesw UCS = 1 !if "$(CURSES)" != "" DEFINES = $(DEFINES) /DWCD_USECURSES /DPDC_WIDE !endif CFLAGS = $(DEFINES) /I$(SRCDIR) /I$(SRCDIR)\c3po CFLAGS_VERSION = -DVERSION=\"$(VERSION)\" -DVERSION_DATE=\"$(VERSION_DATE)\" OBJS = wcd.obj match.obj stack.obj nameset.obj error.obj text.obj WcdStack.obj display.obj wfixpath.obj intset.obj wcddir.obj command.obj matchl.obj querycp.obj wcwidth.obj finddirs.obj LIBS = mpr.lib !if "$(CURSES)" != "" OBJS = $(OBJS) dirnode.obj colors.obj graphics.obj LIBS = $(LIBS) user32.lib advapi32.lib $(CURSES).lib !endif !if "$(UCS)" == "1" OBJS = $(OBJS) matchw.obj LIBS = $(LIBS) shell32.lib VERSIONSUFFIX = -win32psh-ucs !else VERSIONSUFFIX = -win32psh !endif HTMLEXT = htm prefix = c:\usr\local !include $(SRCDIR)\vc.mak wcd-6.0.3/win32psh/watcom/0000755000175500010010000000000013524756523014527 5ustar waterlanGeenwcd-6.0.3/win32psh/watcom/makefile0000644000175500010010000000274713524756523016241 0ustar waterlanGeenSRCDIR = ..\..\src !include $(SRCDIR)\version.mk CC = wcc386 PROGRAM = wcdwin32psh.exe DEFINES = -dWCD_WINPWRSH CURSES = pdcursesw UCS = 1 !ifneq CURSES DEFINES += -dWCD_USECURSES -dPDC_WIDE !endif CFLAGS = $(DEFINES) -i=$(SRCDIR) -i=$(SRCDIR)\c3po -w4 -e25 -zq -od -d2 -5r -bt=nt -mf CFLAGS_VERSION = -DVERSION="$(VERSION)" -DVERSION_DATE="$(VERSION_DATE)" OBJS = wcd.obj match.obj stack.obj nameset.obj error.obj text.obj WcdStack.obj display.obj wfixpath.obj intset.obj wcddir.obj command.obj matchl.obj querycp.obj wcwidth.obj finddirs.obj LOBJS = wcd.obj,match.obj,stack.obj,nameset.obj,error.obj,text.obj,WcdStack.obj,display.obj,wfixpath.obj,intset.obj,wcddir.obj,command.obj,matchl.obj,querycp.obj,wcwidth.obj,finddirs.obj !ifneq CURSES OBJS += dirnode.obj colors.obj graphics.obj LOBJS +=,dirnode.obj,colors.obj,graphics.obj !endif !ifeq UCS 1 OBJS += matchw.obj LOBJS +=,matchw.obj VERSIONSUFFIX = -win32psh-ucs !else VERSIONSUFFIX = -win32psh !endif HTMLEXT = htm DOCFILES = $(SRCDIR)\man\man1\wcd.txt $(SRCDIR)\man\man1\wcd.$(HTMLEXT) prefix = c:\usr\local TARGET = nt all: $(PROGRAM) $(DOCFILES) .SYMBOLIC $(PROGRAM): $(OBJS) @%create wcd.lnk @%append wcd.lnk FIL $(LOBJS) @%append wcd.lnk library mpr.lib !ifneq CURSES @%append wcd.lnk library $(CURSES).lib !endif wlink name wcdwin32psh d all SYS $(TARGET) op inc op m op st=64k op maxe=25 op q op symf @wcd.lnk del wcd.lnk !include $(SRCDIR)\watcom.mif wcd-6.0.3/win32zsh/0000755000175500010010000000000013524756523013247 5ustar waterlanGeenwcd-6.0.3/win32zsh/Makefile0000644000175500010010000000420413524756523014707 0ustar waterlanGeen PREFIX = c:/usr/local prefix = $(PREFIX) exec_prefix = $(prefix) MKDIR = mkdir LIBS_EXTRA = -lkernel32 -luser32 -lmpr CFLAGS = -O2 -Wall -Wextra -Wconversion -Wno-unused-parameter CURSES = pdcursesw ENABLE_NLS = DEFS = -DWCD_WINZSH ifdef CURSES LIB_CURSES = -l${CURSES} DEFS += -DWCD_USECURSES -DPDC_STATIC_BUILD DEFS += -DPDC_WIDE EXTRA_OBJ += wcwidth.o endif ifdef ENABLE_NLS LIBS_EXTRA += -lintl -liconv endif UCS= ifdef UNINORM UCS=1 endif ifdef UCS EXTRA_OBJ += matchw.o endif bindir = ${exec_prefix}/bin PROGRAM = wcdwin32zsh.exe VERSIONSUFFIX = -win32zsh ZIPOBJ_EXTRA = ifdef ENABLE_NLS # Using MinGW gettext,iconv ZIPOBJ_EXTRA += bin/libintl-8.dll bin/libiconv-2.dll # libgcc_s_dw2-1 and libwinpthread-1 are needed when built with MSYS2 ZIPOBJ_EXTRA += bin/libgcc_s_dw2-1.dll bin/libwinpthread-1.dll endif ifdef UNINORM ifndef ENABLE_NLS ZIPOBJ_EXTRA += bin/libgcc_s_dw2-1.dll bin/libwinpthread-1.dll # libunistring needs libiconv ZIPOBJ_EXTRA += bin/libiconv-2.dll endif ZIPOBJ_EXTRA += bin/libunistring-2.dll endif ifeq ($(findstring ncurses,$(CURSES)),ncurses) ifneq ($(findstring libwinpthread,$(ZIPOBJ_EXTRA)),libwinpthread) ZIPOBJ_EXTRA += bin/libwinpthread-1.dll endif endif all : ${MAKE} -C ../src all PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES=${LIB_CURSES} DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" prefix=${prefix} EXTRA_OBJ="${EXTRA_OBJ}" ENABLE_NLS=${ENABLE_NLS} UCS=${UCS} install : ${MAKE} -C ../src install PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES=${LIB_CURSES} DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" prefix=${prefix} MKDIR=${MKDIR} EXTRA_OBJ="${EXTRA_OBJ}" INSTALL_OBJS_DOC_INSTALL="../doc/INST_DOS.txt ../doc/INSTALL.txt" ENABLE_NLS=${ENABLE_NLS} UCS=${UCS} uninstall : ${MAKE} -C ../src uninstall PROGRAM=${PROGRAM} prefix=${prefix} ENABLE_NLS=${ENABLE_NLS} UCS=${UCS} dist : ${MAKE} -C ../src dist-zip ZIPOBJ_EXTRA="${ZIPOBJ_EXTRA}" PROGRAM=${PROGRAM} prefix=${prefix} VERSIONSUFFIX=${VERSIONSUFFIX} ENABLE_NLS=${ENABLE_NLS} UCS=${UCS} strip: ${MAKE} -C ../src strip PROGRAM=${PROGRAM} mostlyclean : ${MAKE} -C ../src mostlyclean clean : ${MAKE} -C ../src clean wcd-6.0.3/win32zsh/vc/0000755000175500010010000000000013524756523013657 5ustar waterlanGeenwcd-6.0.3/win32zsh/vc/makefile0000644000175500010010000000172213524756523015361 0ustar waterlanGeenSRCDIR = ..\..\src !include $(SRCDIR)\version.mk CC = cl.exe /nologo LINK = link.exe /nologo PROGRAM = wcdwin32zsh.exe DEFINES = /DWCD_WINZSH CURSES = pdcursesw UCS = 1 !if "$(CURSES)" != "" DEFINES = $(DEFINES) /DWCD_USECURSES /DPDC_WIDE !endif CFLAGS = $(DEFINES) /I$(SRCDIR) /I$(SRCDIR)\c3po CFLAGS_VERSION = -DVERSION=\"$(VERSION)\" -DVERSION_DATE=\"$(VERSION_DATE)\" OBJS = wcd.obj match.obj stack.obj nameset.obj error.obj text.obj WcdStack.obj display.obj wfixpath.obj intset.obj wcddir.obj command.obj matchl.obj querycp.obj wcwidth.obj finddirs.obj LIBS = mpr.lib !if "$(CURSES)" != "" OBJS = $(OBJS) dirnode.obj colors.obj graphics.obj LIBS = $(LIBS) user32.lib advapi32.lib $(CURSES).lib !endif !if "$(UCS)" == "1" OBJS = $(OBJS) matchw.obj LIBS = $(LIBS) shell32.lib VERSIONSUFFIX = -win32zsh-ucs !else VERSIONSUFFIX = -win32zsh !endif HTMLEXT = htm prefix = c:\usr\local !include $(SRCDIR)\vc.mak wcd-6.0.3/win32zsh/watcom/0000755000175500010010000000000013524756523014541 5ustar waterlanGeenwcd-6.0.3/win32zsh/watcom/makefile0000644000175500010010000000274513524756523016251 0ustar waterlanGeenSRCDIR = ..\..\src !include $(SRCDIR)\version.mk CC = wcc386 PROGRAM = wcdwin32zsh.exe DEFINES = -dWCD_WINZSH CURSES = pdcursesw UCS = 1 !ifneq CURSES DEFINES += -dWCD_USECURSES -dPDC_WIDE !endif CFLAGS = $(DEFINES) -i=$(SRCDIR) -i=$(SRCDIR)\c3po -w4 -e25 -zq -od -d2 -5r -bt=nt -mf CFLAGS_VERSION = -DVERSION="$(VERSION)" -DVERSION_DATE="$(VERSION_DATE)" OBJS = wcd.obj match.obj stack.obj nameset.obj error.obj text.obj WcdStack.obj display.obj wfixpath.obj intset.obj wcddir.obj command.obj matchl.obj querycp.obj wcwidth.obj finddirs.obj LOBJS = wcd.obj,match.obj,stack.obj,nameset.obj,error.obj,text.obj,WcdStack.obj,display.obj,wfixpath.obj,intset.obj,wcddir.obj,command.obj,matchl.obj,querycp.obj,wcwidth.obj,finddirs.obj !ifneq CURSES OBJS += dirnode.obj colors.obj graphics.obj LOBJS +=,dirnode.obj,colors.obj,graphics.obj !endif !ifeq UCS 1 OBJS += matchw.obj LOBJS +=,matchw.obj VERSIONSUFFIX = -win32zsh-ucs !else VERSIONSUFFIX = -win32zsh !endif HTMLEXT = htm DOCFILES = $(SRCDIR)\man\man1\wcd.txt $(SRCDIR)\man\man1\wcd.$(HTMLEXT) prefix = c:\usr\local TARGET = nt all: $(PROGRAM) $(DOCFILES) .SYMBOLIC $(PROGRAM): $(OBJS) @%create wcd.lnk @%append wcd.lnk FIL $(LOBJS) @%append wcd.lnk library mpr.lib !ifneq CURSES @%append wcd.lnk library $(CURSES).lib !endif wlink name wcdwin32zsh d all SYS $(TARGET) op inc op m op st=64k op maxe=25 op q op symf @wcd.lnk del wcd.lnk !include $(SRCDIR)\watcom.mif wcd-6.0.3/win64/0000755000175500010010000000000013524756523012527 5ustar waterlanGeenwcd-6.0.3/win64/Makefile0000644000175500010010000000413613524756523014173 0ustar waterlanGeen PREFIX = c:/usr/local64 prefix = $(PREFIX) exec_prefix = $(prefix) MKDIR = mkdir LIBS_EXTRA = -lkernel32 -luser32 -lmpr #CC = x86_64-w64-mingw32-gcc #STRIP = x86_64-w64-mingw32-strip CC = gcc STRIP = strip CFLAGS = -O2 -Wall -Wextra -Wconversion -Wno-unused-parameter CURSES = pdcursesw ENABLE_NLS = DEFS = ifdef CURSES LIB_CURSES = -l${CURSES} DEFS += -DWCD_USECURSES -DPDC_STATIC_BUILD DEFS += -DPDC_WIDE EXTRA_OBJ += wcwidth.o endif ifdef ENABLE_NLS LIBS_EXTRA += -lintl -liconv endif UCS=1 ifdef UNINORM UCS=1 endif ifdef UCS EXTRA_OBJ += matchw.o endif bindir = ${exec_prefix}/bin PROGRAM = wcdwin64.exe VERSIONSUFFIX = -win64 ZIPOBJ_EXTRA = bin/wcd.bat ifdef ENABLE_NLS # Using MinGW gettext,iconv ZIPOBJ_EXTRA += bin/libintl-8.dll bin/libiconv-2.dll endif ifdef UNINORM ifndef ENABLE_NLS # libunistring needs libiconv ZIPOBJ_EXTRA += bin/libiconv-2.dll endif ZIPOBJ_EXTRA += bin/libunistring-2.dll endif ifeq ($(findstring ncurses,$(CURSES)),ncurses) ifneq ($(findstring libwinpthread,$(ZIPOBJ_EXTRA)),libwinpthread) ZIPOBJ_EXTRA += bin/libwinpthread-1.dll endif endif all : ${MAKE} -C ../src all PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES=${LIB_CURSES} DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" prefix=${prefix} EXTRA_OBJ="${EXTRA_OBJ}" ENABLE_NLS=${ENABLE_NLS} CC=$(CC) install : ${MAKE} -C ../src install PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES=${LIB_CURSES} DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" prefix=${prefix} MKDIR=${MKDIR} EXTRA_OBJ="${EXTRA_OBJ}" INSTALL_OBJS_DOC_INSTALL="../doc/INST_DOS.txt ../doc/INSTALL.txt" ENABLE_NLS=${ENABLE_NLS} CC=$(CC) install -m 755 wcd.bat $(DESTDIR)${bindir}/wcd.bat uninstall : ${MAKE} -C ../src uninstall PROGRAM=${PROGRAM} prefix=${prefix} ENABLE_NLS=${ENABLE_NLS} -rm -f $(DESTDIR)${bindir}/wcd.bat dist : ${MAKE} -C ../src dist-zip ZIPOBJ_EXTRA="${ZIPOBJ_EXTRA}" PROGRAM=${PROGRAM} prefix=${prefix} VERSIONSUFFIX=${VERSIONSUFFIX} ENABLE_NLS=${ENABLE_NLS} strip: ${MAKE} -C ../src strip PROGRAM=${PROGRAM} STRIP=$(STRIP) mostlyclean : ${MAKE} -C ../src mostlyclean clean : ${MAKE} -C ../src clean wcd-6.0.3/win64/vc/0000755000175500010010000000000013524756523013137 5ustar waterlanGeenwcd-6.0.3/win64/vc/makefile0000644000175500010010000000173113524756523014641 0ustar waterlanGeenSRCDIR = ..\..\src !include $(SRCDIR)\version.mk CC = cl.exe /nologo LINK = link.exe /nologo PROGRAM = wcdwin64.exe DEFINES = CURSES = pdcursesw UCS = 1 !if "$(CURSES)" != "" DEFINES = $(DEFINES) /DWCD_USECURSES /DPDC_WIDE !endif CFLAGS = $(DEFINES) /I$(SRCDIR) /I$(SRCDIR)\c3po CFLAGS_VERSION = -DVERSION=\"$(VERSION)\" -DVERSION_DATE=\"$(VERSION_DATE)\" OBJS = wcd.obj match.obj stack.obj nameset.obj error.obj text.obj WcdStack.obj display.obj wfixpath.obj intset.obj wcddir.obj command.obj matchl.obj querycp.obj wcwidth.obj finddirs.obj LIBS = mpr.lib !if "$(CURSES)" != "" OBJS = $(OBJS) dirnode.obj colors.obj graphics.obj LIBS = $(LIBS) user32.lib advapi32.lib $(CURSES).lib !endif !if "$(UCS)" == "1" OBJS = $(OBJS) matchw.obj LIBS = $(LIBS) shell32.lib VERSIONSUFFIX = -win64-ucs !else VERSIONSUFFIX = -win64 !endif HTMLEXT = htm ZIPOBJ_EXTRA = bin\wcd.bat prefix = c:\usr\local64 !include $(SRCDIR)\vc.mak wcd-6.0.3/win64/wcd.bat0000755000175500010010000000121313524756523013774 0ustar waterlanGeen@echo off set PDC_RESTORE_SCREEN=1 rem set WCDHOME=%HOMEDRIVE%%HOMEPATH% rem set LANG=nl_NL rem set LANGUAGE=nl rem set WCDLOCALEDIR=c:/Program Files/wcd/share/locale rem set WCDSCAN=c:;d: rem Define WCDHOME when WCDHOME and HOME are both not defined, rem because on Windows Vista and up users are not allowed to rem create files in the root directory of the system partition. IF NOT DEFINED WCDHOME ( IF NOT DEFINED HOME ( set WCDHOME=%HOMEDRIVE%%HOMEPATH% ) ) wcdwin64.exe %* IF DEFINED WCDHOME ( "%WCDHOME%\wcdgo.bat" ) ELSE ( IF DEFINED HOME ( "%HOME%\wcdgo.bat" ) ELSE ( c:\wcdgo.bat ) ) wcd-6.0.3/win64psh/0000755000175500010010000000000013524756523013242 5ustar waterlanGeenwcd-6.0.3/win64psh/Makefile0000644000175500010010000000401713524756523014704 0ustar waterlanGeen PREFIX = c:/usr/local64 prefix = $(PREFIX) exec_prefix = $(prefix) MKDIR = mkdir LIBS_EXTRA = -lkernel32 -luser32 -lmpr #CC = x86_64-w64-mingw32-gcc #STRIP = x86_64-w64-mingw32-strip CC = gcc STRIP = strip CFLAGS = -O2 -Wall -Wextra -Wconversion -Wno-unused-parameter CURSES = pdcursesw ENABLE_NLS = DEFS = -DWCD_WINPWRSH ifdef CURSES LIB_CURSES = -l${CURSES} DEFS += -DWCD_USECURSES -DPDC_STATIC_BUILD DEFS += -DPDC_WIDE EXTRA_OBJ += wcwidth.o endif ifdef ENABLE_NLS LIBS_EXTRA += -lintl -liconv endif UCS=1 ifdef UNINORM UCS=1 endif ifdef UCS EXTRA_OBJ += matchw.o endif bindir = ${exec_prefix}/bin PROGRAM = wcdwin64psh.exe VERSIONSUFFIX = -win64psh ZIPOBJ_EXTRA = # Using MinGW gettext,iconv ifdef ENABLE_NLS ZIPOBJ_EXTRA += bin/libintl-8.dll bin/libiconv-2.dll endif ifdef UNINORM ifndef ENABLE_NLS # libunistring needs libiconv ZIPOBJ_EXTRA += bin/libiconv-2.dll endif ZIPOBJ_EXTRA += bin/libunistring-2.dll endif ifeq ($(findstring ncurses,$(CURSES)),ncurses) ifneq ($(findstring libwinpthread,$(ZIPOBJ_EXTRA)),libwinpthread) ZIPOBJ_EXTRA += bin/libwinpthread-1.dll endif endif all : ${MAKE} -C ../src all PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES=${LIB_CURSES} DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" prefix=${prefix} EXTRA_OBJ="${EXTRA_OBJ}" ENABLE_NLS=${ENABLE_NLS} CC=$(CC) install : ${MAKE} -C ../src install PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES=${LIB_CURSES} DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" prefix=${prefix} MKDIR=${MKDIR} EXTRA_OBJ="${EXTRA_OBJ}" INSTALL_OBJS_DOC_INSTALL="../doc/INST_DOS.txt ../doc/INSTALL.txt" ENABLE_NLS=${ENABLE_NLS} CC=$(CC) uninstall : ${MAKE} -C ../src uninstall PROGRAM=${PROGRAM} prefix=${prefix} ENABLE_NLS=${ENABLE_NLS} dist : ${MAKE} -C ../src dist-zip ZIPOBJ_EXTRA="${ZIPOBJ_EXTRA}" PROGRAM=${PROGRAM} prefix=${prefix} VERSIONSUFFIX=${VERSIONSUFFIX} ENABLE_NLS=${ENABLE_NLS} strip: ${MAKE} -C ../src strip PROGRAM=${PROGRAM} STRIP=$(STRIP) mostlyclean : ${MAKE} -C ../src mostlyclean clean : ${MAKE} -C ../src clean wcd-6.0.3/win64psh/vc/0000755000175500010010000000000013524756523013652 5ustar waterlanGeenwcd-6.0.3/win64psh/vc/makefile0000644000175500010010000000172613524756523015360 0ustar waterlanGeenSRCDIR = ..\..\src !include $(SRCDIR)\version.mk CC = cl.exe /nologo LINK = link.exe /nologo PROGRAM = wcdwin64psh.exe DEFINES = /DWCD_WINPWRSH CURSES = pdcursesw UCS = 1 !if "$(CURSES)" != "" DEFINES = $(DEFINES) /DWCD_USECURSES /DPDC_WIDE !endif CFLAGS = $(DEFINES) /I$(SRCDIR) /I$(SRCDIR)\c3po CFLAGS_VERSION = -DVERSION=\"$(VERSION)\" -DVERSION_DATE=\"$(VERSION_DATE)\" OBJS = wcd.obj match.obj stack.obj nameset.obj error.obj text.obj WcdStack.obj display.obj wfixpath.obj intset.obj wcddir.obj command.obj matchl.obj querycp.obj wcwidth.obj finddirs.obj LIBS = mpr.lib !if "$(CURSES)" != "" OBJS = $(OBJS) dirnode.obj colors.obj graphics.obj LIBS = $(LIBS) user32.lib advapi32.lib $(CURSES).lib !endif !if "$(UCS)" == "1" OBJS = $(OBJS) matchw.obj LIBS = $(LIBS) shell32.lib VERSIONSUFFIX = -win64psh-ucs !else VERSIONSUFFIX = -win64psh !endif HTMLEXT = htm prefix = c:\usr\local64 !include $(SRCDIR)\vc.mak wcd-6.0.3/win64zsh/0000755000175500010010000000000013524756523013254 5ustar waterlanGeenwcd-6.0.3/win64zsh/Makefile0000644000175500010010000000407013524756523014715 0ustar waterlanGeen PREFIX = c:/usr/local64 prefix = $(PREFIX) exec_prefix = $(prefix) MKDIR = mkdir LIBS_EXTRA = -lkernel32 -luser32 -lmpr #CC = x86_64-w64-mingw32-gcc #STRIP = x86_64-w64-mingw32-strip CC = gcc STRIP = strip CFLAGS = -O2 -Wall -Wextra -Wconversion -Wno-unused-parameter CURSES = pdcursesw ENABLE_NLS = DEFS = -DWCD_WINZSH ifdef CURSES LIB_CURSES = -l${CURSES} DEFS += -DWCD_USECURSES -DPDC_STATIC_BUILD DEFS += -DPDC_WIDE EXTRA_OBJ += wcwidth.o endif ifdef ENABLE_NLS LIBS_EXTRA += -lintl -liconv endif UCS= ifdef UNINORM UCS=1 endif ifdef UCS EXTRA_OBJ += matchw.o endif bindir = ${exec_prefix}/bin PROGRAM = wcdwin64zsh.exe VERSIONSUFFIX = -win64zsh ZIPOBJ_EXTRA = ifdef ENABLE_NLS # Using MinGW gettext,iconv ZIPOBJ_EXTRA += bin/libintl-8.dll bin/libiconv-2.dll endif ifdef UNINORM ifndef ENABLE_NLS # libunistring needs libiconv ZIPOBJ_EXTRA += bin/libiconv-2.dll endif ZIPOBJ_EXTRA += bin/libunistring-2.dll endif ifeq ($(findstring ncurses,$(CURSES)),ncurses) ifneq ($(findstring libwinpthread,$(ZIPOBJ_EXTRA)),libwinpthread) ZIPOBJ_EXTRA += bin/libwinpthread-1.dll endif endif all : ${MAKE} -C ../src all PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES=${LIB_CURSES} DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" prefix=${prefix} EXTRA_OBJ="${EXTRA_OBJ}" ENABLE_NLS=${ENABLE_NLS} CC=${CC} UCS=${UCS} install : ${MAKE} -C ../src install PROGRAM=${PROGRAM} CFLAGS="${CFLAGS}" CURSES=${CURSES} LIB_CURSES=${LIB_CURSES} DEFS="${DEFS}" LIBS_EXTRA="${LIBS_EXTRA}" prefix=${prefix} MKDIR=${MKDIR} EXTRA_OBJ="${EXTRA_OBJ}" INSTALL_OBJS_DOC_INSTALL="../doc/INST_DOS.txt ../doc/INSTALL.txt" ENABLE_NLS=${ENABLE_NLS} CC=${CC} UCS=${UCS} uninstall : ${MAKE} -C ../src uninstall PROGRAM=${PROGRAM} prefix=${prefix} ENABLE_NLS=${ENABLE_NLS} UCS=${UCS} dist : ${MAKE} -C ../src dist-zip ZIPOBJ_EXTRA="${ZIPOBJ_EXTRA}" PROGRAM=${PROGRAM} prefix=${prefix} VERSIONSUFFIX=${VERSIONSUFFIX} ENABLE_NLS=${ENABLE_NLS} UCS=${UCS} strip: ${MAKE} -C ../src strip PROGRAM=${PROGRAM} STRIP=$(STRIP) mostlyclean : ${MAKE} -C ../src mostlyclean clean : ${MAKE} -C ../src clean wcd-6.0.3/win64zsh/vc/0000755000175500010010000000000013524756523013664 5ustar waterlanGeenwcd-6.0.3/win64zsh/vc/makefile0000644000175500010010000000172413524756523015370 0ustar waterlanGeenSRCDIR = ..\..\src !include $(SRCDIR)\version.mk CC = cl.exe /nologo LINK = link.exe /nologo PROGRAM = wcdwin64zsh.exe DEFINES = /DWCD_WINZSH CURSES = pdcursesw UCS = 1 !if "$(CURSES)" != "" DEFINES = $(DEFINES) /DWCD_USECURSES /DPDC_WIDE !endif CFLAGS = $(DEFINES) /I$(SRCDIR) /I$(SRCDIR)\c3po CFLAGS_VERSION = -DVERSION=\"$(VERSION)\" -DVERSION_DATE=\"$(VERSION_DATE)\" OBJS = wcd.obj match.obj stack.obj nameset.obj error.obj text.obj WcdStack.obj display.obj wfixpath.obj intset.obj wcddir.obj command.obj matchl.obj querycp.obj wcwidth.obj finddirs.obj LIBS = mpr.lib !if "$(CURSES)" != "" OBJS = $(OBJS) dirnode.obj colors.obj graphics.obj LIBS = $(LIBS) user32.lib advapi32.lib $(CURSES).lib !endif !if "$(UCS)" == "1" OBJS = $(OBJS) matchw.obj LIBS = $(LIBS) shell32.lib VERSIONSUFFIX = -win64zsh-ucs !else VERSIONSUFFIX = -win64zsh !endif HTMLEXT = htm prefix = c:\usr\local64 !include $(SRCDIR)\vc.mak