Simplify and fix listview ellipsification of large text labels.
[wine/hacks.git] / documentation / wine.man.in
blob88da2db0f263d02042a2603d62c5671817df9f25
1 .\" -*- nroff -*-
2 .TH WINE 1 "Oct 13, 2001" "Version 20011004" "Windows On Unix"
3 .SH NAME
4 wine \- run Windows programs on Unix
5 .SH SYNOPSIS
6 .BI "wine " "[wine_options] " "[--] " "program " "[arguments ... ]"
7 .PP
8 For instructions on passing arguments to Windows programs, please see the 
9 .B
10 PROGRAM/ARGUMENTS
11 section of the man page.
12 .SH DESCRIPTION
13 .B wine
14 .I program
15 loads and runs the given program, where the program is a DOS, Windows 3.x,
16 or Win32 executable (x86 binaries only).
17 .PP
18 For debugging wine, use
19 .B winedbg
20 .I program
21 instead.
22 .PP
23 For running CUI executables (Windows console programs), use
24 .B wineconsole
25 instead of
26 .B wine
27 . This will display all the output in a separate windows (this requires X11 to
28 run). Not using
29 .B wineconsole
30 for CUI programs will only provide very limited console support, and your
31 program might not function properly.
32 .PP
33 .B wine 
34 currently runs a growing list of applications written for all kinds of
35 Windows versions >= Win2.0, e.g. Win3.1, Win95/98, NT.
36 Older, simpler applications work better than newer, more complex ones.
37 Using Windows ME or Win2000 components with Wine is more problematic than
38 using none at all or the ones from older Windows versions.
39 A large percentage of the API has been implemented,
40 although there are still several major pieces of work left to do.
41 .SH REQUIREMENTS AND INSTALLATION
42 Read the README file in the Wine source distribution to know what Wine
43 requires and how it is installed from source.
44 .SH OPTIONS
45 .TP
46 .I --debugmsg [xxx]#name[,[xxx1]#name1][,<+|->relay=yyy1[:yyy2]]
47 Turn debugging messages on or off.  
48 .RS +7
49 .PP
50 xxx is optional and can be one of the following: 
51 .I err, 
52 .I warn, 
53 .I fixme, 
54 or 
55 .I trace. 
56 If xxx is not specified, all debugging messages for the specified
57 channel are turned on.  Each channel will print messages about a particular
58 component of 
59 .B wine.  
60 # is required and can be either + or -.  Note that 
61 there is not a space after the comma between names. yyy are either the
62 name of a whole DLL or a single API entry by name you either
63 want to include or exclude from the relay listing.  Case doesn't matter
64 for these.  You can do the same for snoop.
65 .PP
66 For instance:
67 .PP
68 .I --debugmsg warn+all
69 will turn on all warning messages (recommended for debugging)
70 .br
71 .I --debugmsg warn+dll,+heap
72 will turn on DLL warning messages and all heap messages.  
73 .br
74 .I --debugmsg fixme-all,warn+cursor,+relay
75 will turn off all FIXME messages, turn on cursor warning messages, and turn
76 on all relay messages (API calls).
77 .br 
78 .I --debugmsg -relay=rtlleavecriticalsection:RtlEnterCriticalSection
79 will turn on all relay messages except for RtlLeaveCriticalSection and
80 RtlEnterCriticalSection.
81 .br 
82 .I --debugmsg +relay=advapi32
83 will only turn on relay messages into the ADVAPI32 code.
84 .PP
85 The full list of names is:
86 all, accel, advapi, animate, aspi, atom, avifile, bitblt, bitmap, caret,
87 cdrom, class, clipboard, clipping, combo, comboex, comm, commctrl, commdlg,
88 console, crtdll, cursor, datetime, dc, ddeml, ddraw, debug, debugstr,
89 delayhlp, dialog, dinput, dll, dosfs, dosmem, dplay, driver, dsound, edit,
90 elfdll, enhmetafile, event, exec, file, fixup, font, gdi, global, graphics,
91 header, heap, hook, hotkey, icmp, icon, imagehlp, imagelist, imm, int, int10,
92 int16, int17, int19, int21, int31, io, ipaddress, joystick, key, keyboard,
93 ldt, listbox, listview, local, mci, mcianim, mciavi, mcicda, mcimidi,
94 mciwave, mdi, menu, message, metafile, midi, mmaux, mmio, mmsys, mmtime,
95 module, monthcal, mpr, msacm, msg, msvideo, nativefont, nonclient, ntdll,
96 odbc, ole, pager, palette, pidl, print, process, profile, progress, prop,
97 propsheet, psapi, psdrv, ras, rebar, reg, region, relay, resource, scroll,
98 segment, seh, selector, sendmsg, server, setupx, shell, snoop, sound,
99 static, statusbar, storage, stress, string, syscolor, system, tab, tape,
100 tapi, task, text, thread, thunk, timer, toolbar, toolhelp, tooltips,
101 trackbar, treeview, ttydrv, tweak, typelib, updown, ver, virtual, vxd, wave,
102 win, win16drv, win32, winedbg, wing, winsock, winspool, wnet, x11 and x11drv.
105 For more information on debugging messages, see the file 
106 .I documentation/debug-msgs
107 in the source distribution (FIXME: outdated).
110 .I --dll name[,name[,...]]={native|so|builtin}[,{n|s|b}[,...]]
111 Selects the override type and load order of dll used in the loading
112 process for any dll. The default is set in the configuration
113 file. There are currently three types of libraries that can be loaded
114 into a process' address space: Native windows dlls (
115 .I native
116 ), native ELF libraries (
117 .I so
118 )and 
119 .B wine 
120 internal dlls (
121 .I builtin
122 ). The type may be abbreviated with the first letter of the type (
123 .I n, s, b
124 ). Each sequence of orders must be separated by commas.
126 Each dll may have its own specific load order. The load order
127 determines which version of the dll is attempted to be loaded into the
128 address space. If the first fails, then the next is tried and so
129 on. Multiple libraries with the same load order can be separated with
130 commas. It is also possible to use the --dll option several times, to
131 specify different loadorders for different libraries
133 Examples:
135 .I --dll comdlg32,commdlg=n,b
137 Try to load comdlg32 and commdlg as native windows dll first and try
138 the builtin version if the native load fails.
140 .I --dll shell,shell32=n --dll c:\(rs\(rsfoo\(rs\(rsbar\(rs\(rsbaz=b
142 Try to load the libraries shell and shell32 as native windows dlls. Furthermore, if 
143 an application request to load c:\(rsfoo\(rsbar\(rsbaz.dll load the builtin library baz. 
145 .I --dll comdlg32,commdlg=b,n --dll shell,shell32=b --dll comctl32,commctrl=n
147 Try to load comdlg32 and commdlg as builtin first and try the native version
148 if the builtin load fails; load shell32/shell always as builtin and
149 comctl32/commctrl always as native.
151 Note: It is wise to keep dll pairs (comdlg32/commdlg, shell/shell32, etc.)
152 having exactly the same load order. This will prevent mismatches at runtime.
153 See also configuration file format below.
155 .I --dosver version
156 Specify the DOS version 
157 .B wine 
158 should imitate (e.g. 6.22) This option
159 is only valid when used in conjunction with --winver win31.
161 .I --managed
162 Create each top-level window as a properly managed X window instead of
163 creating our own "sticky" window.
165 .I --winver version
166 Specify which Windows version 
167 .B wine 
168 should imitate.
169 Possible arguments are: win95, win98, winme, nt351, nt40, win2000, winxp, 
170 win20, win30 and win31.
171 .PD 1
172 .SH PROGRAM/ARGUMENTS
173 The program name may be specified in DOS format (
175 C:\(rs\(rsWINDOWS\(rs\(rsSOL.EXE)
176 or in Unix format (
177 .I /msdos/windows/sol.exe
178 ).  You may pass arguments to the program being executed by adding them 
179 to the end of the command line invoking
180 .B wine
181 (such as: wine notepad C:\(rs\(rsTEMP\(rs\(rsREADME.TXT).
182 Note that you need to '\(rs' escape special characters (and spaces) when invoking Wine via
183 a shell, e.g.
185 wine C:\(rs\(rsProgram\(rs Files\(rs\(rsMyPrg\(rs\(rstest.exe
187 Command line processing goes as
188 follows: first 
189 .B wine
190 checks whether one or more of the above mentioned 
191 .B wine 
192 options have been specified. These
193 are removed from the command line, which is passed to the windows program. You can use
194 the parameter 
195 .I -- 
196 to indicate that 
197 .B wine 
198 should stop command line processing. This is needed in case a windows program understands 
199 an option that is usually interpreted (and thus removed from the command line) 
200 by 
201 .B wine. 
202 For example, if you want to execute 
203 .B wine 
204 with the options 
205 .I --managed --dll riched32=n
206 and if 
207 .B wine 
208 should run the program 
209 .I myapp.exe
210 with the arguments
211 .I --display 3d somefile
212 , then you could use the following command line to invoke 
213 .B wine:
215 .I wine --managed --dll riched32=n -- myapp.exe --display 3d somefile
216 .PP 
217 Note that in contrast to previous versions of 
218 .B wine, 
219 you must not pass 
220 program name and program option in one argument to 
221 .B wine. 
222 To run more
223 than one windows program, just execute 
224 .B wine 
225 once with the name of each program as argument. 
226 .SH ENVIRONMENT VARIABLES
227 .B wine
228 makes the environment variables of the shell from which
229 .B wine
230 is started accessible to the windows/dos processes started. So use the
231 appropriate syntax for your shell to enter environment variables you need.
232 .TP 
233 .I WINEPREFIX
234 If set, the content of this variable is taken as the name of the directory where
235 .B wine
236 stores its data (the default is 
237 .I $HOME/.wine
238 ). This directory contains also the socket, which is used to communicate with the
239 .I wineserver.
240 All 
241 .B wine
242 processes using the same 
243 .B wineserver
244 (i.e.: same user) share certain things like registry, shared memory,
245 and config file.
246 By setting 
247 .I WINEPREFIX
248 to different values for different 
249 .B wine
250 processes, it is possible to run a number of truly independent 
251 .B wine
252 processes. 
254 .I WINEPRELOAD
255 If set, specifies the full name of a shared library that
256 .B wine
257 loads and runs as a Winelib application.
259 .I WINESERVER
260 Specifies the path and name of the
261 .B wineserver
262 binary. If not set, a file named "wineserver" is searched in the
263 path and in a few other likely locations.
265 .I WINELOADER
266 Specifies the path and name of the
267 .B wine
268 binary to use to launch new Windows processes. If not set, a binary
269 named "wine" is searched in the path and in a few other likely
270 locations.
272 .I WINEDLLPATH
273 Specifies the path(s) in which to search for builtin dll files. This
274 is a list of directories separated by ":". Builtin dlls are also
275 searched in the directories specified by the standard
276 .I LD_LIBRARY_PATH
277 if they are not found in the directories listed in
278 .I WINEDLLPATH.
280 .I DISPLAY
281 Specifies the X11 display to use.
282 .SH CONFIGURATION FILE
283 .B wine
284 expects a configuration file (
285 .I $WINEPREFIX/config
286 (~/.wine/config)
287 ), which must conform to the format specified in the
288 .BR wine.conf (5)
289 man page. A sample configuration file is documentation/samples/config in the 
290 .B wine 
291 source archive.
292 .SH AUTHORS
293 .B wine
294 is available thanks to the work of many developers. For a listing
295 of the authors, please see the file 
296 .B AUTHORS
297 in the top-level directory of the source distribution.
298 .SH COPYRIGHT
299 .B wine
300 can be distributed under the terms of the X11 license. A copy of the
301 license is in the file
302 .B LICENSE
303 in the top-level directory of the source distribution.
304 .SH BUGS
306 A status report on many applications is available from
307 .I http://www.winehq.com/Apps.
308 Please add entries to this list for applications you currently run.
310 Bug reports and successes may be posted to 
311 .I comp.emulators.ms-windows.wine.
312 If you want to post a bug report, please read the file
313 .I documentation/bugreports
314 in the 
315 .B wine 
316 source to see what information is necessary (FIXME: outdated).
318 For problems and suggestions with this manpage, please send a note to
319 James Juran <jrj120@psu.edu>.
320 .SH AVAILABILITY
321 The most recent public version of 
322 .B wine
323 can be obtained via FTP from ibiblio.org in the
324 /pub/Linux/ALPHA/Wine/development directory.  The releases are in the
325 format 'Wine-yyyymmdd.tar.gz', or 'Wine-yyyymmdd.diff.gz' for the
326 diff's from the previous release. The same directory holds the
327 pre-built contents of the documentation in various formats
328 (wine-doc.xxx.gz).
330 The latest snapshot of the code may be obtained via CVS.  For information
331 on how to do this, please see
333 http://www.winehq.com/dev.html
335 WineHQ, the
336 .B wine
337 development headquarters, is at
338 .I http://www.winehq.com/.
339 This website contains a great deal of information about
340 .B wine.
343 .B wine 
344 newsgroup is 
345 .I comp.emulators.ms-windows.wine.
346 It is used for discussion of various 
347 .B wine end user aspects/help.
349 For further information about 
350 .B wine
351 development, you might want to subscribe to the 
352 .B wine 
353 "cvs", "devel" and "patches" mailing lists at
354 .I http://www.winehq.com/dev.html#ml.
355 .SH FILES
356 .PD 0
358 .I @prefix@/bin/wine
359 The 
360 .B wine 
361 program loader.
363 .I @prefix@/bin/wineconsole
364 The 
365 .B wine 
366 program loader for CUI (console) applications.
368 .I @prefix@/bin/dosmod
369 The DOS program loader.
371 .I @prefix@/bin/wineserver
372 The 
373 .B wine 
374 server 
375 .TP 
376 .I @prefix@/bin/winedbg
377 The 
378 .B wine 
379 debugger
380 .TP 
381 .I @prefix@/bin/wineclpsrv
382 The 
383 .B wine 
384 clipboard server
385 .TP 
386 .I @prefix@/lib/
387 Directory containing 
388 .B wine's
389 shared libraries 
391 .I ~/.wine/config
392 User-specific configuration file
393 .TP 
394 .I ~/.wine
395 Directory containing user specific data managed by 
396 .B wine. 
398 .SH "SEE ALSO"
399 .BR wine.conf (5)