From 5b628e2d79bce67b255690e0a54a0a488bbb05e0 Mon Sep 17 00:00:00 2001 From: Mario Trangoni Date: Sun, 31 Jan 2021 14:17:39 +0100 Subject: shellcheck: Fix SC2006 issue See, $ find . -name "*.sh" | xargs shellcheck -i SC2006 In ./roll-tarballs.sh line 62: echo "HEAD (on branch `git rev-parse --abbrev-ref HEAD`)" ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: echo "HEAD (on branch $(git rev-parse --abbrev-ref HEAD))" In ./nx-X11/x-indent-all.sh line 2: where=`dirname $0` ^----------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: where=$(dirname $0) In ./nx-X11/x-indent.sh line 5: INDENT=`which gnuindent || which gindent || which indent` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: INDENT=$(which gnuindent || which gindent || which indent) For more information: https://www.shellcheck.net/wiki/SC2006 -- Use $(...) notation instead of le... Signed-off-by: Mario Trangoni --- nx-X11/x-indent-all.sh | 2 +- nx-X11/x-indent.sh | 2 +- roll-tarballs.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nx-X11/x-indent-all.sh b/nx-X11/x-indent-all.sh index 6addaf400..d3c4113de 100755 --- a/nx-X11/x-indent-all.sh +++ b/nx-X11/x-indent-all.sh @@ -1,4 +1,4 @@ #!/bin/sh -where=`dirname $0` +where=$(dirname $0) git ls-files | grep '\.[chm]$' | xargs sh "$where"/x-indent.sh diff --git a/nx-X11/x-indent.sh b/nx-X11/x-indent.sh index e662cce09..327aa6a4f 100755 --- a/nx-X11/x-indent.sh +++ b/nx-X11/x-indent.sh @@ -2,7 +2,7 @@ # We want GNU indent, so first search for gindent to avoid /usr/bin/indent # on the BSDs, which won't work for us -INDENT=`which gnuindent || which gindent || which indent` +INDENT=$(which gnuindent || which gindent || which indent) if [ -z "${INDENT}" ] ; then echo "Could not find indent, sorry..." >&2 diff --git a/roll-tarballs.sh b/roll-tarballs.sh index dc30a8a17..acef42daa 100755 --- a/roll-tarballs.sh +++ b/roll-tarballs.sh @@ -59,7 +59,7 @@ fi if ! git rev-parse --verify -q "$CHECKOUT" >/dev/null; then echo " '${RELEASE}' is not a valid release number because there is no git tag named ${CHECKOUT}." echo " Please specify one of the following releases:" - echo "HEAD (on branch `git rev-parse --abbrev-ref HEAD`)" + echo "HEAD (on branch $(git rev-parse --abbrev-ref HEAD))" git tag -l | grep "^redist" | cut -f2 -d"/" | sort -u exit 1 fi -- cgit v1.2.3 From daeb82e33bfeb23d09f7782728f088bdc5d39ce5 Mon Sep 17 00:00:00 2001 From: Mario Trangoni Date: Sun, 31 Jan 2021 14:23:06 +0100 Subject: shellcheck: Fix SC2162 issue See, find . -name "*.sh" | xargs shellcheck -i SC2162 [...] For more information: https://www.shellcheck.net/wiki/SC2162 -- read without -r will mangle backs... Signed-off-by: Mario Trangoni --- regenerate-symbol-docs.sh | 10 +++++----- roll-tarballs.sh | 12 ++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/regenerate-symbol-docs.sh b/regenerate-symbol-docs.sh index 20322247f..289effb25 100755 --- a/regenerate-symbol-docs.sh +++ b/regenerate-symbol-docs.sh @@ -24,7 +24,7 @@ SYMBOLS_FILE="doc/libNX_X11/symbols/libNX_X11::symbols.txt" DOC_FILE="doc/libNX_X11/symbols/libNX_X11::symbol-usage_internally.txt" echo "Scanning for libNX_X11 symbols: in libNX_X11 internally: $DOC_FILE" cd nx-X11/lib/X11/ -cat "../../../$SYMBOLS_FILE" | grep -v -E "^#" | while read symbol; do +cat "../../../$SYMBOLS_FILE" | grep -v -E "^#" | while read -r symbol; do echo echo "#### $symbol ####" @@ -36,7 +36,7 @@ cd - 1>/dev/null DOC_FILE="doc/libNX_X11/symbols/libNX_X11::symbol-usage_nxagent.txt" echo "Scanning for libNX_X11 symbols: in hw/nxagent: $DOC_FILE" cd nx-X11/programs/Xserver/hw/nxagent/ -cat "../../../../../$SYMBOLS_FILE" | grep -v -E "^#" | while read symbol; do +cat "../../../../../$SYMBOLS_FILE" | grep -v -E "^#" | while read -r symbol; do echo echo "#### $symbol ####" @@ -48,7 +48,7 @@ cd - 1>/dev/null DOC_FILE="doc/libNX_X11/symbols/libNX_X11::symbol-usage_nxcompext.txt" echo "Scanning for libNX_X11 symbols: in hw/nxagent/compext: $DOC_FILE" cd nx-X11/programs/Xserver/hw/nxagent/compext/ -cat "../../../../../../$SYMBOLS_FILE" | grep -v -E "^#" | while read symbol; do +cat "../../../../../../$SYMBOLS_FILE" | grep -v -E "^#" | while read -r symbol; do echo echo "#### $symbol ####" @@ -65,7 +65,7 @@ SYMBOLS_FILE="doc/nxcompext/symbols/nxcompext::symbols.txt" DOC_FILE="doc/nxcompext/symbols/nxcompext::symbol-usage_internally.txt" echo "Scanning for nxcompext symbols: in hw/nxagent/compext internally: $DOC_FILE" cd nx-X11/programs/Xserver/hw/nxagent/compext/ -cat "../../../../../../$SYMBOLS_FILE" | grep -v -E "^#" | while read symbol; do +cat "../../../../../../$SYMBOLS_FILE" | grep -v -E "^#" | while read -r symbol; do echo echo "#### $symbol ####" @@ -77,7 +77,7 @@ cd - 1>/dev/null DOC_FILE="doc/nxcompext/symbols/nxcompext::symbol-usage_nxagent.txt" echo "Scanning for nxcompext symbols: in hw/nxagent: $DOC_FILE" cd nx-X11/programs/Xserver/hw/nxagent/ -cat ../../../../../$SYMBOLS_FILE | grep -v -E "^#" | while read symbol; do +cat ../../../../../$SYMBOLS_FILE | grep -v -E "^#" | while read -r symbol; do echo echo "#### $symbol ####" diff --git a/roll-tarballs.sh b/roll-tarballs.sh index acef42daa..85e098960 100755 --- a/roll-tarballs.sh +++ b/roll-tarballs.sh @@ -81,7 +81,7 @@ cd "${TEMP_DIR}/${PROJECT}-${RELEASE}/" # Replace symlinks by copies of the linked target files # Note: We don't have symlinked directories!!! -find . -type "l" | while read link; do +find . -type "l" | while read -r link; do TARGET="$(readlink "${link}")" pushd "$(dirname "${link}")" >/dev/null if [ -f "${TARGET}" ]; then @@ -156,12 +156,12 @@ if [ "x$MODE" = "xfull" ]; then rm -f "nx-X11/extras/Mesa/src/mesa/main/"*.py rm -f "nx-X11/extras/Mesa/src/mesa/main/"{mesa.def,Imakefile,vsnprintf.c} - find nx-X11/extras/Mesa/ -name Makefile | while read file; do rm "$file"; done - find nx-X11/extras/Mesa/ -name Makefile.* | while read file; do rm "$file"; done - find nx-X11/extras/Mesa/ -name descrip.mms | while read file; do rm "$file"; done + find nx-X11/extras/Mesa/ -name Makefile | while read -r file; do rm "$file"; done + find nx-X11/extras/Mesa/ -name Makefile.* | while read -r file; do rm "$file"; done + find nx-X11/extras/Mesa/ -name descrip.mms | while read -r file; do rm "$file"; done # this is for 3.5.0.x only... - cat "debian/patches/series" | sort | grep -v '^#' | egrep "([0-9]+(_|-).*\.(full|full\+lite)\.patch)" | while read file + cat "debian/patches/series" | sort | grep -v '^#' | egrep "([0-9]+(_|-).*\.(full|full\+lite)\.patch)" | while read -r file do cp -v "debian/patches/$file" "doc/applied-patches/" echo "${file##*/}" >> "doc/applied-patches/series" @@ -198,7 +198,7 @@ else mv LICENSE.nxcomp LICENSE # this is for 3.5.0.x only... - cat "debian/patches/series" | sort | grep -v '^#' | egrep "([0-9]+(_|-).*\.full\+lite\.patch)" | while read file + cat "debian/patches/series" | sort | grep -v '^#' | egrep "([0-9]+(_|-).*\.full\+lite\.patch)" | while read -r file do cp -v "debian/patches/$file" "doc/applied-patches/" echo "${file##*/}" >> "doc/applied-patches/series" -- cgit v1.2.3 From cb6e3b7d33923b177b0b8ffbe61d6c5b62c09001 Mon Sep 17 00:00:00 2001 From: Mario Trangoni Date: Sun, 31 Jan 2021 14:27:45 +0100 Subject: shellcheck: Fix SC2148 issues See, $ find . -name "*.sh" | xargs shellcheck -i SC2148 In ./replace.sh line 1: ^-- SC2148: Tips depend on target shell and yours is unknown. Add a shebang or a 'shell' directive. For more information: https://www.shellcheck.net/wiki/SC2148 -- Tips depend on target shell and y... Signed-off-by: Mario Trangoni --- replace.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/replace.sh b/replace.sh index c2b187fda..28ce65aa4 100644 --- a/replace.sh +++ b/replace.sh @@ -1,3 +1,5 @@ +#!/bin/bash + # Copyright (C) 2013 Jan Engelhardt # # This program is free software; you can redistribute it and/or modify -- cgit v1.2.3 From 18aca1f69ce0b305c746b84ff90f8bf5a471ca33 Mon Sep 17 00:00:00 2001 From: Mario Trangoni Date: Sun, 31 Jan 2021 14:31:41 +0100 Subject: shellcheck: Fix SC2059 issue See, $ find . -name "*.sh" | xargs shellcheck -i SC2059 In ./version.sh line 34: printf "${VER}" ^------^ SC2059: Don't use variables in the printf format string. Use printf '..%s..' "$foo". For more information: https://www.shellcheck.net/wiki/SC2059 -- Don't use variables in the printf... Signed-off-by: Mario Trangoni --- version.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.sh b/version.sh index 891536890..f46600c50 100755 --- a/version.sh +++ b/version.sh @@ -31,4 +31,4 @@ VER="$(head -n "1" "${VERSION_FILE}" | cut -d"." -f"${COMPONENT}")" [ "x${VER}" = "x" ] && VER="0" -printf "${VER}" +printf "%s" "${VER}" -- cgit v1.2.3 From 747a337444bbbb61e6956554e33c1387f5f40643 Mon Sep 17 00:00:00 2001 From: Mario Trangoni Date: Sun, 31 Jan 2021 14:38:08 +0100 Subject: shellcheck: Fix some SC2086 issues see, $ find . -name "*.sh" | xargs shellcheck -i SC2086 For more information: https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ... Signed-off-by: Mario Trangoni --- regenerate-symbol-docs.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/regenerate-symbol-docs.sh b/regenerate-symbol-docs.sh index 289effb25..96b23c9d8 100755 --- a/regenerate-symbol-docs.sh +++ b/regenerate-symbol-docs.sh @@ -28,7 +28,7 @@ cat "../../../$SYMBOLS_FILE" | grep -v -E "^#" | while read -r symbol; do echo echo "#### $symbol ####" - grep -n $symbol *.{c,h} 2>/dev/null + grep -n "$symbol" *.{c,h} 2>/dev/null done > "../../../$DOC_FILE" cd - 1>/dev/null @@ -40,7 +40,7 @@ cat "../../../../../$SYMBOLS_FILE" | grep -v -E "^#" | while read -r symbol; do echo echo "#### $symbol ####" - grep -n $symbol *.{c,h} 2>/dev/null + grep -n "$symbol" *.{c,h} 2>/dev/null done > "../../../../../$DOC_FILE" cd - 1>/dev/null @@ -52,7 +52,7 @@ cat "../../../../../../$SYMBOLS_FILE" | grep -v -E "^#" | while read -r symbol; echo echo "#### $symbol ####" - grep -n $symbol *.{c,h} 2>/dev/null + grep -n "$symbol" *.{c,h} 2>/dev/null done > "../../../../../../$DOC_FILE" cd - 1>/dev/null @@ -69,7 +69,7 @@ cat "../../../../../../$SYMBOLS_FILE" | grep -v -E "^#" | while read -r symbol; echo echo "#### $symbol ####" - grep -n $symbol *.{c,h} 2>/dev/null + grep -n "$symbol" *.{c,h} 2>/dev/null done > "../../../../../../$DOC_FILE" cd - 1>/dev/null @@ -81,7 +81,7 @@ cat ../../../../../$SYMBOLS_FILE | grep -v -E "^#" | while read -r symbol; do echo echo "#### $symbol ####" - grep -n $symbol *.{c,h} 2>/dev/null + grep -n "$symbol" *.{c,h} 2>/dev/null done > "../../../../../$DOC_FILE" cd - 1>/dev/null -- cgit v1.2.3 From 2168bc68987c0d47f5898040ead57484d2671fb7 Mon Sep 17 00:00:00 2001 From: Mario Trangoni Date: Sun, 31 Jan 2021 14:43:47 +0100 Subject: shellcheck: Fix SC2045 issue See, $ find . -name "*.sh" | xargs shellcheck -i SC2045 In ./roll-tarballs.sh line 220: for f in $(ls README* 2>/dev/null); do ^-----------------------^ SC2045: Iterating over ls output is fragile. Use globs. For more information: https://www.shellcheck.net/wiki/SC2045 -- Iterating over ls output is fragi... Signed-off-by: Mario Trangoni --- roll-tarballs.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/roll-tarballs.sh b/roll-tarballs.sh index 85e098960..5d0b7c215 100755 --- a/roll-tarballs.sh +++ b/roll-tarballs.sh @@ -217,8 +217,9 @@ rm -Rf "debian/" rm -Rf "nx-libs.spec" # very old release did not add any README -for f in $(ls README* 2>/dev/null); do - mv -v "$f" "doc/"; +for f in README*; do + [[ -e "$f" ]] || break # handle the case of no README* files + mv -v "$f" "doc/" done # remove files, that we do not want in the tarballs (build cruft) -- cgit v1.2.3 From 22b40e690ac85ba694b999ecdfbbd91ab923b64c Mon Sep 17 00:00:00 2001 From: Mario Trangoni Date: Sun, 31 Jan 2021 14:53:37 +0100 Subject: shellcheck: Fix SC2002 issue See, $ find . -name "*.sh" | xargs shellcheck -i SC2002 For more information: https://www.shellcheck.net/wiki/SC2002 -- Useless cat. Consider 'cmd < file... Signed-off-by: Mario Trangoni --- nx-X11/lib/src/util/mkks.sh | 4 ++-- regenerate-symbol-docs.sh | 10 +++++----- roll-tarballs.sh | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/nx-X11/lib/src/util/mkks.sh b/nx-X11/lib/src/util/mkks.sh index ab5ca80c9..1831081f9 100644 --- a/nx-X11/lib/src/util/mkks.sh +++ b/nx-X11/lib/src/util/mkks.sh @@ -1,10 +1,10 @@ #!/bin/sh -cat $* | awk 'BEGIN { \ +awk 'BEGIN { \ printf "/*\n * This file is generated from %s. Do not edit.\n */\n", \ "$(INCLUDESRC)/keysymdef.h";\ } \ /^#define/ { \ len = length($2)-3; \ printf("{ \"%s\", %s },\n", substr($2,4,len), $3); \ -}' +}' $* diff --git a/regenerate-symbol-docs.sh b/regenerate-symbol-docs.sh index 96b23c9d8..05548bdb0 100755 --- a/regenerate-symbol-docs.sh +++ b/regenerate-symbol-docs.sh @@ -24,7 +24,7 @@ SYMBOLS_FILE="doc/libNX_X11/symbols/libNX_X11::symbols.txt" DOC_FILE="doc/libNX_X11/symbols/libNX_X11::symbol-usage_internally.txt" echo "Scanning for libNX_X11 symbols: in libNX_X11 internally: $DOC_FILE" cd nx-X11/lib/X11/ -cat "../../../$SYMBOLS_FILE" | grep -v -E "^#" | while read -r symbol; do +grep -v -E "^#" "../../../$SYMBOLS_FILE" | while read -r symbol; do echo echo "#### $symbol ####" @@ -36,7 +36,7 @@ cd - 1>/dev/null DOC_FILE="doc/libNX_X11/symbols/libNX_X11::symbol-usage_nxagent.txt" echo "Scanning for libNX_X11 symbols: in hw/nxagent: $DOC_FILE" cd nx-X11/programs/Xserver/hw/nxagent/ -cat "../../../../../$SYMBOLS_FILE" | grep -v -E "^#" | while read -r symbol; do +grep -v -E "^#" "../../../../../$SYMBOLS_FILE" | while read -r symbol; do echo echo "#### $symbol ####" @@ -48,7 +48,7 @@ cd - 1>/dev/null DOC_FILE="doc/libNX_X11/symbols/libNX_X11::symbol-usage_nxcompext.txt" echo "Scanning for libNX_X11 symbols: in hw/nxagent/compext: $DOC_FILE" cd nx-X11/programs/Xserver/hw/nxagent/compext/ -cat "../../../../../../$SYMBOLS_FILE" | grep -v -E "^#" | while read -r symbol; do +grep -v -E "^#" "../../../../../../$SYMBOLS_FILE" | while read -r symbol; do echo echo "#### $symbol ####" @@ -65,7 +65,7 @@ SYMBOLS_FILE="doc/nxcompext/symbols/nxcompext::symbols.txt" DOC_FILE="doc/nxcompext/symbols/nxcompext::symbol-usage_internally.txt" echo "Scanning for nxcompext symbols: in hw/nxagent/compext internally: $DOC_FILE" cd nx-X11/programs/Xserver/hw/nxagent/compext/ -cat "../../../../../../$SYMBOLS_FILE" | grep -v -E "^#" | while read -r symbol; do +grep -v -E "^#" "../../../../../../$SYMBOLS_FILE" | while read -r symbol; do echo echo "#### $symbol ####" @@ -77,7 +77,7 @@ cd - 1>/dev/null DOC_FILE="doc/nxcompext/symbols/nxcompext::symbol-usage_nxagent.txt" echo "Scanning for nxcompext symbols: in hw/nxagent: $DOC_FILE" cd nx-X11/programs/Xserver/hw/nxagent/ -cat ../../../../../$SYMBOLS_FILE | grep -v -E "^#" | while read -r symbol; do +grep -v -E "^#" "../../../../../$SYMBOLS_FILE" | while read -r symbol; do echo echo "#### $symbol ####" diff --git a/roll-tarballs.sh b/roll-tarballs.sh index 5d0b7c215..2e2a19f7a 100755 --- a/roll-tarballs.sh +++ b/roll-tarballs.sh @@ -161,7 +161,7 @@ if [ "x$MODE" = "xfull" ]; then find nx-X11/extras/Mesa/ -name descrip.mms | while read -r file; do rm "$file"; done # this is for 3.5.0.x only... - cat "debian/patches/series" | sort | grep -v '^#' | egrep "([0-9]+(_|-).*\.(full|full\+lite)\.patch)" | while read -r file + sort "debian/patches/series" | grep -v '^#' | egrep "([0-9]+(_|-).*\.(full|full\+lite)\.patch)" | while read -r file do cp -v "debian/patches/$file" "doc/applied-patches/" echo "${file##*/}" >> "doc/applied-patches/series" @@ -198,7 +198,7 @@ else mv LICENSE.nxcomp LICENSE # this is for 3.5.0.x only... - cat "debian/patches/series" | sort | grep -v '^#' | egrep "([0-9]+(_|-).*\.full\+lite\.patch)" | while read -r file + sort "debian/patches/series" | grep -v '^#' | egrep "([0-9]+(_|-).*\.full\+lite\.patch)" | while read -r file do cp -v "debian/patches/$file" "doc/applied-patches/" echo "${file##*/}" >> "doc/applied-patches/series" -- cgit v1.2.3 From 930fbe08bf6e17a953bc3c869a1c6b66e498d76a Mon Sep 17 00:00:00 2001 From: Mario Trangoni Date: Sun, 31 Jan 2021 14:57:29 +0100 Subject: shellcheck: Fix SC2034 issue See, $ find . -name "*.sh" | xargs shellcheck -i SC2034 In ./roll-tarballs.sh line 34: NULL="" ^--^ SC2034: NULL appears unused. Verify use (or export if used externally). For more information: https://www.shellcheck.net/wiki/SC2034 -- NULL appears unused. Verify use (... Signed-off-by: Mario Trangoni --- roll-tarballs.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/roll-tarballs.sh b/roll-tarballs.sh index 2e2a19f7a..1a5fac626 100755 --- a/roll-tarballs.sh +++ b/roll-tarballs.sh @@ -31,7 +31,6 @@ usage() { } PROJECT="nx-libs" -NULL="" test -d ".git" || usage RELEASE="$1" -- cgit v1.2.3 From afe0c1473a09120bcd3aa9c6bd853529df4d896f Mon Sep 17 00:00:00 2001 From: Mario Trangoni Date: Sun, 31 Jan 2021 14:59:40 +0100 Subject: shellcheck: Fix SC2196 issues See, $ find . -name "*.sh" | xargs shellcheck -i SC2196 In ./roll-tarballs.sh line 163: sort "debian/patches/series" | grep -v '^#' | egrep "([0-9]+(_|-).*\.(full|full\+lite)\.patch)" | while read -r file ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead. In ./roll-tarballs.sh line 200: sort "debian/patches/series" | grep -v '^#' | egrep "([0-9]+(_|-).*\.full\+lite\.patch)" | while read -r file ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead. For more information: https://www.shellcheck.net/wiki/SC2196 -- egrep is non-standard and depreca... Signed-off-by: Mario Trangoni --- roll-tarballs.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roll-tarballs.sh b/roll-tarballs.sh index 1a5fac626..47b503a71 100755 --- a/roll-tarballs.sh +++ b/roll-tarballs.sh @@ -160,7 +160,7 @@ if [ "x$MODE" = "xfull" ]; then find nx-X11/extras/Mesa/ -name descrip.mms | while read -r file; do rm "$file"; done # this is for 3.5.0.x only... - sort "debian/patches/series" | grep -v '^#' | egrep "([0-9]+(_|-).*\.(full|full\+lite)\.patch)" | while read -r file + sort "debian/patches/series" | grep -v '^#' | grep -E "([0-9]+(_|-).*\.(full|full\+lite)\.patch)" | while read -r file do cp -v "debian/patches/$file" "doc/applied-patches/" echo "${file##*/}" >> "doc/applied-patches/series" @@ -197,7 +197,7 @@ else mv LICENSE.nxcomp LICENSE # this is for 3.5.0.x only... - sort "debian/patches/series" | grep -v '^#' | egrep "([0-9]+(_|-).*\.full\+lite\.patch)" | while read -r file + sort "debian/patches/series" | grep -v '^#' | grep -E "([0-9]+(_|-).*\.full\+lite\.patch)" | while read -r file do cp -v "debian/patches/$file" "doc/applied-patches/" echo "${file##*/}" >> "doc/applied-patches/series" -- cgit v1.2.3 From 407651b39e5d6dc1f74716e38a54e315bb251ae3 Mon Sep 17 00:00:00 2001 From: Mario Trangoni Date: Sun, 31 Jan 2021 15:03:17 +0100 Subject: shellcheck: Fix SC2048 issue See, $ find . -name "*.sh" | xargs shellcheck -i SC2048 In ./nx-X11/lib/src/util/mkks.sh line 10: }' $* ^-- SC2048: Use "$@" (with quotes) to prevent whitespace problems. For more information: https://www.shellcheck.net/wiki/SC2048 -- Use "$@" (with quotes) to prevent... Signed-off-by: Mario Trangoni --- nx-X11/lib/src/util/mkks.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nx-X11/lib/src/util/mkks.sh b/nx-X11/lib/src/util/mkks.sh index 1831081f9..7af0e51ab 100644 --- a/nx-X11/lib/src/util/mkks.sh +++ b/nx-X11/lib/src/util/mkks.sh @@ -7,4 +7,4 @@ awk 'BEGIN { \ /^#define/ { \ len = length($2)-3; \ printf("{ \"%s\", %s },\n", substr($2,4,len), $3); \ -}' $* +}' "$@" -- cgit v1.2.3 From 8ce12d613a570710b9e1c7fa179b6d0cafd9de0f Mon Sep 17 00:00:00 2001 From: Mario Trangoni Date: Sun, 31 Jan 2021 15:07:18 +0100 Subject: shellcheck: Fix SC2061 issue $ find . -name "*.sh" | xargs shellcheck -i SC2061 In ./roll-tarballs.sh line 159: find nx-X11/extras/Mesa/ -name Makefile.* | while read -r file; do rm "$file"; done ^--------^ SC2061: Quote the parameter to -name so the shell won't interpret it. For more information: https://www.shellcheck.net/wiki/SC2061 -- Quote the parameter to -name so t... Signed-off-by: Mario Trangoni --- roll-tarballs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roll-tarballs.sh b/roll-tarballs.sh index 47b503a71..c9af13102 100755 --- a/roll-tarballs.sh +++ b/roll-tarballs.sh @@ -156,7 +156,7 @@ if [ "x$MODE" = "xfull" ]; then rm -f "nx-X11/extras/Mesa/src/mesa/main/"{mesa.def,Imakefile,vsnprintf.c} find nx-X11/extras/Mesa/ -name Makefile | while read -r file; do rm "$file"; done - find nx-X11/extras/Mesa/ -name Makefile.* | while read -r file; do rm "$file"; done + find nx-X11/extras/Mesa/ -name 'Makefile.*' | while read -r file; do rm "$file"; done find nx-X11/extras/Mesa/ -name descrip.mms | while read -r file; do rm "$file"; done # this is for 3.5.0.x only... -- cgit v1.2.3 From 150e9bda9f47e004291f169e7493500cc5b0be74 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Sat, 30 Jan 2021 16:10:08 +0100 Subject: nxagent: drop unused nxagentVisibility variables --- nx-X11/programs/Xserver/hw/nxagent/Events.c | 2 -- nx-X11/programs/Xserver/hw/nxagent/Window.c | 2 -- nx-X11/programs/Xserver/hw/nxagent/Windows.h | 2 -- 3 files changed, 6 deletions(-) diff --git a/nx-X11/programs/Xserver/hw/nxagent/Events.c b/nx-X11/programs/Xserver/hw/nxagent/Events.c index 8e2313eac..a342cdee1 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Events.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Events.c @@ -2067,8 +2067,6 @@ FIXME: Don't enqueue the KeyRelease event if the key was not already if (nxagentOption(Fullscreen)) { nxagentVisibility = VisibilityUnobscured; - nxagentVisibilityStop = False; - nxagentVisibilityTimeout = GetTimeInMillis() + 2000; } /* diff --git a/nx-X11/programs/Xserver/hw/nxagent/Window.c b/nx-X11/programs/Xserver/hw/nxagent/Window.c index d95f8f3ed..adf54b717 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Window.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Window.c @@ -80,8 +80,6 @@ int nxagentWindowPrivateIndex; */ int nxagentVisibility = VisibilityUnobscured; -unsigned long nxagentVisibilityTimeout = 0; -Bool nxagentVisibilityStop = False; ConfiguredWindowStruct *nxagentConfiguredWindowList; StaticResizedWindowStruct *nxagentStaticResizedWindowList; diff --git a/nx-X11/programs/Xserver/hw/nxagent/Windows.h b/nx-X11/programs/Xserver/hw/nxagent/Windows.h index 8666ebec9..df27d4e53 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Windows.h +++ b/nx-X11/programs/Xserver/hw/nxagent/Windows.h @@ -256,8 +256,6 @@ void nxagentConfigureWindow(WindowPtr pWin, unsigned int mask); */ extern int nxagentVisibility; -extern unsigned long nxagentVisibilityTimeout; -extern Bool nxagentVisibilityStop; /* * Return the pointer to the window given the remote id. It tries to -- cgit v1.2.3 From 19b639b910fadac9ef24ec1ef9bf774ad4e78a71 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Sat, 30 Jan 2021 16:10:14 +0100 Subject: Window.c: Fix 32bit code path make it compile again Thanks to Simon Matter for reporting this and the patch. Fixes ArcticaProject/nx-libs#993 --- nx-X11/programs/Xserver/hw/nxagent/Window.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/nx-X11/programs/Xserver/hw/nxagent/Window.c b/nx-X11/programs/Xserver/hw/nxagent/Window.c index adf54b717..ba93c96cb 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Window.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Window.c @@ -3089,8 +3089,8 @@ static void nxagentReconnectWindow(void * param0, XID param1, void * data_buffer /* FIXME: use XAllocSizeHints() */ #ifdef _XSERVER64 data64 = (unsigned char *) malloc(sizeof(XSizeHints) + 4); - if (data64) - { + if (data64) + { for (int i = 0; i < 4; i++) { *(data64 + i) = *(data + i); @@ -3104,18 +3104,18 @@ static void nxagentReconnectWindow(void * param0, XID param1, void * data_buffer } XSizeHints *props = (XSizeHints *) data64; - #else - XSizeHints *props = (XSizeHints *) data; - #endif /* _XSERVER64 */ - hints = *props; - } - else - { + } + else + { #ifdef WARNING fprintf(stderr, "%s: Failed to alloc memory for XSizeHints\n", __func__); #endif - } + } + #else + XSizeHints *props = (XSizeHints *) data; + hints = *props; + #endif /* _XSERVER64 */ } else { -- cgit v1.2.3 From 513418ace94fa4e57917d5145381d05050e3e160 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Sat, 30 Jan 2021 16:10:17 +0100 Subject: NXproperty.c: clean returns remove unneccessary parentheses --- nx-X11/programs/Xserver/hw/nxagent/NXproperty.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c index 97665d22e..3ca79cea7 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c @@ -482,14 +482,14 @@ GetWindowProperty(pWin, property, longOffset, longLength, delete, #ifdef DEBUG fprintf(stderr, "%s: invalid atom [%d]\n", __func__, property); #endif - return(BadAtom); + return BadAtom; } if ((type != AnyPropertyType) && !ValidAtom(type)) { #ifdef DEBUG fprintf(stderr, "%s: invalid type [%d]\n", __func__, type); #endif - return(BadAtom); + return BadAtom; } pProp = wUserProps (pWin); @@ -508,7 +508,7 @@ GetWindowProperty(pWin, property, longOffset, longLength, delete, #ifdef DEBUG fprintf(stderr, "%s: property not found [%d]\n", __func__, property); #endif - return (BadAtom); + return BadAtom; } /* If the request type and actual type don't match. Return the @@ -577,7 +577,7 @@ GetWindowProperty(pWin, property, longOffset, longLength, delete, free(pProp->data); free(pProp); } - return(Success); + return Success; } #endif -- cgit v1.2.3 From 3cabdfa2a0f799d7c9278da1b6f333961e670428 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Sat, 30 Jan 2021 16:10:19 +0100 Subject: NXproperty.c: simplify and reformat GetWindowProperty() --- nx-X11/programs/Xserver/hw/nxagent/NXproperty.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c index 3ca79cea7..9e14a3cca 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c @@ -466,9 +466,6 @@ GetWindowProperty(pWin, property, longOffset, longLength, delete, unsigned long *bytesAfter; unsigned char **propData; { - PropertyPtr pProp, prevProp; - unsigned long n, len, ind; - if (!pWin) { #ifdef DEBUG @@ -484,6 +481,7 @@ GetWindowProperty(pWin, property, longOffset, longLength, delete, #endif return BadAtom; } + if ((type != AnyPropertyType) && !ValidAtom(type)) { #ifdef DEBUG @@ -492,8 +490,8 @@ GetWindowProperty(pWin, property, longOffset, longLength, delete, return BadAtom; } - pProp = wUserProps (pWin); - prevProp = (PropertyPtr)NULL; + PropertyPtr pProp = wUserProps (pWin); + PropertyPtr prevProp = (PropertyPtr)NULL; while (pProp) { @@ -522,14 +520,14 @@ GetWindowProperty(pWin, property, longOffset, longLength, delete, *format = pProp->format; *nItems = 0; *actualType = pProp->type; - return(Success); + return Success; } /* * Return type, format, value to client */ - n = (pProp->format/8) * pProp->size; /* size (bytes) of prop */ - ind = longOffset << 2; + unsigned long n = (pProp->format/8) * pProp->size; /* size (bytes) of prop */ + unsigned long ind = longOffset << 2; /* If longOffset is invalid such that it causes "len" to be negative, it's a value error. */ @@ -542,7 +540,7 @@ GetWindowProperty(pWin, property, longOffset, longLength, delete, return BadValue; } - len = min(n - ind, 4 * longLength); + unsigned long len = min(n - ind, 4 * longLength); *bytesAfter = n - (ind + len); *format = pProp->format; @@ -566,7 +564,7 @@ GetWindowProperty(pWin, property, longOffset, longLength, delete, } if (delete && (*bytesAfter == 0)) - { /* delete the Property */ + { /* delete the property */ if (prevProp == (PropertyPtr)NULL) /* takes care of head */ { if (!(pWin->optional->userProps = pProp->next)) -- cgit v1.2.3 From 969d9af23c77d90abe9d9607d142d668b1ab432e Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Sat, 30 Jan 2021 16:10:21 +0100 Subject: NXproperty.c: GetWindowProperty(): add more comments, restruct prototype --- nx-X11/programs/Xserver/hw/nxagent/NXproperty.c | 35 +++++++++++-------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c index 9e14a3cca..f4979ceb3 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c @@ -446,25 +446,20 @@ ProcGetProperty(ClientPtr client) return(client->noClientException); } -#ifdef NXAGENT_CLIPBOARD -/* GetWindowProperty clipboard use only */ -/* FIXME: that's wrong, it is also called in Window.c and Events.c */ -/* FIXME: should be moved to a different file, is not derived from - dix */ +/* + * GetWindowProperty is the internal implementation of the + * XGetWindowProperty() Xlib call. It is called from + * Clipboard.c, Window.c and Events.c + * + * FIXME: should be moved to a different file, is not derived from + * dix + */ int -GetWindowProperty(pWin, property, longOffset, longLength, delete, - type, actualType, format, nItems, bytesAfter, propData ) - WindowPtr pWin; - Atom property; - long longOffset; - long longLength; - Bool delete; - Atom type; - Atom *actualType; - int *format; - unsigned long *nItems; - unsigned long *bytesAfter; - unsigned char **propData; +GetWindowProperty(WindowPtr pWin, Atom property, long longOffset, + long longLength, Bool delete, Atom type, + Atom *actualType, int *format, unsigned + long *nItems, unsigned long *bytesAfter, + unsigned char **propData) { if (!pWin) { @@ -527,7 +522,7 @@ GetWindowProperty(pWin, property, longOffset, longLength, delete, * Return type, format, value to client */ unsigned long n = (pProp->format/8) * pProp->size; /* size (bytes) of prop */ - unsigned long ind = longOffset << 2; + unsigned long ind = longOffset << 2; /* byte offset */ /* If longOffset is invalid such that it causes "len" to be negative, it's a value error. */ @@ -540,6 +535,7 @@ GetWindowProperty(pWin, property, longOffset, longLength, delete, return BadValue; } + /* minimum of prop size and requested size */ unsigned long len = min(n - ind, 4 * longLength); *bytesAfter = n - (ind + len); @@ -577,7 +573,6 @@ GetWindowProperty(pWin, property, longOffset, longLength, delete, } return Success; } -#endif int ProcDeleteProperty(register ClientPtr client) -- cgit v1.2.3 From da9ac92e9729308bcaabd76cf2a9b37b7acca9ec Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Sat, 30 Jan 2021 16:10:23 +0100 Subject: NXproperty.c, dix.c: simplify ProcDeleteProperty() by calling the dix version after a check --- nx-X11/programs/Xserver/dix/property.c | 6 ++-- nx-X11/programs/Xserver/hw/nxagent/NXproperty.c | 48 +++---------------------- 2 files changed, 9 insertions(+), 45 deletions(-) diff --git a/nx-X11/programs/Xserver/dix/property.c b/nx-X11/programs/Xserver/dix/property.c index f0bfe1e65..37af8d592 100644 --- a/nx-X11/programs/Xserver/dix/property.c +++ b/nx-X11/programs/Xserver/dix/property.c @@ -661,9 +661,12 @@ ProcListProperties(ClientPtr client) return(client->noClientException); } -#ifndef NXAGENT_SERVER int +#ifdef NXAGENT_SERVER +xorg_ProcDeleteProperty(register ClientPtr client) +#else ProcDeleteProperty(register ClientPtr client) +#endif { WindowPtr pWin; REQUEST(xDeletePropertyReq); @@ -699,4 +702,3 @@ ProcDeleteProperty(register ClientPtr client) else return(result); } -#endif diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c index f4979ceb3..7cf41f241 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c @@ -180,11 +180,8 @@ ProcChangeProperty(ClientPtr client) #ifdef NXAGENT_SERVER /* prevent clients from changing the NX_AGENT_VERSION property */ - { - Atom prop = MakeAtom("NX_AGENT_VERSION", strlen("NX_AGENT_VERSION"), True); - if (stuff->property == prop) - return client->noClientException; - } + if (stuff->property == MakeAtom("NX_AGENT_VERSION", strlen("NX_AGENT_VERSION"), True)) + return client->noClientException; #endif err = ChangeWindowProperty(pWin, stuff->property, stuff->type, (int)format, @@ -577,46 +574,11 @@ GetWindowProperty(WindowPtr pWin, Atom property, long longOffset, int ProcDeleteProperty(register ClientPtr client) { - WindowPtr pWin; REQUEST(xDeletePropertyReq); - int result; - REQUEST_SIZE_MATCH(xDeletePropertyReq); - UpdateCurrentTime(); - pWin = (WindowPtr)SecurityLookupWindow(stuff->window, client, - DixWriteAccess); - if (!pWin) - return(BadWindow); - if (!ValidAtom(stuff->property)) - { - client->errorValue = stuff->property; - return (BadAtom); - } - -#ifdef XCSECURITY - switch(SecurityCheckPropertyAccess(client, pWin, stuff->property, - DixDestroyAccess)) - { - case SecurityErrorOperation: - client->errorValue = stuff->property; - return BadAtom;; - case SecurityIgnoreOperation: - return Success; - } -#endif - -#ifdef NXAGENT_SERVER /* prevent clients from deleting the NX_AGENT_VERSION property */ - { - Atom prop = MakeAtom("NX_AGENT_VERSION", strlen("NX_AGENT_VERSION"), True); - if (stuff->property == prop) - return client->noClientException; - } -#endif + if (stuff->property == MakeAtom("NX_AGENT_VERSION", strlen("NX_AGENT_VERSION"), True)) + return client->noClientException; - result = DeleteProperty(pWin, stuff->property); - if (client->noClientException != Success) - return(client->noClientException); - else - return(result); + return xorg_ProcDeleteProperty(client); } -- cgit v1.2.3 From 82028465cd5b92ad7c5bffd6333ee57e13ce8045 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Sun, 31 Jan 2021 19:20:25 +0100 Subject: NXproperty.c: reorder functions Make it obvious that GetWindowProperty() and ChangeWindowProperty are not derived from dix. --- nx-X11/programs/Xserver/hw/nxagent/NXproperty.c | 60 +++++++++++++------------ 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c index 7cf41f241..8461f4a30 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c @@ -208,28 +208,6 @@ ProcChangeProperty(ClientPtr client) } } -int -ChangeWindowProperty(WindowPtr pWin, Atom property, Atom type, int format, - int mode, unsigned long len, void * value, - Bool sendevent) -{ - int sizeInBytes = format>>3; - int totalSize = len * sizeInBytes; - int copySize = nxagentOption(CopyBufferSize); - - if (copySize != COPY_UNLIMITED && property == clientCutProperty) - { - if (totalSize > copySize) - { - totalSize = copySize; - totalSize = totalSize - (totalSize % sizeInBytes); - len = totalSize / sizeInBytes; - } - } - - return xorg_ChangeWindowProperty(pWin, property, type, format, mode, len, value, sendevent); -} - /***************** * GetProperty * If type Any is specified, returns the property from the specified @@ -443,6 +421,20 @@ ProcGetProperty(ClientPtr client) return(client->noClientException); } +int +ProcDeleteProperty(register ClientPtr client) +{ + REQUEST(xDeletePropertyReq); + REQUEST_SIZE_MATCH(xDeletePropertyReq); + /* prevent clients from deleting the NX_AGENT_VERSION property */ + if (stuff->property == MakeAtom("NX_AGENT_VERSION", strlen("NX_AGENT_VERSION"), True)) + return client->noClientException; + + return xorg_ProcDeleteProperty(client); +} + +/* ---------------------------------------------------------------------- */ + /* * GetWindowProperty is the internal implementation of the * XGetWindowProperty() Xlib call. It is called from @@ -572,13 +564,23 @@ GetWindowProperty(WindowPtr pWin, Atom property, long longOffset, } int -ProcDeleteProperty(register ClientPtr client) +ChangeWindowProperty(WindowPtr pWin, Atom property, Atom type, int format, + int mode, unsigned long len, void * value, + Bool sendevent) { - REQUEST(xDeletePropertyReq); - REQUEST_SIZE_MATCH(xDeletePropertyReq); - /* prevent clients from deleting the NX_AGENT_VERSION property */ - if (stuff->property == MakeAtom("NX_AGENT_VERSION", strlen("NX_AGENT_VERSION"), True)) - return client->noClientException; + int sizeInBytes = format>>3; + int totalSize = len * sizeInBytes; + int copySize = nxagentOption(CopyBufferSize); - return xorg_ProcDeleteProperty(client); + if (copySize != COPY_UNLIMITED && property == clientCutProperty) + { + if (totalSize > copySize) + { + totalSize = copySize; + totalSize = totalSize - (totalSize % sizeInBytes); + len = totalSize / sizeInBytes; + } + } + + return xorg_ChangeWindowProperty(pWin, property, type, format, mode, len, value, sendevent); } -- cgit v1.2.3 From 6d8ccec751dd7de462936cd2b0920867055f0e2a Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Wed, 3 Feb 2021 13:38:59 +0100 Subject: Window.c: add another FIXME --- nx-X11/programs/Xserver/hw/nxagent/Window.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nx-X11/programs/Xserver/hw/nxagent/Window.c b/nx-X11/programs/Xserver/hw/nxagent/Window.c index ba93c96cb..5f12fd48a 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Window.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Window.c @@ -3087,6 +3087,11 @@ static void nxagentReconnectWindow(void * param0, XID param1, void * data_buffer #endif /* FIXME: use XAllocSizeHints() */ + /* FIXME: all this copying is only done because the first + element of the XSizeHints struct is a long which is of + different size on 32bit vs. 64bit platforms. We should + rewrite this to better readable and probably more robust + code */ #ifdef _XSERVER64 data64 = (unsigned char *) malloc(sizeof(XSizeHints) + 4); if (data64) -- cgit v1.2.3 From b09f5e03ec08bcbb9a614d5f2c0f86b28a203aef Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Sat, 30 Jan 2021 16:19:21 +0100 Subject: Screen.c: Fix fullscreen (onescreen) at startup Fixes ArcticaProject/nx-libs#991 --- nx-X11/programs/Xserver/hw/nxagent/Screen.c | 33 +++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/nx-X11/programs/Xserver/hw/nxagent/Screen.c b/nx-X11/programs/Xserver/hw/nxagent/Screen.c index a6b312aaa..c51302e6d 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Screen.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Screen.c @@ -322,6 +322,12 @@ Bool nxagentIsParentOf(Display *d, XlibWindow possible_parent, XlibWindow candid */ void nxagentMinimizeFromFullScreen(ScreenPtr pScreen) { + if (nxagentOption(Fullscreen) && !nxagentOption(AllScreens)) + { + nxagentSwitchFullscreen(pScreen, False); + return; + } + XUnmapWindow(nxagentDisplay, nxagentFullscreenWindow); XIconifyWindow(nxagentDisplay, nxagentIconWindow, DefaultScreen(nxagentDisplay)); @@ -337,6 +343,12 @@ void nxagentMinimizeFromFullScreen(ScreenPtr pScreen) */ void nxagentMaximizeToFullScreen(ScreenPtr pScreen) { + if (nxagentOption(Fullscreen) && !nxagentOption(AllScreens)) + { + nxagentSwitchFullscreen(pScreen, True); + return; + } + /* XUnmapWindow(nxagentDisplay, nxagentIconWindow); */ @@ -992,8 +1004,25 @@ Bool nxagentOpenScreen(ScreenPtr pScreen, int argc, char *argv[]) nxagentChangeOption(X, 0); nxagentChangeOption(Y, 0); - nxagentChangeOption(Width, w); - nxagentChangeOption(Height, h); + /* + * Fullscreen will use the window manager on the remote X + * server. We need to size the window appropriately because the + * window manager stores the size and restores it when fullscreen + * mode is left. In AllScreens mode the window manager is + * instructed to not draw any window decorations. Here we need the + * full width to cover the whole screen. + */ + + if (nxagentOption(AllScreens)) + { + nxagentChangeOption(Width, w); + nxagentChangeOption(Height, h); + } + else + { + nxagentChangeOption(Width, w * 3 / 4); + nxagentChangeOption(Height, h * 3 / 4); + } /* first time screen initialization or resize during reconnect */ if (!nxagentReconnectTrap || nxagentResizeDesktopAtStartup) -- cgit v1.2.3 From 9d0364198e1e161e540e05757f40935f7018d8d6 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Sat, 30 Jan 2021 17:23:49 +0100 Subject: Screen.c: rephrase comment --- nx-X11/programs/Xserver/hw/nxagent/Screen.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nx-X11/programs/Xserver/hw/nxagent/Screen.c b/nx-X11/programs/Xserver/hw/nxagent/Screen.c index c51302e6d..b87c1e225 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Screen.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Screen.c @@ -483,8 +483,8 @@ Window nxagentCreateIconWindow(void) if (-1 == asprintf(&winname, "%s Icon", nxagentWindowName)) { /* If memory allocation wasn't possible, or some other error - occurs, these functions will return -1, and the contents of - winname are undefined. */ + occurs, asprintf() will return -1, and the content of + winname is undefined. */ winname = NULL; } #endif -- cgit v1.2.3