Merge pull request #1297 from a1346054/fixes
Simple maintenance improvements
This commit is contained in:
commit
dd8c2a1a38
|
@ -18,7 +18,7 @@ body:
|
||||||
id: version
|
id: version
|
||||||
attributes:
|
attributes:
|
||||||
label: Version
|
label: Version
|
||||||
description: What version of Barrier are you runnning?
|
description: What version of Barrier are you running?
|
||||||
options:
|
options:
|
||||||
- v2.0.0-RC1
|
- v2.0.0-RC1
|
||||||
- v2.0.0-RC2
|
- v2.0.0-RC2
|
||||||
|
|
59
LICENSE
59
LICENSE
|
@ -286,3 +286,62 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
POSSIBILITY OF SUCH DAMAGES.
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this
|
||||||
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License.
|
||||||
|
|
|
@ -107,7 +107,8 @@ A: Start the binary with the argument `--config <path_to_saved_configuration>`
|
||||||
|
|
||||||
Q: After loading my configuration on the client the field 'Server IP' is still empty!
|
Q: After loading my configuration on the client the field 'Server IP' is still empty!
|
||||||
|
|
||||||
A: Edit your configuration to include the servers ip adress manually with
|
A: Edit your configuration to include the server's ip address manually with
|
||||||
(...)
|
|
||||||
section: options
|
(...)
|
||||||
serverhostname=<AAA.BBB.CCC.DDD>
|
section: options
|
||||||
|
serverhostname=<AAA.BBB.CCC.DDD>
|
||||||
|
|
|
@ -65,7 +65,7 @@ if exist bin\Debug (
|
||||||
mkdir bin\Release\platforms
|
mkdir bin\Release\platforms
|
||||||
copy %B_QT_FULLPATH%\plugins\platforms\qwindows.dll bin\Release\platforms\ > NUL
|
copy %B_QT_FULLPATH%\plugins\platforms\qwindows.dll bin\Release\platforms\ > NUL
|
||||||
) else (
|
) else (
|
||||||
echo Remember to copy supporting binaries and confiuration files!
|
echo Remember to copy supporting binaries and configuration files!
|
||||||
)
|
)
|
||||||
|
|
||||||
echo Build completed successfully
|
echo Build completed successfully
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
cd "$(dirname $0)" || exit 1
|
cd "$(dirname "$0")" || exit 1
|
||||||
# some environments have cmake v2 as 'cmake' and v3 as 'cmake3'
|
# some environments have cmake v2 as 'cmake' and v3 as 'cmake3'
|
||||||
# check for cmake3 first then fallback to just cmake
|
# check for cmake3 first then fallback to just cmake
|
||||||
B_CMAKE=`type cmake3 2>/dev/null`
|
B_CMAKE=`type cmake3 2>/dev/null`
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
B_CMAKE=`echo $B_CMAKE | cut -d' ' -f3`
|
B_CMAKE=`echo "$B_CMAKE" | cut -d' ' -f3`
|
||||||
else
|
else
|
||||||
B_CMAKE=cmake
|
B_CMAKE=cmake
|
||||||
fi
|
fi
|
||||||
|
@ -26,7 +26,7 @@ B_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=$B_BUILD_TYPE $B_CMAKE_FLAGS"
|
||||||
rm -rf build
|
rm -rf build
|
||||||
mkdir build || exit 1
|
mkdir build || exit 1
|
||||||
cd build || exit 1
|
cd build || exit 1
|
||||||
echo Starting Barrier $B_BUILD_TYPE build...
|
echo "Starting Barrier $B_BUILD_TYPE build..."
|
||||||
$B_CMAKE $B_CMAKE_FLAGS .. || exit 1
|
$B_CMAKE $B_CMAKE_FLAGS .. || exit 1
|
||||||
make || exit 1
|
make || exit 1
|
||||||
echo "Build completed successfully"
|
echo "Build completed successfully"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# Use the same verbose variable as CMake
|
# Use the same verbose variable as CMake
|
||||||
[ "$VERBOSE" == "1" ] && set -x
|
[ "$VERBOSE" = "1" ] && set -x
|
||||||
|
|
||||||
# Exit on unset variables or pipe errors
|
# Exit on unset variables or pipe errors
|
||||||
set -uo pipefail
|
set -uo pipefail
|
||||||
|
@ -14,10 +14,10 @@ B_BARRIERC="Barrier.app/Contents/MacOS/barrierc"
|
||||||
B_BARRIERS="Barrier.app/Contents/MacOS/barriers"
|
B_BARRIERS="Barrier.app/Contents/MacOS/barriers"
|
||||||
|
|
||||||
# Colorized output
|
# Colorized output
|
||||||
function info() { tput bold; echo "$@" ; tput sgr0 ;}
|
info() { tput bold; echo "$@"; tput sgr0 ; }
|
||||||
function error() { tput bold; tput setaf 1; echo "$@"; tput sgr0 ; }
|
error() { tput bold; tput setaf 1; echo "$@"; tput sgr0 ; }
|
||||||
function success() { tput bold; tput setaf 2; echo "$@"; tput sgr0 ; }
|
success() { tput bold; tput setaf 2; echo "$@"; tput sgr0 ; }
|
||||||
function warn() { tput bold; tput setaf 3; echo "$@"; tput sgr0 ; }
|
warn() { tput bold; tput setaf 3; echo "$@"; tput sgr0 ; }
|
||||||
|
|
||||||
info "Checking for bundle contents"
|
info "Checking for bundle contents"
|
||||||
if [ ! -d "Barrier.app/Contents" ]; then
|
if [ ! -d "Barrier.app/Contents" ]; then
|
||||||
|
@ -40,7 +40,7 @@ if which -s port ; then
|
||||||
info "MacPorts found, searching for macdeployqt"
|
info "MacPorts found, searching for macdeployqt"
|
||||||
DEPLOYQT="$(port contents qt5-qttools | grep --only --max-count 1 '/.*macdeployqt')"
|
DEPLOYQT="$(port contents qt5-qttools | grep --only --max-count 1 '/.*macdeployqt')"
|
||||||
if [ ! -x "$DEPLOYQT" ]; then
|
if [ ! -x "$DEPLOYQT" ]; then
|
||||||
error Please install package qt5-qttools
|
error "Please install package qt5-qttools"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -50,13 +50,13 @@ if which -s brew ; then
|
||||||
info "Homebrew found, searching for macdeployqt"
|
info "Homebrew found, searching for macdeployqt"
|
||||||
DEPLOYQT="$(brew list qt@5 | grep --only '/.*macdeployqt' | head -1)"
|
DEPLOYQT="$(brew list qt@5 | grep --only '/.*macdeployqt' | head -1)"
|
||||||
if [ ! -x "$DEPLOYQT" ]; then
|
if [ ! -x "$DEPLOYQT" ]; then
|
||||||
error Please install package qt
|
error "Please install package qt"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Use macdeployqt to include libraries and create dmg
|
# Use macdeployqt to include libraries and create dmg
|
||||||
if [ "$B_BUILDTYPE" == "Release" ]; then
|
if [ "$B_BUILDTYPE" = "Release" ]; then
|
||||||
info "Building Release disk image (dmg)"
|
info "Building Release disk image (dmg)"
|
||||||
"$DEPLOYQT" Barrier.app -dmg \
|
"$DEPLOYQT" Barrier.app -dmg \
|
||||||
-executable="$B_BARRIERC" \
|
-executable="$B_BARRIERC" \
|
||||||
|
|
|
@ -1,30 +1,30 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# add warning for users running manually
|
# add warning for users running manually
|
||||||
function warn() { tput bold; tput setaf 3; echo "$@"; tput sgr0 ; }
|
warn() { tput bold; tput setaf 3; echo "$@"; tput sgr0 ; }
|
||||||
warn "The scripts build_installer.sh and reref_dylibs.sh have been deprecated."
|
warn "The scripts build_installer.sh and reref_dylibs.sh have been deprecated."
|
||||||
warn "Please use build_dist.sh instead to deploy using macdeployqt"
|
warn "Please use build_dist.sh instead to deploy using macdeployqt"
|
||||||
|
|
||||||
# change this to rename the installer package
|
# change this to rename the installer package
|
||||||
B_DMG="Barrier-@BARRIER_VERSION@.dmg"
|
B_DMG="Barrier-@BARRIER_VERSION@.dmg"
|
||||||
|
|
||||||
cd "$( dirname '$0' )"
|
cd "$( dirname "$0" )"
|
||||||
OWNDIR="$( pwd )"
|
OWNDIR="$( pwd )"
|
||||||
|
|
||||||
B_REREF_SCRIPT="$OWNDIR/reref_dylibs.sh"
|
B_REREF_SCRIPT="$OWNDIR/reref_dylibs.sh"
|
||||||
if [ ! -x $B_REREF_SCRIPT ]; then
|
if [ ! -x "$B_REREF_SCRIPT" ]; then
|
||||||
echo Missing script: $B_REREF_SCRIPT
|
echo "Missing script: $B_REREF_SCRIPT"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# remove any old copies so there's no confusion about whether this
|
# remove any old copies so there's no confusion about whether this
|
||||||
# process completes successfully or not
|
# process completes successfully or not
|
||||||
rm -rf temp.dmg $B_DMG
|
rm -rf temp.dmg "$B_DMG"
|
||||||
|
|
||||||
cd Barrier.app/Contents 2>/dev/null
|
cd Barrier.app/Contents 2>/dev/null
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo Please make sure that the build completed successfully
|
echo "Please make sure that the build completed successfully"
|
||||||
echo before trying to create the installer.
|
echo "before trying to create the installer."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -77,7 +77,7 @@ hdiutil create -size 64m -fs HFS+ -volname "Barrier" temp.dmg || exit 1
|
||||||
hdiutil attach temp.dmg -mountpoint mnt || exit 1
|
hdiutil attach temp.dmg -mountpoint mnt || exit 1
|
||||||
cp -r Barrier.app mnt/ || exit 1
|
cp -r Barrier.app mnt/ || exit 1
|
||||||
hdiutil detach mnt || exit 1
|
hdiutil detach mnt || exit 1
|
||||||
hdiutil convert temp.dmg -format UDZO -o $B_DMG || exit 1
|
hdiutil convert temp.dmg -format UDZO -o "$B_DMG" || exit 1
|
||||||
rm temp.dmg
|
rm temp.dmg
|
||||||
|
|
||||||
echo "dmg $B_DMB created successfully"
|
echo "dmg $B_DMG created successfully"
|
||||||
|
|
|
@ -5,28 +5,28 @@ B_TARGET=$1
|
||||||
if [ "x$B_TARGET" = "x" ]; then
|
if [ "x$B_TARGET" = "x" ]; then
|
||||||
|
|
||||||
# add warning for users running manually
|
# add warning for users running manually
|
||||||
function warn() { tput bold; tput setaf 3; echo "$@"; tput sgr0 ; }
|
warn() { tput bold; tput setaf 3; echo "$@"; tput sgr0 ; }
|
||||||
warn "The scripts build_installer.sh and reref_dylibs.sh have been deprecated."
|
warn "The scripts build_installer.sh and reref_dylibs.sh have been deprecated."
|
||||||
warn "Please use build_dist.sh instead to deploy using macdeployqt"
|
warn "Please use build_dist.sh instead to deploy using macdeployqt"
|
||||||
|
|
||||||
echo Which binary needs to be re-referenced?
|
echo "Which binary needs to be re-referenced?"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $(dirname $B_TARGET) || exit 1
|
cd "$(dirname "$B_TARGET")" || exit 1
|
||||||
|
|
||||||
# where to find non-system libraries relative to target's directory.
|
# where to find non-system libraries relative to target's directory.
|
||||||
# the vast majority of the time this should be empty
|
# the vast majority of the time this should be empty
|
||||||
B_REL_PATH=$2
|
B_REL_PATH=$2
|
||||||
|
|
||||||
# we're in target's directory now. trim off the path
|
# we're in target's directory now. trim off the path
|
||||||
B_TARGET=$(basename $B_TARGET)
|
B_TARGET=$(basename "$B_TARGET")
|
||||||
|
|
||||||
# get a list of non-system libraries and make local copies
|
# get a list of non-system libraries and make local copies
|
||||||
B_LIBS=$(otool -XL $B_TARGET | awk '{ print $1 }' | grep -Ev '^(/usr/lib|/System)')
|
B_LIBS=$(otool -XL "$B_TARGET" | awk '{ print $1 }' | grep -Ev '^(/usr/lib|/System)')
|
||||||
[ $? -ne 0 ] && exit 1
|
[ $? -ne 0 ] && exit 1
|
||||||
for B_LIB in $B_LIBS; do
|
for B_LIB in $B_LIBS; do
|
||||||
B_LIB_NAME=$(basename $B_LIB)
|
B_LIB_NAME=$(basename "$B_LIB")
|
||||||
# otool reports barrier as "barrier:" which fails self-reference test below
|
# otool reports barrier as "barrier:" which fails self-reference test below
|
||||||
B_LIB_NAME=${B_LIB_NAME//:}
|
B_LIB_NAME=${B_LIB_NAME//:}
|
||||||
|
|
||||||
|
@ -34,16 +34,16 @@ for B_LIB in $B_LIBS; do
|
||||||
[ "$B_TARGET" = "$B_LIB_NAME" ] && continue
|
[ "$B_TARGET" = "$B_LIB_NAME" ] && continue
|
||||||
|
|
||||||
B_DST=${B_REL_PATH}${B_LIB_NAME}
|
B_DST=${B_REL_PATH}${B_LIB_NAME}
|
||||||
if [ ! -e $B_DST ]; then
|
if [ ! -e "$B_DST" ]; then
|
||||||
cp $B_LIB $B_DST || exit 1
|
cp "$B_LIB" "$B_DST" || exit 1
|
||||||
chmod u+rw $B_DST || exit 1
|
chmod u+rw "$B_DST" || exit 1
|
||||||
# recursively call this script on libraries purposefully not passing
|
# recursively call this script on libraries purposefully not passing
|
||||||
# $B_REL_PATH so that it is only used explicitly
|
# $B_REL_PATH so that it is only used explicitly
|
||||||
$0 $B_DST
|
$0 "$B_DST"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# adjust the target's metadata to point to the local copy
|
# adjust the target's metadata to point to the local copy
|
||||||
# rather than the system-wide copy which would only exist on
|
# rather than the system-wide copy which would only exist on
|
||||||
# a development machine
|
# a development machine
|
||||||
install_name_tool -change $B_LIB @loader_path/$B_DST $B_TARGET || exit 1
|
install_name_tool -change "$B_LIB" "@loader_path/$B_DST" "$B_TARGET" || exit 1
|
||||||
done
|
done
|
||||||
|
|
|
@ -47,7 +47,7 @@ section: links
|
||||||
end
|
end
|
||||||
|
|
||||||
# The aliases section is to map the full names of the computers to their logical names used in the screens section
|
# The aliases section is to map the full names of the computers to their logical names used in the screens section
|
||||||
# One way to find the actual name of a comptuer is to run hostname from a command window
|
# One way to find the actual name of a computer is to run hostname from a command window
|
||||||
section: aliases
|
section: aliases
|
||||||
# Laptop is actually known as John-Smiths-MacBook-3.local
|
# Laptop is actually known as John-Smiths-MacBook-3.local
|
||||||
John-Smiths-MacBook-3.local:
|
John-Smiths-MacBook-3.local:
|
||||||
|
|
|
@ -4,17 +4,17 @@
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<!-- Mac OSX only: Copy this plist file into [~]/Library/LaunchAgents to start barrier client automatically. Make sure you change the IP below. -->
|
<!-- Mac OSX only: Copy this plist file into [~]/Library/LaunchAgents to start barrier client automatically. Make sure you change the IP below. -->
|
||||||
<dict>
|
<dict>
|
||||||
<key>Label</key>
|
<key>Label</key>
|
||||||
<string>org.debauchee.com.barrierc.plist</string>
|
<string>org.debauchee.com.barrierc.plist</string>
|
||||||
<key>OnDemand</key>
|
<key>OnDemand</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>ProgramArguments</key>
|
<key>ProgramArguments</key>
|
||||||
<array>
|
<array>
|
||||||
<string>/usr/bin/barrierc</string>
|
<string>/usr/bin/barrierc</string>
|
||||||
<!-- Replace this IP with the IP of your barriers server -->
|
<!-- Replace this IP with the IP of your barriers server -->
|
||||||
<string>192.168.0.2</string>
|
<string>192.168.0.2</string>
|
||||||
</array>
|
</array>
|
||||||
<key>RunAtLoad</key>
|
<key>RunAtLoad</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|
|
@ -4,12 +4,12 @@
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<!-- Mac OSX only: Copy this plist file into [~]/Library/LaunchAgents to start barrier server automatically. Make sure you change configuration file below -->
|
<!-- Mac OSX only: Copy this plist file into [~]/Library/LaunchAgents to start barrier server automatically. Make sure you change configuration file below -->
|
||||||
<dict>
|
<dict>
|
||||||
<key>Label</key>
|
<key>Label</key>
|
||||||
<string>org.debauchee.com.barriers.plist</string>
|
<string>org.debauchee.com.barriers.plist</string>
|
||||||
<key>OnDemand</key>
|
<key>OnDemand</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>ProgramArguments</key>
|
<key>ProgramArguments</key>
|
||||||
<array>
|
<array>
|
||||||
<string>/usr/bin/barriers</string>
|
<string>/usr/bin/barriers</string>
|
||||||
<string>--no-daemon</string>
|
<string>--no-daemon</string>
|
||||||
<string>--config</string>
|
<string>--config</string>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Checks if directory exists, otherwise asks to install package.
|
# Checks if directory exists, otherwise asks to install package.
|
||||||
function check_dir_exists() {
|
check_dir_exists() {
|
||||||
local path=$1
|
local path=$1
|
||||||
local package=$2
|
local package=$2
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ function check_dir_exists() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ ! $BARRIER_BUILD_ENV ]; then
|
if [ -z "$BARRIER_BUILD_ENV" ]; then
|
||||||
check_dir_exists '/Applications/Xcode.app' 'Xcode'
|
check_dir_exists '/Applications/Xcode.app' 'Xcode'
|
||||||
|
|
||||||
printf "Modifying environment for Barrier build...\n"
|
printf "Modifying environment for Barrier build...\n"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Thank you for chosing Barrier!
|
Thank you for choosing Barrier!
|
||||||
https://github.com/debauchee/barrier/
|
https://github.com/debauchee/barrier/
|
||||||
|
|
||||||
Barrier allows you to share your keyboard and mouse between computers over a network.
|
Barrier allows you to share your keyboard and mouse between computers over a network.
|
||||||
|
|
|
@ -5,6 +5,5 @@ Comment=Keyboard and mouse sharing solution
|
||||||
Exec=barrier
|
Exec=barrier
|
||||||
Icon=barrier
|
Icon=barrier
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Categories=Utility;DesktopUtility;
|
Categories=Utility;RemoteAccess;
|
||||||
Keywords=keyboard;mouse;sharing;network;share;
|
Keywords=keyboard;mouse;sharing;network;share;
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
ICNS_BASE=../dist/macos/bundle/Barrier.app/Contents/Resources
|
ICNS_BASE=../dist/macos/bundle/Barrier.app/Contents/Resources
|
||||||
if ! which magick >/dev/null 2>&1; then
|
if ! which magick >/dev/null 2>&1; then
|
||||||
echo "Need ImageMagic for this"
|
echo "Need ImageMagick for this"
|
||||||
exit 10
|
exit 10
|
||||||
fi
|
fi
|
||||||
cd $(dirname $0) || exit $?
|
cd "$(dirname "$0")" || exit $?
|
||||||
if [ ! -r barrier.png ]; then
|
if [ ! -r barrier.png ]; then
|
||||||
echo "Use inkscape (or another vector graphics editor) to create barrier.png from barrier.svg first"
|
echo "Use inkscape (or another vector graphics editor) to create barrier.png from barrier.svg first"
|
||||||
exit 10
|
exit 10
|
||||||
|
@ -12,11 +12,11 @@ fi
|
||||||
rm -rf work || exit $?
|
rm -rf work || exit $?
|
||||||
mkdir -p work || exit $?
|
mkdir -p work || exit $?
|
||||||
for s in 16 24 32 48 64 128 256 512 1024; do
|
for s in 16 24 32 48 64 128 256 512 1024; do
|
||||||
magick convert barrier.png -resize ${s}x${s} -depth 8 work/${s}.png || exit $?
|
magick convert barrier.png -resize "${s}x${s}" -depth 8 "work/${s}.png" || exit $?
|
||||||
done
|
done
|
||||||
# windows icon
|
# windows icon
|
||||||
magick convert work/{16,24,32,48,64,128}.png barrier.png barrier.ico || exit $?
|
magick convert work/{16,24,32,48,64,128}.png barrier.png barrier.ico || exit $?
|
||||||
# macos icon
|
# macos icon
|
||||||
png2icns $ICNS_BASE/Barrier.icns work/{16,32,256,512,1024}.png || exit $?
|
png2icns "$ICNS_BASE/Barrier.icns" work/{16,32,256,512,1024}.png || exit $?
|
||||||
rm -rf work
|
rm -rf work
|
||||||
echo Done
|
echo Done
|
||||||
|
|
|
@ -20,4 +20,3 @@ add_subdirectory(barriers)
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
add_subdirectory(barrierd)
|
add_subdirectory(barrierd)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -46,4 +46,3 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||||
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||||
install (TARGETS barrierc DESTINATION bin)
|
install (TARGETS barrierc DESTINATION bin)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -66,4 +66,3 @@ createTaskBarReceiver(const BufferedLogOutputter* logBuffer, IEventQueue* events
|
||||||
{
|
{
|
||||||
return new OSXClientTaskBarReceiver(logBuffer, events);
|
return new OSXClientTaskBarReceiver(logBuffer, events);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -73,7 +73,7 @@ BEGIN
|
||||||
VALUE "ProductName", "Barrier"
|
VALUE "ProductName", "Barrier"
|
||||||
VALUE "ProductVersion", BARRIER_VERSION
|
VALUE "ProductVersion", BARRIER_VERSION
|
||||||
VALUE "OriginalFilename", "barrierd.exe"
|
VALUE "OriginalFilename", "barrierd.exe"
|
||||||
VALUE "FileDescription", "Open source KVM software deamon"
|
VALUE "FileDescription", "Open source KVM software daemon"
|
||||||
VALUE "InternalName", "barrierd"
|
VALUE "InternalName", "barrierd"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
|
@ -46,5 +46,3 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||||
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||||
install (TARGETS barriers DESTINATION bin)
|
install (TARGETS barriers DESTINATION bin)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<languages>
|
<languages>
|
||||||
<language ietfCode="en" name="English" />
|
<language ietfCode="en" name="English" />
|
||||||
<language ietfCode="ca-AD" name="Català (Andorra)" />
|
<language ietfCode="ca-AD" name="Català (Andorra)" />
|
||||||
<language ietfCode="cs-CZ" name="Čeština" />
|
<language ietfCode="cs-CZ" name="Čeština" />
|
||||||
<language ietfCode="cy" name="Cymraeg" />
|
<language ietfCode="cy" name="Cymraeg" />
|
||||||
|
|
|
@ -40,4 +40,3 @@ class AboutDialog : public QDialog, public Ui::AboutDialogBase
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -164,4 +164,3 @@ QTextStream& operator<<(QTextStream& outStream, const Action& action)
|
||||||
|
|
||||||
return outStream;
|
return outStream;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -211,7 +211,7 @@ void AppConfig::setElevateMode(ElevateMode em) { m_ElevateMode = em; }
|
||||||
|
|
||||||
void AppConfig::setAutoConfig(bool autoConfig) { m_AutoConfig = autoConfig; }
|
void AppConfig::setAutoConfig(bool autoConfig) { m_AutoConfig = autoConfig; }
|
||||||
|
|
||||||
bool AppConfig::autoConfigPrompted() { return m_AutoConfigPrompted; }
|
bool AppConfig::autoConfigPrompted() { return m_AutoConfigPrompted; }
|
||||||
|
|
||||||
void AppConfig::setAutoConfigPrompted(bool prompted) { m_AutoConfigPrompted = prompted; }
|
void AppConfig::setAutoConfigPrompted(bool prompted) { m_AutoConfigPrompted = prompted; }
|
||||||
|
|
||||||
|
|
|
@ -44,4 +44,3 @@ const char* BaseConfig::m_SwitchCornerNames[] =
|
||||||
"bottom-left",
|
"bottom-left",
|
||||||
"bottom-right"
|
"bottom-right"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ class IpcReader;
|
||||||
|
|
||||||
class IpcClient : public QObject
|
class IpcClient : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
IpcClient();
|
IpcClient();
|
||||||
|
|
|
@ -54,4 +54,3 @@ class KeySequence
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -78,4 +78,3 @@ class KeySequenceWidget : public QPushButton
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -624,7 +624,7 @@ QString MainWindow::configFilename()
|
||||||
if (m_pRadioInternalConfig->isChecked())
|
if (m_pRadioInternalConfig->isChecked())
|
||||||
{
|
{
|
||||||
// TODO: no need to use a temporary file, since we need it to
|
// TODO: no need to use a temporary file, since we need it to
|
||||||
// be permenant (since it'll be used for Windows services, etc).
|
// be permanent (since it'll be used for Windows services, etc).
|
||||||
m_pTempConfigFile = new QTemporaryFile();
|
m_pTempConfigFile = new QTemporaryFile();
|
||||||
if (!m_pTempConfigFile->open())
|
if (!m_pTempConfigFile->open())
|
||||||
{
|
{
|
||||||
|
@ -729,7 +729,7 @@ void MainWindow::stopBarrier()
|
||||||
|
|
||||||
void MainWindow::stopService()
|
void MainWindow::stopService()
|
||||||
{
|
{
|
||||||
// send empty command to stop service from laucning anything.
|
// send empty command to stop service from launching anything.
|
||||||
m_IpcClient.sendCommand("", appConfig().elevateMode());
|
m_IpcClient.sendCommand("", appConfig().elevateMode());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1001,7 +1001,7 @@ bool MainWindow::on_m_pButtonBrowseConfigFile_clicked()
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MainWindow::on_m_pActionSave_triggered()
|
bool MainWindow::on_m_pActionSave_triggered()
|
||||||
{
|
{
|
||||||
QString fileName = QFileDialog::getSaveFileName(this, tr("Save configuration as..."), QString(), barrierConfigSaveFilter);
|
QString fileName = QFileDialog::getSaveFileName(this, tr("Save configuration as..."), QString(), barrierConfigSaveFilter);
|
||||||
|
|
||||||
|
|
|
@ -211,4 +211,3 @@ private slots:
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/*
|
/*
|
||||||
* barrier -- mouse and keyboard sharing utility
|
* barrier -- mouse and keyboard sharing utility
|
||||||
* Copyright (C) 2012-2016 Symless Ltd.
|
* Copyright (C) 2012-2016 Symless Ltd.
|
||||||
* Copyright (C) 2008 Volker Lanz (vl@fidra.de)
|
* Copyright (C) 2008 Volker Lanz (vl@fidra.de)
|
||||||
|
@ -45,4 +45,3 @@ void NewScreenWidget::mousePressEvent(QMouseEvent* event)
|
||||||
|
|
||||||
pDrag->exec(Qt::CopyAction, Qt::CopyAction);
|
pDrag->exec(Qt::CopyAction, Qt::CopyAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,4 +37,3 @@ class NewScreenWidget : public QLabel
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -44,4 +44,3 @@ class QBarrierApplication : public QApplication
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -105,4 +105,3 @@ QDataStream& operator<<(QDataStream& outStream, const Screen& screen);
|
||||||
QDataStream& operator>>(QDataStream& inStream, Screen& screen);
|
QDataStream& operator>>(QDataStream& inStream, Screen& screen);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -152,4 +152,3 @@ void ScreenSettingsDialog::on_m_pListAliases_itemSelectionChanged()
|
||||||
{
|
{
|
||||||
m_pButtonRemoveAlias->setEnabled(!m_pListAliases->selectedItems().isEmpty());
|
m_pButtonRemoveAlias->setEnabled(!m_pListAliases->selectedItems().isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,4 +50,3 @@ class ScreenSettingsDialog : public QDialog, public Ui::ScreenSettingsDialogBase
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -110,7 +110,7 @@ bool ScreenSetupModel::dropMimeData(const QMimeData* data, Qt::DropAction action
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (!parent.isValid() || row != -1 || column != -1)
|
if (!parent.isValid() || row != -1 || column != -1)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
QByteArray encodedData = data->data(m_MimeType);
|
QByteArray encodedData = data->data(m_MimeType);
|
||||||
QDataStream stream(&encodedData, QIODevice::ReadOnly);
|
QDataStream stream(&encodedData, QIODevice::ReadOnly);
|
||||||
|
@ -141,4 +141,3 @@ bool ScreenSetupModel::dropMimeData(const QMimeData* data, Qt::DropAction action
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -68,4 +68,3 @@ class ScreenSetupModel : public QAbstractTableModel
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -225,4 +225,3 @@ QStyleOptionViewItem ScreenSetupView::viewOptions() const
|
||||||
option.textElideMode = Qt::ElideMiddle;
|
option.textElideMode = Qt::ElideMiddle;
|
||||||
return option;
|
return option;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -58,4 +58,3 @@ class ScreenSetupView : public QTableView
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -138,4 +138,3 @@ enum {
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,7 @@ void ServerConfigDialog::showEvent(QShowEvent* event)
|
||||||
|
|
||||||
if (!m_Message.isEmpty())
|
if (!m_Message.isEmpty())
|
||||||
{
|
{
|
||||||
// TODO: ideally this massage box should pop up after the dialog is shown
|
// TODO: ideally this message box should pop up after the dialog is shown
|
||||||
QMessageBox::information(this, tr("Configure server"), m_Message);
|
QMessageBox::information(this, tr("Configure server"), m_Message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,4 +63,3 @@ class ServerConfigDialog : public QDialog, public Ui::ServerConfigDialogBase
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ SetupWizard::SetupWizard(MainWindow& mainWindow, bool startMain) :
|
||||||
|
|
||||||
#elif defined(Q_OS_WIN)
|
#elif defined(Q_OS_WIN)
|
||||||
|
|
||||||
// when areo is disabled on windows, the next/back buttons
|
// when aero is disabled on windows, the next/back buttons
|
||||||
// are hidden (must be a qt bug) -- resizing the window
|
// are hidden (must be a qt bug) -- resizing the window
|
||||||
// to +1 of the original height seems to fix this.
|
// to +1 of the original height seems to fix this.
|
||||||
// NOTE: calling setMinimumSize after this will break
|
// NOTE: calling setMinimumSize after this will break
|
||||||
|
|
|
@ -19,4 +19,3 @@
|
||||||
|
|
||||||
// included in both the GUI and the child apps (server & client)
|
// included in both the GUI and the child apps (server & client)
|
||||||
const char ShutdownCh = 'S';
|
const char ShutdownCh = 'S';
|
||||||
|
|
||||||
|
|
|
@ -106,7 +106,7 @@ void SslCertificate::generateCertificate()
|
||||||
arguments.append("-x509");
|
arguments.append("-x509");
|
||||||
arguments.append("-nodes");
|
arguments.append("-nodes");
|
||||||
|
|
||||||
// valide duration
|
// valid duration
|
||||||
arguments.append("-days");
|
arguments.append("-days");
|
||||||
arguments.append(kCertificateLifetime);
|
arguments.append(kCertificateLifetime);
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
class SslCertificate : public QObject
|
class SslCertificate : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit SslCertificate(QObject *parent = 0);
|
explicit SslCertificate(QObject *parent = 0);
|
||||||
|
|
|
@ -40,4 +40,3 @@ void TrashScreenWidget::dropEvent(QDropEvent* event)
|
||||||
else
|
else
|
||||||
event->ignore();
|
event->ignore();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,4 +39,3 @@ class TrashScreenWidget : public QLabel
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ std::string ArchInternetWindows::urlEncode(const std::string& url)
|
||||||
|
|
||||||
std::string result(buffer);
|
std::string result(buffer);
|
||||||
|
|
||||||
// the win32 url encoding funcitons are pretty useless (to us) and only
|
// the win32 url encoding functions are pretty useless (to us) and only
|
||||||
// escape "unsafe" chars, but not + or =, so we need to replace these
|
// escape "unsafe" chars, but not + or =, so we need to replace these
|
||||||
// manually (and probably many other chars).
|
// manually (and probably many other chars).
|
||||||
barrier::string::findReplaceAll(result, "+", "%2B");
|
barrier::string::findReplaceAll(result, "+", "%2B");
|
||||||
|
|
|
@ -443,7 +443,7 @@ ArchMiscWindows::wasLaunchedAsService()
|
||||||
bool ArchMiscWindows::getParentProcessName(std::string &name)
|
bool ArchMiscWindows::getParentProcessName(std::string &name)
|
||||||
{
|
{
|
||||||
PROCESSENTRY32 parentEntry;
|
PROCESSENTRY32 parentEntry;
|
||||||
if (!getParentProcessEntry(parentEntry)){
|
if (!getParentProcessEntry(parentEntry)) {
|
||||||
LOG((CLOG_ERR "could not get entry for parent process"));
|
LOG((CLOG_ERR "could not get entry for parent process"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,58 +57,58 @@ XArchEvalWinsock::eval() const noexcept
|
||||||
// may not look up network error messages correctly. we'll have
|
// may not look up network error messages correctly. we'll have
|
||||||
// to do it ourself.
|
// to do it ourself.
|
||||||
static const struct { int m_code; const char* m_msg; } s_netErrorCodes[] = {
|
static const struct { int m_code; const char* m_msg; } s_netErrorCodes[] = {
|
||||||
/* 10004 */{WSAEINTR, "The (blocking) call was canceled via WSACancelBlockingCall"},
|
/* 10004 */{WSAEINTR, "The (blocking) call was canceled via WSACancelBlockingCall"},
|
||||||
/* 10009 */{WSAEBADF, "Bad file handle"},
|
/* 10009 */{WSAEBADF, "Bad file handle"},
|
||||||
/* 10013 */{WSAEACCES, "The requested address is a broadcast address, but the appropriate flag was not set"},
|
/* 10013 */{WSAEACCES, "The requested address is a broadcast address, but the appropriate flag was not set"},
|
||||||
/* 10014 */{WSAEFAULT, "WSAEFAULT"},
|
/* 10014 */{WSAEFAULT, "WSAEFAULT"},
|
||||||
/* 10022 */{WSAEINVAL, "WSAEINVAL"},
|
/* 10022 */{WSAEINVAL, "WSAEINVAL"},
|
||||||
/* 10024 */{WSAEMFILE, "No more file descriptors available"},
|
/* 10024 */{WSAEMFILE, "No more file descriptors available"},
|
||||||
/* 10035 */{WSAEWOULDBLOCK, "Socket is marked as non-blocking and no connections are present or the receive operation would block"},
|
/* 10035 */{WSAEWOULDBLOCK, "Socket is marked as non-blocking and no connections are present or the receive operation would block"},
|
||||||
/* 10036 */{WSAEINPROGRESS, "A blocking Windows Sockets operation is in progress"},
|
/* 10036 */{WSAEINPROGRESS, "A blocking Windows Sockets operation is in progress"},
|
||||||
/* 10037 */{WSAEALREADY, "The asynchronous routine being canceled has already completed"},
|
/* 10037 */{WSAEALREADY, "The asynchronous routine being canceled has already completed"},
|
||||||
/* 10038 */{WSAENOTSOCK, "At least on descriptor is not a socket"},
|
/* 10038 */{WSAENOTSOCK, "At least on descriptor is not a socket"},
|
||||||
/* 10039 */{WSAEDESTADDRREQ, "A destination address is required"},
|
/* 10039 */{WSAEDESTADDRREQ, "A destination address is required"},
|
||||||
/* 10040 */{WSAEMSGSIZE, "The datagram was too large to fit into the specified buffer and was truncated"},
|
/* 10040 */{WSAEMSGSIZE, "The datagram was too large to fit into the specified buffer and was truncated"},
|
||||||
/* 10041 */{WSAEPROTOTYPE, "The specified protocol is the wrong type for this socket"},
|
/* 10041 */{WSAEPROTOTYPE, "The specified protocol is the wrong type for this socket"},
|
||||||
/* 10042 */{WSAENOPROTOOPT, "The option is unknown or unsupported"},
|
/* 10042 */{WSAENOPROTOOPT, "The option is unknown or unsupported"},
|
||||||
/* 10043 */{WSAEPROTONOSUPPORT,"The specified protocol is not supported"},
|
/* 10043 */{WSAEPROTONOSUPPORT, "The specified protocol is not supported"},
|
||||||
/* 10044 */{WSAESOCKTNOSUPPORT,"The specified socket type is not supported by this address family"},
|
/* 10044 */{WSAESOCKTNOSUPPORT, "The specified socket type is not supported by this address family"},
|
||||||
/* 10045 */{WSAEOPNOTSUPP, "The referenced socket is not a type that supports that operation"},
|
/* 10045 */{WSAEOPNOTSUPP, "The referenced socket is not a type that supports that operation"},
|
||||||
/* 10046 */{WSAEPFNOSUPPORT, "BSD: Protocol family not supported"},
|
/* 10046 */{WSAEPFNOSUPPORT, "BSD: Protocol family not supported"},
|
||||||
/* 10047 */{WSAEAFNOSUPPORT, "The specified address family is not supported"},
|
/* 10047 */{WSAEAFNOSUPPORT, "The specified address family is not supported"},
|
||||||
/* 10048 */{WSAEADDRINUSE, "The specified address is already in use"},
|
/* 10048 */{WSAEADDRINUSE, "The specified address is already in use"},
|
||||||
/* 10049 */{WSAEADDRNOTAVAIL, "The specified address is not available from the local machine"},
|
/* 10049 */{WSAEADDRNOTAVAIL, "The specified address is not available from the local machine"},
|
||||||
/* 10050 */{WSAENETDOWN, "The Windows Sockets implementation has detected that the network subsystem has failed"},
|
/* 10050 */{WSAENETDOWN, "The Windows Sockets implementation has detected that the network subsystem has failed"},
|
||||||
/* 10051 */{WSAENETUNREACH, "The network can't be reached from this host at this time"},
|
/* 10051 */{WSAENETUNREACH, "The network can't be reached from this host at this time"},
|
||||||
/* 10052 */{WSAENETRESET, "The connection must be reset because the Windows Sockets implementation dropped it"},
|
/* 10052 */{WSAENETRESET, "The connection must be reset because the Windows Sockets implementation dropped it"},
|
||||||
/* 10053 */{WSAECONNABORTED, "The virtual circuit was aborted due to timeout or other failure"},
|
/* 10053 */{WSAECONNABORTED, "The virtual circuit was aborted due to timeout or other failure"},
|
||||||
/* 10054 */{WSAECONNRESET, "The virtual circuit was reset by the remote side"},
|
/* 10054 */{WSAECONNRESET, "The virtual circuit was reset by the remote side"},
|
||||||
/* 10055 */{WSAENOBUFS, "No buffer space is available or a buffer deadlock has occured. The socket cannot be created"},
|
/* 10055 */{WSAENOBUFS, "No buffer space is available or a buffer deadlock has occurred. The socket cannot be created"},
|
||||||
/* 10056 */{WSAEISCONN, "The socket is already connected"},
|
/* 10056 */{WSAEISCONN, "The socket is already connected"},
|
||||||
/* 10057 */{WSAENOTCONN, "The socket is not connected"},
|
/* 10057 */{WSAENOTCONN, "The socket is not connected"},
|
||||||
/* 10058 */{WSAESHUTDOWN, "The socket has been shutdown"},
|
/* 10058 */{WSAESHUTDOWN, "The socket has been shutdown"},
|
||||||
/* 10059 */{WSAETOOMANYREFS, "BSD: Too many references"},
|
/* 10059 */{WSAETOOMANYREFS, "BSD: Too many references"},
|
||||||
/* 10060 */{WSAETIMEDOUT, "Attempt to connect timed out without establishing a connection"},
|
/* 10060 */{WSAETIMEDOUT, "Attempt to connect timed out without establishing a connection"},
|
||||||
/* 10061 */{WSAECONNREFUSED, "Connection was refused"},
|
/* 10061 */{WSAECONNREFUSED, "Connection was refused"},
|
||||||
/* 10062 */{WSAELOOP, "Undocumented WinSock error code used in BSD"},
|
/* 10062 */{WSAELOOP, "Undocumented WinSock error code used in BSD"},
|
||||||
/* 10063 */{WSAENAMETOOLONG, "Undocumented WinSock error code used in BSD"},
|
/* 10063 */{WSAENAMETOOLONG, "Undocumented WinSock error code used in BSD"},
|
||||||
/* 10064 */{WSAEHOSTDOWN, "Undocumented WinSock error code used in BSD"},
|
/* 10064 */{WSAEHOSTDOWN, "Undocumented WinSock error code used in BSD"},
|
||||||
/* 10065 */{WSAEHOSTUNREACH, "No route to host"},
|
/* 10065 */{WSAEHOSTUNREACH, "No route to host"},
|
||||||
/* 10066 */{WSAENOTEMPTY, "Undocumented WinSock error code"},
|
/* 10066 */{WSAENOTEMPTY, "Undocumented WinSock error code"},
|
||||||
/* 10067 */{WSAEPROCLIM, "Undocumented WinSock error code"},
|
/* 10067 */{WSAEPROCLIM, "Undocumented WinSock error code"},
|
||||||
/* 10068 */{WSAEUSERS, "Undocumented WinSock error code"},
|
/* 10068 */{WSAEUSERS, "Undocumented WinSock error code"},
|
||||||
/* 10069 */{WSAEDQUOT, "Undocumented WinSock error code"},
|
/* 10069 */{WSAEDQUOT, "Undocumented WinSock error code"},
|
||||||
/* 10070 */{WSAESTALE, "Undocumented WinSock error code"},
|
/* 10070 */{WSAESTALE, "Undocumented WinSock error code"},
|
||||||
/* 10071 */{WSAEREMOTE, "Undocumented WinSock error code"},
|
/* 10071 */{WSAEREMOTE, "Undocumented WinSock error code"},
|
||||||
/* 10091 */{WSASYSNOTREADY, "Underlying network subsytem is not ready for network communication"},
|
/* 10091 */{WSASYSNOTREADY, "Underlying network subsystem is not ready for network communication"},
|
||||||
/* 10092 */{WSAVERNOTSUPPORTED, "The version of WinSock API support requested is not provided in this implementation"},
|
/* 10092 */{WSAVERNOTSUPPORTED, "The version of WinSock API support requested is not provided in this implementation"},
|
||||||
/* 10093 */{WSANOTINITIALISED, "WinSock subsystem not properly initialized"},
|
/* 10093 */{WSANOTINITIALISED, "WinSock subsystem not properly initialized"},
|
||||||
/* 10101 */{WSAEDISCON, "Virtual circuit has gracefully terminated connection"},
|
/* 10101 */{WSAEDISCON, "Virtual circuit has gracefully terminated connection"},
|
||||||
/* 11001 */{WSAHOST_NOT_FOUND, "The specified host is unknown"},
|
/* 11001 */{WSAHOST_NOT_FOUND, "The specified host is unknown"},
|
||||||
/* 11002 */{WSATRY_AGAIN, "A temporary error occurred on an authoritative name server"},
|
/* 11002 */{WSATRY_AGAIN, "A temporary error occurred on an authoritative name server"},
|
||||||
/* 11003 */{WSANO_RECOVERY, "A non-recoverable name server error occurred"},
|
/* 11003 */{WSANO_RECOVERY, "A non-recoverable name server error occurred"},
|
||||||
/* 11004 */{WSANO_DATA, "The requested name is valid but does not have an IP address"},
|
/* 11004 */{WSANO_DATA, "The requested name is valid but does not have an IP address"},
|
||||||
/* end */{0, NULL}
|
/* end */{0, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
for (unsigned int i = 0; s_netErrorCodes[i].m_code != 0; ++i) {
|
for (unsigned int i = 0; s_netErrorCodes[i].m_code != 0; ++i) {
|
||||||
|
|
|
@ -90,7 +90,7 @@ public:
|
||||||
|
|
||||||
ARCH_APP_UTIL& appUtil() { return m_appUtil; }
|
ARCH_APP_UTIL& appUtil() { return m_appUtil; }
|
||||||
|
|
||||||
virtual IArchTaskBarReceiver* taskBarReceiver() const { return m_taskBarReceiver; }
|
virtual IArchTaskBarReceiver* taskBarReceiver() const { return m_taskBarReceiver; }
|
||||||
|
|
||||||
virtual void setByeFunc(void(*bye)(int)) { m_bye = bye; }
|
virtual void setByeFunc(void(*bye)(int)) { m_bye = bye; }
|
||||||
virtual void bye(int error) { m_bye(error); }
|
virtual void bye(int error) { m_bye(error); }
|
||||||
|
|
|
@ -373,7 +373,7 @@ ArgParser::splitCommandString(String& command, std::vector<String>& argv)
|
||||||
if (space > leftDoubleQuote && space < rightDoubleQuote) {
|
if (space > leftDoubleQuote && space < rightDoubleQuote) {
|
||||||
ignoreThisSpace = true;
|
ignoreThisSpace = true;
|
||||||
}
|
}
|
||||||
else if (space > rightDoubleQuote){
|
else if (space > rightDoubleQuote) {
|
||||||
searchDoubleQuotes(command, leftDoubleQuote, rightDoubleQuote, rightDoubleQuote + 1);
|
searchDoubleQuotes(command, leftDoubleQuote, rightDoubleQuote, rightDoubleQuote + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,7 @@ public:
|
||||||
|
|
||||||
//! Deactivate screen saver
|
//! Deactivate screen saver
|
||||||
/*!
|
/*!
|
||||||
Deactivate (i.e. hide) the screen saver, reseting the screen saver
|
Deactivate (i.e. hide) the screen saver, resetting the screen saver
|
||||||
timer.
|
timer.
|
||||||
*/
|
*/
|
||||||
virtual void deactivate() = 0;
|
virtual void deactivate() = 0;
|
||||||
|
|
|
@ -267,8 +267,8 @@ extern const char* kMsgDSetOptions;
|
||||||
// 2 means the file transfer is finished.
|
// 2 means the file transfer is finished.
|
||||||
extern const char* kMsgDFileTransfer;
|
extern const char* kMsgDFileTransfer;
|
||||||
|
|
||||||
// drag infomation: primary <-> secondary
|
// drag information: primary <-> secondary
|
||||||
// transfer drag infomation. The first 2 bytes are used for storing
|
// transfer drag information. The first 2 bytes are used for storing
|
||||||
// the number of dragging objects. Then the following string consists
|
// the number of dragging objects. Then the following string consists
|
||||||
// of each object's directory.
|
// of each object's directory.
|
||||||
extern const char* kMsgDDragInfo;
|
extern const char* kMsgDDragInfo;
|
||||||
|
|
|
@ -62,7 +62,7 @@ Log::Log()
|
||||||
{
|
{
|
||||||
assert(s_log == NULL);
|
assert(s_log == NULL);
|
||||||
|
|
||||||
// other initalization
|
// other initialization
|
||||||
m_maxPriority = g_defaultMaxPriority;
|
m_maxPriority = g_defaultMaxPriority;
|
||||||
m_maxNewlineLength = 0;
|
m_maxNewlineLength = 0;
|
||||||
insert(new ConsoleLogOutputter);
|
insert(new ConsoleLogOutputter);
|
||||||
|
|
|
@ -119,7 +119,7 @@ public:
|
||||||
*/
|
*/
|
||||||
NetworkAddress getServerAddress() const;
|
NetworkAddress getServerAddress() const;
|
||||||
|
|
||||||
//! Return true if recieved file size is valid
|
//! Return true if received file size is valid
|
||||||
bool isReceivedFileSizeValid();
|
bool isReceivedFileSizeValid();
|
||||||
|
|
||||||
//! Return expected file size
|
//! Return expected file size
|
||||||
|
|
|
@ -45,7 +45,7 @@ const std::string& DataDirectories::global(const std::string& path)
|
||||||
const std::string& DataDirectories::systemconfig()
|
const std::string& DataDirectories::systemconfig()
|
||||||
{
|
{
|
||||||
// systemconfig() is a special case in that it will track the current value
|
// systemconfig() is a special case in that it will track the current value
|
||||||
// of global() unless and until it is explictly set otherwise
|
// of global() unless and until it is explicitly set otherwise
|
||||||
// previously it would default to the windows folder which was horrible!
|
// previously it would default to the windows folder which was horrible!
|
||||||
if (_systemconfig.empty())
|
if (_systemconfig.empty())
|
||||||
return global();
|
return global();
|
||||||
|
|
|
@ -25,7 +25,7 @@ class IJob;
|
||||||
//! Thread handle
|
//! Thread handle
|
||||||
/*!
|
/*!
|
||||||
Creating a Thread creates a new context of execution (i.e. thread) that
|
Creating a Thread creates a new context of execution (i.e. thread) that
|
||||||
runs simulatenously with the calling thread. A Thread is only a handle
|
runs simultaneously with the calling thread. A Thread is only a handle
|
||||||
to a thread; deleting a Thread does not cancel or destroy the thread it
|
to a thread; deleting a Thread does not cancel or destroy the thread it
|
||||||
refers to and multiple Thread objects can refer to the same thread.
|
refers to and multiple Thread objects can refer to the same thread.
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ public:
|
||||||
/*!
|
/*!
|
||||||
Change the priority of the thread. Normal priority is 0, 1 is
|
Change the priority of the thread. Normal priority is 0, 1 is
|
||||||
the next lower, etc. -1 is the next higher, etc. but boosting
|
the next lower, etc. -1 is the next higher, etc. but boosting
|
||||||
the priority may not be permitted and will be silenty ignored.
|
the priority may not be permitted and will be silently ignored.
|
||||||
*/
|
*/
|
||||||
void setPriority(int n);
|
void setPriority(int n);
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ public:
|
||||||
If \c hostname can be parsed as a numerical address then that's how
|
If \c hostname can be parsed as a numerical address then that's how
|
||||||
it's used, otherwise it's used as a host name. If \c hostname ends
|
it's used, otherwise it's used as a host name. If \c hostname ends
|
||||||
in ":[0-9]+" then that suffix is extracted and used as the port,
|
in ":[0-9]+" then that suffix is extracted and used as the port,
|
||||||
overridding the port parameter. The resulting port must be a valid
|
overriding the port parameter. The resulting port must be a valid
|
||||||
port number (zero is not a valid port number) otherwise \c XSocketAddress
|
port number (zero is not a valid port number) otherwise \c XSocketAddress
|
||||||
is thrown with an error of \c XSocketAddress::kBadPort. The hostname
|
is thrown with an error of \c XSocketAddress::kBadPort. The hostname
|
||||||
is not resolved by the c'tor; use \c resolve to do that.
|
is not resolved by the c'tor; use \c resolve to do that.
|
||||||
|
|
|
@ -24,7 +24,7 @@ class IEventQueue;
|
||||||
class SocketMultiplexer;
|
class SocketMultiplexer;
|
||||||
class IDataSocket;
|
class IDataSocket;
|
||||||
|
|
||||||
class SecureListenSocket : public TCPListenSocket{
|
class SecureListenSocket : public TCPListenSocket {
|
||||||
public:
|
public:
|
||||||
SecureListenSocket(IEventQueue* events,
|
SecureListenSocket(IEventQueue* events,
|
||||||
SocketMultiplexer* socketMultiplexer,
|
SocketMultiplexer* socketMultiplexer,
|
||||||
|
|
|
@ -658,7 +658,7 @@ SecureSocket::disconnect()
|
||||||
void SecureSocket::formatFingerprint(std::string& fingerprint, bool hex, bool separator)
|
void SecureSocket::formatFingerprint(std::string& fingerprint, bool hex, bool separator)
|
||||||
{
|
{
|
||||||
if (hex) {
|
if (hex) {
|
||||||
// to hexidecimal
|
// to hexadecimal
|
||||||
barrier::string::toHex(fingerprint, 2);
|
barrier::string::toHex(fingerprint, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -666,7 +666,7 @@ void SecureSocket::formatFingerprint(std::string& fingerprint, bool hex, bool se
|
||||||
barrier::string::uppercase(fingerprint);
|
barrier::string::uppercase(fingerprint);
|
||||||
|
|
||||||
if (separator) {
|
if (separator) {
|
||||||
// add colon to separate each 2 charactors
|
// add colon to separate each 2 characters
|
||||||
size_t separators = fingerprint.size() / 2;
|
size_t separators = fingerprint.size() / 2;
|
||||||
for (size_t i = 1; i < separators; i++) {
|
for (size_t i = 1; i < separators; i++) {
|
||||||
fingerprint.insert(i * 3 - 1, ":");
|
fingerprint.insert(i * 3 - 1, ":");
|
||||||
|
@ -830,7 +830,7 @@ SecureSocket::showSecureCipherInfo()
|
||||||
}
|
}
|
||||||
|
|
||||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
// m_ssl->m_ssl->session->ciphers is not forward compatable,
|
// m_ssl->m_ssl->session->ciphers is not forward compatible,
|
||||||
// In future release of OpenSSL, it's not visible,
|
// In future release of OpenSSL, it's not visible,
|
||||||
STACK_OF(SSL_CIPHER) * cStack = m_ssl->m_ssl->session->ciphers;
|
STACK_OF(SSL_CIPHER) * cStack = m_ssl->m_ssl->session->ciphers;
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -803,7 +803,7 @@ MSWindowsDesks::checkDesk()
|
||||||
|
|
||||||
// if active desktop changed then tell the old and new desk threads
|
// if active desktop changed then tell the old and new desk threads
|
||||||
// about the change. don't switch desktops when the screensaver is
|
// about the change. don't switch desktops when the screensaver is
|
||||||
// active becaue we'd most likely switch to the screensaver desktop
|
// active because we'd most likely switch to the screensaver desktop
|
||||||
// which would have the side effect of forcing the screensaver to
|
// which would have the side effect of forcing the screensaver to
|
||||||
// stop.
|
// stop.
|
||||||
if (name != m_activeDeskName && !m_screensaver->isActive()) {
|
if (name != m_activeDeskName && !m_screensaver->isActive()) {
|
||||||
|
|
|
@ -1330,7 +1330,7 @@ MSWindowsKeyState::getKeyID(UINT virtualKey, KeyButton button) const
|
||||||
if ((LOWORD(m_keyLayout) & 0xffffu) == 0x0412u) { // 0x0412 : Korean Locale ID
|
if ((LOWORD(m_keyLayout) & 0xffffu) == 0x0412u) { // 0x0412 : Korean Locale ID
|
||||||
if (virtualKey == VK_HANGUL || virtualKey == VK_HANJA) {
|
if (virtualKey == VK_HANGUL || virtualKey == VK_HANJA) {
|
||||||
// If shift-space is used to change the input mode,
|
// If shift-space is used to change the input mode,
|
||||||
// the extented bit is not set. So add it to get right key id.
|
// the extended bit is not set. So add it to get right key id.
|
||||||
button |= 0x100u;
|
button |= 0x100u;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,7 +94,7 @@ MSWindowsSession::isProcessInSession(const char* name, PHANDLE process = NULL)
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string nameListJoin;
|
std::string nameListJoin;
|
||||||
for(std::list<std::string>::iterator it = nameList.begin();
|
for (std::list<std::string>::iterator it = nameList.begin();
|
||||||
it != nameList.end(); it++) {
|
it != nameList.end(); it++) {
|
||||||
nameListJoin.append(*it);
|
nameListJoin.append(*it);
|
||||||
nameListJoin.append(", ");
|
nameListJoin.append(", ");
|
||||||
|
|
|
@ -81,7 +81,7 @@ private:
|
||||||
|
|
||||||
//! Relauncher error
|
//! Relauncher error
|
||||||
/*!
|
/*!
|
||||||
An error occured in the process watchdog.
|
An error occurred in the process watchdog.
|
||||||
*/
|
*/
|
||||||
class XMSWindowsWatchdogError : public XBarrier {
|
class XMSWindowsWatchdogError : public XBarrier {
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -52,7 +52,7 @@ OSXClipboard::OSXClipboard() :
|
||||||
|
|
||||||
OSStatus syncErr = PasteboardSynchronize(m_pboard);
|
OSStatus syncErr = PasteboardSynchronize(m_pboard);
|
||||||
if (syncErr != noErr) {
|
if (syncErr != noErr) {
|
||||||
LOG((CLOG_DEBUG "failed to syncronize clipboard: error %i", syncErr));
|
LOG((CLOG_DEBUG "failed to synchronize clipboard: error %i", syncErr));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -68,7 +68,7 @@ fakeDragging(const char* str, int cursorX, int cursorY)
|
||||||
|
|
||||||
dispatch_async(dispatch_get_main_queue(), ^{
|
dispatch_async(dispatch_get_main_queue(), ^{
|
||||||
NSRect screen = [[NSScreen mainScreen] frame];
|
NSRect screen = [[NSScreen mainScreen] frame];
|
||||||
NSLog ( @"screen size: witdh = %f height = %f", screen.size.width, screen.size.height);
|
NSLog ( @"screen size: width = %f height = %f", screen.size.width, screen.size.height);
|
||||||
NSLog ( @"mouseLocation: %d %d", cursorX, cursorY);
|
NSLog ( @"mouseLocation: %d %d", cursorX, cursorY);
|
||||||
|
|
||||||
int newPosX = 0;
|
int newPosX = 0;
|
||||||
|
|
|
@ -538,10 +538,10 @@ OSXScreen::fakeMouseButton(ButtonID id, bool press)
|
||||||
|
|
||||||
// As long as the click is within the time window and distance window
|
// As long as the click is within the time window and distance window
|
||||||
// increase clickState (double click, triple click, etc)
|
// increase clickState (double click, triple click, etc)
|
||||||
// This will allow for higher than triple click but the quartz documenation
|
// This will allow for higher than triple click but the quartz documentation
|
||||||
// does not specify that this should be limited to triple click
|
// does not specify that this should be limited to triple click
|
||||||
if (press) {
|
if (press) {
|
||||||
if ((ARCH->time() - m_lastClickTime) <= clickTime && diff <= maxDiff){
|
if ((ARCH->time() - m_lastClickTime) <= clickTime && diff <= maxDiff) {
|
||||||
m_clickState++;
|
m_clickState++;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -551,7 +551,7 @@ OSXScreen::fakeMouseButton(ButtonID id, bool press)
|
||||||
m_lastClickTime = ARCH->time();
|
m_lastClickTime = ARCH->time();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_clickState == 1){
|
if (m_clickState == 1) {
|
||||||
m_lastSingleClickXCursor = m_xCursor;
|
m_lastSingleClickXCursor = m_xCursor;
|
||||||
m_lastSingleClickYCursor = m_yCursor;
|
m_lastSingleClickYCursor = m_yCursor;
|
||||||
}
|
}
|
||||||
|
@ -1618,7 +1618,7 @@ OSXScreen::userSwitchCallback(EventHandlerCallRef nextHandler,
|
||||||
//
|
//
|
||||||
// OSXScreen::watchSystemPowerThread(void*)
|
// OSXScreen::watchSystemPowerThread(void*)
|
||||||
//
|
//
|
||||||
// main of thread monitoring system power (sleep/wakup) using a CFRunLoop
|
// main of thread monitoring system power (sleep/wakeup) using a CFRunLoop
|
||||||
//
|
//
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -115,7 +115,7 @@ private:
|
||||||
// the X display
|
// the X display
|
||||||
Display* m_display;
|
Display* m_display;
|
||||||
|
|
||||||
// window to receive xscreensaver repsonses
|
// window to receive xscreensaver responses
|
||||||
Window m_xscreensaverSink;
|
Window m_xscreensaverSink;
|
||||||
|
|
||||||
// the target for the events we generate
|
// the target for the events we generate
|
||||||
|
|
|
@ -1136,9 +1136,9 @@ Server::processOptions()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_switchNeedsShift = false; // it seems if i don't add these
|
m_switchNeedsShift = false; // it seems if I don't add these
|
||||||
m_switchNeedsControl = false; // lines, the 'reload config' option
|
m_switchNeedsControl = false; // lines, the 'reload config' option
|
||||||
m_switchNeedsAlt = false; // doesnt' work correct.
|
m_switchNeedsAlt = false; // doesn't work correct.
|
||||||
|
|
||||||
bool newRelativeMoves = m_relativeMoves;
|
bool newRelativeMoves = m_relativeMoves;
|
||||||
for (Config::ScreenOptions::const_iterator index = options->begin();
|
for (Config::ScreenOptions::const_iterator index = options->begin();
|
||||||
|
|
|
@ -167,7 +167,7 @@ public:
|
||||||
*/
|
*/
|
||||||
void getClients(std::vector<std::string>& list) const;
|
void getClients(std::vector<std::string>& list) const;
|
||||||
|
|
||||||
//! Return true if recieved file size is valid
|
//! Return true if received file size is valid
|
||||||
bool isReceivedFileSizeValid();
|
bool isReceivedFileSizeValid();
|
||||||
|
|
||||||
//! Return expected file data size
|
//! Return expected file data size
|
||||||
|
@ -357,7 +357,7 @@ private:
|
||||||
// force the cursor off of \p client
|
// force the cursor off of \p client
|
||||||
void forceLeaveClient(BaseClientProxy* client);
|
void forceLeaveClient(BaseClientProxy* client);
|
||||||
|
|
||||||
// thread funciton for sending file
|
// thread function for sending file
|
||||||
void sendFileThread(void*);
|
void sendFileThread(void*);
|
||||||
|
|
||||||
// thread function for writing file to drop directory
|
// thread function for writing file to drop directory
|
||||||
|
|
Loading…
Reference in New Issue