diff options
author | Henrik Andersson <hean01@cendio.com> | 2017-11-02 09:20:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-02 09:20:26 +0100 |
commit | 50100f85e6ac81addbf28e9bfe0af7d1b97921ec (patch) | |
tree | 3c2ccd9575006aec81984e7faf16482c540fd375 | |
parent | e7cda3dbf8074c78ff9ad852a59811b10a78dcb8 (diff) | |
parent | 9e99dd52d6d7324ec7c60b904b2e924a3822ab9e (diff) | |
download | rdesktop-50100f85e6ac81addbf28e9bfe0af7d1b97921ec.zip |
Merge pull request #183 from realsobek/fix-spelling-mistakes
Fix minor spelling mistakes
-rw-r--r-- | README.md | 8 | ||||
-rw-r--r-- | bitmap.c | 4 | ||||
-rw-r--r-- | cache.c | 8 | ||||
-rwxr-xr-x | config.guess | 2 | ||||
-rw-r--r-- | constants.h | 8 | ||||
-rw-r--r-- | cssp.c | 8 | ||||
-rw-r--r-- | ctrl.c | 8 | ||||
-rw-r--r-- | disk.c | 12 | ||||
-rw-r--r-- | doc/ChangeLog | 20 | ||||
-rw-r--r-- | doc/TODO | 4 | ||||
-rw-r--r-- | doc/ctrl.txt | 4 | ||||
-rw-r--r-- | doc/ipv6.txt | 8 | ||||
-rw-r--r-- | doc/keymapping.txt | 6 | ||||
-rw-r--r-- | doc/licensing.txt | 4 | ||||
-rw-r--r-- | doc/patches.txt | 10 | ||||
-rw-r--r-- | doc/rdesktop.1 | 38 | ||||
-rw-r--r-- | doc/seamlessrdp-channel.txt | 18 | ||||
-rw-r--r-- | ewmhints.c | 4 | ||||
-rw-r--r-- | iso.c | 4 | ||||
-rw-r--r-- | licence.c | 26 | ||||
-rw-r--r-- | lspci.c | 4 | ||||
-rw-r--r-- | mppc.c | 4 | ||||
-rw-r--r-- | parallel.c | 8 | ||||
-rw-r--r-- | pstcache.c | 2 | ||||
-rw-r--r-- | rdesktop.c | 30 | ||||
-rw-r--r-- | rdesktop.h | 2 | ||||
-rw-r--r-- | rdesktop.spec | 3 | ||||
-rw-r--r-- | rdp.c | 14 | ||||
-rw-r--r-- | rdpdr.c | 4 | ||||
-rw-r--r-- | rdpsnd.c | 2 | ||||
-rw-r--r-- | rdpsnd_dsp.c | 12 | ||||
-rw-r--r-- | scancodes.h | 2 | ||||
-rw-r--r-- | scard.c | 16 | ||||
-rw-r--r-- | seamless.c | 2 | ||||
-rw-r--r-- | secure.c | 4 | ||||
-rw-r--r-- | serial.c | 8 | ||||
-rw-r--r-- | ssl.c | 2 | ||||
-rw-r--r-- | uiports/nanoxreadme.txt | 2 | ||||
-rwxr-xr-x | uiports/nanoxwin.c | 6 | ||||
-rwxr-xr-x | uiports/qtereadme.txt | 2 | ||||
-rw-r--r-- | uiports/qtewin.cpp | 2 | ||||
-rwxr-xr-x | uiports/qtreadme.txt | 2 | ||||
-rwxr-xr-x | uiports/qtwin.cpp | 4 | ||||
-rwxr-xr-x | uiports/readme.txt | 2 | ||||
-rw-r--r-- | uiports/svgareadme.txt | 6 | ||||
-rw-r--r-- | uiports/svgawin.c | 4 | ||||
-rw-r--r-- | utils.c | 6 | ||||
-rw-r--r-- | xclip.c | 16 | ||||
-rw-r--r-- | xkeymap.c | 2 | ||||
-rw-r--r-- | xwin.c | 26 |
50 files changed, 203 insertions, 200 deletions
@@ -2,7 +2,7 @@ rdesktop is an open source client for Microsoft's RDP protocol. It is known to work with Windows versions ranging from NT 4 Terminal Server -to Windows 2012r2 RDS. rdesktop currently has implemented the RDP version 4 +to Windows 2012 R2 RDS. rdesktop currently has implemented the RDP version 4 and 5 protocols. @@ -25,7 +25,7 @@ the configure line. ## Note for users building from source -If you have retreived a snapshot of the rdesktop source, you will first +If you have retrieved a snapshot of the rdesktop source, you will first need to run `./bootstrap` in order to generate the build infrastructure. This is not necessary for release versions of rdesktop. @@ -36,9 +36,9 @@ Connect to an RDP server with: % rdesktop server -where server is the name of the Terminal Services machine. (If you receive +where server is the name of the Terminal Services machine. If you receive "Connection refused", this probably means that the server does not have -Terminal Services enabled, or there is a firewall blocking access.) +Terminal Services enabled, or there is a firewall blocking access. You can also specify a number of options on the command line. These are listed in the rdesktop manual page (run "man rdesktop"). @@ -17,8 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* three seperate function for speed when decompressing the bitmaps - when modifing one function make the change in the others +/* three separate function for speed when decompressing the bitmaps + when modifying one function make the change in the others jay.sorg@gmail.com */ /* indent is confused by this file */ @@ -31,9 +31,9 @@ extern int g_pstcache_fd[]; #define IS_SET(idx) (idx >= 0) /* - * TODO: Test for optimal value of BUMP_COUNT. TO_TOP gives lowest cpu utilisation but using + * TODO: Test for optimal value of BUMP_COUNT. TO_TOP gives lowest CPU utilisation but using * a positive value will hopefully result in less frequently used bitmaps having a greater chance - * of being evicted from the cache, and therby reducing the need to load bitmaps from disk. + * of being evicted from the cache, and thereby reducing the need to load bitmaps from disk. * (Jeroen) */ #define BUMP_COUNT 40 @@ -437,7 +437,7 @@ cache_put_cursor(uint16 cache_idx, RD_HCURSOR cursor) } /* BRUSH CACHE */ -/* index 0 is 2 colour brush, index 1 is muti colour brush */ +/* index 0 is 2 colour brush, index 1 is multi colour brush */ static BRUSHDATA g_brushcache[2][64]; /* Retrieve brush from cache */ @@ -454,7 +454,7 @@ cache_get_brush_data(uint8 colour_code, uint8 idx) } /* Store brush in cache */ -/* this function takes over the data pointer in struct, eg, caller gives it up */ +/* this function takes over the data pointer in struct, e.g. caller gives it up */ void cache_put_brush_data(uint8 colour_code, uint8 idx, BRUSHDATA * brush_data) { diff --git a/config.guess b/config.guess index 2fc3acc..de5b8d6 100755 --- a/config.guess +++ b/config.guess @@ -148,7 +148,7 @@ fi case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward diff --git a/constants.h b/constants.h index 974d519..15889bc 100644 --- a/constants.h +++ b/constants.h @@ -179,12 +179,12 @@ enum MCS_PDU_TYPE #define LICENCE_SIGNATURE_SIZE 16 #define LICENCE_TAG_REQUEST 0x01 -#define LICENCE_TAG_PLATFORM_CHALLANGE 0x02 +#define LICENCE_TAG_PLATFORM_CHALLENGE 0x02 #define LICENCE_TAG_NEW_LICENCE 0x03 #define LICENCE_TAG_UPGRADE_LICENCE 0x04 #define LICENCE_TAG_LICENCE_INFO 0x12 #define LICENCE_TAG_NEW_LICENCE_REQUEST 0x13 -#define LICENCE_TAG_PLATFORM_CHALLANGE_RESPONSE 0x15 +#define LICENCE_TAG_PLATFORM_CHALLENGE_RESPONSE 0x15 #define LICENCE_TAG_ERROR_ALERT 0xff #define BB_CLIENT_USER_NAME_BLOB 0x000f @@ -394,7 +394,7 @@ enum RDP_INPUT_DEVICE #define RDP_INFO_AUTOLOGON 0x00000008 #define RDP_INFO_UNICODE 0x00000010 #define RDP_INFO_MAXIMIZESHELL 0x00000020 -#define RDP_INFO_COMPRESSION 0x00000080 /* mppc compression with 8kB histroy buffer */ +#define RDP_INFO_COMPRESSION 0x00000080 /* mppc compression with 8kB history buffer */ #define RDP_INFO_ENABLEWINDOWSKEY 0x00000100 #define RDP_INFO_COMPRESSION2 0x00000200 /* rdp5 mppc compression with 64kB history buffer */ #define RDP_INFO_REMOTE_CONSOLE_AUDIO 0x00002000 @@ -682,7 +682,7 @@ enum RDP_PDU_REDIRECT_FLAGS LB_TARGET_CERTIFICATE = 0x10000 }; -/* desttop orientation */ +/* desktop orientation */ enum RDP_DESKTOP_ORIENTATION { ORIENTATION_LANDSCAPE = 0, @@ -1,6 +1,6 @@ /* -*- c-basic-offset: 8 -*- rdesktop: A Remote Desktop Protocol client. - CredSSP layer and kerberos support. + CredSSP layer and Kerberos support. Copyright 2012-2017 Henrik Andersson <hean01@cendio.se> for Cendio AB This program is free software: you can redistribute it and/or modify @@ -710,7 +710,7 @@ cssp_connect(char *server, char *user, char *domain, char *password, STREAM s) return False; } - // Establish tls connection to server + // Establish TLS connection to server if (!tcp_tls_connect()) { logger(Core, Debug, "cssp_connect(), failed to establish TLS connection"); @@ -751,7 +751,7 @@ cssp_connect(char *server, char *user, char *domain, char *password, STREAM s) { if (i == 0) logger(Core, Notice, - "Failed to intialize NLA, do you have correct kerberos tgt initialized ?"); + "Failed to initialize NLA, do you have correct Kerberos TGT initialized ?"); else logger(Core, Error, "cssp_connect(), negotiation failed"); @@ -764,7 +764,7 @@ cssp_connect(char *server, char *user, char *domain, char *password, STREAM s) if (!(actual_services & GSS_C_CONF_FLAG)) { logger(Core, Error, - "cssp_connect(), confidiality service required but is not available"); + "cssp_connect(), confidentiality service required but is not available"); goto bail_out; } @@ -82,7 +82,7 @@ _ctrl_slave_new(int sock) } else { - /* no elemnts in list, lets add first */ + /* no elements in list, lets add first */ _ctrl_slaves = ns; } } @@ -427,7 +427,7 @@ ctrl_check_fds(fd_set * rfds, fd_set * wfds) p = strchr(p + 1, '\n'); } - /* If we havent found an nonescaped \n we need more data */ + /* If we haven't found a nonescaped \n we need more data */ if (p == NULL) continue; @@ -485,12 +485,12 @@ ctrl_send_command(const char *cmd, const char *arg) if (ret != 0) goto bail_out; - /* escape the utf-8 string */ + /* escape the UTF-8 string */ escaped = utils_string_escape(tmp); if ((strlen(escaped) + 1) > CTRL_LINEBUF_SIZE - 1) goto bail_out; - /* send escaped utf-8 command to master */ + /* send escaped UTF-8 command to master */ send(s, escaped, strlen(escaped), 0); send(s, "\n", 1, 0); @@ -276,7 +276,7 @@ open_weak_exclusive(const char *pathname, int flags, mode_t mode) return ret; } - /* An error occured, and we are using O_EXCL. In case the FS + /* An error occurred, and we are using O_EXCL. In case the FS doesn't support O_EXCL, some kind of error will be returned. Unfortunately, we don't know which one. Linux 2.6.8 seems to return 524, but I cannot find a documented @@ -309,7 +309,7 @@ open_weak_exclusive(const char *pathname, int flags, mode_t mode) } /* Enumeration of devices from rdesktop.c */ -/* returns numer of units found and initialized. */ +/* returns number of units found and initialized. */ /* optarg looks like ':h=/mnt/floppy,b=/mnt/usbdevice1' */ /* when it arrives to this function. */ int @@ -368,7 +368,7 @@ disk_create(uint32 device_id, uint32 accessmask, uint32 sharemode, uint32 create sprintf(path, "%s%s", g_rdpdr_device[device_id].local_path, filename ? filename : ""); - /* Protect against mailicous servers: + /* Protect against malicious servers: somelongpath/.. not allowed somelongpath/../b not allowed somelongpath/..b in principle ok, but currently not allowed @@ -416,7 +416,7 @@ disk_create(uint32 device_id, uint32 accessmask, uint32 sharemode, uint32 create /*printf("Open: \"%s\" flags: %X, accessmask: %X sharemode: %X create disp: %X\n", path, flags_and_attributes, accessmask, sharemode, create_disposition); */ - /* Get information about file and set that flag ourselfs */ + /* Get information about file and set that flag ourselves */ if ((stat(path, &filestat) == 0) && (S_ISDIR(filestat.st_mode))) { if (flags_and_attributes & FILE_NON_DIRECTORY_FILE) @@ -1168,7 +1168,7 @@ disk_query_volume_information(RD_NTHANDLE handle, uint32 info_class, STREAM out) out_uint32_le(out, stat_fs.f_blocks); /* Total allocation units low */ out_uint32_le(out, 0); /* Total allocation high units */ out_uint32_le(out, stat_fs.f_bfree); /* Available allocation units */ - out_uint32_le(out, 0); /* Available allowcation units */ + out_uint32_le(out, 0); /* Available allocation units */ out_uint32_le(out, stat_fs.f_bsize / 0x200); /* Sectors per allocation unit */ out_uint32_le(out, 0x200); /* Bytes per sector */ break; @@ -1180,7 +1180,7 @@ disk_query_volume_information(RD_NTHANDLE handle, uint32 info_class, STREAM out) out_uint32_le(out, stat_fs.f_bavail); /* Caller allocation units low */ out_uint32_le(out, 0); /* Caller allocation units high */ out_uint32_le(out, stat_fs.f_bfree); /* Available allocation units */ - out_uint32_le(out, 0); /* Available allowcation units */ + out_uint32_le(out, 0); /* Available allocation units */ out_uint32_le(out, stat_fs.f_bsize / 0x200); /* Sectors per allocation unit */ out_uint32_le(out, 0x200); /* Bytes per sector */ break; diff --git a/doc/ChangeLog b/doc/ChangeLog index 351442a..c85575b 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -41,15 +41,15 @@ rdesktop (1.8.1) * Fix issue with reconnect, make use of deactivate variable * Added 4 new disconnect reasons with exit codes * Fix issues of window handling in SeamlessRDP parts of rdesktop - * Fix a backward compability with OpenSSL < 0.9.9 + * Fix a backward compatibility with OpenSSL < 0.9.9 * Fix a bug when code needs a x window available but there are none. * Fix a sigsegv zeroing memory - * Fix a 64bit portability issue + * Fix a 64-bit portability issue -- Henrik Andersson <hean01@users.sourceforge.net> 2013-11-18 rdesktop (1.8.0) - * Support for protocol negotiation eg. SSL/TLSv1 and CredSSP + * Support for protocol negotiation e.g. SSL/TLSv1 and CredSSP * Support for CredSSP + Kerberos authentication (NLA) * Support for smart card single-sign-on * Support passing smart card pin as password as argument @@ -67,10 +67,10 @@ rdesktop (1.8.0) rdesktop (1.7.1) * Fix clipboard issue when not building with unicode support - * Fix compilation against newer PCSC lite versions + * Fix compilation against newer PCSC-lite versions * Fix for per-device license mode on Windows 2008 R2 terminal server - * Fix building 64bit version with static openssl linkage - * Rewrite of smartcard handling for 64bit support, fixes several bugs + * Fix building 64-bit version with static openssl linkage + * Rewrite of smartcard handling for 64-bit support, fixes several bugs * Improved license handling using XDG directories -- Henrik Andersson <hean01@users.sourceforge.net> 2012-01-09 @@ -113,7 +113,7 @@ rdesktop (1.6.0) rdesktop (1.5.0) * SeamlessRDP - seamless windows support * Keymap fixes - * Fix connection issues with Windows XP RTM + * Fix connection issues with Microsoft Windows XP RTM * Keyboard handling improvements and fixes * SGI/Irix sound-driver fixes * Support for clipboard INCR protocol @@ -125,7 +125,7 @@ rdesktop (1.5.0) * Large file support * The default color depth is now the depth of the root window * Basic support for Windows Vista Beta 2 - * Fix high cpu-usage in OSS-driver + * Fix high CPU-usage in OSS-driver -- Peter Astrand <astrand@cendio.se> Wed, 13 Sep 2006 15:11:39 +0200 (CEST) @@ -162,7 +162,7 @@ rdesktop (1.4.0) rdesktop (1.3.1) * Crypto fixes for RDP5 * Keyboard and keymap fixes - * some endianess fixes for high color + * some endianness fixes for high color * portability enhancements -- Matthew Chapman <matthewc@cse.unsw.edu.au> Tue, 21 Jan 2004 20:34 @@ -170,7 +170,7 @@ rdesktop (1.3.1) rdesktop (1.3.0) * RDP5 - * 15, 16 and 24 bit color depths + * 15, 16 and 24-bit color depths * Basic clipboard redirection * Sound * IPv6 @@ -40,7 +40,7 @@ * Use timestamps in audio packets. - * Add resampling to supported samplerates of audio-hardware. + * Add resampling to supported sample rates of audio-hardware. * Lower CPU-usage with an audio thread. @@ -84,7 +84,7 @@ * Support for sending focus information from client to server. - * Implement something similiar to explhook.dll - support for running + * Implement something similar to explhook.dll - support for running explorer.exe in non-shell mode. * Better compatibility with Task Manager. diff --git a/doc/ctrl.txt b/doc/ctrl.txt index 879d9ed..dd52afb 100644 --- a/doc/ctrl.txt +++ b/doc/ctrl.txt @@ -13,7 +13,7 @@ A method call from Slave to the Master have the following syntax: METHOD [ARG1[ ARG2 [...]]] -Argument string sent for a method call should be escaped as descibed below under +Argument string sent for a method call should be escaped as described below under String escaping section. @@ -30,7 +30,7 @@ One line may not exceed 1024 bytes, including newline. String escaping =============== -Percentage sign has been choosen as escaping character. +Percentage sign has been chosen as escaping character. The rules for escaping are: diff --git a/doc/ipv6.txt b/doc/ipv6.txt index 1d3ef23..ff2ced0 100644 --- a/doc/ipv6.txt +++ b/doc/ipv6.txt @@ -5,9 +5,9 @@ The IPv6 support was developed by Mike Dawson <mike@dexy.mine.nu>: Attached is a patch to tcp.c to enable IPv6 support. Build with 'IPv6' defined to enable it. It's so far only been tested on - Linux 2.4.21 connecting to Windows XP SP1. + Linux 2.4.21 connecting to Microsoft Windows XP SP1. - Since terminal services doesn't seem to bind to the ipv6 interface + Since terminal services doesn't seem to bind to the IPv6 interface on XP I had to run 'netsh interface portproxy add v6tov4 listenport=3389 connectport=3389' from the windows command prompt to get it to work. @@ -20,10 +20,10 @@ rdesktop now supports numeric IPv6 addresses: rdesktop 2001:1:2:3::4 - without it getting confused with an ipv4:port specification. I've + without it getting confused with an IPv4:port specification. I've also followed the square bracket convention used by browsers (http://www.ietf.org/rfc/rfc2732.txt) so if you want to specify a - non-standard port with an ipv6 address you can use the format: + non-standard port with an IPv6 address you can use the format: rdesktop [2001:1:2:3::4]:3390 diff --git a/doc/keymapping.txt b/doc/keymapping.txt index 1a50ae2..9e72405 100644 --- a/doc/keymapping.txt +++ b/doc/keymapping.txt @@ -2,7 +2,7 @@ Keyboard mapping ================ This release of rdesktop uses a new, portable keyboard mapping implementation. It should hopefully work on all X11 systems. This new -implementation only looks at X11 keysyms: Not on (nonportable) +implementation only looks at X11 keysyms: Not on (non-portable) keycodes or modifier status. This means that rdesktop will obey your local keyboard configuration. For example, if you have swapped CapsLock and Control, rdesktop will use this mapping. @@ -224,7 +224,7 @@ works: xmodmap -e "keycode 49 = egrave" -4. Test a char generated with AltGr, such as @ on a swedish keyboard. +4. Test a char generated with AltGr, such as @ on a Swedish keyboard. 5. Test Ctrl-Alt-Delete. @@ -244,7 +244,7 @@ works: KEYMAP_PATH, $CWD/keymaps, and from an absolute path. 11. Press Shift, then press a key modified by shift, the release - shift, then release the other key. Do this in a speedy fasion. + shift, then release the other key. Do this in a speedy fashion. Make sure the shift state is not stuck down. 12. Test all numpad keys, when not using the -N option. diff --git a/doc/licensing.txt b/doc/licensing.txt index 1bf6b0c..ff80cf6 100644 --- a/doc/licensing.txt +++ b/doc/licensing.txt @@ -2,7 +2,7 @@ To be able to connect to Microsoft Windows 2000 Terminal Services (and probably later versions), you'll need to deal with licensing. This is complicated. This file is supposed to contain some information about -how rdesktop works with Microsofts license systems. +how rdesktop works with Microsoft's license systems. There's a lot of information on the MS web site, for example, http://support.microsoft.com/default.aspx?scid=kb;EN-US;287687. @@ -19,7 +19,7 @@ Peter Åstrand <astrand@cendio.se>, 2003-02-06 > to A was reached today, and no more connections could be made until we > changed the client name (by using -n). > -> We also have another similiar systems, with Linux machine C and W2K server +> We also have another similar systems, with Linux machine C and W2K server > D. This server has 200 licenses installed of the type "Select". On this > server, the issued licenses seems to be permanent: The expire date is set > to "-", and we have no problem with this system. diff --git a/doc/patches.txt b/doc/patches.txt index 08ffe59..9ad2961 100644 --- a/doc/patches.txt +++ b/doc/patches.txt @@ -102,7 +102,7 @@ Applied (in revision 1.29, 2002/07/14). URL: http://bibl4.oru.se/projects/rdesktop/patch19/patches/frank_fasttext.patch.txt Description: -Some kind of performence improvements. +Some kind of performance improvements. Status: From what I can tell, this patch is no longer necessary. @@ -115,7 +115,7 @@ Description: rdesktop uses gethostname to figure out the hostname, but gethostname under linux returns an error when the hostname is longer than the buffer. This hack gives gethostname a 64 char buffer and then strips -the first 16 chars or upto the first '.' and puts the result in +the first 16 chars or up to the first '.' and puts the result in hostname[16]. Status: @@ -134,7 +134,7 @@ anymore. URL: http://bibl4.oru.se/projects/rdesktop/patch19/patches/mmihalik_19-7-3-keyfix-4.patch Description: -Some kind of new alternative keyboard mapping imlementation. +Some kind of new alternative keyboard mapping implementation. Status: Not needed anymore, with the new keyboard mapping implementation. @@ -286,7 +286,7 @@ Not applied yet. TBD. URL: http://bibl4.oru.se/projects/rdesktop/patch19/patches/svenni_dis_wmkeybnds.patch Description: -Commandline flag to disable keyboard grabbing. +Command line flag to disable keyboard grabbing. Status: Applied. @@ -311,7 +311,7 @@ URL: http://bibl4.oru.se/projects/rdesktop/patch19/patches/vincent_19-7-2.secure.patch Description: Fixes a problem during the connection to a French NT4 TSE (a French -NT4 TSE doesn't use encryptation). +NT4 TSE doesn't use encryption). Status: Applied. diff --git a/doc/rdesktop.1 b/doc/rdesktop.1 index 64abf11..60b5c11 100644 --- a/doc/rdesktop.1 +++ b/doc/rdesktop.1 @@ -1,4 +1,4 @@ -.TH rdesktop 1 "November 2005" +.TH rdesktop 1 "2017-10-28" .SH NAME .I rdesktop \- Remote Desktop Protocol client @@ -7,9 +7,9 @@ .br .SH DESCRIPTION .I rdesktop -is a client for Remote Desktop Protocol (RDP), used in a number of Microsoft -products including Windows NT Terminal Server, Windows 2000 Server, Windows XP -and Windows 2003 Server. +is a client for Remote Desktop Protocol (RDP), used in a number of Microsoft products. +It is known to work with Microsoft Windows server versions ranging from NT 4 terminal +server to Windows Server 2012 R2. .SH OPTIONS .TP @@ -21,7 +21,7 @@ Domain for authentication. .TP .BR "-s <shell>" Startup shell for the user - starts a specific application instead of Explore. -If SeamlessRDP is enabled this is the application which i started in seamless mode. +If SeamlessRDP is enabled this is the application which is started in seamless mode. .TP .BR "-c <directory>" The initial working directory for the user. Often used in combination with -s @@ -77,6 +77,10 @@ support. The optional DPI parameter should be specified if the screen rdesktop is being displayed on is too far from 96 DPI for unscaled Windows to be readable. Windows currently accepts values from 96 to 480. + +Offset placement of window is optional. Starting point is upper left corner of screen. +Window manager might push into visible area, if a panel would be covered. +The schema is "-g <value>+<xoff>+<yoff>, f.e. "-g 30%+200+600". .TP .BR "-i" Use password as smartcard pin. If a valid user certificate is matched in smart card @@ -107,7 +111,7 @@ launches the desired application through SeamlessRDP. Example: rdesktop -A 'c:\\seamlessrdp\\seamlessrdpshell.exe' -s 'notepad' mywts.domain.com -Any subsequential call to the above commandline example will make use of the seamless +Any subsequential call to the above command line example will make use of the seamless connection sharing feature which spawns another notepad in the current connection to the specified server and then exit. @@ -156,7 +160,7 @@ size, in pixels. The special word "standard" means 18 pixels. Sets the window title. The title must be specified using an UTF-8 string. .TP .BR "-N" -Enable numlock syncronization between the Xserver and the remote RDP +Enable numlock synchronization between the Xserver and the remote RDP session. This is useful with applications that looks at the numlock state, but might cause problems with some Xservers like Xvnc. .TP @@ -180,7 +184,7 @@ theming is enabled, and all other options are disabled (corresponding to modem (56 Kbps)). Setting experience to b[roadband] enables menu animations and full window dragging. Setting experience to l[an] will also enable the desktop wallpaper. Setting experience to m[odem] -disables all (including themes). Experience can also be a hexidecimal +disables all (including themes). Experience can also be a hexadecimal number containing the flags. .TP .BR "-P" @@ -235,14 +239,14 @@ documentation for more information. .TP .BR "-r scard[:<Scard Name>=<Alias Name>[;<Vendor Name>][,...]]" Enables redirection of one or more smart-cards. You can provide -static name binding between linux and windows. To do this you +static name binding between GNU/Linux and Windows. To do this you can use optional parameters as described: <Scard Name> - device name in -Linux/Unix enviroment, <Alias Name> - device name shown in Windows enviroment +GNU/Linux and UNIX environment, <Alias Name> - device name shown in Windows environment <Vendor Name> - optional device vendor name. For list of examples run rdesktop without parameters. .TP .BR "-r clipboard:[off|PRIMARYCLIPBOARD|CLIPBOARD]" -Enable clipboard redirectino. 'PRIMARYCLIPBOARD' looks at both PRIMARY and +Enable clipboard redirection. 'PRIMARYCLIPBOARD' looks at both PRIMARY and CLIPBOARD when sending data to server. 'CLIPBOARD' looks at only 'CLIPBOARD'. .TP .BR "-0" @@ -264,11 +268,11 @@ Enable verbose output .BR "--sc-csp-name <name>" Specify the CSP (Crypto Service Provider) to use on the windows side for the smartcard authentication. CSP is the driver for your smartcard and it seems like this is required -to be specified for CredSSP authentication. For swedish NetID the following CSP name is +to be specified for CredSSP authentication. For Swedish NetID the following CSP name is used; "Net iD - CSP". .TP .BR "--sc-container-name <name>" -Specify the container name, usally this is the username for default container and it seems +Specify the container name, usually this is the username for default container and it seems like this is required to be specified for CredSSP authentication. .TP .BR "--sc-reader-name <name>" @@ -284,7 +288,7 @@ Specify the card name for example; "Telia EID IP5a". .IP "\fB0\fP" RDP session terminated normally .IP "\fB1\fP" -Administrator initiated disconnect (also returned for logoff by XP joined to a domain) +Administrator initiated disconnect (also returned for logoff by Windows XP joined to a domain) .IP "\fB2\fP" Administrator initiated logout .IP "\fB3\fP" @@ -326,7 +330,7 @@ Network error during licensing protocol .IP "\fB23\fP" Licensing protocol was not completed .IP "\fB24\fP" -Incorrect client license enryption +Incorrect client license encryption .IP "\fB25\fP" Can't upgrade or renew license .IP "\fB26\fP" @@ -336,7 +340,7 @@ The target endpoint chosen by the broker could not be found .IP "\fB32\fP" The target endpoint is disconnecting from the broker .IP "\fB34\fP" -Error occured while being redirected by broker +Error occurred while being redirected by broker .IP "\fB35\fP" Error while the endpoint VM was being awakened by the broker .IP "\fB36\fP" @@ -364,7 +368,7 @@ Encryption failed .IP "\fB62\fP" The local client window was closed .IP "\fB63\fP" -Some other, unknown error occured +Some other, unknown error occurred .IP "\fB64\fP" Command line usage error .IP "\fB69\fP" diff --git a/doc/seamlessrdp-channel.txt b/doc/seamlessrdp-channel.txt index 3c071fc..34bf242 100644 --- a/doc/seamlessrdp-channel.txt +++ b/doc/seamlessrdp-channel.txt @@ -145,7 +145,7 @@ State can have one of three values: 1 : Minimized. 2 : Maximized. -The initial STATE for a window will always be preceeded by one CREATE and one +The initial STATE for a window will always be preceded by one CREATE and one POSITION. Optionally, a TITLE may also be sent before the first STATE. DEBUG @@ -338,7 +338,7 @@ Sets which window has input focus. Syntax: FOCUS,<SERIAL>,<ID>,<FLAGS> -Changes which window that will recieve the keyboard events. Note that this +Changes which window that will receive the keyboard events. Note that this might cause the window to change z order. DESTROY @@ -354,7 +354,7 @@ Spawn a new application. Syntax: SPAWN,<SERIAL>,<COMMANDLINE> -Spawns a new application specified by commandline. +Spawns a new application specified by command line. Test Cases @@ -371,7 +371,7 @@ Blackbox, IceWM etc). You can also test without a window manager. 3 Open "Open Dialog". Resize, bigger than main window. Verify no additional task bar icons. Verify that the Open dialog is focused. -4 Open File Format box dropdown. Verify that it correctly appears +4 Open File Format box drop-down. Verify that it correctly appears outside main window. Verify no additional task bar icons. 5 Abort Open. Select About Wordpad. Verify no additional task bar @@ -415,9 +415,9 @@ Blackbox, IceWM etc). You can also test without a window manager. 19 Try the menus in Microsoft Office XP, which uses shaded menus. -20 Test transient windows: Run a program (ie Excel) seamlessly and open - a modal dialog (ie Open). Move the dialog so it partially overlaps - its parent window. Cover both windows with a third (ie a maximized +20 Test transient windows: Run a program (i.e. Excel) seamlessly and open + a modal dialog (i.e. Open). Move the dialog so it partially overlaps + its parent window. Cover both windows with a third (i.e. a maximized xterm). Click on Excel's taskbar entry to bring it to the front. @@ -425,7 +425,7 @@ Blackbox, IceWM etc). You can also test without a window manager. (...\seamlessrdpshell.exe taskmgr). From Task Manager's File menu, select 'New Task (Run)' and run Notepad. Move Notepad so it partially overlaps Task Manager. Cover both windows with a native - window (ie a maximized xterm). Click on Notepad's taskbar entry to + window (i.e. a maximized xterm). Click on Notepad's taskbar entry to bring it to the front. @@ -461,7 +461,7 @@ Blackbox, IceWM etc). You can also test without a window manager. broken WM at startup. -26 If running on a 64 bit Windows version, try a 32 bit application: +26 If running on a 64-bit Windows version, try a 32-bit application: Run Task Manager seamlessly (...\seamlessrdpshell.exe taskmgr). From Task Manager's File menu, select 'New Task (Run)' and run %windir%\syswow64\notepad.exe. Try various window @@ -41,7 +41,7 @@ static Atom g_net_wm_state_maximized_vert_atom, g_net_wm_state_maximized_horz_at Atom g_net_wm_state_atom, g_net_wm_desktop_atom, g_net_wm_ping_atom; /* - Get window property value (32 bit format) + Get window property value (32-bit format) Returns zero on success, -1 on error */ static int @@ -150,7 +150,7 @@ get_current_workarea(uint32 * x, uint32 * y, uint32 * width, uint32 * height) if (nitems_return % 4) { - logger(GUI, Error, "get_current_workare(),_NET_WORKAREA has bad length"); + logger(GUI, Error, "get_current_workarea(),_NET_WORKAREA has bad length"); return (-1); } @@ -85,7 +85,7 @@ iso_send_connection_request(char *username, uint32 neg_proto) if (g_rdp_version >= RDP_V5 && g_negotiate_rdp_protocol) { - /* optional rdp protocol negotiation request for RDPv5 */ + /* optional RDP protocol negotiation request for RDPv5 */ out_uint8(s, RDP_NEG_REQ); out_uint8(s, 0); out_uint16(s, 8); @@ -297,7 +297,7 @@ iso_connect(char *server, char *username, char *domain, char *password, if (reason != NULL) { logger(Protocol, Warning, - "Protocol negotation failed with reason: %s", + "Protocol negotiation failed with reason: %s", reason); } @@ -58,7 +58,7 @@ licence_generate_hwid(uint8 * hwid) strncpy((char *) (hwid + 4), g_hostname, LICENCE_HWID_SIZE - 4); } -/* Send a lincece info packet to server */ +/* Send a licence info packet to server */ static void licence_info(uint8 * client_random, uint8 * rsa_data, uint8 * licence_data, int licence_size, uint8 * hwid, uint8 * signature) @@ -188,9 +188,9 @@ licence_process_request(STREAM s) licence_send_new_licence_request(null_data, null_data, g_username, g_hostname); } -/* Send a platform challange response packet */ +/* Send a platform challenge response packet */ static void -licence_send_platform_challange_response(uint8 * token, uint8 * crypt_hwid, uint8 * signature) +licence_send_platform_challenge_response(uint8 * token, uint8 * crypt_hwid, uint8 * signature) { uint32 sec_flags = SEC_LICENSE_PKT; uint16 length = 58; @@ -198,7 +198,7 @@ licence_send_platform_challange_response(uint8 * token, uint8 * crypt_hwid, uint s = sec_init(sec_flags, length + 2); - out_uint8(s, LICENCE_TAG_PLATFORM_CHALLANGE_RESPONSE); + out_uint8(s, LICENCE_TAG_PLATFORM_CHALLENGE_RESPONSE); out_uint8(s, ((g_rdp_version >= RDP_V5) ? 3 : 2)); /* version */ out_uint16_le(s, length); @@ -216,9 +216,9 @@ licence_send_platform_challange_response(uint8 * token, uint8 * crypt_hwid, uint sec_send(s, sec_flags); } -/* Parse an platform challange request packet */ +/* Parse an platform challenge request packet */ static RD_BOOL -licence_parse_platform_challange(STREAM s, uint8 ** token, uint8 ** signature) +licence_parse_platform_challenge(STREAM s, uint8 ** token, uint8 ** signature) { uint16 tokenlen; @@ -238,9 +238,9 @@ licence_parse_platform_challange(STREAM s, uint8 ** token, uint8 ** signature) return s_check_end(s); } -/* Process a platform challange packet */ +/* Process a platform challenge packet */ static void -licence_process_platform_challange(STREAM s) +licence_process_platform_challenge(STREAM s) { uint8 *in_token = NULL, *in_sig; uint8 out_token[LICENCE_TOKEN_SIZE], decrypt_token[LICENCE_TOKEN_SIZE]; @@ -250,7 +250,7 @@ licence_process_platform_challange(STREAM s) RDSSL_RC4 crypt_key; /* Parse incoming packet and save the encrypted token */ - licence_parse_platform_challange(s, &in_token, &in_sig); + licence_parse_platform_challenge(s, &in_token, &in_sig); memcpy(out_token, in_token, LICENCE_TOKEN_SIZE); /* Decrypt the token. It should read TEST in Unicode. */ @@ -267,7 +267,7 @@ licence_process_platform_challange(STREAM s) rdssl_rc4_set_key(&crypt_key, g_licence_key, 16); rdssl_rc4_crypt(&crypt_key, hwid, crypt_hwid, LICENCE_HWID_SIZE); - licence_send_platform_challange_response(out_token, crypt_hwid, out_sig); + licence_send_platform_challenge_response(out_token, crypt_hwid, out_sig); } /* Process a new licence packet */ @@ -327,7 +327,7 @@ licence_process_error_alert(STREAM s) return; } - /* handle error codes, for now, jsut report them */ + /* handle error codes, for now, just report them */ switch (error_code) { case 0x6: // ERR_NO_LICENSE_SERVER @@ -370,8 +370,8 @@ licence_process(STREAM s) licence_process_request(s); break; - case LICENCE_TAG_PLATFORM_CHALLANGE: - licence_process_platform_challange(s); + case LICENCE_TAG_PLATFORM_CHALLENGE: + licence_process_platform_challenge(s); break; case LICENCE_TAG_NEW_LICENCE: @@ -50,7 +50,7 @@ handle_child_line(const char *line, void *data) if (str_startswith(line, "Class:")) { val = line + sizeof("Class:"); - /* Skip whitespace and second Class: occurance */ + /* Skip whitespace and second Class: occurrence */ val += strspn(val, " \t") + sizeof("Class"); current_device.klass = strtol(val, NULL, 16); } @@ -121,7 +121,7 @@ lspci_process_line(const char *line, void *data) } else { - logger(Core, Error, "lspci_process_line(), invlid line '%s'", line); + logger(Core, Error, "lspci_process_line(), invalid line '%s'", line); } return True; } @@ -27,7 +27,7 @@ /* Contacts: */ -/* hifn contact mentioned in the faq is */ +/* hifn contact mentioned in the FAQ is */ /* Robert Friend rfriend at hifn dot com */ /* if you have questions regarding MPPC */ @@ -41,7 +41,7 @@ /* Algorithm: */ -/* as the rfc states the algorithm seems to */ +/* as the RFC states the algorithm seems to */ /* be LZ77 with a sliding buffer */ /* that is empty at init. */ @@ -35,7 +35,7 @@ extern RDPDR_DEVICE g_rdpdr_device[]; /* Enumeration of devices from rdesktop.c */ -/* returns numer of units found and initialized. */ +/* returns number of units found and initialized. */ /* optarg looks like ':LPT1=/dev/lp0' */ /* when it arrives to this function. */ int @@ -60,7 +60,7 @@ parallel_enum_devices(uint32 * id, char *optarg) g_rdpdr_device[*id].local_path = xmalloc(strlen(pos2) + 1); strcpy(g_rdpdr_device[*id].local_path, pos2); - logger(Core, Debug, "parallell_enum_devices(), %s to %s", optarg, pos2); + logger(Core, Debug, "parallel_enum_devices(), %s to %s", optarg, pos2); /* set device type */ g_rdpdr_device[*id].device_type = DEVICE_TYPE_PARALLEL; @@ -88,13 +88,13 @@ parallel_create(uint32 device_id, uint32 access, uint32 share_mode, uint32 dispo parallel_fd = open(g_rdpdr_device[device_id].local_path, O_RDWR); if (parallel_fd == -1) { - logger(Core, Error, "parallell_create(), open failed: %s", strerror(errno)); + logger(Core, Error, "parallel_create(), open failed: %s", strerror(errno)); return RD_STATUS_ACCESS_DENIED; } /* all read and writes should be non blocking */ if (fcntl(parallel_fd, F_SETFL, O_NONBLOCK) == -1) - logger(Core, Error, "parallell_create(), fcntl failed: %s", strerror(errno)); + logger(Core, Error, "parallel_create(), fcntl failed: %s", strerror(errno)); #if defined(LPABORT) /* Retry on errors */ @@ -132,7 +132,7 @@ pstcache_enumerate(uint8 id, HASH_KEY * keylist) { memcpy(keylist[idx], cellhdr.key, sizeof(HASH_KEY)); - /* Pre-cache (not possible for 8 bit colour depth cause it needs a colourmap) */ + /* Pre-cache (not possible for 8-bit colour depth cause it needs a colourmap) */ if (g_bitmap_cache_precache && cellhdr.stamp && g_server_depth > 8) pstcache_load_bitmap(id, idx); @@ -49,7 +49,7 @@ #include "ssl.h" -/* Reconnect timeout based on approxiamted cookie life-time */ +/* Reconnect timeout based on approximated cookie life-time */ #define RECONNECT_TIMEOUT (3600+600) #define RDESKTOP_LICENSE_STORE "/.local/share/rdesktop/licenses" @@ -171,7 +171,7 @@ usage(char *program) fprintf(stderr, " -p: password (- to prompt)\n"); fprintf(stderr, " -n: client hostname\n"); fprintf(stderr, " -k: keyboard layout on server (en-us, de, sv, etc.)\n"); - fprintf(stderr, " -g: desktop geometry (WxH[@dpi])\n"); + fprintf(stderr, " -g: desktop geometry (WxH[@DPI][+X[+Y]])\n"); #ifdef WITH_SCARD fprintf(stderr, " -i: enables smartcard authentication, password is used as pin\n"); #endif @@ -190,7 +190,7 @@ usage(char *program) fprintf(stderr, " -S: caption button size (single application mode)\n"); fprintf(stderr, " -T: window title\n"); fprintf(stderr, " -t: disable use of remote ctrl\n"); - fprintf(stderr, " -N: enable numlock syncronization\n"); + fprintf(stderr, " -N: enable numlock synchronization\n"); fprintf(stderr, " -X: embed into another window with a given id.\n"); fprintf(stderr, " -a: connection colour depth\n"); fprintf(stderr, " -z: enable rdp compression\n"); @@ -229,14 +229,14 @@ usage(char *program) fprintf(stderr, " '-r scard[:\"Scard Name\"=\"Alias Name[;Vendor Name]\"[,...]]\n"); fprintf(stderr, " example: -r scard:\"eToken PRO 00 00\"=\"AKS ifdh 0\"\n"); fprintf(stderr, - " \"eToken PRO 00 00\" -> Device in Linux/Unix enviroment\n"); + " \"eToken PRO 00 00\" -> Device in GNU/Linux and UNIX environment\n"); fprintf(stderr, - " \"AKS ifdh 0\" -> Device shown in Windows enviroment \n"); + " \"AKS ifdh 0\" -> Device shown in Windows environment \n"); fprintf(stderr, " example: -r scard:\"eToken PRO 00 00\"=\"AKS ifdh 0;AKS\"\n"); fprintf(stderr, - " \"eToken PRO 00 00\" -> Device in Linux/Unix enviroment\n"); + " \"eToken PRO 00 00\" -> Device in GNU/Linux and UNIX environment\n"); fprintf(stderr, - " \"AKS ifdh 0\" -> Device shown in Windows enviroment \n"); + " \"AKS ifdh 0\" -> Device shown in Microsoft Windows environment \n"); fprintf(stderr, " \"AKS\" -> Device vendor name \n"); #endif @@ -250,7 +250,7 @@ usage(char *program) fprintf(stderr, " is used to authenticate the user by smartcard\n"); fprintf(stderr, - " sc-container-name Specifies the container name, this is usally the username\n"); + " sc-container-name Specifies the container name, this is usually the username\n"); fprintf(stderr, " sc-reader-name Smartcard reader name to use\n"); fprintf(stderr, " sc-card-name Specifies the card name of the smartcard to use\n"); @@ -403,7 +403,7 @@ handle_disconnect_reason(RD_BOOL deactivated, uint16 reason) break; case ERRINFO_CB_REDIRECTING_TO_DESTINATION: - text = "Error occured while being redirected by broker"; + text = "Error occurred while being redirected by broker"; retval = EXRD_CB_REDIR_DEST; break; @@ -569,7 +569,7 @@ parse_server_and_port(char *server) } else { - /* dns name or IPv4 style address format - server.example.com:port or 1.2.3.4:port */ + /* DNS name or IPv4 style address format - server.example.com:port or 1.2.3.4:port */ p = strchr(server, ':'); if (p != NULL) { @@ -678,7 +678,7 @@ main(int argc, char *argv[]) STRNCPY(g_password, optarg, sizeof(g_password)); flags |= RDP_INFO_AUTOLOGON; - /* try to overwrite argument so it won't appear in ps */ + /* try to overwrite argument so it won't appear in `ps` */ p = optarg; while (*p) *(p++) = 'X'; @@ -723,7 +723,7 @@ main(int argc, char *argv[]) if (g_height <= 0) { - logger(Core, Error, "invalid geometry heigth specified"); + logger(Core, Error, "invalid geometry height specified"); return EX_USAGE; } @@ -866,7 +866,7 @@ main(int argc, char *argv[]) g_rdp5_performanceflags = (PERF_DISABLE_WALLPAPER | PERF_ENABLE_FONT_SMOOTHING); } - else if (str_startswith(optarg, "l")) /* lan */ + else if (str_startswith(optarg, "l")) /* LAN */ { g_rdp5_performanceflags = PERF_ENABLE_FONT_SMOOTHING; } @@ -1499,7 +1499,7 @@ hexdump(unsigned char *p, unsigned int len) Needle may be escaped by a backslash, in that case we ignore that particular needle. return value: returns next src pointer, for - succesive executions, like in a while loop + successive executions, like in a while loop if retval is 0, then there are no more args. pitfalls: src is modified. 0x00 chars are inserted to @@ -1830,7 +1830,7 @@ rd_create_ui() { if (!ui_have_window()) { - /* create a window if we dont have one intialized */ + /* create a window if we don't have one initialized */ if (!ui_create_window()) exit(EX_OSERR); } @@ -164,7 +164,7 @@ ((tvp)->tv_sec = (tvp)->tv_usec = 0) #endif -/* If configure does not define the endianess, try +/* If configure does not define the endianness, try to find it out */ #if !defined(L_ENDIAN) && !defined(B_ENDIAN) #if __BYTE_ORDER == __LITTLE_ENDIAN diff --git a/rdesktop.spec b/rdesktop.spec index ed48ae0..07246e8 100644 --- a/rdesktop.spec +++ b/rdesktop.spec @@ -10,8 +10,7 @@ Packager: Peter Åstrand <astrand@cendio.se> %description rdesktop is a client for Remote Desktop Protocol (RDP), used in a number of -Microsoft products including Windows NT Terminal Server, Windows 2000 Server, -Windows XP, Windows 2003 Server and Windows 2008r2. +Microsoft products. It is known to work with Microsoft Windows server versions ranging from NT 4 terminal server to Windows Server 2012 R2. %prep rm -rf $RPM_BUILD_ROOT @@ -354,7 +354,7 @@ rdp_send_logon_info(uint32 flags, char *domain, char *user, { flags |= RDP_INFO_AUTOLOGON; len_password = g_redirect_cookie_len; - len_password -= 2; /* substract 2 bytes which is added below */ + len_password -= 2; /* subtract 2 bytes which is added below */ logger(Protocol, Debug, "rdp_send_logon_info(), Using %d bytes redirect cookie as password", g_redirect_cookie_len); @@ -375,8 +375,8 @@ rdp_send_logon_info(uint32 flags, char *domain, char *user, 2 + len_program + /* AlternateShell */ 2 + len_directory + /* WorkingDir */ /* size of TS_EXTENDED_INFO_PACKET */ - 2 + /* clientAdressFamily */ - 2 + /* cbClientAdress */ + 2 + /* clientAddressFamily */ + 2 + /* cbClientAddress */ len_ip + /* clientAddress */ 2 + /* cbClientDir */ len_dll + /* clientDir */ @@ -566,7 +566,7 @@ rdp_send_suppress_output_pdu(enum RDP_SUPPRESS_STATUS allowupdates) current_status = allowupdates; } -/* Send persistent bitmap cache enumeration PDU's */ +/* Send persistent bitmap cache enumeration PDUs */ static void rdp_enum_bmpcache2(void) { @@ -1741,14 +1741,14 @@ process_redirect_pdu(STREAM s, RD_BOOL enhanced_redirect /*, uint32 * ext_disc_r { in_uint32_le(s, len); - /* Let target fqdn replace target ip address */ + /* Let target FQDN replace target IP address */ if (g_redirect_server) { free(g_redirect_server); g_redirect_server = NULL; } - /* read fqdn string */ + /* read FQDN string */ rdp_in_unistr(s, len, &g_redirect_server, &g_redirect_server_len); } @@ -1806,7 +1806,7 @@ rdp_main_loop(RD_BOOL * deactivated, uint32 * ext_disc_reason) } } -/* used in uiports and rdp_main_loop, processes the rdp packets waiting */ +/* used in uiports and rdp_main_loop, processes the RDP packets waiting */ RD_BOOL rdp_loop(RD_BOOL * deactivated, uint32 * ext_disc_reason) { @@ -83,7 +83,7 @@ char *g_rdpdr_clientname = NULL; /* Used to store incoming io request, until they are ready to be completed */ /* using a linked list ensures that they are processed in the right order, */ -/* if multiple ios are being done on the same fd */ +/* if multiple IOs are being done on the same FD */ struct async_iorequest { uint32 fd, major, minor, offset, device, id, length, partial_len; @@ -929,7 +929,7 @@ rdpdr_init() void rdpdr_add_fds(int *n, fd_set * rfds, fd_set * wfds, struct timeval *tv, RD_BOOL * timeout) { - uint32 select_timeout = 0; /* Timeout value to be used for select() (in millisecons). */ + uint32 select_timeout = 0; /* Timeout value to be used for select() (in milliseconds). */ struct async_iorequest *iorq; char c; @@ -224,7 +224,7 @@ rdpsnd_process_negotiate(STREAM in) uint32 flags = TSSNDCAPS_VOLUME; /* if sound is enabled, set snd caps to alive to enable - transmision of audio from server */ + transmission of audio from server */ if (g_rdpsnd) { flags |= TSSNDCAPS_ALIVE; diff --git a/rdpsnd_dsp.c b/rdpsnd_dsp.c index 60c6f04..9661e09 100644 --- a/rdpsnd_dsp.c +++ b/rdpsnd_dsp.c @@ -228,12 +228,12 @@ rdpsnd_dsp_resample(unsigned char **out, unsigned char *in, unsigned int size, } - /* Expand 8bit input-samples to 16bit */ -#ifndef HAVE_LIBSAMPLERATE /* libsamplerate needs 16bit samples */ + /* Expand 8-bit input-samples to 16-bit */ +#ifndef HAVE_LIBSAMPLERATE /* libsamplerate needs 16-bit samples */ if (format->wBitsPerSample != resample_to_bitspersample) #endif { - /* source: 8 bit, dest: 16bit */ + /* source: 8 bit, dest: 16 bit */ if (format->wBitsPerSample == 8) { tmp = tmpdata; @@ -259,7 +259,7 @@ rdpsnd_dsp_resample(unsigned char **out, unsigned char *in, unsigned int size, if (src_converter == NULL) { logger(Sound, Warning, - "rdpsndp_dsp_resample_set(), no samplerate converter available"); + "rdpsndp_dsp_resample_set(), no sample rate converter available"); return 0; } @@ -368,8 +368,8 @@ rdpsnd_dsp_resample(unsigned char **out, unsigned char *in, unsigned int size, if (tmpdata != NULL) xfree(tmpdata); - /* Shrink 16bit output-samples to 8bit */ -#ifndef HAVE_LIBSAMPLERATE /* libsamplerate produces 16bit samples */ + /* Shrink 16-bit output-samples to 8-bit */ +#ifndef HAVE_LIBSAMPLERATE /* libsamplerate produces 16-bit samples */ if (format->wBitsPerSample != resample_to_bitspersample) #endif { diff --git a/scancodes.h b/scancodes.h index 34d6021..32a4b60 100644 --- a/scancodes.h +++ b/scancodes.h @@ -13,7 +13,7 @@ 0x61 - 0x79: Normal 0xfa - : keyboard drivers interpret these as responses from the 8042 chip - We use bit 7 to indicate 0xe0 prefix instead of two-byte sequence (0xe0, something). Eq., + We use bit 7 to indicate 0xe0 prefix instead of two-byte sequence (0xe0, something). E.g. 0xe 0x38 is defined as (0x80 | 0x38) */ @@ -265,10 +265,10 @@ scard_enum_devices(uint32 * id, char *optarg) typedef struct _scard_handle_list_t { struct _scard_handle_list_t *next; - /* pcsc handles is datatype long which - is arch sizedependent */ + /* PCSC handle is datatype long which + is arch size-dependent */ long handle; - /* rdp server handles are always 32bit */ + /* RDP server handles are always 32 bit */ uint32_t server; } _scard_handle_list_t; @@ -284,7 +284,7 @@ void _scard_handle_list_add(long handle) { _scard_handle_list_t *list = g_scard_handle_list; - /* we dont care of order of list so to simplify the add + /* we don't care of order of list so to simplify the add we add new items to front of list */ _scard_handle_list_t *item = xmalloc(sizeof(_scard_handle_list_t)); item->next = list; @@ -730,7 +730,7 @@ TS_SCardEstablishContext(STREAM in, STREAM out) bail_out: out_uint32_le(out, 0x00000004); out_uint32_le(out, hContext); /* must not be 0 (Seems to be pointer), don't know what is this (I use hContext as value) */ - /* i hope it's not a pointer because i just downcasted it - jlj */ + /* I hope it's not a pointer because i just downcasted it - jlj */ out_uint32_le(out, 0x00000004); out_uint32_le(out, hContext); outForceAlignment(out, 8); @@ -1251,7 +1251,7 @@ TS_SCardGetStatusChange(STREAM in, STREAM out, RD_BOOL wide) memset(myRsArray, 0, dwCount * sizeof(SERVER_SCARD_READERSTATE_A)); copyReaderState_ServerToMyPCSC(rsArray, myRsArray, (SERVER_DWORD) dwCount); - /* Workaround for a bug in pcsclite, timeout value of 0 is handled as INFINIT + /* Workaround for a bug in pcsc-lite, timeout value of 0 is handled as INFINIT but is by Windows PCSC spec. used for polling current state. */ if (dwTimeout == 0) @@ -2292,7 +2292,7 @@ scard_device_control(RD_NTHANDLE handle, uint32 request, STREAM in, STREAM out) out_uint32_le(out, 0xCCCCCCCC); psize = out->p; out_uint32_le(out, 0x00000000); /* Size of data portion */ - out_uint32_le(out, 0x00000000); /* Zero bytes (may be usefull) */ + out_uint32_le(out, 0x00000000); /* Zero bytes (may be useful) */ pStatusCode = out->p; out_uint32_le(out, 0x00000000); /* Status Code */ @@ -2590,7 +2590,7 @@ SC_deviceControl(PSCThreadData data) buffer_len = (size_t) data->out->p - (size_t) data->out->data; /* if iorequest belongs to another epoch, don't send response - back to server due to it's considered as abdonend. + back to server due to it's considered as abandoned. */ if (data->epoch == curEpoch) rdpdr_send_completion(data->device, data->id, 0, buffer_len, data->out->data, @@ -359,7 +359,7 @@ seamless_line_handler(const char *line, void *data) { if (!seamless_process_line(line, data)) { - logger(Core, Warning, "seamless_line_handler(), invlid request '%s'", line); + logger(Core, Warning, "seamless_line_handler(), invalid request '%s'", line); } return True; } @@ -882,7 +882,7 @@ sec_recv(uint8 * rdpver) { /* for some reason the PDU and the length seem to be swapped. This isn't good, but we're going to do a byte for byte - swap. So the first foure value appear as: 00 04 XX YY, + swap. So the first four value appear as: 00 04 XX YY, where XX YY is the little endian length. We're going to use 04 00 as the PDU type, so after our swap this will look like: XX YY 04 00 */ @@ -941,7 +941,7 @@ sec_connect(char *server, char *username, char *domain, char *password, RD_BOOL mcs_data.p = mcs_data.data = (uint8 *) xmalloc(mcs_data.size); sec_out_mcs_connect_initial_pdu(&mcs_data, selected_proto); - /* finialize the MCS connect sequence */ + /* finalize the MCS connect sequence */ if (!mcs_connect_finalize(&mcs_data)) return False; @@ -92,14 +92,14 @@ /* SERIAL_WAIT_ON_MASK */ #define SERIAL_EV_RXCHAR 0x0001 /* Any Character received */ #define SERIAL_EV_RXFLAG 0x0002 /* Received certain character */ -#define SERIAL_EV_TXEMPTY 0x0004 /* Transmitt Queue Empty */ +#define SERIAL_EV_TXEMPTY 0x0004 /* Transmit Queue Empty */ #define SERIAL_EV_CTS 0x0008 /* CTS changed state */ #define SERIAL_EV_DSR 0x0010 /* DSR changed state */ #define SERIAL_EV_RLSD 0x0020 /* RLSD changed state */ #define SERIAL_EV_BREAK 0x0040 /* BREAK received */ #define SERIAL_EV_ERR 0x0080 /* Line status error occurred */ #define SERIAL_EV_RING 0x0100 /* Ring signal detected */ -#define SERIAL_EV_PERR 0x0200 /* Printer error occured */ +#define SERIAL_EV_PERR 0x0200 /* Printer error occurred */ #define SERIAL_EV_RX80FULL 0x0400 /* Receive buffer is 80 percent full */ #define SERIAL_EV_EVENT1 0x0800 /* Provider specific event 1 */ #define SERIAL_EV_EVENT2 0x1000 /* Provider specific event 2 */ @@ -502,7 +502,7 @@ set_termios(SERIAL_DEVICE * pser_inf, RD_NTHANDLE serial_fd) } /* Enumeration of devices from rdesktop.c */ -/* returns numer of units found and initialized. */ +/* returns number of units found and initialized. */ /* optarg looks like ':com1=/dev/ttyS0' */ /* when it arrives to this function. */ /* :com1=/dev/ttyS0,com2=/dev/ttyS1 */ @@ -1057,7 +1057,7 @@ serial_get_event(RD_NTHANDLE handle, uint32 * result) return ret; } -/* Read timeout for a given file descripter (device) when adding fd's to select() */ +/* Read timeout for a given file descriptor (device) when adding FDs to select() */ RD_BOOL serial_get_timeout(RD_NTHANDLE handle, uint32 length, uint32 * timeout, uint32 * itv_timeout) { @@ -170,7 +170,7 @@ rdssl_cert_to_rkey(RDSSL_CERT * cert, uint32 * key_len) /* By some reason, Microsoft sets the OID of the Public RSA key to the oid for "MD5 with RSA Encryption" instead of "RSA Encryption" - Kudos to Richard Levitte for the following (. intiutive .) + Kudos to Richard Levitte for the following (. intuitive .) lines of code that resets the OID and let's us extract the key. */ X509_PUBKEY *key = NULL; diff --git a/uiports/nanoxreadme.txt b/uiports/nanoxreadme.txt index 1c37bf7..a56d3cf 100644 --- a/uiports/nanoxreadme.txt +++ b/uiports/nanoxreadme.txt @@ -1,7 +1,7 @@ This is the nanox ui port tested with versions 0.90 -makefile_nanox can be edited to change file localtions +makefile_nanox can be edited to change file locations run make -f makefile_nanox in this directory to compile it nanoxreadme.txt - notes, this file diff --git a/uiports/nanoxwin.c b/uiports/nanoxwin.c index 1e3cc73..34a9843 100755 --- a/uiports/nanoxwin.c +++ b/uiports/nanoxwin.c @@ -19,7 +19,7 @@ /* problems with nanox lib opcodes don't work, can only rely on copy - stipple orgins don't work + stipple origins don't work clip seems to affect source too, it should only affect dest in copyarea functions */ @@ -261,7 +261,7 @@ void ui_set_clip(int x, int y, int cx, int cy) region = GrNewRegion(); GrUnionRectWithRegion(region, &g_clip); GrSetGCRegion(g_gc, region); /* can't destroy region here, i guess gc */ - /* takes owership, if you destroy it */ + /* takes ownership, if you destroy it */ /* clip is reset, hum */ } @@ -282,7 +282,7 @@ void ui_bell(void) } /*****************************************************************************/ -/* gota convert the rdp glyph to nanox glyph */ +/* have to convert the RDP glyph to nanox glyph */ void * ui_create_glyph(int width, int height, uint8 * data) { char * p, * q, * r; diff --git a/uiports/qtereadme.txt b/uiports/qtereadme.txt index 46f6941..42091eb 100755 --- a/uiports/qtereadme.txt +++ b/uiports/qtereadme.txt @@ -3,7 +3,7 @@ qt should be installed in /usr/local/qt you may need to have LD_LIBRARY_PATH and QTDIR defined to run qtrdesktop tested with versions 2.3, 3.1 -makefile_qte can be edited to change file localtions +makefile_qte can be edited to change file locations run make -f makefile_qte in this directory to compile it qtereadme.txt - notes, this file diff --git a/uiports/qtewin.cpp b/uiports/qtewin.cpp index e769a12..05246ba 100644 --- a/uiports/qtewin.cpp +++ b/uiports/qtewin.cpp @@ -1094,7 +1094,7 @@ void set_pixel(int x, int y, int pixel, int op = 0xc) } /******************************************************************************/ -// adjust coordinates for cliping rect +// adjust coordinates for clipping rect bool WarpCoords(int * x, int * y, int * cx, int * cy, int * srcx, int * srcy) { int dx, dy; diff --git a/uiports/qtreadme.txt b/uiports/qtreadme.txt index 0e6e287..93fc73d 100755 --- a/uiports/qtreadme.txt +++ b/uiports/qtreadme.txt @@ -3,7 +3,7 @@ qt should be installed in /usr/local/qt you may need to have LD_LIBRARY_PATH defined to run qtrdesktop tested with versions 2.3.2, 3.1.2 -makefile_qt can be edited to change file localtions +makefile_qt can be edited to change file locations run make -f makefile_qt in this directory to compile it qtreadme.txt - notes, this file diff --git a/uiports/qtwin.cpp b/uiports/qtwin.cpp index 142dcc1..b87fe0e 100755 --- a/uiports/qtwin.cpp +++ b/uiports/qtwin.cpp @@ -747,7 +747,7 @@ void ui_destroy_colourmap(RD_HCOLOURMAP map) /*****************************************************************************/ void ui_set_colourmap(void * map) { - // destoy old colormap + // destroy old colormap ui_destroy_colourmap(g_CM); g_CM = (QColorMap*)map; } @@ -813,7 +813,7 @@ RD_HBITMAP ui_create_bitmap(int width, int height, uint8 * data) } //****************************************************************************** -// adjust coordinates for cliping rect +// adjust coordinates for clipping rect int WarpCoords(int * x, int * y, int * cx, int * cy, int * srcx, int * srcy) { int dx, dy; diff --git a/uiports/readme.txt b/uiports/readme.txt index 78b15d7..3d24824 100755 --- a/uiports/readme.txt +++ b/uiports/readme.txt @@ -10,7 +10,7 @@ see xxxreadme.txt for info on a blank empty uiport see qtreadme.txt for info on the Qt/X11 uiport -see qtereadme.txt for info on the Qt embeded uiport +see qtereadme.txt for info on the Qt embedded uiport see svgareadme.txt for info on the svga uiport diff --git a/uiports/svgareadme.txt b/uiports/svgareadme.txt index c9fa916..7106b82 100644 --- a/uiports/svgareadme.txt +++ b/uiports/svgareadme.txt @@ -1,5 +1,5 @@ This is the svga ui port -send any fixes or improvments to me Jay Sorg(j@american-data.com) +send any fixes or improvements to me Jay Sorg(j@american-data.com) svgalib should be installed tested with versions 1.4.3, 1.9.x @@ -17,10 +17,10 @@ svgalib has some support for acceleration but most drivers do not support it. I hope they fix this. The ones that do are Cirus Logic and ATI Mach 32 cards. If running on really slow hardware(486), use one of these cards, -it improves performance alot. +it improves performance a lot. run ./svgardesktop with no parameters to see a list of -commnad line options +command line options You will need to modify the libvga.config file most likely. Its in /etc/vga. diff --git a/uiports/svgawin.c b/uiports/svgawin.c index 76cee47..506a181 100644 --- a/uiports/svgawin.c +++ b/uiports/svgawin.c @@ -74,7 +74,7 @@ static int scrolllock; // this is non null if vgalib has non accel functions available // reading from video memory is sooo slow static uint8* sdata = 0; -static int g_save_mem = 0; // for video memory use eg sdata == 0 +static int g_save_mem = 0; // for video memory use e.g. sdata == 0 // video acceleration static int use_accel = 1; @@ -1819,7 +1819,7 @@ void out_params(void) fprintf(stderr, " -t: tcp port\n"); fprintf(stderr, " -u: user name\n"); fprintf(stderr, " -n: client hostname\n"); - fprintf(stderr, " -d: disable accel funcs\n"); + fprintf(stderr, " -d: disable acceleration functions\n"); fprintf(stderr, " -a: connection colour depth\n"); fprintf(stderr, " -l: low memory\n"); fprintf(stderr, "\n"); @@ -170,7 +170,7 @@ utils_mkdir_p(const char *path, int mask) return 0; } -/* Convert from system locale string to utf-8 */ +/* Convert from system locale string to UTF-8 */ int utils_locale_to_utf8(const char *src, size_t is, char *dest, size_t os) { @@ -206,7 +206,7 @@ utils_locale_to_utf8(const char *src, size_t is, char *dest, size_t os) goto pass_trough_as_is; } - /* Out couldn't hold the entire convertion */ + /* Out couldn't hold the entire conversion */ if (is != 0) return -1; @@ -228,7 +228,7 @@ utils_locale_to_utf8(const char *src, size_t is, char *dest, size_t os) static char *level[] = { "debug", - "verbose", /* Verbose mesasge for end user, no prefixed lines */ + "verbose", /* Verbose message for end user, no prefixed lines */ "warning", "error", "notice" /* Normal messages for end user, no prefixed lines */ @@ -154,7 +154,7 @@ utf16_lf2crlf(uint8 * data, uint32 * size) { uint8 *result; uint16 *inptr, *outptr; - RD_BOOL swap_endianess; + RD_BOOL swap_endianness; /* Worst case: Every char is LF */ result = xmalloc((*size * 2) + 2); @@ -165,16 +165,16 @@ utf16_lf2crlf(uint8 * data, uint32 * size) outptr = (uint16 *) result; /* Check for a reversed BOM */ - swap_endianess = (*inptr == 0xfffe); + swap_endianness = (*inptr == 0xfffe); uint16 uvalue_previous = 0; /* Kept so we'll avoid translating CR-LF to CR-CR-LF */ while ((uint8 *) inptr < data + *size) { uint16 uvalue = *inptr; - if (swap_endianess) + if (swap_endianness) uvalue = ((uvalue << 8) & 0xff00) + (uvalue >> 8); if ((uvalue == 0x0a) && (uvalue_previous != 0x0d)) - *outptr++ = swap_endianess ? 0x0d00 : 0x0d; + *outptr++ = swap_endianness ? 0x0d00 : 0x0d; uvalue_previous = uvalue; *outptr++ = *inptr++; } @@ -873,7 +873,7 @@ xclip_handle_SelectionRequest(XSelectionRequestEvent * event) is offered by the RDP server (and when it is pasted inside RDP, there's no network roundtrip). - This event (SelectionClear) symbolizes this rdesktop lost onwership of the clipboard + This event (SelectionClear) symbolizes this rdesktop lost ownership of the clipboard to some other X client. We should find out what clipboard formats this other client offers and announce that to RDP. */ void @@ -902,7 +902,7 @@ xclip_handle_PropertyNotify(XPropertyEvent * event) while (bytes_left > 0) { - /* Unlike the specification, we don't set the 'delete' arugment to True + /* Unlike the specification, we don't set the 'delete' argument to True since we slurp the INCR's chunks in even-smaller chunks of 4096 bytes. */ if ((XGetWindowProperty (g_display, g_wnd, rdesktop_clipboard_target_atom, offset, 4096L, @@ -967,11 +967,11 @@ ui_clip_format_announce(uint8 * data, uint32 length) XSetSelectionOwner(g_display, primary_atom, g_wnd, acquire_time); if (XGetSelectionOwner(g_display, primary_atom) != g_wnd) - logger(Clipboard, Warning, "failed to aquire ownership of PRIMARY clipboard"); + logger(Clipboard, Warning, "failed to acquire ownership of PRIMARY clipboard"); XSetSelectionOwner(g_display, clipboard_atom, g_wnd, acquire_time); if (XGetSelectionOwner(g_display, clipboard_atom) != g_wnd) - logger(Clipboard, Warning, "failed to aquire ownership of CLIPBOARD clipboard"); + logger(Clipboard, Warning, "failed to acquire ownership of CLIPBOARD clipboard"); if (formats_data) xfree(formats_data); @@ -208,7 +208,7 @@ add_sequence(char *rest, char *mapname) return; } - logger(Keyboard, Debug, "add_sequence(), adding squence for keysym '%s' (0x%lx)", keyname, + logger(Keyboard, Debug, "add_sequence(), adding sequence for keysym '%s' (0x%lx)", keyname, keysym); entry = new_key_translation_entry(keysym); @@ -151,7 +151,7 @@ static RD_BOOL g_compatible_arch; RDP(LE) <-> host(BE) <-> X-Server(LE) ('host' is the machine running rdesktop; the host simply memcpy's - so its endianess doesn't matter) + so its endianness doesn't matter) */ static RD_BOOL g_no_translate_image = False; @@ -576,9 +576,9 @@ sw_configurenotify_p(Display * display, XEvent * xevent, XPointer arg) throwing away crucial events like DestroyNotify. After a ConfigureWindow, according to ICCCM section 4.1.5, we - should recieve a ConfigureNotify, either a real or synthetic + should receive a ConfigureNotify, either a real or synthetic one. This indicates that the configure has been "completed". - However, some WMs such as several versions of Metacity fails to + However, some WMs such as several versions of Metacity fail to send synthetic events. See bug http://bugzilla.gnome.org/show_bug.cgi?id=322840. We need to use a timeout to avoid a hang. Tk uses the same approach. */ @@ -873,7 +873,7 @@ translate_colour(uint32 colour) /* *INDENT-OFF* */ /* repeat and unroll, similar to bitmap.c */ -/* potentialy any of the following translate */ +/* potentially any of the following translate */ /* functions can use repeat but just doing */ /* the most common ones */ @@ -1883,8 +1883,8 @@ ui_init(void) } { - uint16 endianess_test = 1; - g_host_be = !(RD_BOOL) (*(uint8 *) (&endianess_test)); + uint16 endianness_test = 1; + g_host_be = !(RD_BOOL) (*(uint8 *) (&endianness_test)); } g_old_error_handler = XSetErrorHandler(error_handler); @@ -2314,7 +2314,7 @@ handle_button_event(XEvent xevent, RD_BOOL down) if (xevent.type == ButtonRelease) { /* Release the mouse button outside the minimize button, to prevent the - actual minimazation to happen */ + actual minimization to happen */ rdp_send_input(time(NULL), input_type, button, 1, 1); XIconifyWindow(g_display, g_wnd, DefaultScreen(g_display)); return; @@ -2939,7 +2939,7 @@ get_pixel(uint32 idx, uint8 * andmask, uint8 * xormask, int bpp, uint8 * xor_fla { // If we have an xor bit is high and // andmask bit is low, we should - // render a black pixle due to we can + // render a black pixel due to we can // not xor blit in X11. argb = 0xff000000; *xor_flag = 1; @@ -2965,7 +2965,7 @@ get_pixel(uint32 idx, uint8 * andmask, uint8 * xormask, int bpp, uint8 * xor_fla return argb; } -/* Copies the pixles from src to dest with given color and offset */ +/* Copies the pixels from src to dest with given color and offset */ static inline void xcursor_stencil(XcursorImage * src, XcursorImage * dst, int dx, int dy, uint32 argb) { @@ -3674,7 +3674,7 @@ ui_ellipse(uint8 opcode, break; default: - logger(GUI, Warning, "Unimplemented brush styke %d", brush->style); + logger(GUI, Warning, "Unimplemented brush style %d", brush->style); } RESET_FUNCTION(opcode); @@ -4093,7 +4093,7 @@ ui_seamless_create_window(unsigned long id, unsigned long group, unsigned long p if (parent == 0xFFFFFFFF) { XSetTransientForHint(g_display, wnd, RootWindowOfScreen(g_screen)); - /* Some buggy wm:s (kwin) do not handle the above, so fake it + /* Some buggy WMs (kwin) do not handle the above, so fake it using some other hints. */ ewmh_set_window_popup(wnd); } @@ -4104,13 +4104,13 @@ ui_seamless_create_window(unsigned long id, unsigned long group, unsigned long p if (sw_parent) XSetTransientForHint(g_display, wnd, sw_parent->wnd); else - logger(GUI, Warning, "ui_seamles_create_window(): no parent window 0x%lx\n", + logger(GUI, Warning, "ui_seamless_create_window(): no parent window 0x%lx\n", parent); } if (flags & SEAMLESSRDP_CREATE_MODAL) { - /* We do this to support buggy wm:s (*cough* metacity *cough*) + /* We do this to support buggy WMs (*cough* Metacity *cough*) somewhat at least */ if (parent == 0x00000000) XSetTransientForHint(g_display, wnd, RootWindowOfScreen(g_screen)); |