Compare commits

...

357 Commits

Author SHA1 Message Date
walker0643
653e4badeb Merge pull request #1067 from cryzed/fix/server-preserve-focus
Fix `Fix Preserve Focus` option not working on Linux servers
2022-02-04 11:47:29 -05:00
walker0643
7324f26e09 Merge pull request #1506 from mipedja/master
Restore dpiAwareness
2022-02-03 11:39:00 -05:00
mipedja
00a57ea972 Restore dpiAwareness
Fixes regression from #304
Fixes #1462, possibly others.
2022-01-07 21:41:56 -08:00
Povilas Kanapickas
433126e7a1 Merge pull request #1471 from unit193/master
Fix typo: chunck → chunk.
2021-12-06 17:04:49 +02:00
Unit 193
6ce4b7e970 Fix typo: chunck → chunk. 2021-12-04 14:50:39 -05:00
walker0643
d64bb1591a Merge pull request #1416 from dylanilee/master
Fix link to Linux drag and drop issue
2021-11-12 10:59:31 -05:00
walker0643
4a978c8331 Merge pull request #1425 from albertony/cert-gen-fix
Fix issue with generation of new certificate
2021-11-12 10:54:54 -05:00
albertony
20a1bd2e4c Fix issue with generation of new certificate 2021-11-12 15:23:12 +01:00
Dylan Lee
b4cef2703e Fix link to Linux drag and drop issue 2021-11-10 15:19:22 -05:00
Dom Rodriguez
2db65f0866 Merge pull request #1409 from sfonteneau/master
add header encoding="UTF-8" in plist
2021-11-09 14:14:04 +00:00
sfonteneau
606222fbae add header encoding="UTF-8" in plist
needed for plistlib
2021-11-09 12:44:28 +01:00
Dom Rodriguez
4ed0141389 Merge pull request #1403 from shymega/fix/template/pull-request-template-clarify
Clarify PR template with regards to user-visible changes
2021-11-06 16:39:24 +00:00
Dom Rodriguez
37e7741942 Clarify PR template with regards to user-visible changes to Barrier
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-11-06 16:25:57 +00:00
Dom Rodriguez
2fcffcdaa9 Merge pull request #1091 from xkr47/patch-1
ServerApp help: Describe the role of the server
2021-11-05 20:55:21 +00:00
Jonas Berlin
2c8f92206f ServerApp help: Describe the role of the server
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-11-05 19:52:15 +00:00
Dom Rodriguez
69ec896e65 Merge pull request #1391 from p12tic/github-no-automatic-labels
github: Don't automatically add labels to bug reports
2021-11-05 14:44:27 +00:00
Povilas Kanapickas
13d8cd0d65 Merge pull request #1375 from maboroshin/master
translation: ja-JP 2.4.0
2021-11-05 14:45:39 +02:00
Povilas Kanapickas
4e082404f1 Merge pull request #1390 from p12tic/new-releases-numbers
Update releasing procedure for release numbers and add missing details
2021-11-05 14:43:50 +02:00
Povilas Kanapickas
b33af1f94c github: Don't automatically add labels to bug reports
Many bug reports are not about bugs (e.g. just hard to understand
behavior and so on) and some of the remaining are not about bugs in our
project.

It's up to the person doing bug triage to mark whether one believes this
is really a bug or no. Adding "bug" label to everything just introduces
noise.
2021-11-05 14:15:47 +02:00
maboroshin
3153062611 translation: ja-JP 2.4.0
Adjust, fix shortcut keys, translate new strings
2021-11-05 14:12:14 +02:00
Povilas Kanapickas
40d4a58b1c RELEASING: Specify that newest macOS release dmg should be used 2021-11-05 14:10:51 +02:00
Povilas Kanapickas
d874e5f729 RELEASING: Add missing details about updating version numbers 2021-11-05 14:10:51 +02:00
Povilas Kanapickas
584306bf46 github: Add new releases to new issue template dialog 2021-11-05 14:10:50 +02:00
Povilas Kanapickas
8388f229dd Merge pull request #1388 from p12tic/fix-win-build
newsfragments: Fix path that can't be checked out on Windows
2021-11-05 14:10:10 +02:00
Povilas Kanapickas
f4e2e51ce4 newsfragments: Fix path that can't be checked out on Windows 2021-11-05 13:54:07 +02:00
Dom Rodriguez
3a24a76de3 Merge pull request #1260 from jgrisham/patch-1
Modify macOS build files to only allow GUI launch on supported OS versions (and associated documentation change)
2021-11-04 22:50:23 +00:00
Jim Grisham
f8d538f29e Rename macos-launchinfo.bugfix: to 1260_macos-launchinfo.bugfix:
Updated filename to begin with issue number (per the [twisted/towncrier](https://github.com/twisted/towncrier#readme) documentation).
2021-11-04 14:45:11 -07:00
Jim Grisham
842c75747a Create 1260_update-faqs.doc 2021-11-04 14:40:44 -07:00
Jim Grisham
e46b8e558f Create macos-launchinfo.bugfix: 2021-11-04 14:35:51 -07:00
Jim Grisham
cc6067a543 Updated README.md based on PR peer-review comments
Added changes recommended by @shymega in https://github.com/debauchee/barrier/pull/1260
2021-11-04 14:29:00 -07:00
Jim Grisham
dc6ddbc246 Merge branch 'master' into patch-1 2021-11-04 16:08:33 -04:00
Povilas Kanapickas
dc7aa012d5 Merge pull request #1368 from chewi/cstddef-null
Add missing cstddef includes for NULL
2021-11-03 22:57:58 +02:00
James Le Cuirot
4b12265ae5 Add missing cstddef includes for NULL
Fixes https://github.com/debauchee/barrier/issues/1366.
2021-11-03 18:12:56 +02:00
Povilas Kanapickas
141ab9ecb4 Merge pull request #1379 from p12tic/github-pr-template
github: Add pull request template
2021-11-03 14:47:49 +02:00
Povilas Kanapickas
bfc465d477 github: Add pull request template 2021-11-03 14:15:02 +02:00
Povilas Kanapickas
ac5a1bfd3b Merge pull request #1254 from yan12125/fix-wrong-encoding-for-text-copied-between-linux-and-windows
Fix wrong encoding for text copied between linux and windows
2021-11-03 03:33:28 +02:00
Chih-Hsuan Yen
dd3ea8adfe lib/platform: Fix encoding for text copied between linux and windows
Copied from https://github.com/symless/synergy-core/pull/7029. I don't
include the application/x-moz-nativehtml part in that patch as I already
added it in https://github.com/debauchee/barrier/pull/1164.

Fixes https://github.com/debauchee/barrier/issues/1037
Fixes https://github.com/debauchee/barrier/issues/1137

Original author: Serhii Hadzhilov <serhii-external@symless.com>
2021-11-03 03:12:41 +02:00
Povilas Kanapickas
e010f89f41 Merge pull request #1371 from p12tic/doc-release-notes
doc: Add missed details to v2.3.4 and v2.4.0 release notes
2021-11-03 03:04:38 +02:00
Povilas Kanapickas
21c8fb88d0 doc: Add missed details to v2.3.4 and v2.4.0 release notes 2021-11-02 14:32:21 +02:00
Povilas Kanapickas
3e0d758b59 Barrier v2.4.0 2021-11-01 22:46:43 +02:00
Povilas Kanapickas
1738afc6e3 Merge pull request #1360 from p12tic/release
Prepare for v2.4.0
2021-11-01 22:25:46 +02:00
Povilas Kanapickas
6b729df698 Release notes for v2.4.0 2021-11-01 21:56:47 +02:00
Povilas Kanapickas
56177d461a Release notes for v2.3.4 2021-11-01 21:39:42 +02:00
Povilas Kanapickas
e7bdcb5249 Setup release notes build using towncrier tool 2021-11-01 21:35:55 +02:00
Povilas Kanapickas
e8453f2b9a azure-pipelines: Use a different artifact name for each macOS image 2021-11-01 21:35:18 +02:00
Povilas Kanapickas
608594f245 Document the releasing procedure 2021-11-01 21:35:18 +02:00
Povilas Kanapickas
fc6d4e41d8 Merge pull request #1352 from p12tic/cleanup-callbacks
Cleanup internal callback APIs
2021-11-01 17:28:53 +02:00
Povilas Kanapickas
d7de571fdc lib/net: Simplify handling of socket multiplexer jobs 2021-11-01 14:41:53 +02:00
Povilas Kanapickas
d2c106db53 lib: Pass jobs to barrier::Thread as std::function 2021-11-01 14:41:53 +02:00
Povilas Kanapickas
53356697d9 lib/arch: Pass jobs to Arch threads as std::function 2021-11-01 14:41:53 +02:00
Povilas Kanapickas
9cf590ccd7 lib: Make ThreadFunc return nothing 2021-11-01 14:41:53 +02:00
Povilas Kanapickas
815e80ec4d lib: Remove unused threading functionality related to thread results 2021-11-01 14:41:53 +02:00
Povilas Kanapickas
666460aced lib/platform: Use std::function instead of IJob in MSWindowsDesks 2021-11-01 14:41:53 +02:00
Povilas Kanapickas
4486830fdb Merge pull request #1351 from p12tic/fix-ssl-crash-closing-connections
Fix ssl-related crashes when closing connections [SECURITY VULNERABILITY CVE-2021-42074]
2021-11-01 14:40:11 +02:00
Povilas Kanapickas
f0efe043bb lib/net: Fix incorrect sharing of data between different SSL sessions 2021-11-01 14:05:49 +02:00
Povilas Kanapickas
8b937a4abd lib/net: Fix race conditions when closing SSL connections
This fixes the following security vulnerability:
- CVE-2021-42074 SIGSEGV on quick open/close sequence while sending
Hello message

The issue has been reported by Matthias Gerstner <mgerstner@suse.de>.
2021-11-01 14:05:49 +02:00
Povilas Kanapickas
caeebf6c36 Merge pull request #1350 from p12tic/fix-file-handles-leak
Fix file descriptor leak on incomplete connections [SECURITY VULNERABILITY CVE-2021-42075]
2021-11-01 14:04:45 +02:00
Povilas Kanapickas
aaa0e4d2e0 Merge pull request #1349 from p12tic/types-cleanup
Cleanup declarations of {S,U}Int{8,16,32} types
2021-11-01 14:04:32 +02:00
Povilas Kanapickas
deefecc262 lib/server: Close connection when client app-level handshake fails
This fixes the following security vulnerability:
 - CVE-2021-42075 DoS via file descriptor exhaustion

The issue has been reported by Matthias Gerstner <mgerstner@suse.de>.
2021-11-01 05:58:21 +02:00
Povilas Kanapickas
20f66fe133 lib/common: Clean up declarations of {S,U}Int{8,16,32} types 2021-11-01 05:56:53 +02:00
Povilas Kanapickas
676fa39f9a lib/platform: Switch remaining ObjC source files to ObjC++ 2021-11-01 05:56:53 +02:00
Povilas Kanapickas
00e182d22e Merge pull request #1347 from p12tic/enforce-max-message-length
Enforce max message length [SECURITY VULNERABILITY CVE-2021-42076]
2021-11-01 05:56:38 +02:00
Povilas Kanapickas
dd31d0a539 Merge pull request #1348 from p12tic/fix-openssl-windows-applink
Include openssl applink shim into Windows builds
2021-11-01 05:56:22 +02:00
Povilas Kanapickas
e8ac56b045 lib/net: Include openssl applink shim into Windows builds 2021-11-01 05:48:26 +02:00
Povilas Kanapickas
fd5295eb31 lib/barrier: Disconnect client on too long input packets
This commit is the 3/3 part of the fix for the following security
vulnerability:
 - CVE-2021-42076 DoS via excess length messages

The issue has been reported by Matthias Gerstner <mgerstner@suse.de>.
2021-11-01 05:18:53 +02:00
Povilas Kanapickas
af90f39b4a lib/net: Limit the maximum size of TCP or SSL input buffers
This commit is the 2/3 part of the fix for the following security
vulnerability:
 - CVE-2021-42076 DoS via excess length messages

The issue has been reported by Matthias Gerstner <mgerstner@suse.de>.
2021-11-01 05:18:52 +02:00
Povilas Kanapickas
e33c81b835 lib: Enforce a maximum length of input messages
This commit is the 1/3 part of the fix for the following security
vulnerability:
 - CVE-2021-42076 DoS via excess length messages

The issue has been reported by Matthias Gerstner <mgerstner@suse.de>.
2021-11-01 05:18:51 +02:00
Povilas Kanapickas
cc369820d4 lib/server: Remove unused code 2021-11-01 05:18:50 +02:00
Povilas Kanapickas
7ab8e0101d lib/server: Add a note about taking pointer to virtual member function 2021-11-01 05:18:49 +02:00
Povilas Kanapickas
b677a0b419 Merge pull request #1344 from p12tic/windows-build-cleanup
Windows build cleanup
2021-11-01 05:16:09 +02:00
Povilas Kanapickas
b5adc93e2b Merge pull request #1346 from p12tic/client-identity-verification
Implement client identity verification [SECURITY VULNERABILITIES CVE-2021-42072, CVE-2021-42073]
2021-11-01 05:15:48 +02:00
Povilas Kanapickas
7cacbd1489 gui: Improve formatting of the fingerprint acceptance dialog 2021-11-01 04:50:17 +02:00
Povilas Kanapickas
165100a0d2 gui: Extract barrier type to separate enum 2021-11-01 04:50:16 +02:00
Povilas Kanapickas
229abab99f Implement client identity verification
This commit fixes two security vulnerabilities: CVE-2021-42072 and
CVE-2021-42073.

The issues have been reported by Matthias Gerstner <mgerstner@suse.de>.
2021-11-01 04:50:15 +02:00
Povilas Kanapickas
e79bdf333c gui: Fix fingerprint database being not populated due to missing dirs 2021-11-01 04:50:14 +02:00
Povilas Kanapickas
57769cffda lib/net: Pass connection security level to within socket classes 2021-11-01 04:50:13 +02:00
Povilas Kanapickas
5c7d7194d5 lib/net: Use enum for connection security level instead of boolean 2021-11-01 04:50:12 +02:00
Povilas Kanapickas
82b8fa905e lib/net: Improve name of showCertificate() to reflect what it does 2021-11-01 04:50:11 +02:00
Povilas Kanapickas
133e447fb6 lib/net: Don't hardcode fingerprint DB path in verify_cert_fingerprint() 2021-11-01 04:50:10 +02:00
Povilas Kanapickas
8bc280e0dd gui: Add configuration for requiring client certificates 2021-11-01 04:50:09 +02:00
Povilas Kanapickas
ed32e2e326 gui: Expand checkboxes in settings dialog through both grid columns 2021-11-01 04:50:08 +02:00
Povilas Kanapickas
4d73ed9fdd lib/net: Present client certificate when connecting to server 2021-11-01 04:50:07 +02:00
Povilas Kanapickas
92ba6f61e6 gui: Move SSL fingerprint labels out of server frame
SSL fingerprints will be used to auth both server and client.
2021-11-01 04:50:06 +02:00
Povilas Kanapickas
c0ce893711 lib/net: Load client SSL certificates when connecting 2021-11-01 04:50:05 +02:00
Povilas Kanapickas
cb0480fe84 cmake: Silence tr1 deprecation warning on MSVC 2021-11-01 04:48:56 +02:00
Povilas Kanapickas
f9c051fc82 Use cmake --build to build on Windows 2021-11-01 04:48:56 +02:00
Povilas Kanapickas
6d7eca42b7 Merge pull request #1345 from p12tic/filesystem-cleanup
Filesystem operations cleanup
2021-11-01 04:47:16 +02:00
Povilas Kanapickas
0f3afed664 gui: Switch SSL certificate handler to barrier::fs paths 2021-11-01 04:29:54 +02:00
Povilas Kanapickas
b76b332f2f lib/common: Move SSL certificate path definition to common location 2021-11-01 04:29:53 +02:00
Povilas Kanapickas
d033ffa3d8 lib/net: Use fs::is_regular_file() to check for path existence 2021-11-01 04:29:52 +02:00
Povilas Kanapickas
220f9e8274 lib/common: Remove unused file 2021-11-01 04:29:51 +02:00
Povilas Kanapickas
a2ca7e29f5 lib/common: Switch data directories to fs::path 2021-11-01 04:29:50 +02:00
Povilas Kanapickas
298980fa86 lib/common: Move DataDirectories to barrier namespace 2021-11-01 04:29:49 +02:00
Povilas Kanapickas
677612d342 lib/common: Replace PathUtilities::basename with barrier::fs equivalent 2021-11-01 04:29:48 +02:00
Povilas Kanapickas
e7d936b5d7 lib/common: Replace PathUtilities::concat with barrier::fs equivalent 2021-11-01 04:29:47 +02:00
Povilas Kanapickas
bcafdc6783 src/lib: Switch to ghc::filesystem in path utilities 2021-11-01 04:29:46 +02:00
Povilas Kanapickas
a987605513 lib/io: Rename fstream.h to filesystem.h 2021-11-01 04:29:45 +02:00
Povilas Kanapickas
801a5a7084 ext: Add https://github.com/gulrak/filesystem for filesystem operations 2021-11-01 04:29:44 +02:00
Povilas Kanapickas
22ac14be8c Merge pull request #1343 from p12tic/sha256-fingerprints
Add support for SHA256 fingerprints
2021-11-01 04:21:17 +02:00
Povilas Kanapickas
a428b61c7d gui: Add support for SHA256 fingerprints
For the time being both SHA1 and SHA256 fingerprints will be shown in
the UI. This allows users to verify new connections between old and new
versions of Barrier. After the initial verification we use SHA256
fingerprints.

The issue has been reported by Matthias Gerstner <mgerstner@suse.de>.
2021-11-01 04:07:09 +02:00
Povilas Kanapickas
c7e6fc6c7e gui: Set the size of the window to the size of the contents 2021-11-01 04:07:09 +02:00
Povilas Kanapickas
b7757fbd68 lib/net: Implement a way to generate fingerprint randomart
The code has been copied from OpenSSH.
2021-11-01 04:07:09 +02:00
Povilas Kanapickas
a238b27879 gui: Simplify isCertificateValid() 2021-11-01 04:07:09 +02:00
Povilas Kanapickas
7cced74119 lib/net: Use FingerprintData to represent fingerprints 2021-11-01 04:07:09 +02:00
Povilas Kanapickas
50534ecb43 lib/net: Use new FingerprintDatabase to handle fingerprints 2021-11-01 04:07:09 +02:00
Povilas Kanapickas
be8ba0d132 gui: Use new FingerprintDatabase to handle fingerprints 2021-11-01 04:07:09 +02:00
Povilas Kanapickas
9cac96b4af lib/net: Implement a reusable fingerprint database 2021-11-01 04:07:09 +02:00
Povilas Kanapickas
3e71b468f6 lib: Remove useless empty constructors 2021-11-01 04:07:09 +02:00
Povilas Kanapickas
8f88dc2585 lib/base: Support colons in from_hex() 2021-11-01 04:07:09 +02:00
Povilas Kanapickas
aa3afa9062 Use openssl library instead of CLI to generate certificates 2021-11-01 04:07:09 +02:00
Povilas Kanapickas
dbf56a9375 gui: Use openssl library instead of CLI tool to generate fingerprints 2021-11-01 04:07:09 +02:00
Povilas Kanapickas
cf732aba37 lib/io: Add a replacement for fopen() which works on Windows
fopen() does not correctly handle non-ASCII paths on Windows.
2021-11-01 04:07:09 +02:00
Povilas Kanapickas
089b8e4749 lib/net: Extract SSL fingerprint generation to reusable function 2021-11-01 03:19:47 +02:00
Povilas Kanapickas
85486927b3 lib/base: Implement pattern to execute something at function exit 2021-11-01 03:19:47 +02:00
Povilas Kanapickas
cd7e731cb7 lib: Switch to std::vector<std::uint8_t> for fingerprint data 2021-11-01 03:19:47 +02:00
Povilas Kanapickas
ef08470286 src/lib: Use standard std::vsnprintf() instead of hacking our own 2021-11-01 03:19:47 +02:00
Povilas Kanapickas
b793675ef8 lib/net: Put secure utils into barrier namespace 2021-11-01 03:19:47 +02:00
Povilas Kanapickas
a9b30951ce lib: Add utility function to convert from hex to binary 2021-11-01 03:19:47 +02:00
Povilas Kanapickas
767f3d37ec test: Extract common test utilities to separate file 2021-11-01 03:19:47 +02:00
Povilas Kanapickas
9d8e1faf59 test: Add test for format_ssl_fingerprint() 2021-11-01 03:19:47 +02:00
Povilas Kanapickas
96e0021572 lib/base: Make to_hex() easier to use 2021-11-01 03:19:47 +02:00
Povilas Kanapickas
7f71924a86 lib/net: Make format_ssl_fingerprint() easier to use 2021-11-01 03:19:47 +02:00
Povilas Kanapickas
0e406d4918 lib/net: Extract fingerprint formatting out of SecureSocket 2021-11-01 03:19:47 +02:00
Povilas Kanapickas
bf667a429c Merge pull request #1342 from p12tic/enable-encryption-by-default
Enable encryption by default
2021-11-01 03:12:32 +02:00
Povilas Kanapickas
dba7b72195 Merge pull request #1341 from p12tic/azure-pipelines-fix-local-build
azure-pipelines: Use Invoke-WebRequest to download files
2021-11-01 03:06:48 +02:00
Povilas Kanapickas
bfa8964305 Enable encryption by default 2021-11-01 03:00:09 +02:00
Dom Rodriguez
fca18b63c5 Merge branch 'master' into testing/pr/Absolucy/macos
This merges #1162 into Barrier.

Thanks!

Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-10-31 21:00:26 +00:00
Povilas Kanapickas
a4ff91a991 azure-pipelines: Use Invoke-WebRequest to download files
When running System.Net.WebClient locally it results in a
non-descriptive "An exception occurred during a WebClient request" error
message. Invoke-WebRequest is an alternative that works so switch to
that.
2021-10-30 05:02:35 +03:00
Povilas Kanapickas
fce7615e42 Merge pull request #1340 from p12tic/use-utf8
Use UTF8 internally and convert to UTF16 at the edge.
2021-10-30 01:22:09 +03:00
Povilas Kanapickas
d24f368efe Correctly open files with non-ASCII paths on Windows
This fixes #976, fixes #974, fixes #444.

On Windows the standard stream open() functions expect bytes encoded in
current system encoding, not UTF8. Since we're dealing with UTF8
throughout the application this results in wrong paths being passed and
failure to open files. As a solution, we convert the paths to UTF16 via
the WCHAR character type and use the special Windows-specific overloads
of open() functions.
2021-10-30 01:03:09 +03:00
Povilas Kanapickas
8286c85dc0 lib/common/win32: Extract unicode_to_mb() to separate file 2021-10-30 01:03:09 +03:00
Povilas Kanapickas
15a955ff21 Revert "Use ansi codepage for internal multibyte strings on windows"
This reverts commit 402801e0a6.

We should use UTF8 throughout the application and convert to platform
encodings only at the edge. Otherwise it's not clear which data uses
which encoding and we result in extremele brittle system.
2021-10-30 01:03:09 +03:00
Dom Rodriguez
2877e6cb17 Pipelines: Remove Ubuntu 16.04 agent
Azure Pipelines no longer supports Ubuntu 16.04, so to remove the
error, this commit removes it from the cross-platform matrix.

Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-10-24 15:48:47 +01:00
Dom Rodriguez
a53380de4f Fix missing VM parameter, matrix doesn't select automatically
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-10-23 19:04:10 +01:00
Dom Rodriguez
907bcdcfea Fix indentation on macOS matrix
Turns out VS Code handled the YAML indentation.... badly.

This should fix it.

Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-10-23 18:50:18 +01:00
Dom Rodriguez
59d076988f Initial test of multi-macOS builds
This is an initial test of building Barrier for multiple macOS versions.

For:

- Big Sur
- Moja\ve
- Catalina

I think there's an indentation issue somewhere, but VS Code isn't
'seeing' it... let's hope this works.

If it does, we can proceed to merge.

Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-10-23 18:43:36 +01:00
Dom Rodriguez
4dfe1b1a73 Merge pull request #1304 from Ashark/wayland_warning
Add warning on wayland, fix #247
2021-10-23 16:19:43 +01:00
Andrew Shark
547a2dd413 Add warning on wayland, fix #247 2021-10-02 03:21:04 +03:00
Povilas Kanapickas
dd8c2a1a38 Merge pull request #1297 from a1346054/fixes
Simple maintenance improvements
2021-09-24 01:12:36 +03:00
a1346054
872e78d342 Trim excess whitespace 2021-09-23 00:20:58 +00:00
a1346054
9c41441861 Fix whitespace alignment 2021-09-23 00:20:55 +00:00
a1346054
ab3bdad5ab Use correct barrier.desktop category
from https://specifications.freedesktop.org/menu-spec/latest/apas02.html
2021-09-23 00:20:55 +00:00
a1346054
9549352a10 Fix codestyle deviations 2021-09-23 00:20:54 +00:00
a1346054
8c014b4bb6 Fix spelling 2021-09-23 00:20:54 +00:00
a1346054
3aee8dd341 Add missing final newline 2021-09-22 22:58:16 +00:00
a1346054
486545527b Fix shellcheck warnings 2021-09-22 22:58:15 +00:00
a1346054
9bb25d8887 Use complete license file from gnu.org
The current file is missing the 'How to Apply These Terms to Your New
Programs' section, which is an integral part of the GPL.

More info here:
https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#GPLOmitPreamble

File downloaded from:
https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
2021-09-22 21:30:50 +00:00
Dom Rodriguez
9432743cea Fix typo in template question
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-09-04 16:15:22 +01:00
Dom Rodriguez
bf388b907e Clarify screenshot attachment to issue
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-09-04 16:15:07 +01:00
Dom Rodriguez
3a74395254 Fix string error - bug_report.yml
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-09-02 20:20:17 +01:00
Dom Rodriguez
2ca88cbfa1 Remove prepended title, unnecessary
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-09-02 17:51:13 +01:00
Dom Rodriguez
690cd8b534 Rename bug_report.yaml -> .yml
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-09-02 17:50:39 +01:00
Dom Rodriguez
a75da35854 Remove external links - maybe that's the issue?
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-09-02 17:45:17 +01:00
Dom Rodriguez
87bdfd4e98 Add configuration for new issue chooser
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-09-02 17:44:01 +01:00
Dom Rodriguez
163fe9b329 Remove value key for What Happened
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-09-02 17:38:56 +01:00
Dom Rodriguez
b3d4da9c0d Add misc information question (not required)
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-09-02 17:35:46 +01:00
Dom Rodriguez
85d995ff23 Add package manager question
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-09-02 17:34:26 +01:00
Dom Rodriguez
eb3f2741d9 Adjust YML indentation
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-09-02 17:34:10 +01:00
Dom Rodriguez
e26a5c376e Screenshots to be avoided on imgur
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-09-02 17:30:45 +01:00
Dom Rodriguez
2f6aa21bfe Description changed to new approach for Barrier support
Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-09-02 17:28:38 +01:00
Dom Rodriguez
962d5e1c13 Replace (Markdown) template for bug reports with a GitHub issue form
This will make bug reports more structured, and easier for triagers and
maintainers to work with.

Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2021-08-31 20:01:25 +01:00
Povilas Kanapickas
27f7e7ba9b Merge pull request #1242 from whot/wip/janitor
Some ifdef cleanup
2021-08-31 04:44:45 +03:00
Jim Grisham
feb30fafcb Update README.md
Updated OS support section, based in the discussion from issue #544.

(Also cleaned up code formatting in FAQ section)
2021-08-23 22:39:00 -07:00
Jim Grisham
747039e1cd Update Info.plist.in
Updated LSMinimumSystemVersion to prevent launch on unsupported macOS versions.

Release notes for 2.3.0[1] state that macOS 10.12 is the minimum - this has not been verified in the code, however.

[1] https://github.com/debauchee/barrier/releases/tag/v2.3.0
2021-08-23 21:33:06 -07:00
Peter Hutterer
dec895e8d3 cmake: move two windows #defines to the main cmake file
We have a check for windows here anyway, let's move the defines here and we
can drop it in the common header file. And since on Unix HAVE_CONFIG_H is
always defined, we can drop the else condition too.
2021-08-20 15:27:39 +10:00
Peter Hutterer
c32ca2195d barrier: split the platform-specific argument parsing
Instead of one function with several ifdefs, split into several functions
to make the code more readable.

No functional changes.
2021-08-20 15:27:39 +10:00
Povilas Kanapickas
b0c0b42bc2 Merge pull request #1209 from tom-tan/patch-1
Update azure-pipelines.yml to use multiple Ubuntu versions
2021-08-19 14:44:02 +03:00
Povilas Kanapickas
0c02b3d54b Merge pull request #1214 from tom-tan/add-mappings-for-jp
Add JP specific key mappings
2021-08-19 14:43:23 +03:00
Povilas Kanapickas
7d5ff93785 Merge pull request #1232 from AI0867/patch-1
(further) Replace Freenode with LiberaChat
2021-08-09 14:14:55 +03:00
Alexander van Gessel
260005ff07 (further) Replace Freenode with LiberaChat 2021-07-20 11:54:51 +02:00
Tomoya Tanjo
57463a31f8 Attempt to support several Ubuntu LTSs to CI 2021-06-29 00:00:04 +09:00
Tomoya Tanjo
7a4c6a25d7 Add Henkan, Muhenkan and Zenkaku entries to macOS
Note: these keys are sometimes referred as `international4` and `international5`, respectively.
2021-06-27 17:07:45 +00:00
Tomoya Tanjo
eec676948c Add IME on and IME off key entries to Windows
Note that these key codes are same as Kana and EisuToggle keys in macOS, respectively.
See also: https://docs.microsoft.com/en-US/windows-hardware/design/component-guidelines/keyboard-japan-ime#hid-usage-ps2-scan-code-and-virtual-key-code-for-imeon-key--imeoff-key
2021-06-27 17:05:26 +00:00
Tomoya Tanjo
14b5cebb62 Fix keycode for Kana in Windows key mapping 2021-06-27 17:00:42 +00:00
Povilas Kanapickas
6a1bcb9dd6 Merge pull request #1068 from tete1030/fix-win-service-imagepath
Fix unquoted windows service image path
2021-06-25 17:10:18 +03:00
Povilas Kanapickas
1fac0e6603 doc: Add newsfragment 2021-06-25 15:44:21 +03:00
texot
0fa91e0fd3 dist: Fix unquoted windows service image path 2021-06-25 15:42:36 +03:00
Lucy
a4afb983d1 Merge branch 'master' into master 2021-06-23 21:59:59 -04:00
Povilas Kanapickas
7acddd0452 Merge pull request #1133 from terminator-ger/master
Added two Questions to the Q&A regarding configuration loading
2021-06-23 22:52:21 +03:00
terminator-ger
f52690af82 README: Add two Questions to the Q&A regarding configuration loading 2021-06-23 22:51:27 +03:00
Povilas Kanapickas
b9e2f79ca5 Merge pull request #1046 from jnnnnn/setup-readme
add quickstart instructions to readme
2021-06-23 22:49:46 +03:00
Povilas Kanapickas
de89c9d45e Merge pull request #1113 from HwiNyeonKim/master
Missed Korean translation part edited
2021-06-23 17:20:44 +03:00
Povilas Kanapickas
c90ae37263 Merge pull request #1124 from gloomy-ghost/zh_cn
update zh-CN translations
2021-06-23 16:48:29 +03:00
HwiNyeon Kim
00cfe0ba6d Missed Korean translation part edited
Some parts that still written as "Synergy" in Korean installation process edited to "Barrier."
2021-06-23 16:26:03 +03:00
gloomy-ghost
63d60a14f8 update zh-CN translations 2021-06-23 16:22:42 +03:00
Jonathan Newnham
ebb8f101de README: Add quickstart instructions 2021-06-23 16:09:42 +03:00
Povilas Kanapickas
6a0ed51aed Merge pull request #1211 from p12tic/azure-windows-qt-source
azure-pipelines: Download from official qt source
2021-06-23 16:04:52 +03:00
Povilas Kanapickas
729c519cb4 Merge pull request #1210 from p12tic/irc-libera
README: Switch IRC contact info to libera network
2021-06-23 15:59:03 +03:00
Povilas Kanapickas
1e95a19bf4 Merge pull request #1205 from p12tic/barrier_sk_translation
Update Slovak translation
2021-06-23 15:58:51 +03:00
Povilas Kanapickas
c25837fc62 azure-pipelines: Download from official qt source
The previous source seems to be rate-limited and otherwise not properly
available which causes Windows builds to time out.
2021-06-23 15:51:02 +03:00
Povilas Kanapickas
5dc27b1201 README: Switch IRC contact info to libera network 2021-06-23 15:36:06 +03:00
Povilas Kanapickas
f7be30cc3f Merge pull request #1207 from tom-tan/fix-qt5-path
Fix osx_environment.sh for Homebrew
2021-06-23 15:32:07 +03:00
Tomoya Tanjo
695a737a89 Update azure-pipelines.yml to use Ubuntu 20.04 2021-06-23 06:42:28 +09:00
Tomoya Tanjo
ac5de110c0 Update build_dist.sh.in 2021-06-23 01:05:58 +09:00
Tomoya Tanjo
e80184ce7a Fix osx_environment.sh for Homebrew 2021-06-22 23:24:36 +09:00
Povilas Kanapickas
cdc6e684eb Add newsfragment 2021-06-21 21:31:09 +03:00
Jose Riha
9a0bbbaaec Update Slovak translation 2021-06-21 21:28:32 +03:00
Povilas Kanapickas
649fdfe042 Merge pull request #1156 from botovq/client_ciphers
Remove #if defined(LIBRESSL_VERSION_NUMBER) path
2021-06-13 18:43:37 +03:00
Povilas Kanapickas
7f44afa546 Merge pull request #1164 from yan12125/fix-x11-paste
Map more X11 clipboard MIME types to corresponding converters
2021-06-13 18:42:51 +03:00
Chih-Hsuan Yen
cad92e89d0 Map more X11 clipboard MIME types to corresponding converters
The following logs are extracted from pasting texts to Firefox's address
bar and a Google Doc page in Firefox, respectively.

[2021-05-16T00:03:14] DEBUG1: request for clipboard 342, target text/plain;charset=utf-8 (600) by 0x03000044 (property=GDK_SELECTION (511))

[2021-05-16T00:03:22] DEBUG1: request for clipboard 342, target application/x-moz-nativehtml (603) by 0x03000044 (property=GDK_SELECTION (511))

Inspired by https://github.com/debauchee/barrier/pull/461. Should fix
pasting unicode on X11 https://github.com/debauchee/barrier/issues/344.
2021-05-16 00:27:57 +08:00
aspen
5f6456b36e Whoops, I didn't mean to commit that! 2021-05-13 12:01:33 -04:00
aspen
615762d7b3 Fix compilation on M1 macOS 2021-05-13 11:41:29 -04:00
Theo Buehler
a29a93f0c8 Remove #if defined(LIBRESSL_VERSION_NUMBER) path
The SSL_get_client_ciphers API has been available since LibreSSL 2.9.1
and is thus present in all supported versions (3.2.x and 3.3.x). In
the upcoming LibreSSL 3.4.x release the SSL_CIPHER struct will become
opaque hence the build will break.
2021-05-06 20:57:15 +02:00
cryzed
06c1a5908c Fixes #1066 2021-02-16 02:35:13 +01:00
Povilas Kanapickas
12024b9a5d Merge pull request #1031 from albertony/keyboard_ui
Enable use of keyboard to modify screens
2021-01-25 22:52:18 +02:00
albertony
4ee6a54d41 Enable use of keyboard to modify screens 2021-01-25 21:32:19 +01:00
Povilas Kanapickas
8202fe1fc7 Merge pull request #986 from albertony/rc_version_info
Add version info to windows main exe resource
2021-01-25 22:11:34 +02:00
Povilas Kanapickas
a8e15df633 Merge pull request #1035 from cjaone/de_translation
100% German translation
2021-01-25 22:05:26 +02:00
5de519d89b 100% German translation 2021-01-22 20:47:47 +01:00
albertony
31ce5cbdf8 Add version info to windows main exe resource 2021-01-22 08:29:01 +01:00
Povilas Kanapickas
d4382b9b80 Merge pull request #1022 from Bintux/master
Corrected spelling in gui_de.ts
2021-01-11 16:02:50 +02:00
Eike
cf231aef03 Corrected spelling in gui_de.ts 2021-01-11 14:20:42 +01:00
Povilas Kanapickas
743515e747 Merge pull request #607 from andydna/fix-examples-backwards-aliases
reversed aliases: val, key to key, val.  add barebones example
2021-01-11 01:40:57 +02:00
andydna
d51ad9eeef fixed reversed aliases value, key to key, value. added barebones example config 2021-01-11 01:01:05 +02:00
Povilas Kanapickas
804f774ef1 Merge pull request #536 from maboroshin/master
translation: ja-JP
2021-01-11 00:59:10 +02:00
Povilas Kanapickas
4d00a1304d gui: Update compiled translation resources 2021-01-11 00:46:38 +02:00
Povilas Kanapickas
3f268a5099 gui: Make langbuild script executable 2021-01-11 00:46:18 +02:00
maboroshin
a2753a76ce translation: ja-JP Barrier's Resources 2021-01-11 00:44:44 +02:00
maboroshin
e7d5f25fea translation: ja-JP Untranslated part 2021-01-11 00:44:12 +02:00
Povilas Kanapickas
eab906ee98 Merge pull request #525 from CyBot/master
Add autoStart setting
2021-01-11 00:38:07 +02:00
Tobias Kellner
297de775a3 gui: Add autoStart setting 2021-01-11 00:13:34 +02:00
Povilas Kanapickas
a0459a482f Merge pull request #790 from fesc2000/master
Add missing Sun keyboard keys
2021-01-10 22:29:35 +02:00
Povilas Kanapickas
0c57bdeed8 Merge pull request #1019 from p12tic/disable-stale-bot
github: Remove stale bot configuration
2021-01-10 22:29:18 +02:00
Povilas Kanapickas
c0699a793d github: Remove stale bot configuration 2021-01-10 22:26:07 +02:00
Felix Schmidt
0c86f1fbf9 lib: Add missing Sun keyboard keys 2021-01-10 22:13:43 +02:00
Povilas Kanapickas
a46b297045 Merge pull request #600 from albanobattistella/master
Create italian.iss
2021-01-10 21:58:47 +02:00
albanobattistella
bb6a5500c3 Create italian.iss 2021-01-10 20:43:37 +02:00
Povilas Kanapickas
bcdeee1f00 Merge pull request #1018 from p12tic/release-notes-towncrier
Setup release notes using towncrier
2021-01-10 20:42:52 +02:00
Povilas Kanapickas
0ed65808c6 doc: Add news fragment for PR #818 2021-01-10 19:47:35 +02:00
Povilas Kanapickas
a682d3217b doc: Add news fragment for PR #822 2021-01-10 19:47:34 +02:00
Povilas Kanapickas
55acae7038 doc: Add news fragment for PR #803 2021-01-10 19:47:33 +02:00
Povilas Kanapickas
7f074aecf3 doc: Add news fragment for PR #972 2021-01-10 19:47:32 +02:00
Povilas Kanapickas
4e40956aad doc: Add news fragment for PR #926 2021-01-10 19:47:31 +02:00
Povilas Kanapickas
f5681b64e0 doc: Add news fragment for PR #972 2021-01-10 19:47:30 +02:00
Povilas Kanapickas
b596802f38 doc: Add news fragment for PR #969 2021-01-10 19:47:29 +02:00
Povilas Kanapickas
a4ed0eef67 doc: Add news fragment for PR #979 2021-01-10 19:47:28 +02:00
Povilas Kanapickas
0c0a389f67 doc: Add news fragment for PR #910 2021-01-10 19:47:27 +02:00
Povilas Kanapickas
3c4835a9a4 doc: Add news fragment for PR #915 2021-01-10 19:47:26 +02:00
Povilas Kanapickas
b12dac64ea doc: Add news fragment for PR #916 2021-01-10 19:47:25 +02:00
Povilas Kanapickas
df0c205052 doc: Setup towncrier for handling of release notes 2021-01-10 19:47:24 +02:00
Povilas Kanapickas
c44a398e39 doc: Remove unused file 2021-01-10 19:47:23 +02:00
Povilas Kanapickas
7ee94cca94 Merge pull request #915 from dustinlieu/master
Fixed gui writing invalid config for hotkeys with multiple actions
2021-01-10 16:57:53 +02:00
Dustin Lieu
adc49fa066 gui: Fix invalid config being written for hotkeys with multiple actions 2021-01-10 16:38:25 +02:00
Povilas Kanapickas
8fe1df8c28 Merge pull request #916 from dustinlieu/fix/hotkey-special-chars
Added special hotkey config rules for comma and semicolon
2021-01-10 15:50:43 +02:00
Dustin Lieu
a48f183ee1 gui: Added special hotkey config rules for comma and semicolon 2021-01-10 15:40:15 +02:00
Povilas Kanapickas
618d28d392 Merge pull request #1017 from p12tic/gui-hotkey-tests
gui/test: More tests for Hotkey serialization
2021-01-10 15:40:01 +02:00
Povilas Kanapickas
def2ef2a9f gui/test: Add tests for Hotkey serialization via QTextStream 2021-01-10 15:28:09 +02:00
Povilas Kanapickas
7befd121d4 gui/test: Remove testing of different QSettings formats
QSettings guarantees are provided regardless of the format and until we
use a custom format it does not make sense to verify guarantees provided
by Qt.
2021-01-10 15:28:08 +02:00
Povilas Kanapickas
141f6de2c4 gui/test: Extract createHotkey() 2021-01-10 15:28:07 +02:00
Povilas Kanapickas
a004cd8eba gui/test: Put createAction() to anonymous namespace 2021-01-10 15:28:06 +02:00
Povilas Kanapickas
79d266d274 Merge pull request #1015 from p12tic/readme-mention-clipboard-support
README: Mention clipboard support
2021-01-10 15:16:37 +02:00
Povilas Kanapickas
0602499ccf Merge pull request #1016 from p12tic/cleanup-foreach-loop
gui: Use range-based for loop instead of foreach macro
2021-01-10 15:16:26 +02:00
Povilas Kanapickas
7a4ce45f5d Merge pull request #1014 from p12tic/readme-mention-interop-with-synergy
README: Mention that barrier is currently not compatible with synergy
2021-01-10 15:09:47 +02:00
Povilas Kanapickas
1aba369dff README: Mention clipboard sharing is supported 2021-01-10 15:02:16 +02:00
Povilas Kanapickas
ca925cc348 README: Simplify the sentence describing supported features 2021-01-10 15:02:15 +02:00
Povilas Kanapickas
181b3d6235 README: Mention that barrier is currently not compatible with synergy 2021-01-10 14:57:59 +02:00
Povilas Kanapickas
0259703cb2 gui: Use range-based for loop instead of foreach macro 2021-01-10 14:50:29 +02:00
Povilas Kanapickas
773b5b5362 Merge pull request #1013 from p12tic/cleanup-std-endl
lib: Remove unnecessary use of std::endl
2021-01-10 14:48:24 +02:00
Povilas Kanapickas
36fa9eaa0e lib: Remove unnecessary use of std::endl
std::endl is "\n" followed by a flush. We only need flushing in certain
circumstances.
2021-01-10 14:28:42 +02:00
Povilas Kanapickas
0f7855d2f5 Merge pull request #1012 from p12tic/cleanup-typedefs
Cleanup typedefs
2021-01-10 14:28:02 +02:00
Povilas Kanapickas
a8a2b7c29a gui: Remove ScreenList typedef
This typedef just introduces an additional layer of indirection to
understand code.
2021-01-10 14:13:45 +02:00
Povilas Kanapickas
384dbffce4 gui: Remove HotkeyList typedef
This typedef just introduces an additional layer of indirection to
understand code.
2021-01-10 14:13:44 +02:00
Povilas Kanapickas
ac60e620ba gui: Remove ActionList typedef
This typedef just introduces an additional layer of indirection to
understand code.
2021-01-10 14:13:43 +02:00
Povilas Kanapickas
5cc18ac595 Merge pull request #1011 from p12tic/hotkey-tests
Add tests for Hotkey serialization
2021-01-10 14:00:53 +02:00
Povilas Kanapickas
fb067d4001 gui/test: Add tests for Hotkey serialization to QSettings 2021-01-10 13:50:33 +02:00
Povilas Kanapickas
68cfb4e585 gui: Don't use friends to limit access to Action 2021-01-10 13:50:33 +02:00
Povilas Kanapickas
0579101272 gui: Don't use friends to limit access to Hotkey 2021-01-10 13:50:33 +02:00
Povilas Kanapickas
a691b31b8e gui: Make access to hotkey actions explicit 2021-01-10 13:50:33 +02:00
Povilas Kanapickas
016393fb67 gui: Remove unnecessary accessor to private member in Hotkey 2021-01-10 13:50:33 +02:00
Povilas Kanapickas
e7da893f5a gui/test: Extract temporary file creation to a separate file 2021-01-10 13:50:33 +02:00
Povilas Kanapickas
7f76d3cdcc gui/tests: Use common per-platform libs variable for dependencies 2021-01-10 13:50:14 +02:00
Povilas Kanapickas
f1aab806af Merge pull request #1009 from p12tic/gui-keysequence-tests
Add tests for KeySequence
2021-01-07 23:51:31 +02:00
Povilas Kanapickas
88c0c030f8 gui: Add tests for KeySequence serialization 2021-01-07 23:43:54 +02:00
Povilas Kanapickas
1c434df87a gui: Remove unnecessary accessor to private member in KeySequence 2021-01-07 23:43:53 +02:00
Povilas Kanapickas
3f387bdad0 gui: Fix incorrect parameter order in KeySequence::appendKey() 2021-01-07 23:43:52 +02:00
Povilas Kanapickas
acc54de922 src: Extract test CMake setup to separate file 2021-01-07 23:43:51 +02:00
Povilas Kanapickas
01b97d0c2a gui: Explicitly set the lists of source files 2021-01-07 23:43:50 +02:00
Povilas Kanapickas
1d5fcfa3af gui: Remove qmake project 2021-01-07 23:43:49 +02:00
Povilas Kanapickas
6b317359ba gui: List all source files explicitly for the lupdate tool
This will allow us to remove the last dependency on gui.pro
2021-01-07 23:43:48 +02:00
Povilas Kanapickas
f2bf7cb7e1 Merge pull request #1001 from p12tic/cmake-whitespace
CMakeList: fix a tab vs spaces indentation issue
2021-01-03 23:00:54 +02:00
Peter Hutterer
d5799f37d3 CMakeList: fix a tab vs spaces indentation issue
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-01-03 22:49:45 +02:00
Povilas Kanapickas
c7b911497a Merge pull request #910 from eugenegff/fix/non-ascii-kb-layouts
Fixed processing of non-ASCII symbols missing in CP_THREAD_ACP but present in current KB layout
2020-12-30 13:44:30 +02:00
Eugene Golushkov
09e1dbdf84 platform: Fixed processing of non-ASCII symbols
The non-ASCII symbols missing in CP_THREAD_ACP but present in current KB
layout were processed incorrectly. Do not rely on ANSI => UTF16
conversion, obtain UTF16 directly from KB layout driver. BTW, ToAscii is
implemented via ToUnicode + RtlUnicodeToMultiByteN, so this is really
optimization.
2020-12-30 13:00:22 +02:00
Povilas Kanapickas
64a9c41edc Merge pull request #979 from albertony/cp_acp
Use ansi codepage for internal multibyte strings on windows (fixes #976, fixes #974, fixes #444)
2020-12-30 12:55:34 +02:00
Povilas Kanapickas
55434ebced Merge pull request #988 from albertony/win_clean_uninstall
Perform clean uninstall on windows
2020-12-29 23:07:16 +02:00
albertony
402801e0a6 Use ansi codepage for internal multibyte strings on windows (fixes #976, fixes #974, fixes #444) 2020-12-28 21:17:40 +01:00
albertony
2c5cdf1037 Add version info resource to windows setup exe 2020-12-12 16:15:53 +01:00
albertony
91baa4f133 Perform clean uninstall on windows 2020-12-11 19:45:36 +01:00
Povilas Kanapickas
e032d14a48 Merge pull request #972 from albertony/drop_dir
Configurable drop target directory on windows
2020-12-10 22:00:53 +02:00
albertony
36d9efbc64 Increased loglevel of central drag drop related messages 2020-12-10 01:11:49 +01:00
albertony
b125cf3da7 Improve drag&drop stability on windows 2020-12-10 00:08:49 +01:00
albertony
357e0ccc7e Configurable drop directory 2020-12-10 00:08:42 +01:00
Povilas Kanapickas
e66832c1d7 Merge pull request #978 from albertony/rc_version_info
Add version info resource to windows exe
2020-12-10 00:05:58 +02:00
Povilas Kanapickas
bbea197600 Merge pull request #973 from albertony/obsolete_service_help
Cleanup obsolete options in help text
2020-12-10 00:00:44 +02:00
Povilas Kanapickas
2da6cb3a51 Merge pull request #969 from albertony/profile_dir
Improvements to custom profile dir option
2020-12-09 23:55:56 +02:00
Povilas Kanapickas
ce31584a6b Merge pull request #980 from whot/wip/strip-trailing-whitespace
Remove trailing whitespaces
2020-12-09 23:54:44 +02:00
Povilas Kanapickas
829ff7975b Merge pull request #981 from whot/wip/simplify-ifdefs
Remove some #defines that had no useful effect
2020-12-09 23:52:47 +02:00
Povilas Kanapickas
99edadb0b1 Merge pull request #983 from albertony/save_conf_ext_filter
Fix file extension filter in config save dialog (fixes #375)
2020-12-09 23:51:10 +02:00
albertony
bc5c4bf344 langbuild 2020-12-09 22:40:10 +01:00
albertony
390555c53d Fix file extension filter in config save dialog (fixes #375) 2020-12-09 21:46:56 +01:00
albertony
366342e401 Add resource with icon and version info to windows deamon exe 2020-12-09 14:14:18 +01:00
albertony
aea488167a Cleanup windows client and server exe resource build 2020-12-09 14:14:18 +01:00
albertony
5fdb750922 Add version info to windows client and server exe resources 2020-12-09 13:45:32 +01:00
Peter Hutterer
1474f04f53 Remove an unreachable preprocessor directive
cmake sets HAVE_DPMS_PROTOTYPES unconditionally to 1 if we have the dpms
headers. So code inside HAVE_X11_EXTENSIONS_DPMS_H never needs to check for
it.

And since there's only one place that cared for this, we can remove the define
in cmake as well.
2020-12-09 14:39:13 +10:00
Peter Hutterer
f3eb89121d Move the XTest check to cmake
Where the ifdef was checked, the alternative was a compiler error. We can
shortcut that process and just fail in cmake where the header is not found.
2020-12-09 14:39:09 +10:00
Peter Hutterer
38390f9b88 Undef X_DISPLAY_MISSING
As of f815f9840d several years ago nothing sets
this #define anywhere anymore.
2020-12-09 14:37:10 +10:00
Peter Hutterer
0dbedd31dc Remove trailing whitespaces
Many tools strip trailing whitespaces by default, so after editing a file with
whitespace errors we end up with a bunch of unrelated hunks that need to be
reverted locally.

This could be fixed by configuring each tool to not do this (at least for the
barrier repo), or, simpler, we just sed the problem away and make barrier
whitespace-compliant.

sed commands run:
    sed -i 's/[ \t]\+$//' **/*.(cpp|h) **/*CMakeLists.txt

Verified with git diff --ignore-space-change, this shows the empty diff.
2020-12-09 14:02:28 +10:00
albertony
72849864a3 Remove from help text unsupported --relaunch option and note --service option is obsolete on windows 2020-12-06 18:48:01 +01:00
albertony
87c5f874e4 Include --profile-dir in help text 2020-12-05 01:12:19 +01:00
albertony
01a78a4d3a Do not store path to ImmuneKeys.txt before --profile-dir is considered 2020-12-05 01:09:41 +01:00
Povilas Kanapickas
06951ea9f0 Merge pull request #926 from rbalint/master
lib/ipc: Introduce writef_void(void*, ...)
2020-11-23 18:38:03 +02:00
Povilas Kanapickas
142e8dc847 Merge pull request #929 from aeghn/read_tray_icons_from_theme
Enhancement: Read theme's panel icons.
2020-11-22 17:30:01 +02:00
aeghn
95afed5256 Make barrier try to read tray icons from themes now. 2020-10-27 14:11:11 +08:00
Balint Reczey
bd0c671fcc lib/ipc: Introduce writef_void(void*, ...)
to fix ambiguity with writef(barrier::IStream*, ...)
2020-10-22 22:46:02 +02:00
Povilas Kanapickas
fc045fc793 Merge pull request #917 from danielhams/cmakelisttypofix
CMakeLists.txt: correct missing brace in make_directory
2020-10-18 20:08:24 +03:00
Daniel Hams
65f4db7563 CMakeLists.txt: correct missing brace in make_directory 2020-10-17 07:43:11 +01:00
Povilas Kanapickas
43708ae0d6 Merge pull request #893 from debauchee/fix/stale-bot/no-aggressive
Fix aggressive behaviour of the stale GitHub actions bot
2020-10-01 00:36:51 +03:00
Dom Rodriguez
9b55aaae1e [improve](stale bot): Adjust stale messages to encourage self-closing
What the subject line says really. As per @walker0643's feedback, the
stale bot now encourages the author of the issue/PR to close it
themselves, if it is no longer an issue, or if they no longer want to
work on the PR.

Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2020-09-29 23:29:44 +01:00
Dom Rodriguez
dbe4dc5d12 [fix](stale bot): Make stale bot less aggressive [2/2]
This commit changes the configuration of the stale bot. It will now mark
issues as stale after 6 months. In days, this is 182(.5, if you want to
be super precise, but let's go with 182).

This should reduce the noise made by the bot.

Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2020-09-29 17:34:57 +01:00
Dom Rodriguez
8122484c3d [fix](stale bot): Make stale bot less aggressive [1/2]
This commit changes the configuration of the stale bot. It no longer
closes stale issues, and instead gives a friendly 'nudge' for stale
issues.

The next commit will change the time for issues to be marked stale to 6
months. This should help reduce the noise from the bot.

Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2020-09-29 17:33:04 +01:00
Dom Rodriguez
7756557204 [fix](stale bot): Change cron time to midnight
This fits in better across various time zones (I'm GMT, for example,
some devs EST/CEST).

Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2020-09-29 17:22:13 +01:00
Dom Rodriguez
2cd21cc95f [chore](stale bot): Bump Stale bot version to v3
Previous was v1, v3 fixes bugs, and makes the action 'smarter'.

Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2020-09-29 17:21:38 +01:00
Dom Rodriguez
012a7dc055 [actions](stale): Add further configuration to GitHub Action - stale.
This commit fleshes out the messages and labels applied to stale
issuse/PRs, configures 'exempt' labels, and additionally the number of
days before a issue is marked stale/closed.

Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2020-09-17 16:52:15 +01:00
walker0643
0699536382 Create stale.yml 2020-09-17 11:20:11 -04:00
Dom Rodriguez
c1d131fd38 Merge pull request #873 from debauchee/enhancement/style/editorconfig
[style](editorconfig): Commit initial EditorConfig config for code style
2020-09-14 23:04:06 +01:00
Dom Rodriguez
167a1075fa [style](editorconfig): Commit initial EditorConfig config for code style
Soon to be added: wiki page about expected code style for Barrier.
Also, docs when that's ready.

Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2020-09-14 13:12:53 +01:00
Dom Rodriguez
9745df29cd Merge pull request #869 from NikoHD203/patch-1
Update gui_de.ts
2020-09-13 16:22:00 +01:00
NikoHD203
4aee34848e Update gui_de.ts
wrong grammar
2020-09-09 11:52:55 +02:00
Dom Rodriguez
5a02070b54 Remove old issue template
This is in relation to #856.

Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
2020-08-31 03:24:53 +01:00
Dom Rodriguez
b38f844dc0 Merge pull request #856 from debauchee/enhancement/github/templates/bug
Update issue templates
2020-08-31 03:24:06 +01:00
Dom Rodriguez
3804198105 Update issue templates
Our current templates do not use the latest GitHub templates, so this updates them. I have adjusted and removed some wording to make the template simpler, as I have found some users neglect to fill in the template, or partially fill it in. I hope this helps with the bug reporting process.
2020-08-28 22:13:51 +01:00
Povilas Kanapickas
600d31f29b Merge pull request #848 from chewi/TEST_ENV
Rename TEST_ENV macro to BARRIER_TEST_ENV
2020-08-23 14:25:48 +03:00
James Le Cuirot
1418196af1 Rename TEST_ENV macro to BARRIER_TEST_ENV
As requested in #846.
2020-08-22 19:25:35 +01:00
Povilas Kanapickas
c3aba1b20b Merge pull request #846 from chewi/tests
Add BARRIER_BUILD_TESTS and BARRIER_USE_EXTERNAL_GTEST CMake options
2020-08-22 21:21:11 +03:00
Povilas Kanapickas
7dbfa63a63 Merge pull request #847 from chewi/getenv
Replace all instances of C's getenv with C++'s std::getenv
2020-08-22 21:20:30 +03:00
James Le Cuirot
7aa110475e Replace all instances of C's getenv with C++'s std::getenv 2020-08-22 19:05:24 +01:00
James Le Cuirot
fa46480c35 Respect DISPLAY environment variable in XWindows tests
XWindowsScreenTests was failing under Gentoo's package manager. I have
also addressed this in XWindowsScreenSaverTests, which is currently
unused.
2020-08-22 17:36:55 +01:00
Povilas Kanapickas
b204520864 Merge pull request #832 from tom-tan/add-os-barrier-keymap-for-jis-kbd
Add key mappings for `Kana`, `Eisu_toggle` and `Muhenkan`
2020-08-22 13:47:35 +03:00
Povilas Kanapickas
d58a9fbe84 Merge pull request #803 from p12tic/crypto-cert-fixes
Regenerate server certificate when it is broken or has too small key size
2020-08-22 13:38:46 +03:00
James Le Cuirot
bd1db368b3 Add BARRIER_USE_EXTERNAL_GTEST CMake option to use external GTest 2020-08-21 23:13:58 +01:00
James Le Cuirot
4a031b8ce5 Add BARRIER_BUILD_TESTS CMake option to make tests optional 2020-08-21 22:56:57 +01:00
Tomoya Tanjo
4aefd64add Add missing comma 2020-08-12 18:33:32 +09:00
Tomoya Tanjo
0fdcf8b225 Add key mappings for Kana, Eisu and Muhenkan 2020-08-12 16:20:29 +09:00
Dom Rodriguez
d186548a53 Update Debian changelog to v2.3.3 2020-08-07 18:33:54 +01:00
Povilas Kanapickas
36ae769987 Merge pull request #818 from tom-tan/add-eisu-muhenkan
Add key entries for `Eisu_toggle` and `Muhenkan`
2020-08-07 10:57:57 +03:00
Dom Rodriguez
9a9d22105c Merge pull request #822 from M1cha/kbd-backlight
add support for keyboard backlight media keys
2020-08-04 20:53:02 +01:00
Dom Rodriguez
6b71871204 [Build]: Bump Build.properties 2020-08-04 15:50:49 +01:00
Michael Zimmermann
7452b64482 add support for keyboard backlight media keys
I've tested this with a german Apple Magic Keyboard with Numeric Keypad (Space Gray)
connected to a non-Apple Linux Laptop running Arch Linux.
keycode 237 (keysym 0x1008ff06, XF86KbdBrightnessDown)
keycode 238 (keysym 0x1008ff05, XF86KbdBrightnessUp)
2020-08-01 13:28:48 +02:00
Tomoya Tanjo
4d32e29275 Add Eisu_toggle and Muhenkan keys 2020-07-27 22:04:00 +09:00
Povilas Kanapickas
c815abf0e8 gui: Show certificate-related info in logs 2020-07-19 11:56:18 +03:00
Povilas Kanapickas
345bb4b62b gui: Regenerate certificate if it's invalid or the key is too small 2020-07-19 11:56:17 +03:00
Povilas Kanapickas
7210bfa615 gui: Extract certificate path generation to separate functions 2020-07-19 11:56:16 +03:00
Povilas Kanapickas
93ef15774b gui: Don't store openssl output as state of the object 2020-07-19 11:56:15 +03:00
Povilas Kanapickas
bd3a8be956 net: Always report the filename of the cert that fails to load 2020-07-19 11:56:14 +03:00
Povilas Kanapickas
3d0186695f net: Simplify error reporting 2020-07-19 11:56:13 +03:00
Dom Rodriguez
bbd1accb93 Merge pull request #797 from maxiberta/short-tags
Shorten snap version on tagged revisions
2020-07-14 23:39:54 +01:00
Maximiliano Bertacchini
ef769d4802 Shorten snap version on tagged revisions 2020-07-14 18:58:52 -03:00
690 changed files with 9058 additions and 6278 deletions

9
.editorconfig Normal file
View File

@@ -0,0 +1,9 @@
root = true
[*]
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space
indent_size = 4

View File

@@ -1,30 +0,0 @@
### Operating Systems ###
Server: microOS Tiara
Client: Applesoft Windy OS 10
**READ ME, DELETE ME**: On Windows, hold the Windows key and press 'r', type 'winver' and hit return to get your OS version. On Mac, hit the Apple menu (top left of the screen) and check 'About this Mac'. Linux users... you know what you're using ;)
### Barrier Version ###
1.9.π
**READ ME, DELETE ME**: Go to the 'Help' (on Windows) or 'Barrier' (on macOS) menu and then 'About Barrier' to check your version. Verify that you are using the same version across all of your machines, and that your issue still occurs with the latest release available at https://github.com/debauchee/barrier/
### Steps to reproduce bug ###
**READ ME, DELETE ME**: Try to be succinct. If your bug is intermittent, try and describe what you're doing when it happens most.
1. Click things.
2. Type things.
3. Bug occurs.
4. ...
### Other info ###
* When did the problem start to occur? When I...
* Is there a way to work around it? No/Yes, you can...
* Does this bug prevent you from using Barrier entirely? Yes/No
Put anything else you can think of here.

80
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,80 @@
name: Bug Report
description: File a bug report (for questions, ideas & support, use the Discussions tab, or IRC for quick answers, but make sure to stay on the channel!)
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: textarea
id: what-happened
attributes:
label: What happened?
description: Also tell us, what did you expect to happen?
placeholder: Tell us what you see! Screenshots are also helpful - please attach to the issue (when created), rather than linking to image hosting sites.
validations:
required: true
- type: dropdown
id: version
attributes:
label: Version
description: What version of Barrier are you running?
options:
- v2.0.0-RC1
- v2.0.0-RC2
- v2.0.0
- v2.1.1
- v2.1.2
- v2.3.0
- v2.3.1
- v2.3.2-alpha
- v2.3.2
- v2.3.3
- v2.3.4
- v2.4.0
- From Git HEAD or commit (specify below)
validations:
required: true
- type: input
id: git-commit-if
attributes:
label: Git commit hash (if applicable)
description: "When building Barrier from Git, what commit hash did you checkout from?"
placeholder: b0c0b42b
validations:
required: false
- type: textarea
id: pkg-mgr-origin
attributes:
label: If applicable, where did you install Barrier from?
description: This includes Snaps, Flatpaks, and self-built executables.
validations:
required: false
- type: dropdown
id: os
attributes:
label: What OSes are you seeing the problem on? (Check all that apply)
multiple: true
options:
- Linux
- Windows
- macOS
validations:
required: true
- type: textarea
id: os-version
attributes:
label: What OS versions are you using?
description: This applies to both client(s) and the server.
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
- type: textarea
id: misc-info
attributes:
label: Any other information
description: Please enter any other information we should know, if applicable.

1
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1 @@
blank_issues_enabled: false

4
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,4 @@
## Contributor Checklist:
* [ ] I have created a file in the `doc/newsfragments` directory *IF* it is a
user-visible change (and make sure to read the `README.md` in that directory)

3
.gitmodules vendored
View File

@@ -4,3 +4,6 @@
[submodule "ext/gmock"] [submodule "ext/gmock"]
path = ext/gmock path = ext/gmock
url = https://github.com/google/googlemock.git url = https://github.com/google/googlemock.git
[submodule "ext/gulrak-filesystem"]
path = ext/gulrak-filesystem
url = https://github.com/gulrak/filesystem

View File

@@ -2,6 +2,6 @@
# Barrier build parameters # Barrier build parameters
# #
BARRIER_VERSION_MAJOR = 2 BARRIER_VERSION_MAJOR = 2
BARRIER_VERSION_MINOR = 3 BARRIER_VERSION_MINOR = 4
BARRIER_VERSION_PATCH = 2 BARRIER_VERSION_PATCH = 0
BARRIER_VERSION_STAGE = snapshot BARRIER_VERSION_STAGE = release

View File

@@ -20,6 +20,8 @@ project (barrier C CXX)
option (BARRIER_BUILD_GUI "Build the GUI" ON) option (BARRIER_BUILD_GUI "Build the GUI" ON)
option (BARRIER_BUILD_INSTALLER "Build the installer" ON) option (BARRIER_BUILD_INSTALLER "Build the installer" ON)
option (BARRIER_BUILD_TESTS "Build the tests" ON)
option (BARRIER_USE_EXTERNAL_GTEST "Use external installation of Google Test framework" OFF)
set (CMAKE_EXPORT_COMPILE_COMMANDS ON) set (CMAKE_EXPORT_COMPILE_COMMANDS ON)
set (CMAKE_CXX_STANDARD 14) set (CMAKE_CXX_STANDARD 14)
@@ -49,7 +51,6 @@ else()
endif() endif()
set (libs) set (libs)
include_directories (BEFORE SYSTEM ./ext/gtest/include)
if (UNIX) if (UNIX)
if (NOT APPLE) if (NOT APPLE)
@@ -90,7 +91,6 @@ if (UNIX)
check_function_exists (poll HAVE_POLL) check_function_exists (poll HAVE_POLL)
check_function_exists (sigwait HAVE_POSIX_SIGWAIT) check_function_exists (sigwait HAVE_POSIX_SIGWAIT)
check_function_exists (strftime HAVE_STRFTIME) check_function_exists (strftime HAVE_STRFTIME)
check_function_exists (vsnprintf HAVE_VSNPRINTF)
check_function_exists (inet_aton HAVE_INET_ATON) check_function_exists (inet_aton HAVE_INET_ATON)
# For some reason, the check_function_exists macro doesn't detect # For some reason, the check_function_exists macro doesn't detect
@@ -165,10 +165,10 @@ if (UNIX)
link_directories("/usr/local/lib") link_directories("/usr/local/lib")
endif() endif()
if (${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD") if (${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
set (CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};/usr/X11R6/include;/usr/local/include;/usr/local/include/avahi-compat-libdns_sd") set (CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};/usr/X11R6/include;/usr/local/include;/usr/local/include/avahi-compat-libdns_sd")
set (CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -L/usr/local/lib -L/usr/X11R6/lib") set (CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -L/usr/local/lib -L/usr/X11R6/lib")
include_directories("/usr/local/include" "/usr/X11R6/include" "/usr/local/include/avahi-compat-libdns_sd") include_directories("/usr/local/include" "/usr/X11R6/include" "/usr/local/include/avahi-compat-libdns_sd")
link_directories("/usr/local/lib") link_directories("/usr/local/lib")
link_directories("/usr/X11R6/lib") link_directories("/usr/X11R6/lib")
endif() endif()
@@ -194,9 +194,8 @@ if (UNIX)
check_include_files ("X11/extensions/XInput2.h" HAVE_XI2) check_include_files ("X11/extensions/XInput2.h" HAVE_XI2)
check_include_files ("dns_sd.h" HAVE_DNSSD) check_include_files ("dns_sd.h" HAVE_DNSSD)
if (HAVE_X11_EXTENSIONS_DPMS_H) if (NOT HAVE_X11_EXTENSIONS_XTEST_H)
# Assume that function prototypes declared, when include exists. message (FATAL_ERROR "Missing header: X11/extensions/XTest.h")
set (HAVE_DPMS_PROTOTYPES 1)
endif() endif()
if (NOT HAVE_X11_XKBLIB_H) if (NOT HAVE_X11_XKBLIB_H)
@@ -292,6 +291,9 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
list (APPEND libs Wtsapi32 Userenv Wininet comsuppw Shlwapi) list (APPEND libs Wtsapi32 Userenv Wininet comsuppw Shlwapi)
add_definitions ( add_definitions (
/DSYSAPI_WIN32=1
/DWINAPI_MSWINDOWS=1
/D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING=1 # tr1 is used from gtest and gmock
/DWIN32 /DWIN32
/D_WINDOWS /D_WINDOWS
/D_CRT_SECURE_NO_WARNINGS /D_CRT_SECURE_NO_WARNINGS
@@ -300,6 +302,8 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
) )
endif() endif()
include_directories("${CMAKE_SOURCE_DIR}/ext/gulrak-filesystem/include")
# #
# OpenSSL # OpenSSL
# #
@@ -317,10 +321,21 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
${OPENSSL_ROOT}/lib/ssleay32.lib ${OPENSSL_ROOT}/lib/ssleay32.lib
) )
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
find_program(APT_PROGRAM "apt")
find_program(BREW_PROGRAM "brew") find_program(BREW_PROGRAM "brew")
find_program(PORT_PROGRAM "port") find_program(PORT_PROGRAM "port")
if (IS_DIRECTORY /opt/local AND PORT_PROGRAM) if (IS_DIRECTORY /opt/procursus AND APT_PROGRAM)
# procursus/apt
set (OPENSSL_ROOT /opt/procursus)
include_directories (BEFORE SYSTEM ${OPENSSL_ROOT}/include)
set (OPENSSL_LIBS
${OPENSSL_ROOT}/lib/libssl.a
${OPENSSL_ROOT}/lib/libcrypto.a
)
elseif (IS_DIRECTORY /opt/local AND PORT_PROGRAM)
# macports # macports
set (OPENSSL_ROOT /opt/local) set (OPENSSL_ROOT /opt/local)
@@ -335,6 +350,16 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
include_directories (BEFORE SYSTEM ${OPENSSL_ROOT}/include) include_directories (BEFORE SYSTEM ${OPENSSL_ROOT}/include)
set (OPENSSL_LIBS
${OPENSSL_ROOT}/lib/libssl.a
${OPENSSL_ROOT}/lib/libcrypto.a
)
elseif (IS_DIRECTORY /opt/homebrew/opt/openssl AND BREW_PROGRAM)
# brew
set (OPENSSL_ROOT /opt/homebrew/opt/openssl)
include_directories (BEFORE SYSTEM ${OPENSSL_ROOT}/include)
set (OPENSSL_LIBS set (OPENSSL_LIBS
${OPENSSL_ROOT}/lib/libssl.a ${OPENSSL_ROOT}/lib/libssl.a
${OPENSSL_ROOT}/lib/libcrypto.a ${OPENSSL_ROOT}/lib/libcrypto.a
@@ -369,7 +394,7 @@ macro (configure_files srcDir destDir)
set (sourceFilePath ${srcDir}/${sourceFile}) set (sourceFilePath ${srcDir}/${sourceFile})
if (IS_DIRECTORY ${sourceFilePath}) if (IS_DIRECTORY ${sourceFilePath})
message (STATUS "Copying directory ${sourceFile}") message (STATUS "Copying directory ${sourceFile}")
make_directory (${destDir/${sourceFile}) make_directory (${destDir}/${sourceFile})
else() else()
message (STATUS "Copying file ${sourceFile}") message (STATUS "Copying file ${sourceFile}")
configure_file (${sourceFilePath} ${destDir}/${sourceFile} COPYONLY) configure_file (${sourceFilePath} ${destDir}/${sourceFile} COPYONLY)
@@ -420,7 +445,7 @@ endif()
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
configure_files (${CMAKE_CURRENT_SOURCE_DIR}/dist/rpm ${CMAKE_BINARY_DIR}/rpm) configure_files (${CMAKE_CURRENT_SOURCE_DIR}/dist/rpm ${CMAKE_BINARY_DIR}/rpm)
install(FILES res/barrier.svg DESTINATION share/icons/hicolor/scalable/apps) install(FILES res/barrier.svg DESTINATION share/icons/hicolor/scalable/apps)
if("${VERSION_MAJOR}" STREQUAL "2") if("${VERSION_MAJOR}" STREQUAL "2")
install(FILES res/barrier2.desktop DESTINATION share/applications) install(FILES res/barrier2.desktop DESTINATION share/applications)
else() else()
install(FILES res/barrier.desktop DESTINATION share/applications) install(FILES res/barrier.desktop DESTINATION share/applications)
@@ -430,4 +455,7 @@ endif()
else() else()
message (STATUS "NOT configuring the installer") message (STATUS "NOT configuring the installer")
endif() endif()
enable_testing()
add_subdirectory (src) add_subdirectory (src)

61
LICENSE
View File

@@ -3,7 +3,7 @@ Copyright (C) 2012-2016 Symless Ltd.
Copyright (C) 2008-2014 Nick Bolton Copyright (C) 2008-2014 Nick Bolton
Copyright (C) 2002-2014 Chris Schoeneman Copyright (C) 2002-2014 Chris Schoeneman
This program is released under the GPL with the additional exemption This program is released under the GPL with the additional exemption
that compiling, linking, and/or using OpenSSL is allowed. that compiling, linking, and/or using OpenSSL is allowed.
GNU GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC 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.

103
README.md
View File

@@ -1,6 +1,6 @@
# Barrier # Barrier
Eliminate the barrier between your machines. Eliminate the barrier between your machines.
Find [releases for windows and macOS here](https://github.com/debauchee/barrier/releases). Find [releases for windows and macOS here](https://github.com/debauchee/barrier/releases).
Your distro probably already has barrier packaged for it, see [distro specific packages](#distro-specific-packages) Your distro probably already has barrier packaged for it, see [distro specific packages](#distro-specific-packages)
below for a list. Alternatively, we also provide a [flatpak](https://github.com/flathub/com.github.debauchee.barrier) below for a list. Alternatively, we also provide a [flatpak](https://github.com/flathub/com.github.debauchee.barrier)
@@ -8,7 +8,7 @@ and a [snap](https://snapcraft.io/barrier).
### Contact info: ### Contact info:
- `#barrier` on freenode - `#barrier` on LiberaChat IRC network
#### CI Build Status #### CI Build Status
@@ -30,9 +30,14 @@ Barrier is software that mimics the functionality of a KVM switch, which histori
Barrier was forked from Symless's Synergy 1.9 codebase. Synergy was a commercialized reimplementation of the original CosmoSynergy written by Chris Schoeneman. Barrier was forked from Symless's Synergy 1.9 codebase. Synergy was a commercialized reimplementation of the original CosmoSynergy written by Chris Schoeneman.
At the moment, barrier is not compatible with synergy. Barrier needs to be installed on all machines that will share keyboard and mouse.
### What's different? ### What's different?
Whereas Synergy has moved beyond its goals from the 1.x era, Barrier aims to maintain that simplicity. Barrier will let you use your keyboard and mouse from machine A to control machine B (or more). It's that simple. Whereas Synergy has moved beyond its goals from the 1.x era, Barrier aims to maintain that simplicity.
Barrier will let you use your keyboard and mouse from one computer to control one or more other computers.
Clipboard sharing is supported.
That's it.
### Project goals ### Project goals
@@ -42,15 +47,33 @@ Compatibility. We use more than one operating system and you probably do, too. W
Communication. Everything we do is in the open. Our issue tracker will let you see if others are having the same problem you're having and will allow you to add additional information. You will also be able to see when progress is made and how the issue gets resolved. Communication. Everything we do is in the open. Our issue tracker will let you see if others are having the same problem you're having and will allow you to add additional information. You will also be able to see when progress is made and how the issue gets resolved.
### Usage
Install and run barrier on each machine that will be sharing.
On the machine with the keyboard and mouse, make it the server.
Click the "Configure server" button and drag a new screen onto the grid for each client machine.
Ensure the "screen name" matches exactly (case-sensitive) for each configured screen -- the clients' barrier windows will tell you their screen names (just above the server IP).
On the client(s), put in the server machine's IP address (or use Bonjour/auto configuration when prompted) and "start" them.
You should see `Barrier is running` on both server and clients.
You should now be able to move the mouse between all the screens as if they were the same machine.
Note that if the keyboard's Scroll Lock is active then this will prevent the mouse from switching screens.
### Contact & support ### Contact & support
Please be aware that the *only* way to draw our attention to a bug is to create a new issue in [the issue tracker](https://github.com/debauchee/barrier/issues). Write a clear, concise, detailed report and you will get a clear, concise, detailed response. Priority is always given to issues that affect a wider range of users. Please be aware that the *only* way to draw our attention to a bug is to create a new issue in [the issue tracker](https://github.com/debauchee/barrier/issues). Write a clear, concise, detailed report and you will get a clear, concise, detailed response. Priority is always given to issues that affect a wider range of users.
For short and simple questions or to just say hello find us on the Freenode IRC network in the #barrier channel. For short and simple questions or to just say hello find us on the LiberaChat IRC network in the #barrier channel.
### Contributions ### Contributions
At this time we are looking for developers to help fix the issues found in the issue tracker. Submit pull requests once you've polished up your patch and we'll review and possibly merge it. At this time we are looking for developers to help fix the issues found in the issue tracker.
Submit pull requests once you've polished up your patch and we'll review and possibly merge it.
Most pull requests will need to include a release note.
See docs/newsfragments/README.md for documentation of how to do that.
## Distro specific packages ## Distro specific packages
@@ -59,21 +82,67 @@ specific packages.
[![Packaging status](https://repology.org/badge/vertical-allrepos/barrier.svg)](https://repology.org/project/barrier/versions) [![Packaging status](https://repology.org/badge/vertical-allrepos/barrier.svg)](https://repology.org/project/barrier/versions)
### FAQ ## FAQ - Frequently Asked Questions
Q: Does drag and drop work on linux? **Q: Does drag and drop work on linux?**
A: No > A: No *(see [#855](https://github.com/debauchee/barrier/issues/855) if you'd like to change that)*
Q: What OSes are supported?
A: **Q: What OSes are supported?**
- Windows 7, 8, 8.1, and 10
- MacOS/OS X
- Linux
- FreeBSD
- OpenBSD
Q: Are 32-bit versions of Windows supported? > A: The [most recent release](https://github.com/debauchee/barrier/releases/latest) of Barrier is known to work on:
> - Windows 7, 8, 8.1, 10, and 11
> - macOS *(previously known as OS X or Mac OS X)*
> - _The current GUI does **not** work on OS versions prior to macOS 10.12 Sierra (but see the related answer below)_
> - Linux
> - FreeBSD
> - OpenBSD
A: No
**Q: Are 32-bit versions of Windows supported?**
> A: No
__Q: Is it possible to use Barrier on Mac OS X / OS X versions prior to 10.12?__
> A: Not officially.
> - For OS X 10.10 Yosemite and later:
> - [Barrier v2.1.0](https://github.com/debauchee/barrier/releases/tag/v2.1.0) or earlier _may_ work.
> - For Mac OS X 10.9 Mavericks _(and perhaps earlier)_:
> 1. the command-line portions of the [current release](https://github.com/debauchee/barrier/releases/latest) _should_ run fine.
> 2. The GUI will _not_ run, as that OS version does not include Apple's *Metal* framework.
> - _(For a GUI workaround for Mac OS X 10.9, see the [discussion at issue #544](https://github.com/debauchee/barrier/issues/544))_
> Note: Only versions [v2.3.4](https://github.com/debauchee/barrier/releases/tag/v2.3.4) and [later](https://github.com/debauchee/barrier/releases/latest) of Barrier can be supported by this project.
> - Anyone using an earlier version is advised to upgrade due to recently-addressed security vulnerabilities *(and other bug fixes)*.
> - This is especially important for computers accessible from the public Internet *(or from other shared/untrusted networks, such as when using shared WiFi)*.
**Q: How do I load my configuration on startup?**
> 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!**
> A: Edit your configuration to include the server's ip address manually with
>
>```
>(...)
>
>section: options
> serverhostname=<AAA.BBB.CCC.DDD>
>```
**Q: Are there any other significant limitations with the current version of Barrier?**
> A: Currently:
> - Barrier currently has limited UTF-8 support; issues have been reported with processing various languages.
> - *(see [#860](https://github.com/debauchee/barrier/issues/860))*
> - There is interest in future support for the Wayland compositor/display server protocol *([official site](https://wayland.freedesktop.org/) | [Wikipedia article](https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)))* on Linux.
> - As of late 2021, there is no expected completion date for *Wayland* support.
> - *(see [#109](https://github.com/debauchee/barrier/issues/109) and [#1251](https://github.com/debauchee/barrier/issues/1251) for status or to volunteer your talents)*
>
> The complete list of open issues can be found in the ['Issues' tab on GitHub](https://github.com/debauchee/barrier/issues?q=is%3Aissue+is%3Aopen). Help is always appreciated.

76
RELEASING.md Normal file
View File

@@ -0,0 +1,76 @@
Creating a release
==================
This document is documentation intednded for maintainers of Barrier.
It documents the release process of Barrier.
Step 1: Setup environment variables
-----------------------------------
Setup the following environment variable that will be used throughout the rest of the steps.
export VERSION=X.Y.Z
Step 2: Release notes PR
------------------------
Open a new branch (e.g. `release`) and run the following:
towncrier --version ${VERSION} --date `date -u +%F`
This collects the release notes using the `towncrier` tool. Please commit the collected release
notes afterwards.
Certain file names are not properly supported by the `towncrier` tool and it ignores them.
Check `newsfragments` directory for any forgotten release notes
Step 3: Merge the release notes PR
----------------------------------
Step 4: Bump the version number
-------------------------------
Pull the merge commit created on the `master` branch during the step 2.
Edit the following files and update the version numbers:
- `Build.properties`
- `cmake/Version.cmake`
- `doc/barrierc.1`
- `doc/barriers.1`
- `.github/ISSUE_TEMPLATE/bug_report.yml`
Commit to the release branch with the following message `Barrier x.y.z`.
Push the commit:
git push origin master
Step 5: Push git tag
--------------------
Create a tag:
git tag -s v${VERSION} -m v${VERSION}
Push the tag:
git push origin master --tags
Step 6: Draft a new release on Github
-------------------------------------
Go to https://github.com/buildbot/buildbot/releases and draft a new release.
Use git tag as the title of the release: `vX.Y.Z`.
Use the release notes generated by the `towncrier` tool as the description of the releases.
Upload the artifacts created by Azure pipelines as the binaries of the release. The following
artifacts should be uploaded to Github:
- the Barrier-X.Y.Z-release.dmg created by the newest Mac OS task (artifact name is
"Mac Release Disk Image and App XYZ").
- the BarrierSetup-X.Y.Z-release.exe (artifact name is Windows Release Installer).

View File

@@ -1 +1 @@
theme: jekyll-theme-slate theme: jekyll-theme-slate

View File

@@ -63,9 +63,15 @@ jobs:
artifactName: Windows Release Installer artifactName: Windows Release Installer
- job: LinuxBuild - job: LinuxBuild
strategy:
matrix:
ubuntu-18.04:
imageName: 'ubuntu-18.04'
ubuntu-20.04:
imageName: 'ubuntu-20.04'
displayName: Linux Build displayName: Linux Build
pool: pool:
vmImage: 'ubuntu-16.04' vmImage: $(imageName)
steps: steps:
- script: sudo apt-get update -y - script: sudo apt-get update -y
- script: sudo apt-get install -y libxtst-dev qtdeclarative5-dev libavahi-compat-libdnssd-dev libcurl4-openssl-dev - script: sudo apt-get install -y libxtst-dev qtdeclarative5-dev libavahi-compat-libdnssd-dev libcurl4-openssl-dev
@@ -75,13 +81,22 @@ jobs:
- job: MacBuild - job: MacBuild
displayName: Mac Build displayName: Mac Build
pool:
vmImage: 'macOS-10.14'
strategy: strategy:
matrix: matrix:
Release: big-sur-Release:
B_BUILD_TYPE: Release imageName: "macOS-11"
BARRIER_VERSION_STAGE: Release B_BUILD_TYPE: Release
BARRIER_VERSION_STAGE: Release
catalina-Release:
imageName: "macOS-10.15"
B_BUILD_TYPE: Release
BARRIER_VERSION_STAGE: Release
mojave-Release:
imageName: "macOS-10.14"
B_BUILD_TYPE: Release
BARRIER_VERSION_STAGE: Release
pool:
vmImage: $(imageName)
variables: variables:
VERBOSE: 1 VERBOSE: 1
TERM: xterm-256color TERM: xterm-256color
@@ -99,4 +114,4 @@ jobs:
condition: eq(variables['B_BUILD_TYPE'], 'Release') condition: eq(variables['B_BUILD_TYPE'], 'Release')
inputs: inputs:
pathtoPublish: build/bundle pathtoPublish: build/bundle
artifactName: Mac Release Disk Image and App artifactName: Mac Release Disk Image and App $(imageName)

View File

@@ -1,8 +1,7 @@
$ErrorActionPreference = "Stop" $ErrorActionPreference = "Stop"
New-Item -Force -ItemType Directory -Path ".\deps\" New-Item -Force -ItemType Directory -Path ".\deps\"
$Wc = New-Object System.Net.WebClient Invoke-WebRequest 'https://github.com/nelsonjchen/mDNSResponder/releases/download/v2019.05.08.1/x64_RelWithDebInfo.zip' -OutFile 'deps\BonjourSDKLike.zip' ;
$Wc.DownloadFile('https://github.com/nelsonjchen/mDNSResponder/releases/download/v2019.05.08.1/x64_RelWithDebInfo.zip', 'deps\BonjourSDKLike.zip') ;
Write-Output 'Downloaded BonjourSDKLike Zip' Write-Output 'Downloaded BonjourSDKLike Zip'
Write-Output 'Unzipping BonjourSDKLike Zip' Write-Output 'Unzipping BonjourSDKLike Zip'
Remove-Item -Recurse -Force -ErrorAction Ignore .\deps\BonjourSDKLike Remove-Item -Recurse -Force -ErrorAction Ignore .\deps\BonjourSDKLike

View File

@@ -6,8 +6,7 @@ $qt_version = '5.13.0'
New-Item -Force -ItemType Directory -Path ".\deps\" New-Item -Force -ItemType Directory -Path ".\deps\"
Write-Output 'Downloading QLI Installer' Write-Output 'Downloading QLI Installer'
$Wc = New-Object System.Net.WebClient Invoke-WebRequest "https://github.com/nelsonjchen/qli-installer/archive/v$qli_install_version.zip" -OutFile '.\deps\qli-installer.zip' ;
$Wc.DownloadFile("https://github.com/nelsonjchen/qli-installer/archive/v$qli_install_version.zip", '.\deps\qli-installer.zip') ;
Write-Output 'Downloaded QLI Installer' Write-Output 'Downloaded QLI Installer'
Write-Output 'Extracting QLI Installer' Write-Output 'Extracting QLI Installer'
@@ -21,6 +20,6 @@ Write-Output 'Installed QLI Installer Dependencies'
Write-Output 'Starting QT Installer' Write-Output 'Starting QT Installer'
$Env:QLI_OUT_DIR = ".\deps\Qt\Qt$qt_version" $Env:QLI_OUT_DIR = ".\deps\Qt\Qt$qt_version"
$Env:QLI_BASE_URL = "http://mirrors.ocf.berkeley.edu/qt/online/qtsdkrepository/" $Env:QLI_BASE_URL = "https://download.qt.io/online/qtsdkrepository/"
python .\deps\qli-installer\qli-installer.py $qt_version windows desktop win64_msvc2017_64 python .\deps\qli-installer\qli-installer.py $qt_version windows desktop win64_msvc2017_64
Write-Output 'Installed QT Installer' Write-Output 'Installed QT Installer'

View File

@@ -41,8 +41,7 @@ if ERRORLEVEL 1 goto failed
cd build cd build
cmake -G "%cmake_gen%" -A x64 -D CMAKE_BUILD_TYPE=%B_BUILD_TYPE% -D CMAKE_PREFIX_PATH="%B_QT_FULLPATH%" -D DNSSD_LIB="%B_BONJOUR%\Lib\x64\dnssd.lib" -D QT_VERSION=%B_QT_VER% .. cmake -G "%cmake_gen%" -A x64 -D CMAKE_BUILD_TYPE=%B_BUILD_TYPE% -D CMAKE_PREFIX_PATH="%B_QT_FULLPATH%" -D DNSSD_LIB="%B_BONJOUR%\Lib\x64\dnssd.lib" -D QT_VERSION=%B_QT_VER% ..
if ERRORLEVEL 1 goto failed if ERRORLEVEL 1 goto failed
echo @msbuild barrier.sln /p:Platform="x64" /p:Configuration=%B_BUILD_TYPE% /m %B_BUILD_OPTIONS% > make.bat cmake --build . --config %B_BUILD_TYPE%
call make.bat
if ERRORLEVEL 1 goto failed if ERRORLEVEL 1 goto failed
if exist bin\Debug ( if exist bin\Debug (
copy %B_QT_FULLPATH%\bin\Qt5Cored.dll bin\Debug\ > NUL copy %B_QT_FULLPATH%\bin\Qt5Cored.dll bin\Debug\ > NUL
@@ -65,7 +64,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

View File

@@ -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"

View File

@@ -1,8 +1,8 @@
cmake_minimum_required (VERSION 3.4) cmake_minimum_required (VERSION 3.4)
set (BARRIER_VERSION_MAJOR 2) set (BARRIER_VERSION_MAJOR 2)
set (BARRIER_VERSION_MINOR 3) set (BARRIER_VERSION_MINOR 4)
set (BARRIER_VERSION_PATCH 3) set (BARRIER_VERSION_PATCH 0)
set (BARRIER_VERSION_STAGE "release") set (BARRIER_VERSION_STAGE "release")
# #
@@ -85,6 +85,9 @@ message (STATUS "Full Barrier version string is '" ${BARRIER_VERSION_STRING} "'"
add_definitions (-DBARRIER_VERSION="${BARRIER_VERSION}") add_definitions (-DBARRIER_VERSION="${BARRIER_VERSION}")
add_definitions (-DBARRIER_VERSION_STRING="${BARRIER_VERSION_STRING}") add_definitions (-DBARRIER_VERSION_STRING="${BARRIER_VERSION_STRING}")
add_definitions (-DBARRIER_VERSION_MAJOR=${BARRIER_VERSION_MAJOR})
add_definitions (-DBARRIER_VERSION_MINOR=${BARRIER_VERSION_MINOR})
add_definitions (-DBARRIER_VERSION_PATCH=${BARRIER_VERSION_PATCH})
add_definitions (-DBARRIER_REVISION="${BARRIER_REVISION}") add_definitions (-DBARRIER_REVISION="${BARRIER_REVISION}")
add_definitions (-DBARRIER_BUILD_DATE="${BARRIER_BUILD_DATE}") add_definitions (-DBARRIER_BUILD_DATE="${BARRIER_BUILD_DATE}")
add_definitions (-DBARRIER_BUILD_NUMBER=${BARRIER_BUILD_NUMBER}) add_definitions (-DBARRIER_BUILD_NUMBER=${BARRIER_BUILD_NUMBER})

44
cmake/gtest.cmake Normal file
View File

@@ -0,0 +1,44 @@
# barrier -- mouse and keyboard sharing utility
# Copyright (C) 2012-2016 Symless Ltd.
# Copyright (C) 2011 Nick Bolton
#
# This package is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# found in the file LICENSE that should have accompanied this file.
#
# This package is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
if (BARRIER_USE_EXTERNAL_GTEST)
include (FindPkgConfig)
find_package(GTest REQUIRED)
pkg_check_modules(GMOCK REQUIRED gmock)
include_directories(
${GTEST_INCLUDE_DIRS}
${GMOCK_INCLUDE_DIRS}
)
else()
include_directories(
../ext/gtest
../ext/gtest/include
../ext/gmock
../ext/gmock/include
)
add_library(gtest STATIC ../ext/gtest/src/gtest-all.cc)
add_library(gmock STATIC ../ext/gmock/src/gmock-all.cc)
set(GTEST_LIBRARIES gtest)
set(GMOCK_LIBRARIES gmock)
if (UNIX)
# ignore warnings in gtest and gmock
set_target_properties(gtest PROPERTIES COMPILE_FLAGS "-w")
set_target_properties(gmock PROPERTIES COMPILE_FLAGS "-w")
endif()
endif()

152
debian/changelog vendored
View File

@@ -1,3 +1,155 @@
barrier (2.3.3) UNRELEASED; urgency=medium
[ Aaron Bieber ]
* tell build system about openbsd
[ Tetja Rediske ]
* make non-gui variants build without avahi
[ Erik Nordstrøm ]
* Replace hard-coded names of build directory in build_installer.sh script for macOS with looking at the location of the script by the script itself when it is run. This makes it possible to have differently named build dirs for debug and release builds, and without restricting what each of those directories must be named.
* Remove shell script that changes directory and then executes barrier on macOS, and execute barrier directly instead.
* Add settings in the Info.plist file that enable high-DPI support on macOS.
[ Daniel Seither ]
* Remove unused variables
* IpcLogOutputter: Put member initializers in execution order
* OSXDragView: Get rid of uninitialized variable warning
* Add override specifiers
* Let tray image blend into macOS menu bar
[ Vasily Galkin ]
* Man page: fix incorrect name of user conf file in barriers.1
[ Keegan Quinn ]
* Cast values to fix build errors on OS X 10.11.
[ Maximiliano Bertacchini ]
* Update readme with mention of the snap package.
[ Javier Candeira ]
* Fix #503 - Clarify on README how to report issues
[ Micael Jarniac ]
* Build status badges added to a table
[ Maximiliano Bertacchini ]
* Add build-essential to the snap's build deps.
* Explicitly disable wayland support in the snap.
* Add comment on snap env var
[ Vasily Galkin ]
* Fix infinite loop on fast TCP disconnection
[ Dom Rodriguez ]
* README: Add OpenBSD to list of supported OSes
[ Åke Engelbrektson ]
* Update gui_sv.ts
[ the-wes ]
* Add more detailed description of what Barrier does
[ James Le Cuirot ]
* Use -pthread flag and simplify pthread build logic
* Only require Qt5 when building the GUI
[ Tomáš Chvátal ]
* Fix desktop file Categories to match standard
[ Chris Simons ]
* Add script that uses macdeployqt instead of `reref_dylibs.sh` shell script to create the `.app` bundle
* Use `build_dist.sh` in CMake instead of `build_installer.sh` Have CMake always build a bundle, the `build_dist.sh` script will only build a dmg if the build type is "Release"
* Add warnings for users manually running `build_installer.sh` and `reref_dylibs.sh` manually
* Homebrew (Ruby) throws an error when it gets `SIGPIPE` from the `--max-count` on `grep`.
* added barrierc and barriers to macdeployqt targets
* Change MacOS Build Steps
* Fix TIS/TSM in logs
* Elevate XSocketAddressInUse to ERROR
* Allow selecting Fingerprint Qlabel
* replace tabs with spaces
* Change log level on several status messages (Fixes #652, Fixes #516)
[ Ben Plessinger ]
* A few more log cleanups
[ Vasily Galkin ]
* Remove unused IEventQueue::isEmpty() method to simplify code understanding
[ Povilas Kanapickas ]
* XWindowsEventQueueBuffer: Fix delays when waiting for new events
[ Jonathan Martens ]
* Fix Auto config missing hostname prompt #704
[ Vasily Galkin ]
* Windows 8+: make waiting for messages correspond to emptiness check
[ Povilas Kanapickas ]
* gui: Use enum class to scope enum values
* lib/client: Use std::string directly instead of String typedef
* lib/arch: Use std::string directly instead of String typedef
* lib/net: Use std::string directly instead of String typedef
* lib/server: Use std::string directly instead of String typedef
* lib/base: Use std::string directly instead of String typedef
* lib/ipc: Use std::string directly instead of String typedef
* lib/net: Add missing include
* lib/platform: Use std::string directly instead of String typedef
* test: Enable building of tests
* test: Reduce the number of implicit include directories
* test: Remove unresolved merge conflict markers
* test: Fix referenced library name
* test: Update to new APIs
* tests: Fix crash in XWindowsKeyStateTests
* test: Fix undefined behavior of deleting incomplete type
* tests: Disable test that depends on external state
* Use noexcept instead of exception specifications
* lib/common: Remove no longer used stdexcept.h
[ Jonathan Martens ]
* Make connection message a NOTE for consistency
[ zhexiwang ]
* Added toggleScreen function, using hot key to loop through all screens. Comparing to switchToScreen, it is more handy since the user only need to hit one hotkey.
[ GeorgH93 ]
* Fix build on Windows
* Keep errorlevel
[ Povilas Kanapickas ]
* Revert "Make connection message a NOTE for consistency"
[ Chris Simons ]
* add comments explaining the use of CLOG_PRINT
[ Dom Rodriguez ]
* Remove ext/gtest, ext/gmock to replace with Git submodule
* Add gtest/gmock framework, locked at 1.6.0
* Fix CI infrastructure (.bat/.sh) to initialise Git submodules before build
[ Maximiliano Bertacchini ]
* Fix snap build failing to initialize submodules.
[ Niklas Hambüchen ]
* ui: Settings: Explain what "double tap" means
[ Dom Rodriguez ]
* Prepare for v2.3.3 release
[ Maximiliano Bertacchini ]
* Shorten snap version on tagged revisions
[ Tomoya Tanjo ]
* Add Eisu_toggle and Muhenkan keys
[ Michael Zimmermann ]
* add support for keyboard backlight media keys
[ Dom Rodriguez ]
* [Build]: Bump Build.properties
-- root <root@873b8d543aab> Fri, 07 Aug 2020 16:25:54 +0000
barrier (2.3.2) disco; urgency=medium barrier (2.3.2) disco; urgency=medium
[ walker0643 ] [ walker0643 ]

View File

@@ -1,7 +1,9 @@
#define MyAppName "Barrier" #define MyAppName "Barrier"
#define MyAppVersion "@BARRIER_VERSION@" #define MyAppVersion "@BARRIER_VERSION_MAJOR@.@BARRIER_VERSION_MINOR@.@BARRIER_VERSION_PATCH@.@BARRIER_BUILD_NUMBER@"
#define MyAppTextVersion "@BARRIER_VERSION@"
#define MyAppPublisher "Debauchee Open Source Group" #define MyAppPublisher "Debauchee Open Source Group"
#define MyAppURL "https://github.com/debauchee/barrier/wiki" #define MyAppURL "https://github.com/debauchee/barrier/wiki"
#define MyAppCopyright "Copyright (C) 2018 Debauchee Open Source Group"
#define MyAppExeName "barrier.exe" #define MyAppExeName "barrier.exe"
#define MyAppServiceName "Barrier" #define MyAppServiceName "Barrier"
#define MyAppServiceExe "barrierd.exe" #define MyAppServiceExe "barrierd.exe"
@@ -11,8 +13,8 @@
[Setup] [Setup]
AppId={{41036EA6-3F7A-4803-8AE0-469E5E91EFCC} AppId={{41036EA6-3F7A-4803-8AE0-469E5E91EFCC}
AppName={#MyAppName} AppName={#MyAppName}
AppVersion={#MyAppVersion} AppVersion={#MyAppTextVersion}
AppVerName={#MyAppName} {#MyAppVersion} AppVerName={#MyAppName} {#MyAppTextVersion}
AppPublisher={#MyAppPublisher} AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL} AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL} AppSupportURL={#MyAppURL}
@@ -21,11 +23,18 @@ DefaultDirName={pf}\{#MyAppName}
DisableProgramGroupPage=yes DisableProgramGroupPage=yes
LicenseFile=@CMAKE_CURRENT_SOURCE_DIR@/res/License.rtf LicenseFile=@CMAKE_CURRENT_SOURCE_DIR@/res/License.rtf
OutputDir=@CMAKE_RUNTIME_OUTPUT_DIRECTORY@/../installer-inno/bin OutputDir=@CMAKE_RUNTIME_OUTPUT_DIRECTORY@/../installer-inno/bin
OutputBaseFilename=BarrierSetup-{#MyAppVersion} OutputBaseFilename=BarrierSetup-{#MyAppTextVersion}
SetupIconFile=@CMAKE_CURRENT_SOURCE_DIR@/res/barrier.ico SetupIconFile=@CMAKE_CURRENT_SOURCE_DIR@/res/barrier.ico
VersionInfoProductTextVersion={#MyAppTextVersion}
VersionInfoProductVersion={#MyAppVersion}
VersionInfoTextVersion={#MyAppTextVersion}
VersionInfoVersion={#MyAppVersion}
VersionInfoCopyright={#MyAppCopyright}
Compression=lzma Compression=lzma
SolidCompression=yes SolidCompression=yes
ArchitecturesInstallIn64BitMode=x64 ia64 ArchitecturesInstallIn64BitMode=x64 ia64
UninstallDisplayIcon={app}\{#MyAppExeName}
#include "scripts\lang\english.iss" #include "scripts\lang\english.iss"
@@ -45,16 +54,17 @@ Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks:
; to avoid duplicate entries remove the existing rule (fails if it doesn't exist) before adding ; to avoid duplicate entries remove the existing rule (fails if it doesn't exist) before adding
Filename: {sys}\netsh.exe; Parameters: "advfirewall firewall delete rule name=""{#MyAppListenerDesc}"""; Flags: runhidden Filename: {sys}\netsh.exe; Parameters: "advfirewall firewall delete rule name=""{#MyAppListenerDesc}"""; Flags: runhidden
Filename: {sys}\netsh.exe; Parameters: "advfirewall firewall add rule name=""{#MyAppListenerDesc}"" protocol=TCP dir=in localport=24800 action=allow"; Flags: runhidden Filename: {sys}\netsh.exe; Parameters: "advfirewall firewall add rule name=""{#MyAppListenerDesc}"" protocol=TCP dir=in localport=24800 action=allow"; Flags: runhidden
Filename: {sys}\sc.exe; Parameters: "create {#MyAppServiceName} start= auto binPath= ""{app}\{#MyAppServiceExe}"""; Flags: runhidden Filename: {sys}\sc.exe; Parameters: "create {#MyAppServiceName} start= auto binPath= ""\""{app}\{#MyAppServiceExe}\"""""; Flags: runhidden
Filename: {sys}\sc.exe; Parameters: "description {#MyAppServiceName} ""{#MyAppServiceDesc}"""; Flags: runhidden Filename: {sys}\sc.exe; Parameters: "description {#MyAppServiceName} ""{#MyAppServiceDesc}"""; Flags: runhidden
Filename: {sys}\sc.exe; Parameters: "start {#MyAppServiceName}"; Flags: runhidden Filename: {sys}\sc.exe; Parameters: "start {#MyAppServiceName}"; Flags: runhidden
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[UninstallDelete] [UninstallDelete]
Type: files; Name: "{app}\barrierd.log" Type: filesandordirs; Name: "{commonappdata}\Barrier"
[UninstallRun] [UninstallRun]
Filename: {sys}\sc.exe; Parameters: "stop {#MyAppServiceName}"; Flags: runhidden Filename: {sys}\taskkill; Parameters: "/im {#MyAppExeName} /f /t"; Flags: runhidden
Filename: {sys}\net.exe; Parameters: "stop {#MyAppServiceName}"; Flags: runhidden
Filename: {sys}\sc.exe; Parameters: "delete {#MyAppServiceName}"; Flags: runhidden Filename: {sys}\sc.exe; Parameters: "delete {#MyAppServiceName}"; Flags: runhidden
Filename: {sys}\netsh.exe; Parameters: "advfirewall firewall delete rule name=""{#MyAppListenerDesc}"""; Flags: runhidden Filename: {sys}\netsh.exe; Parameters: "advfirewall firewall delete rule name=""{#MyAppListenerDesc}"""; Flags: runhidden

18
dist/inno/scripts/lang/italian.iss vendored Normal file
View File

@@ -0,0 +1,18 @@
[Languages]
Name: "it"; MessagesFile: "compiler:Default.isl"
[CustomMessages]
;http://www.microsoft.com/globaldev/reference/lcid-all.mspx
en.lcid=1033
en.depdownload_msg=Le seguenti applicazioni sono necessarie per poter continuare l'installazione:%n%n%1%nScaricare ed installa ora?
en.depdownload_memo_title=Scarica dipendenze
en.depinstall_memo_title=Installa dipendenze
en.depinstall_title=Installazione dipendenze
en.depinstall_description=Attendere che l'installazione installi le dipendenze sul computer.
en.depinstall_status=Installazione %1...
en.depinstall_missing=%1 deve essere installato prima che l'installazione possa continuare. Installa %1 ed esegui nuovamente il programma di installazione.
en.depinstall_error=Si è verificato un errore durante l'installazione delle dipendenze. Riavviare il computer ed eseguire nuovamente l'installazione o installare manualmente le seguenti dipendenze: %n
it.isxdl_langfile=
[Files]

View File

@@ -31,6 +31,6 @@
<key>NSHumanReadableCopyright</key> <key>NSHumanReadableCopyright</key>
<string>© 2018 Debauchee Open Source Group</string> <string>© 2018 Debauchee Open Source Group</string>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>10.9.0</string> <string>10.12.0</string>
</dict> </dict>
</plist> </plist>

View File

@@ -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
@@ -48,15 +48,15 @@ fi
# Check for macdeployqt on Homebrew # Check for macdeployqt on Homebrew
if which -s brew ; then if which -s brew ; then
info "Homebrew found, searching for macdeployqt" info "Homebrew found, searching for macdeployqt"
DEPLOYQT="$(brew list qt | 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" \
@@ -70,4 +70,4 @@ else
-executable="$B_BARRIERC" \ -executable="$B_BARRIERC" \
-executable="$B_BARRIERS" || exit 1 -executable="$B_BARRIERS" || exit 1
success "Bundle created successfully" success "Bundle created successfully"
fi fi

View File

@@ -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"

View File

@@ -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

View File

@@ -1,234 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorCodeStyle>
<!-- Written by QtCreator 3.0.1, 2014-02-14T09:50:24. -->
<qtcreator>
<data>
<variable>CodeStyleData</variable>
<valuemap type="QVariantMap">
<value type="bool" key="AlignAssignments">false</value>
<value type="bool" key="AutoSpacesForTabs">false</value>
<value type="bool" key="BindStarToIdentifier">true</value>
<value type="bool" key="BindStarToLeftSpecifier">false</value>
<value type="bool" key="BindStarToRightSpecifier">false</value>
<value type="bool" key="BindStarToTypeName">false</value>
<value type="bool" key="ExtraPaddingForConditionsIfConfusingAlign">true</value>
<value type="bool" key="IndentAccessSpecifiers">false</value>
<value type="bool" key="IndentBlockBody">true</value>
<value type="bool" key="IndentBlockBraces">false</value>
<value type="bool" key="IndentBlocksRelativeToSwitchLabels">false</value>
<value type="bool" key="IndentClassBraces">false</value>
<value type="bool" key="IndentControlFlowRelativeToSwitchLabels">true</value>
<value type="bool" key="IndentDeclarationsRelativeToAccessSpecifiers">true</value>
<value type="bool" key="IndentEnumBraces">false</value>
<value type="bool" key="IndentFunctionBody">true</value>
<value type="bool" key="IndentFunctionBraces">false</value>
<value type="bool" key="IndentNamespaceBody">false</value>
<value type="bool" key="IndentNamespaceBraces">false</value>
<value type="int" key="IndentSize">4</value>
<value type="bool" key="IndentStatementsRelativeToSwitchLabels">true</value>
<value type="bool" key="IndentSwitchLabels">false</value>
<value type="int" key="PaddingMode">2</value>
<value type="bool" key="SpacesForTabs">false</value>
<value type="int" key="TabSize">4</value>
</valuemap>
</data>
<data>
<variable>DisplayName</variable>
<value type="QString">Barrier</value>
</data>
</qtcreator>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorCodeStyle>
<!-- Written by QtCreator 3.0.1, 2014-02-14T09:50:24. -->
<qtcreator>
<data>
<variable>CodeStyleData</variable>
<valuemap type="QVariantMap">
<value type="bool" key="AlignAssignments">false</value>
<value type="bool" key="AutoSpacesForTabs">false</value>
<value type="bool" key="BindStarToIdentifier">true</value>
<value type="bool" key="BindStarToLeftSpecifier">false</value>
<value type="bool" key="BindStarToRightSpecifier">false</value>
<value type="bool" key="BindStarToTypeName">false</value>
<value type="bool" key="ExtraPaddingForConditionsIfConfusingAlign">true</value>
<value type="bool" key="IndentAccessSpecifiers">false</value>
<value type="bool" key="IndentBlockBody">true</value>
<value type="bool" key="IndentBlockBraces">false</value>
<value type="bool" key="IndentBlocksRelativeToSwitchLabels">false</value>
<value type="bool" key="IndentClassBraces">false</value>
<value type="bool" key="IndentControlFlowRelativeToSwitchLabels">true</value>
<value type="bool" key="IndentDeclarationsRelativeToAccessSpecifiers">true</value>
<value type="bool" key="IndentEnumBraces">false</value>
<value type="bool" key="IndentFunctionBody">true</value>
<value type="bool" key="IndentFunctionBraces">false</value>
<value type="bool" key="IndentNamespaceBody">false</value>
<value type="bool" key="IndentNamespaceBraces">false</value>
<value type="int" key="IndentSize">4</value>
<value type="bool" key="IndentStatementsRelativeToSwitchLabels">true</value>
<value type="bool" key="IndentSwitchLabels">false</value>
<value type="int" key="PaddingMode">2</value>
<value type="bool" key="SpacesForTabs">false</value>
<value type="int" key="TabSize">4</value>
</valuemap>
</data>
<data>
<variable>DisplayName</variable>
<value type="QString">Barrier</value>
</data>
</qtcreator>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorCodeStyle>
<!-- Written by QtCreator 3.0.1, 2014-02-14T09:50:24. -->
<qtcreator>
<data>
<variable>CodeStyleData</variable>
<valuemap type="QVariantMap">
<value type="bool" key="AlignAssignments">false</value>
<value type="bool" key="AutoSpacesForTabs">false</value>
<value type="bool" key="BindStarToIdentifier">true</value>
<value type="bool" key="BindStarToLeftSpecifier">false</value>
<value type="bool" key="BindStarToRightSpecifier">false</value>
<value type="bool" key="BindStarToTypeName">false</value>
<value type="bool" key="ExtraPaddingForConditionsIfConfusingAlign">true</value>
<value type="bool" key="IndentAccessSpecifiers">false</value>
<value type="bool" key="IndentBlockBody">true</value>
<value type="bool" key="IndentBlockBraces">false</value>
<value type="bool" key="IndentBlocksRelativeToSwitchLabels">false</value>
<value type="bool" key="IndentClassBraces">false</value>
<value type="bool" key="IndentControlFlowRelativeToSwitchLabels">true</value>
<value type="bool" key="IndentDeclarationsRelativeToAccessSpecifiers">true</value>
<value type="bool" key="IndentEnumBraces">false</value>
<value type="bool" key="IndentFunctionBody">true</value>
<value type="bool" key="IndentFunctionBraces">false</value>
<value type="bool" key="IndentNamespaceBody">false</value>
<value type="bool" key="IndentNamespaceBraces">false</value>
<value type="int" key="IndentSize">4</value>
<value type="bool" key="IndentStatementsRelativeToSwitchLabels">true</value>
<value type="bool" key="IndentSwitchLabels">false</value>
<value type="int" key="PaddingMode">2</value>
<value type="bool" key="SpacesForTabs">false</value>
<value type="int" key="TabSize">4</value>
</valuemap>
</data>
<data>
<variable>DisplayName</variable>
<value type="QString">Barrier</value>
</data>
</qtcreator>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorCodeStyle>
<!-- Written by QtCreator 3.0.1, 2014-02-14T09:50:24. -->
<qtcreator>
<data>
<variable>CodeStyleData</variable>
<valuemap type="QVariantMap">
<value type="bool" key="AlignAssignments">false</value>
<value type="bool" key="AutoSpacesForTabs">false</value>
<value type="bool" key="BindStarToIdentifier">true</value>
<value type="bool" key="BindStarToLeftSpecifier">false</value>
<value type="bool" key="BindStarToRightSpecifier">false</value>
<value type="bool" key="BindStarToTypeName">false</value>
<value type="bool" key="ExtraPaddingForConditionsIfConfusingAlign">true</value>
<value type="bool" key="IndentAccessSpecifiers">false</value>
<value type="bool" key="IndentBlockBody">true</value>
<value type="bool" key="IndentBlockBraces">false</value>
<value type="bool" key="IndentBlocksRelativeToSwitchLabels">false</value>
<value type="bool" key="IndentClassBraces">false</value>
<value type="bool" key="IndentControlFlowRelativeToSwitchLabels">true</value>
<value type="bool" key="IndentDeclarationsRelativeToAccessSpecifiers">true</value>
<value type="bool" key="IndentEnumBraces">false</value>
<value type="bool" key="IndentFunctionBody">true</value>
<value type="bool" key="IndentFunctionBraces">false</value>
<value type="bool" key="IndentNamespaceBody">false</value>
<value type="bool" key="IndentNamespaceBraces">false</value>
<value type="int" key="IndentSize">4</value>
<value type="bool" key="IndentStatementsRelativeToSwitchLabels">true</value>
<value type="bool" key="IndentSwitchLabels">false</value>
<value type="int" key="PaddingMode">2</value>
<value type="bool" key="SpacesForTabs">false</value>
<value type="int" key="TabSize">4</value>
</valuemap>
</data>
<data>
<variable>DisplayName</variable>
<value type="QString">Barrier</value>
</data>
</qtcreator>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorCodeStyle>
<!-- Written by QtCreator 3.0.1, 2014-02-14T09:50:24. -->
<qtcreator>
<data>
<variable>CodeStyleData</variable>
<valuemap type="QVariantMap">
<value type="bool" key="AlignAssignments">false</value>
<value type="bool" key="AutoSpacesForTabs">false</value>
<value type="bool" key="BindStarToIdentifier">true</value>
<value type="bool" key="BindStarToLeftSpecifier">false</value>
<value type="bool" key="BindStarToRightSpecifier">false</value>
<value type="bool" key="BindStarToTypeName">false</value>
<value type="bool" key="ExtraPaddingForConditionsIfConfusingAlign">true</value>
<value type="bool" key="IndentAccessSpecifiers">false</value>
<value type="bool" key="IndentBlockBody">true</value>
<value type="bool" key="IndentBlockBraces">false</value>
<value type="bool" key="IndentBlocksRelativeToSwitchLabels">false</value>
<value type="bool" key="IndentClassBraces">false</value>
<value type="bool" key="IndentControlFlowRelativeToSwitchLabels">true</value>
<value type="bool" key="IndentDeclarationsRelativeToAccessSpecifiers">true</value>
<value type="bool" key="IndentEnumBraces">false</value>
<value type="bool" key="IndentFunctionBody">true</value>
<value type="bool" key="IndentFunctionBraces">false</value>
<value type="bool" key="IndentNamespaceBody">false</value>
<value type="bool" key="IndentNamespaceBraces">false</value>
<value type="int" key="IndentSize">4</value>
<value type="bool" key="IndentStatementsRelativeToSwitchLabels">true</value>
<value type="bool" key="IndentSwitchLabels">false</value>
<value type="int" key="PaddingMode">2</value>
<value type="bool" key="SpacesForTabs">false</value>
<value type="int" key="TabSize">4</value>
</valuemap>
</data>
<data>
<variable>DisplayName</variable>
<value type="QString">Barrier</value>
</data>
</qtcreator>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorCodeStyle>
<!-- Written by QtCreator 3.0.1, 2014-02-14T09:50:24. -->
<qtcreator>
<data>
<variable>CodeStyleData</variable>
<valuemap type="QVariantMap">
<value type="bool" key="AlignAssignments">false</value>
<value type="bool" key="AutoSpacesForTabs">false</value>
<value type="bool" key="BindStarToIdentifier">true</value>
<value type="bool" key="BindStarToLeftSpecifier">false</value>
<value type="bool" key="BindStarToRightSpecifier">false</value>
<value type="bool" key="BindStarToTypeName">false</value>
<value type="bool" key="ExtraPaddingForConditionsIfConfusingAlign">true</value>
<value type="bool" key="IndentAccessSpecifiers">false</value>
<value type="bool" key="IndentBlockBody">true</value>
<value type="bool" key="IndentBlockBraces">false</value>
<value type="bool" key="IndentBlocksRelativeToSwitchLabels">false</value>
<value type="bool" key="IndentClassBraces">false</value>
<value type="bool" key="IndentControlFlowRelativeToSwitchLabels">true</value>
<value type="bool" key="IndentDeclarationsRelativeToAccessSpecifiers">true</value>
<value type="bool" key="IndentEnumBraces">false</value>
<value type="bool" key="IndentFunctionBody">true</value>
<value type="bool" key="IndentFunctionBraces">false</value>
<value type="bool" key="IndentNamespaceBody">false</value>
<value type="bool" key="IndentNamespaceBraces">false</value>
<value type="int" key="IndentSize">4</value>
<value type="bool" key="IndentStatementsRelativeToSwitchLabels">true</value>
<value type="bool" key="IndentSwitchLabels">false</value>
<value type="int" key="PaddingMode">2</value>
<value type="bool" key="SpacesForTabs">false</value>
<value type="int" key="TabSize">4</value>
</valuemap>
</data>
<data>
<variable>DisplayName</variable>
<value type="QString">Barrier</value>
</data>
</qtcreator>

View File

@@ -47,9 +47,9 @@ 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
desktop2: John-Smiths-MacBook-3.local:
John-Smiths-MacBook-3.local desktop2
end end

View File

@@ -0,0 +1,17 @@
# barebones barrier.conf example
# for two computers side by side
# replace screen.name.server and screen.name.client with your screen names from gui
# there's a 50/50 chance you'll want to swap left and right
# save this as barrier.conf in your home folder and "Use existing configuration" on server
section: screens
screen.name.server:
screen.name.client:
end
section: links
screen.name.server:
left = screen.name.client
screen.name.client:
right = screen.name.server
end

View File

@@ -34,6 +34,6 @@ end
section: aliases section: aliases
# The "real" name of iMac is John-Smiths-iMac-3.local. If we wanted we could remove this alias and instead use John-Smiths-iMac-3.local everywhere iMac is above. Hopefully it should be easy to see why using an alias is nicer # The "real" name of iMac is John-Smiths-iMac-3.local. If we wanted we could remove this alias and instead use John-Smiths-iMac-3.local everywhere iMac is above. Hopefully it should be easy to see why using an alias is nicer
iMac: John-Smiths-iMac-3.local:
John-Smiths-iMac-3.local iMac
end end

View File

@@ -1,5 +1,5 @@
.\" See UpdateManpages.txt about modification of this file. Most of it was generated by help2man 1.47.8. .\" See UpdateManpages.txt about modification of this file. Most of it was generated by help2man 1.47.8.
.TH BARRIERC "1" "November 2019" "barrierc 2.3.3-release" "User Commands" .TH BARRIERC "1" "November 2019" "barrierc 2.4.0-release" "User Commands"
.SH NAME .SH NAME
barrierc \- Barrier Keyboard/Mouse Client barrierc \- Barrier Keyboard/Mouse Client
.SH SYNOPSIS .SH SYNOPSIS

View File

@@ -1,5 +1,5 @@
.\" See UpdateManpages.txt about modification of this file. Most of it was generated by help2man 1.47.8. .\" See UpdateManpages.txt about modification of this file. Most of it was generated by help2man 1.47.8.
.TH BARRIERS "1" "November 2019" "barriers 2.3.3-release" "User Commands" .TH BARRIERS "1" "November 2019" "barriers 2.4.0-release" "User Commands"
.SH NAME .SH NAME
barriers \- Barrier Keyboard/Mouse Server barriers \- Barrier Keyboard/Mouse Server
.SH SYNOPSIS .SH SYNOPSIS

View File

@@ -0,0 +1 @@
Corrected macOS packaging to provide a better error message when a user attempts to launch Barrier on an incompatible macOS version. (https://github.com/debauchee/barrier/issues/1260).

View File

@@ -0,0 +1 @@
Updated FAQs in project README.md with more detail on OS support and links to issues for infrequent users. (https://github.com/debauchee/barrier/issues/1260).

View File

@@ -0,0 +1,13 @@
This is the directory for release note fragments processed by
[towncrier](https://github.com/hawkowl/towncrier).
When making a user-visible change create a file in this directory and it will be automatically be
included into the release note document when the next release is published.
The file extension specifies the type of a change. The following are currently supported:
- .feature: a new feature.
- .bugfix: a bug fix.
- .security: a fix for security issue.
- .doc: a documentation improvement.
- .removal: a deprecation or removal of functionality.

View File

@@ -0,0 +1,2 @@
Fix wrong encoding for text copied between Linux and Windows
(https://github.com/debauchee/barrier/issues/1037, https://github.com/debauchee/barrier/issues/1137).

View File

@@ -0,0 +1 @@
Fixed build on GCC 11.2 (https://github.com/debauchee/barrier/issues/1366).

View File

@@ -0,0 +1,2 @@
Updated Japanese translation.
Add and translate strings that are not in gui.ts. Minor string adjustment, Fix wrong or duplicate shortcut keys.

View File

@@ -0,0 +1 @@
Fixed FAQ link to Linux drag and drop issue.

View File

@@ -0,0 +1 @@
Fixed a regression in 2.4.0 that caused Barrier to not support scaling other than 100% (https://github.com/debauchee/barrier/issues/1462).

View File

@@ -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>

View File

@@ -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>

View File

@@ -0,0 +1,98 @@
Release notes
=============
[comment]: <> (towncrier release notes start)
Barrier `2.4.0` ( `2021-11-01` )
================================
Security fixes
--------------
- Barrier now supports client identity verification (fixes CVE-2021-42072, CVE-2021-42073).
Previously a malicious client could connect to Barrier server without any authentication and
send application-level messages. This made the attack surface of Barrier significantly larger.
Additionally, in case the malicious client got possession of a valid screen name by brute forcing
or other means it could modify the clipboard contents of the server.
To support seamless upgrades from older versions of Barrier this is currently disabled by default.
The feature can be enabled in the settings dialog. If enabled, older clients of Barrier will be
rejected.
- Barrier now uses SHA256 fingerprints for establishing security of encrypted SSL connections.
After upgrading client to new version the existing server fingerprint will need to be approved
again. Client and server will show both SHA1 and SHA256 server fingerprints to allow
interoperability with older versions of Barrier.
All of the above security issues have been reported by Matthias Gerstner who was really helpful
resolving them.
Bug fixes
---------
- Fixed build failure on mips*el and riscv64 architecture.
- Fixed reading of configuration on Windows when the paths contain non-ASCII characters
(https://github.com/debauchee/barrier/issues/976, https://github.com/debauchee/barrier/issues/974,
https://github.com/debauchee/barrier/issues/444).
- Barrier no longer uses openssl CLI tool for any operations and hooks into the openssl library directly.
- More X11 clipboard MIME types have been mapped to corresponding converters (https://github.com/debauchee/barrier/issues/344).
- Fixed setup of multiple actions associated with a hotkey.
- Fixed setup of hotkeys with special characters such as comma and semicolon
(https://github.com/debauchee/barrier/issues/778).
- Fixed transfer of non-ASCII characters coming from a Windows server in certain cases
(https://github.com/debauchee/barrier/issues/527).
- Barrier will now regenerate server certificate if it's invalid instead of failing to launch
(https://github.com/debauchee/barrier/issues/802)
- Added support for additional keys on Sun Microsystems USB keyboards
(https://github.com/debauchee/barrier/issues/784).
- Updated Chinese translation.
- Updated Slovak translation.
- Theme icons are now preferred to icons distributed together with Barrier
(https://github.com/debauchee/barrier/issues/471).
- Fixed incorrect setup of Barrier service path on Windows.
Features
--------
- Added `--drop-target` option that improves drag and drop support on Windows when Barrier is
being run as a portable app.
- The `--enable-crypto` command line option has been made the default to reduce chances of
accidental security mishaps when configuring Barrier from command line.
A new `--disable-crypto` command line option has been added to explicitly disable encryption.
- Added support for randomart images for easier comparison of SSL certificate fingerprints.
The algorithm is identical to what OpenSSH uses.
- Implemented a configuration option for Server GUI auto-start.
- Made it possible to use keyboard instead of mouse to modify screen layout.
- Added support for keyboard backlight media keys
- Added support for Eisu_toggle and Muhenkan keys
- Added `--profile-dir` option that allows to select custom profile directory.
Barrier `2.3.4` ( `2021-11-01` )
================================
Security fixes
--------------
- Barrier will now correctly close connections when the app-level handshake fails (fixes CVE-2021-42075).
Previously repeated failing connections would leak file descriptors leading to Barrier being unable
to receive new connections from clients.
- Barrier will now enforce a maximum length of input messages (fixes CVE-2021-42076).
Previously it was possible for a malicious client or server to send excessive length messages
leading to denial of service by resource exhaustion.
- Fixed a bug which caused Barrier to crash when disconnecting a TCP session just after sending
Hello message (fixes CVE-2021-42074).
This bug allowed an unauthenticated attacker to crash Barrier with only network access.
All of the above security issues have been reported by Matthias Gerstner who was really helpful
resolving them.
Bug fixes
---------
- Fixed a bug in SSL implementation that caused invalid data occasionally being sent to clients
under heavy load.

View File

@@ -0,0 +1,37 @@
{% for section, _ in sections|dictsort(by='key') %}
{% set underline = "-" %}
{% if section %}
{{section}}
{{ underline * section|length }}{% set underline = "-" %}
{% endif %}
{% if sections[section] %}
{% for category, val in definitions|dictsort if category in sections[section]%}
{{ definitions[category]['name'] }}
{{ underline * definitions[category]['name']|length }}
{% if definitions[category]['showcontent'] %}
{% for text, values in sections[section][category]|dictsort(by='value') %}
- {{ text }}
{% endfor %}
{% else %}
- {{ sections[section][category]['']|sort|join(', ') }}
{% endif %}
{% if sections[section][category]|length == 0 %}
No significant changes.
{% else %}
{% endif %}
{% endfor %}
{% else %}
No significant changes.
{% endif %}
{% endfor %}

1
ext/gulrak-filesystem Submodule

Submodule ext/gulrak-filesystem added at 614bbe87b8

View File

@@ -233,7 +233,7 @@ extern "C" {
even newer MIPS CPU's, but at the moment one size fits all for even newer MIPS CPU's, but at the moment one size fits all for
optimization options. Older Sparc's work better with only UNROLL, but optimization options. Older Sparc's work better with only UNROLL, but
there's no way to tell at compile time what it is you're running on */ there's no way to tell at compile time what it is you're running on */
#if defined( __sun ) || defined ( sun ) /* Newer Sparc's */ #if defined( __sun ) || defined ( sun ) /* Newer Sparc's */
# define DES_PTR # define DES_PTR
# define DES_RISC1 # define DES_RISC1

View File

@@ -233,7 +233,7 @@ extern "C" {
even newer MIPS CPU's, but at the moment one size fits all for even newer MIPS CPU's, but at the moment one size fits all for
optimization options. Older Sparc's work better with only UNROLL, but optimization options. Older Sparc's work better with only UNROLL, but
there's no way to tell at compile time what it is you're running on */ there's no way to tell at compile time what it is you're running on */
#if defined( __sun ) || defined ( sun ) /* Newer Sparc's */ #if defined( __sun ) || defined ( sun ) /* Newer Sparc's */
# define DES_PTR # define DES_PTR
# define DES_RISC1 # define DES_RISC1

View File

@@ -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"
@@ -29,18 +29,15 @@ if [ ! $BARRIER_BUILD_ENV ]; then
elif command -v brew; then elif command -v brew; then
printf "Detected Homebrew\n" printf "Detected Homebrew\n"
QT_PATH=$(brew --prefix qt) QT_PATH=$(brew --prefix qt@5)
OPENSSL_PATH=$(brew --prefix openssl)
check_dir_exists "$QT_PATH" 'qt' check_dir_exists "$QT_PATH" 'qt5'
check_dir_exists "$OPENSSL_PATH" 'openssl'
export BARRIER_BUILD_BREW=1 export BARRIER_BUILD_BREW=1
export CMAKE_PREFIX_PATH="$QT_PATH:$CMAKE_PREFIX_PATH" export CMAKE_PREFIX_PATH="/opt/procursus:$QT_PATH:$CMAKE_PREFIX_PATH"
export LD_LIBRARY_PATH="$OPENSSL_PATH/lib:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH="/opt/procursus/lib:$LD_LIBRARY_PATH"
export CPATH="$OPENSSL_PATH/include:$CPATH" export CPATH="/opt/procursus/include:$CPATH"
export PKG_CONFIG_PATH="$OPENSSL_PATH/lib/pkgconfig:$PKG_CONFIG_PATH" export PKG_CONFIG_PATH="/opt/procursus/lib/pkgconfig:$PKG_CONFIG_PATH"
else else
printf "Neither Homebrew nor Macports is installed. Can't get dependency paths\n" printf "Neither Homebrew nor Macports is installed. Can't get dependency paths\n"
exit 1 exit 1

View File

@@ -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.

View File

@@ -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;

View File

@@ -19,9 +19,6 @@
/* Define if your compiler has standard C++ library support. */ /* Define if your compiler has standard C++ library support. */
#cmakedefine HAVE_CXX_STDLIB ${HAVE_CXX_STDLIB} #cmakedefine HAVE_CXX_STDLIB ${HAVE_CXX_STDLIB}
/* Define if the <X11/extensions/dpms.h> header file declares function prototypes. */
#cmakedefine HAVE_DPMS_PROTOTYPES ${HAVE_DPMS_PROTOTYPES}
/* Define if you have a working `getpwuid_r` function. */ /* Define if you have a working `getpwuid_r` function. */
#cmakedefine HAVE_GETPWUID_R ${HAVE_GETPWUID_R} #cmakedefine HAVE_GETPWUID_R ${HAVE_GETPWUID_R}
@@ -97,9 +94,6 @@
/* Define to 1 if you have the <unistd.h> header file. */ /* Define to 1 if you have the <unistd.h> header file. */
#cmakedefine HAVE_UNISTD_H ${HAVE_UNISTD_H} #cmakedefine HAVE_UNISTD_H ${HAVE_UNISTD_H}
/* Define to 1 if you have the `vsnprintf` function. */
#cmakedefine HAVE_VSNPRINTF ${HAVE_VSNPRINTF}
/* Define to 1 if you have the <wchar.h> header file. */ /* Define to 1 if you have the <wchar.h> header file. */
#cmakedefine HAVE_WCHAR_H ${HAVE_WCHAR_H} #cmakedefine HAVE_WCHAR_H ${HAVE_WCHAR_H}
@@ -115,9 +109,6 @@
/* Define to 1 if you have the <X11/extensions/XKBstr.h> header file. */ /* Define to 1 if you have the <X11/extensions/XKBstr.h> header file. */
#cmakedefine HAVE_X11_EXTENSIONS_XKBSTR_H ${HAVE_X11_EXTENSIONS_XKBSTR_H} #cmakedefine HAVE_X11_EXTENSIONS_XKBSTR_H ${HAVE_X11_EXTENSIONS_XKBSTR_H}
/* Define to 1 if you have the <X11/extensions/XTest.h> header file. */
#cmakedefine HAVE_X11_EXTENSIONS_XTEST_H ${HAVE_X11_EXTENSIONS_XTEST_H}
/* Define to 1 if you have the <X11/XKBlib.h> header file. */ /* Define to 1 if you have the <X11/XKBlib.h> header file. */
#cmakedefine HAVE_X11_XKBLIB_H ${HAVE_X11_XKBLIB_H} #cmakedefine HAVE_X11_XKBLIB_H ${HAVE_X11_XKBLIB_H}
@@ -160,8 +151,5 @@
/* Define to 1 if your <sys/time.h> declares `struct tm`. */ /* Define to 1 if your <sys/time.h> declares `struct tm`. */
#cmakedefine TM_IN_SYS_TIME ${TM_IN_SYS_TIME} #cmakedefine TM_IN_SYS_TIME ${TM_IN_SYS_TIME}
/* Define to 1 if the X Window System is missing or not being used. */
#cmakedefine X_DISPLAY_MISSING ${X_DISPLAY_MISSING}
/* Define to `unsigned int` if <sys/types.h> does not define. */ /* Define to `unsigned int` if <sys/types.h> does not define. */
#cmakedefine size_t ${size_t} #cmakedefine size_t ${size_t}

View File

@@ -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

View File

@@ -1,65 +0,0 @@
#
# Barrier OpenSSL configuration file.
# Used for generation of certificate requests.
#
dir = .
[ca]
default_ca = CA_default
[CA_default]
serial = $dir/serial
database = $dir/certindex.txt
new_certs_dir = $dir/certs
certificate = $dir/cacert.pem
private_key = $dir/private/cakey.pem
default_days = 365
default_md = md5
preserve = no
email_in_dn = no
nameopt = default_ca
certopt = default_ca
policy = policy_match
[policy_match]
countryName = match
stateOrProvinceName = match
organizationName = match
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
[req]
default_bits = 2048 # Size of keys
default_keyfile = key.pem # name of generated keys
default_md = md5 # message digest algorithm
string_mask = nombstr # permitted characters
distinguished_name = req_distinguished_name
req_extensions = v3_req
[req_distinguished_name]
0.organizationName = Organization Name (company)
organizationalUnitName = Organizational Unit Name (department, division)
emailAddress = Email Address
emailAddress_max = 40
localityName = Locality Name (city, district)
stateOrProvinceName = State or Province Name (full name)
countryName = Country Name (2 letter code)
countryName_min = 2
countryName_max = 2
commonName = Common Name (hostname, IP, or your name)
commonName_max = 64
0.organizationName_default = My Company
localityName_default = My Town
stateOrProvinceName_default = State or Providence
countryName_default = US
[v3_ca]
basicConstraints = CA:TRUE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always
[v3_req]
basicConstraints = CA:FALSE
subjectKeyIdentifier = hash

View File

@@ -1,7 +1,7 @@
name: barrier name: barrier
base: core18 base: core18
version: master version: master
version-script: git describe --tags --long | sed "s/^v//" version-script: git describe --tags | sed "s/^v//"
adopt-info: appstream-flathub adopt-info: appstream-flathub
grade: stable # must be 'stable' to release into candidate/stable channels grade: stable # must be 'stable' to release into candidate/stable channels
confinement: strict # use 'strict' once you have the right plugs and slots confinement: strict # use 'strict' once you have the right plugs and slots

View File

@@ -1,11 +1,11 @@
# 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) 2011 Nick Bolton # Copyright (C) 2011 Nick Bolton
# #
# This package is free software; you can redistribute it and/or # This package is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# found in the file LICENSE that should have accompanied this file. # found in the file LICENSE that should have accompanied this file.
# #
# This package is distributed in the hope that it will be useful, # This package is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@@ -19,7 +19,13 @@ include_directories (${CMAKE_CURRENT_BINARY_DIR}/lib)
add_subdirectory(lib) add_subdirectory(lib)
add_subdirectory(cmd) add_subdirectory(cmd)
add_subdirectory(test)
include(../cmake/gtest.cmake)
if (BARRIER_BUILD_TESTS)
add_subdirectory(test/integtests)
add_subdirectory(test/unittests)
endif()
if (BARRIER_BUILD_GUI) if (BARRIER_BUILD_GUI)
add_subdirectory(gui) add_subdirectory(gui)

View File

@@ -1,11 +1,11 @@
# 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) 2011 Nick Bolton # Copyright (C) 2011 Nick Bolton
# #
# This package is free software; you can redistribute it and/or # This package is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# found in the file LICENSE that should have accompanied this file. # found in the file LICENSE that should have accompanied this file.
# #
# This package is distributed in the hope that it will be useful, # This package is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@@ -18,6 +18,5 @@ add_subdirectory(barrierc)
add_subdirectory(barriers) add_subdirectory(barriers)
if (WIN32) if (WIN32)
add_subdirectory(barrierd) add_subdirectory(barrierd)
endif() endif()

View File

@@ -1,11 +1,11 @@
# 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) 2009 Nick Bolton # Copyright (C) 2009 Nick Bolton
# #
# This package is free software; you can redistribute it and/or # This package is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# found in the file LICENSE that should have accompanied this file. # found in the file LICENSE that should have accompanied this file.
# #
# This package is distributed in the hope that it will be useful, # This package is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@@ -22,15 +22,8 @@ if (WIN32)
file(GLOB arch_headers "MSWindows*.h") file(GLOB arch_headers "MSWindows*.h")
file(GLOB arch_sources "MSWindows*.cpp") file(GLOB arch_sources "MSWindows*.cpp")
list(APPEND sources list(APPEND sources
resource.h
barrierc.ico
barrierc.rc barrierc.rc
tb_error.ico barrierc.exe.manifest)
tb_idle.ico
tb_run.ico
tb_wait.ico
barrierc.exe.manifest
)
elseif (APPLE) elseif (APPLE)
file(GLOB arch_headers "OSX*.h") file(GLOB arch_headers "OSX*.h")
file(GLOB arch_sources "OSX*.cpp") file(GLOB arch_sources "OSX*.cpp")
@@ -55,4 +48,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()

View File

@@ -2,11 +2,11 @@
* 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) 2003 Chris Schoeneman * Copyright (C) 2003 Chris Schoeneman
* *
* This package is free software; you can redistribute it and/or * This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file. * found in the file LICENSE that should have accompanied this file.
* *
* This package is distributed in the hope that it will be useful, * This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@@ -2,11 +2,11 @@
* 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) 2003 Chris Schoeneman * Copyright (C) 2003 Chris Schoeneman
* *
* This package is free software; you can redistribute it and/or * This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file. * found in the file LICENSE that should have accompanied this file.
* *
* This package is distributed in the hope that it will be useful, * This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@@ -2,11 +2,11 @@
* 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) 2004 Chris Schoeneman * Copyright (C) 2004 Chris Schoeneman
* *
* This package is free software; you can redistribute it and/or * This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file. * found in the file LICENSE that should have accompanied this file.
* *
* This package is distributed in the hope that it will be useful, * This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@@ -66,4 +66,3 @@ createTaskBarReceiver(const BufferedLogOutputter* logBuffer, IEventQueue* events
{ {
return new OSXClientTaskBarReceiver(logBuffer, events); return new OSXClientTaskBarReceiver(logBuffer, events);
} }

View File

@@ -2,11 +2,11 @@
* 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) 2004 Chris Schoeneman * Copyright (C) 2004 Chris Schoeneman
* *
* This package is free software; you can redistribute it and/or * This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file. * found in the file LICENSE that should have accompanied this file.
* *
* This package is distributed in the hope that it will be useful, * This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@@ -2,11 +2,11 @@
* 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) 2003 Chris Schoeneman * Copyright (C) 2003 Chris Schoeneman
* *
* This package is free software; you can redistribute it and/or * This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file. * found in the file LICENSE that should have accompanied this file.
* *
* This package is distributed in the hope that it will be useful, * This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@@ -2,11 +2,11 @@
* 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) 2003 Chris Schoeneman * Copyright (C) 2003 Chris Schoeneman
* *
* This package is free software; you can redistribute it and/or * This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file. * found in the file LICENSE that should have accompanied this file.
* *
* This package is distributed in the hope that it will be useful, * This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@@ -2,11 +2,11 @@
* 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) 2002 Chris Schoeneman * Copyright (C) 2002 Chris Schoeneman
* *
* This package is free software; you can redistribute it and/or * This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file. * found in the file LICENSE that should have accompanied this file.
* *
* This package is distributed in the hope that it will be useful, * This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@@ -32,13 +32,13 @@
#endif #endif
int int
main(int argc, char** argv) main(int argc, char** argv)
{ {
#if SYSAPI_WIN32 #if SYSAPI_WIN32
// record window instance for tray icon, etc // record window instance for tray icon, etc
ArchMiscWindows::setInstanceWin32(GetModuleHandle(NULL)); ArchMiscWindows::setInstanceWin32(GetModuleHandle(NULL));
#endif #endif
Arch arch; Arch arch;
arch.init(); arch.init();

View File

@@ -1,2 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"><security><requestedPrivileges><requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel></requestedPrivileges></security></trustInfo><application xmlns="urn:schemas-microsoft-com:asm.v3"><windowsSettings><dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitor</dpiAwareness><dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware></windowsSettings></application></assembly> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitor</dpiAwareness>
</windowsSettings>
</application>
</assembly>

View File

@@ -1,4 +1,4 @@
//Microsoft Developer Studio generated resource script. // Microsoft Visual C++ generated resource script.
// //
#include "resource.h" #include "resource.h"
@@ -8,9 +8,6 @@
// Generated from the TEXTINCLUDE 2 resource. // Generated from the TEXTINCLUDE 2 resource.
// //
#include <winresrc.h> #include <winresrc.h>
#if !defined(IDC_STATIC)
#define IDC_STATIC (-1)
#endif
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS #undef APSTUDIO_READONLY_SYMBOLS
@@ -19,10 +16,8 @@
// English (U.S.) resources // English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252) #pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@@ -30,18 +25,18 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// TEXTINCLUDE // TEXTINCLUDE
// //
1 TEXTINCLUDE DISCARDABLE 1 TEXTINCLUDE
BEGIN BEGIN
"resource.h\0" "resource.h\0"
END END
2 TEXTINCLUDE DISCARDABLE 2 TEXTINCLUDE
BEGIN BEGIN
"#include <winresrc.h>\r\n" "#include <winresrc.h>\r\n"
"\0" "\0"
END END
3 TEXTINCLUDE DISCARDABLE 3 TEXTINCLUDE
BEGIN BEGIN
"\r\n" "\r\n"
"\0" "\0"
@@ -50,6 +45,46 @@ END
#endif // APSTUDIO_INVOKED #endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER
PRODUCTVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_APP
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "Debauchee Open Source Group"
VALUE "CompanyWeb", "https://github.com/debauchee/barrier/"
VALUE "FileVersion", BARRIER_VERSION
VALUE "LegalCopyright", "Copyright (C) 2018 Debauchee Open Source Group\nCopyright (C) 2012-2016 Symless Ltd.\nCopyright (C) 2008-2014 Nick Bolton\nCopyright (C) 2002-2014 Chris Schoeneman"
VALUE "ProductName", "Barrier"
VALUE "ProductVersion", BARRIER_VERSION
VALUE "OriginalFilename", "barrierc.exe"
VALUE "FileDescription", "Open source KVM software client"
VALUE "InternalName", "barrierc"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// Icon // Icon
@@ -57,18 +92,47 @@ END
// Icon with lowest ID value placed first to ensure application icon // Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems. // remains consistent on all systems.
IDI_BARRIER ICON DISCARDABLE "barrierc.ico" IDI_BARRIER ICON "barrierc.ico"
IDI_TASKBAR_NOT_RUNNING ICON DISCARDABLE "tb_idle.ico" IDI_TASKBAR_NOT_RUNNING ICON "tb_idle.ico"
IDI_TASKBAR_NOT_WORKING ICON DISCARDABLE "tb_error.ico" IDI_TASKBAR_NOT_WORKING ICON "tb_error.ico"
IDI_TASKBAR_NOT_CONNECTED ICON DISCARDABLE "tb_wait.ico" IDI_TASKBAR_NOT_CONNECTED ICON "tb_wait.ico"
IDI_TASKBAR_CONNECTED ICON DISCARDABLE "tb_run.ico" IDI_TASKBAR_CONNECTED ICON "tb_run.ico"
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDR_TASKBAR MENU
BEGIN
POPUP "Barrier"
BEGIN
MENUITEM "Show Status", IDC_TASKBAR_STATUS
MENUITEM "Show Log", IDC_TASKBAR_SHOW_LOG
MENUITEM "Copy Log To Clipboard", IDC_TASKBAR_LOG
POPUP "Set Log Level"
BEGIN
MENUITEM "Error", IDC_TASKBAR_LOG_LEVEL_ERROR
MENUITEM "Warning", IDC_TASKBAR_LOG_LEVEL_WARNING
MENUITEM "Note", IDC_TASKBAR_LOG_LEVEL_NOTE
MENUITEM "Info", IDC_TASKBAR_LOG_LEVEL_INFO
MENUITEM "Debug", IDC_TASKBAR_LOG_LEVEL_DEBUG
MENUITEM "Debug1", IDC_TASKBAR_LOG_LEVEL_DEBUG1
MENUITEM "Debug2", IDC_TASKBAR_LOG_LEVEL_DEBUG2
END
MENUITEM SEPARATOR
MENUITEM "Quit", IDC_TASKBAR_QUIT
END
END
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// Dialog // Dialog
// //
IDD_TASKBAR_STATUS DIALOG DISCARDABLE 0, 0, 145, 18 IDD_TASKBAR_STATUS DIALOG 0, 0, 145, 18
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
FONT 8, "MS Sans Serif" FONT 8, "MS Sans Serif"
BEGIN BEGIN
@@ -77,47 +141,12 @@ BEGIN
END END
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDR_TASKBAR MENU DISCARDABLE
BEGIN
POPUP "Barrier"
BEGIN
MENUITEM "Show Status", IDC_TASKBAR_STATUS
MENUITEM "Show Log", IDC_TASKBAR_SHOW_LOG
MENUITEM "Copy Log To Clipboard", IDC_TASKBAR_LOG
POPUP "Set Log Level"
BEGIN
MENUITEM "Error", IDC_TASKBAR_LOG_LEVEL_ERROR
MENUITEM "Warning", IDC_TASKBAR_LOG_LEVEL_WARNING
MENUITEM "Note", IDC_TASKBAR_LOG_LEVEL_NOTE
MENUITEM "Info", IDC_TASKBAR_LOG_LEVEL_INFO
MENUITEM "Debug", IDC_TASKBAR_LOG_LEVEL_DEBUG
MENUITEM "Debug1", IDC_TASKBAR_LOG_LEVEL_DEBUG1
MENUITEM "Debug2", IDC_TASKBAR_LOG_LEVEL_DEBUG2
END
MENUITEM SEPARATOR
MENUITEM "Quit", IDC_TASKBAR_QUIT
END
END
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// String Table // String Table
// //
STRINGTABLE DISCARDABLE STRINGTABLE
BEGIN BEGIN
IDS_FAILED "Barrier is about to quit with errors or warnings. Please check the log then click OK." IDS_FAILED "Barrier is about to quit with errors or warnings. Please check the log then click OK."
IDS_INIT_FAILED "Barrier failed to initialize: %{1}" IDS_INIT_FAILED "Barrier failed to initialize: %{1}"

View File

@@ -26,7 +26,7 @@
#define IDC_TASKBAR_LOG_LEVEL_DEBUG2 40015 #define IDC_TASKBAR_LOG_LEVEL_DEBUG2 40015
// Next default values for new objects // Next default values for new objects
// //
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 109 #define _APS_NEXT_RESOURCE_VALUE 109

View File

@@ -16,6 +16,9 @@
file(GLOB headers "*.h") file(GLOB headers "*.h")
file(GLOB sources "*.cpp") file(GLOB sources "*.cpp")
if (WIN32)
list(APPEND sources barrierd.rc)
endif()
if (WIN32) if (WIN32)
add_executable (barrierd WIN32 ${sources}) add_executable (barrierd WIN32 ${sources})

View File

@@ -2,11 +2,11 @@
* 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) 2012 Nick Bolton * Copyright (C) 2012 Nick Bolton
* *
* This package is free software; you can redistribute it and/or * This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file. * found in the file LICENSE that should have accompanied this file.
* *
* This package is distributed in the hope that it will be useful, * This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

View File

@@ -0,0 +1,111 @@
// Microsoft Visual C++ generated resource script.
//
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include <winresrc.h>
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include <winresrc.h>\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER
PRODUCTVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_APP
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "Debauchee Open Source Group"
VALUE "CompanyWeb", "https://github.com/debauchee/barrier/"
VALUE "FileVersion", BARRIER_VERSION
VALUE "LegalCopyright", "Copyright (C) 2018 Debauchee Open Source Group\nCopyright (C) 2012-2016 Symless Ltd.\nCopyright (C) 2008-2014 Nick Bolton\nCopyright (C) 2002-2014 Chris Schoeneman"
VALUE "ProductName", "Barrier"
VALUE "ProductVersion", BARRIER_VERSION
VALUE "OriginalFilename", "barrierd.exe"
VALUE "FileDescription", "Open source KVM software daemon"
VALUE "InternalName", "barrierd"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_BARRIER ICON "barrierd.ico"
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

View File

@@ -1,11 +1,11 @@
# 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) 2009 Nick Bolton # Copyright (C) 2009 Nick Bolton
# #
# This package is free software; you can redistribute it and/or # This package is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# found in the file LICENSE that should have accompanied this file. # found in the file LICENSE that should have accompanied this file.
# #
# This package is distributed in the hope that it will be useful, # This package is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@@ -22,15 +22,8 @@ if (WIN32)
file(GLOB arch_headers "MSWindows*.h") file(GLOB arch_headers "MSWindows*.h")
file(GLOB arch_sources "MSWindows*.cpp") file(GLOB arch_sources "MSWindows*.cpp")
list(APPEND sources list(APPEND sources
resource.h
barriers.ico
barriers.rc barriers.rc
tb_error.ico barriers.exe.manifest)
tb_idle.ico
tb_run.ico
tb_wait.ico
barriers.exe.manifest
)
elseif (APPLE) elseif (APPLE)
file(GLOB arch_headers "OSX*.h") file(GLOB arch_headers "OSX*.h")
file(GLOB arch_sources "OSX*.cpp") file(GLOB arch_sources "OSX*.cpp")
@@ -55,5 +48,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()

View File

@@ -2,11 +2,11 @@
* 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) 2003 Chris Schoeneman * Copyright (C) 2003 Chris Schoeneman
* *
* This package is free software; you can redistribute it and/or * This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file. * found in the file LICENSE that should have accompanied this file.
* *
* This package is distributed in the hope that it will be useful, * This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@@ -2,11 +2,11 @@
* 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) 2003 Chris Schoeneman * Copyright (C) 2003 Chris Schoeneman
* *
* This package is free software; you can redistribute it and/or * This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file. * found in the file LICENSE that should have accompanied this file.
* *
* This package is distributed in the hope that it will be useful, * This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@@ -2,11 +2,11 @@
* 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) 2004 Chris Schoeneman * Copyright (C) 2004 Chris Schoeneman
* *
* This package is free software; you can redistribute it and/or * This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file. * found in the file LICENSE that should have accompanied this file.
* *
* This package is distributed in the hope that it will be useful, * This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@@ -2,11 +2,11 @@
* 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) 2004 Chris Schoeneman * Copyright (C) 2004 Chris Schoeneman
* *
* This package is free software; you can redistribute it and/or * This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file. * found in the file LICENSE that should have accompanied this file.
* *
* This package is distributed in the hope that it will be useful, * This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@@ -2,11 +2,11 @@
* 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) 2003 Chris Schoeneman * Copyright (C) 2003 Chris Schoeneman
* *
* This package is free software; you can redistribute it and/or * This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file. * found in the file LICENSE that should have accompanied this file.
* *
* This package is distributed in the hope that it will be useful, * This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@@ -2,11 +2,11 @@
* 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) 2003 Chris Schoeneman * Copyright (C) 2003 Chris Schoeneman
* *
* This package is free software; you can redistribute it and/or * This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file. * found in the file LICENSE that should have accompanied this file.
* *
* This package is distributed in the hope that it will be useful, * This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@@ -2,11 +2,11 @@
* 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) 2002 Chris Schoeneman * Copyright (C) 2002 Chris Schoeneman
* *
* This package is free software; you can redistribute it and/or * This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file. * found in the file LICENSE that should have accompanied this file.
* *
* This package is distributed in the hope that it will be useful, * This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@@ -32,7 +32,7 @@
#endif #endif
int int
main(int argc, char** argv) main(int argc, char** argv)
{ {
#if SYSAPI_WIN32 #if SYSAPI_WIN32
// record window instance for tray icon, etc // record window instance for tray icon, etc
@@ -45,7 +45,7 @@ main(int argc, char** argv)
*/ */
setenv("OS_ACTIVITY_DT_MODE", "NO", true); setenv("OS_ACTIVITY_DT_MODE", "NO", true);
#endif #endif
Arch arch; Arch arch;
arch.init(); arch.init();

View File

@@ -1,2 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"><security><requestedPrivileges><requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel></requestedPrivileges></security></trustInfo><application xmlns="urn:schemas-microsoft-com:asm.v3"><windowsSettings><dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware></windowsSettings></application></assembly> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitor</dpiAwareness>
</windowsSettings>
</application>
</assembly>

View File

@@ -16,10 +16,8 @@
// English (U.S.) resources // English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252) #pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@@ -27,18 +25,18 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// TEXTINCLUDE // TEXTINCLUDE
// //
1 TEXTINCLUDE 1 TEXTINCLUDE
BEGIN BEGIN
"resource.h\0" "resource.h\0"
END END
2 TEXTINCLUDE 2 TEXTINCLUDE
BEGIN BEGIN
"#include <winresrc.h>\r\n" "#include <winresrc.h>\r\n"
"\0" "\0"
END END
3 TEXTINCLUDE 3 TEXTINCLUDE
BEGIN BEGIN
"\r\n" "\r\n"
"\0" "\0"
@@ -47,6 +45,46 @@ END
#endif // APSTUDIO_INVOKED #endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER
PRODUCTVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_APP
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "Debauchee Open Source Group"
VALUE "CompanyWeb", "https://github.com/debauchee/barrier/"
VALUE "FileVersion", BARRIER_VERSION
VALUE "LegalCopyright", "Copyright (C) 2018 Debauchee Open Source Group\nCopyright (C) 2012-2016 Symless Ltd.\nCopyright (C) 2008-2014 Nick Bolton\nCopyright (C) 2002-2014 Chris Schoeneman"
VALUE "ProductName", "Barrier"
VALUE "ProductVersion", BARRIER_VERSION
VALUE "OriginalFilename", "barriers.exe"
VALUE "FileDescription", "Open source KVM software server"
VALUE "InternalName", "barriers"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// Icon // Icon
@@ -54,18 +92,19 @@ END
// Icon with lowest ID value placed first to ensure application icon // Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems. // remains consistent on all systems.
IDI_BARRIER ICON "barriers.ico" IDI_BARRIER ICON "barriers.ico"
IDI_TASKBAR_NOT_RUNNING ICON "tb_idle.ico" IDI_TASKBAR_NOT_RUNNING ICON "tb_idle.ico"
IDI_TASKBAR_NOT_WORKING ICON "tb_error.ico" IDI_TASKBAR_NOT_WORKING ICON "tb_error.ico"
IDI_TASKBAR_NOT_CONNECTED ICON "tb_wait.ico" IDI_TASKBAR_NOT_CONNECTED ICON "tb_wait.ico"
IDI_TASKBAR_CONNECTED ICON "tb_run.ico" IDI_TASKBAR_CONNECTED ICON "tb_run.ico"
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// Menu // Menu
// //
IDR_TASKBAR MENU IDR_TASKBAR MENU
BEGIN BEGIN
POPUP "Barrier" POPUP "Barrier"
BEGIN BEGIN
@@ -110,7 +149,7 @@ END
// String Table // String Table
// //
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_FAILED "Barrier is about to quit with errors or warnings. Please check the log then click OK." IDS_FAILED "Barrier is about to quit with errors or warnings. Please check the log then click OK."
IDS_INIT_FAILED "Barrier failed to initialize: %{1}" IDS_INIT_FAILED "Barrier failed to initialize: %{1}"

View File

@@ -31,7 +31,7 @@
#define ID_BARRIER_RESETSERVER 40017 #define ID_BARRIER_RESETSERVER 40017
// Next default values for new objects // Next default values for new objects
// //
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 109 #define _APS_NEXT_RESOURCE_VALUE 109

View File

@@ -6,15 +6,124 @@ set (CMAKE_AUTORCC ON)
set (CMAKE_AUTOUIC ON) set (CMAKE_AUTOUIC ON)
set (CMAKE_INCLUDE_CURRENT_DIR ON) set (CMAKE_INCLUDE_CURRENT_DIR ON)
file (GLOB GUI_SOURCE_FILES src/*.cpp src/*.h) # files that are used both in tests and the app
file (GLOB GUI_UI_FILES src/*.ui) set(GUI_COMMON_SOURCE_FILES
src/Action.cpp
src/Hotkey.cpp
src/KeySequence.cpp
)
set(GUI_COMMON_HEADER_FILES
src/Action.h
src/Hotkey.h
src/KeySequence.h
)
set(GUI_SOURCE_FILES
src/AboutDialog.cpp
src/ActionDialog.cpp
src/AddClientDialog.cpp
src/AppConfig.cpp
src/BarrierLocale.cpp
src/BaseConfig.cpp
src/CommandProcess.cpp
src/DataDownloader.cpp
src/DisplayIsValid.cpp
src/FingerprintAcceptDialog.cpp
src/HotkeyDialog.cpp
src/IpcClient.cpp
src/Ipc.cpp
src/IpcReader.cpp
src/KeySequenceWidget.cpp
src/LogWindow.cpp
src/main.cpp
src/MainWindow.cpp
src/NewScreenWidget.cpp
src/QBarrierApplication.cpp
src/QUtility.cpp
src/Screen.cpp
src/ScreenSettingsDialog.cpp
src/ScreenSetupModel.cpp
src/ScreenSetupView.cpp
src/ServerConfig.cpp
src/ServerConfigDialog.cpp
src/SettingsDialog.cpp
src/SetupWizard.cpp
src/SslCertificate.cpp
src/TrashScreenWidget.cpp
src/VersionChecker.cpp
src/ZeroconfBrowser.cpp
src/ZeroconfRegister.cpp
src/ZeroconfServer.cpp
src/ZeroconfService.cpp
src/ZeroconfThread.cpp
)
set(GUI_HEADER_FILES
src/AboutDialog.h
src/ActionDialog.h
src/AddClientDialog.h
src/AppConfig.h
src/BarrierLocale.h
src/BaseConfig.h
src/CommandProcess.h
src/DataDownloader.h
src/DisplayIsValid.h
src/ElevateMode.h
src/HotkeyDialog.h
src/IpcClient.h
src/Ipc.h
src/IpcReader.h
src/KeySequenceWidget.h
src/LogWindow.h
src/MainWindow.h
src/NewScreenWidget.h
src/ProcessorArch.h
src/QBarrierApplication.h
src/QUtility.h
src/Screen.h
src/ScreenSettingsDialog.h
src/ScreenSetupModel.h
src/ScreenSetupView.h
src/ServerConfigDialog.h
src/ServerConfig.h
src/SettingsDialog.h
src/SetupWizard.h
src/ShutdownCh.h
src/SslCertificate.h
src/TrashScreenWidget.h
src/VersionChecker.h
src/ZeroconfBrowser.h
src/ZeroconfRecord.h
src/ZeroconfRegister.h
src/ZeroconfServer.h
src/ZeroconfService.h
src/ZeroconfThread.h
)
set(GUI_UI_FILES
src/AboutDialogBase.ui
src/ActionDialogBase.ui
src/AddClientDialogBase.ui
src/FingerprintAcceptDialog.ui
src/HotkeyDialogBase.ui
src/LogWindowBase.ui
src/MainWindowBase.ui
src/ScreenSettingsDialogBase.ui
src/ServerConfigDialogBase.ui
src/SettingsDialogBase.ui
src/SetupWizardBase.ui
)
if (WIN32) if (WIN32)
set (GUI_RC_FILES res/win/Barrier.rc) set (GUI_RC_FILES res/win/Barrier.rc)
endif() endif()
add_executable (barrier WIN32 add_executable (barrier WIN32
${GUI_COMMON_SOURCE_FILES}
${GUI_COMMON_HEADER_FILES}
${GUI_SOURCE_FILES} ${GUI_SOURCE_FILES}
${GUI_HEADER_FILES}
${GUI_UI_FILES} ${GUI_UI_FILES}
${GUI_RC_FILES} ${GUI_RC_FILES}
res/Barrier.qrc res/Barrier.qrc
@@ -22,13 +131,13 @@ add_executable (barrier WIN32
include_directories (./src) include_directories (./src)
target_link_libraries (barrier Qt5::Core Qt5::Widgets Qt5::Network) target_link_libraries(barrier net base io Qt5::Core Qt5::Widgets Qt5::Network ${OPENSSL_LIBS})
target_compile_definitions (barrier PRIVATE -DBARRIER_VERSION_STAGE="${BARRIER_VERSION_STAGE}") target_compile_definitions (barrier PRIVATE -DBARRIER_VERSION_STAGE="${BARRIER_VERSION_STAGE}")
target_compile_definitions (barrier PRIVATE -DBARRIER_REVISION="${BARRIER_REVISION}") target_compile_definitions (barrier PRIVATE -DBARRIER_REVISION="${BARRIER_REVISION}")
if (WIN32) if (WIN32)
include_directories ($ENV{BONJOUR_SDK_HOME}/Include) include_directories ($ENV{BONJOUR_SDK_HOME}/Include)
find_library (DNSSD_LIB dnssd.lib find_library (DNSSD_LIB dnssd.lib
HINTS ENV BONJOUR_SDK_HOME HINTS ENV BONJOUR_SDK_HOME
PATH_SUFFIXES "Lib/x64") PATH_SUFFIXES "Lib/x64")
set_target_properties (barrier PROPERTIES LINK_FLAGS "/NODEFAULTLIB:LIBCMT") set_target_properties (barrier PROPERTIES LINK_FLAGS "/NODEFAULTLIB:LIBCMT")
@@ -51,3 +160,22 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "BSD") elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "BSD")
install (TARGETS barrier DESTINATION bin) install (TARGETS barrier DESTINATION bin)
endif() endif()
if (BARRIER_BUILD_TESTS)
set(GUI_TEST_SOURCE_FILES
test/KeySequenceTests.cpp
test/HotkeyTests.cpp
test/main.cpp
)
add_executable(guiunittests
${GUI_TEST_SOURCE_FILES}
${GUI_COMMON_SOURCE_FILES}
${GUI_COMMON_HEADER_FILES}
)
add_test(guiunittests guiunittests)
target_include_directories(guiunittests PUBLIC ../../ext)
target_link_libraries(guiunittests gtest gmock Qt5::Core Qt5::Widgets Qt5::Network ${libs})
endif()

View File

@@ -1,162 +0,0 @@
QT += widgets \
network
TEMPLATE = app
TARGET = barrier
DEFINES += VERSION_STAGE=\\\"$$QMAKE_VERSION_STAGE\\\"
DEFINES += VERSION_REVISION=\\\"$$QMAKE_VERSION_REVISION\\\"
DEFINES -= UNICODE
DEFINES += _MBCS
DEPENDPATH += . \
res
INCLUDEPATH += . \
src \
../lib/shared/
FORMS += src/MainWindowBase.ui \
src/AboutDialogBase.ui \
src/ServerConfigDialogBase.ui \
src/ScreenSettingsDialogBase.ui \
src/ActionDialogBase.ui \
src/HotkeyDialogBase.ui \
src/SettingsDialogBase.ui \
src/SetupWizardBase.ui \
src/AddClientDialogBase.ui \
src/ActivationDialog.ui \
src/CancelActivationDialog.ui \
src/FailedLoginDialog.ui
SOURCES += src/main.cpp \
src/MainWindow.cpp \
src/AboutDialog.cpp \
src/ServerConfig.cpp \
src/ServerConfigDialog.cpp \
src/ScreenSetupView.cpp \
src/Screen.cpp \
src/ScreenSetupModel.cpp \
src/NewScreenWidget.cpp \
src/TrashScreenWidget.cpp \
src/ScreenSettingsDialog.cpp \
src/BaseConfig.cpp \
src/HotkeyDialog.cpp \
src/ActionDialog.cpp \
src/Hotkey.cpp \
src/Action.cpp \
src/KeySequence.cpp \
src/KeySequenceWidget.cpp \
src/SettingsDialog.cpp \
src/AppConfig.cpp \
src/QBarrierApplication.cpp \
src/VersionChecker.cpp \
src/SetupWizard.cpp \
src/IpcClient.cpp \
src/IpcReader.cpp \
src/Ipc.cpp \
src/BarrierLocale.cpp \
src/QUtility.cpp \
src/ZeroconfServer.cpp \
src/ZeroconfThread.cpp \
src/ZeroconfRegister.cpp \
src/ZeroconfBrowser.cpp \
src/ZeroconfService.cpp \
src/DataDownloader.cpp \
src/AddClientDialog.cpp \
src/CommandProcess.cpp \
src/CoreInterface.cpp \
src/Fingerprint.cpp \
src/SslCertificate.cpp \
src/WebClient.cpp \
src/ActivationNotifier.cpp \
src/ActivationDialog.cpp \
src/CancelActivationDialog.cpp \
src/FailedLoginDialog.cpp \
../lib/shared/SerialKey.cpp \
src/LicenseManager.cpp
HEADERS += src/MainWindow.h \
src/AboutDialog.h \
src/ServerConfig.h \
src/ServerConfigDialog.h \
src/ScreenSetupView.h \
src/Screen.h \
src/ScreenSetupModel.h \
src/NewScreenWidget.h \
src/TrashScreenWidget.h \
src/ScreenSettingsDialog.h \
src/BaseConfig.h \
src/HotkeyDialog.h \
src/ActionDialog.h \
src/Hotkey.h \
src/Action.h \
src/KeySequence.h \
src/KeySequenceWidget.h \
src/SettingsDialog.h \
src/AppConfig.h \
src/QBarrierApplication.h \
src/VersionChecker.h \
src/SetupWizard.h \
src/IpcClient.h \
src/IpcReader.h \
src/Ipc.h \
src/BarrierLocale.h \
src/QUtility.h \
src/ZeroconfServer.h \
src/ZeroconfThread.h \
src/ZeroconfRegister.h \
src/ZeroconfRecord.h \
src/ZeroconfBrowser.h \
src/ZeroconfService.h \
src/DataDownloader.h \
src/AddClientDialog.h \
src/CommandProcess.h \
src/ProcessorArch.h \
src/CoreInterface.h \
src/Fingerprint.h \
src/SslCertificate.h \
src/WebClient.h \
src/ActivationNotifier.h \
src/ElevateMode.h \
src/ActivationDialog.h \
src/CancelActivationDialog.h \
src/FailedLoginDialog.h \
../lib/shared/EditionType.h \
../lib/shared/SerialKey.h \
src/LicenseManager.h
RESOURCES += res/Barrier.qrc
RC_FILE = res/win/Barrier.rc
macx {
QMAKE_INFO_PLIST = res/mac/Info.plist
TARGET = Barrier
QBARRIER_ICON.files = res/mac/Barrier.icns
QBARRIER_ICON.path = Contents/Resources
QMAKE_BUNDLE_DATA += QBARRIER_ICON
LIBS += $$MACX_LIBS
}
unix:!macx:LIBS += -ldns_sd
debug {
OBJECTS_DIR = tmp/debug
MOC_DIR = tmp/debug
RCC_DIR = tmp/debug
}
release {
OBJECTS_DIR = tmp/release
MOC_DIR = tmp/release
RCC_DIR = tmp/release
}
win32-msvc2015 {
LIBS += -lAdvapi32
QMAKE_LFLAGS += /NODEFAULTLIB:LIBCMT
}
win32-msvc* {
contains(QMAKE_HOST.arch, x86):{
QMAKE_LFLAGS *= /MACHINE:X86
LIBS += -L"$$(BONJOUR_SDK_HOME)/Lib/Win32" -ldnssd
}
contains(QMAKE_HOST.arch, x86_64):{
QMAKE_LFLAGS *= /MACHINE:X64
LIBS += -L"$$(BONJOUR_SDK_HOME)/Lib/x64" -ldnssd
}
}
win32 {
Debug:DESTDIR = ../../bin/Debug
Release:DESTDIR = ../../bin/Release
INCLUDEPATH += "$$(BONJOUR_SDK_HOME)/Include"
}
else:DESTDIR = ../../bin

View File

@@ -650,12 +650,17 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="src/MainWindow.cpp" line="60"/> <location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc);;All files (*.*)</source> <source>All files (*.*)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="src/MainWindow.cpp" line="67"/> <location filename="src/MainWindow.cpp" line="67"/>
<source>Barrier Configurations (*.conf);;All files (*.*)</source> <source>Barrier Configurations (*.conf)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>

View File

@@ -1 +1 @@
lupdate -noobsolete gui.pro -ts gui.ts lupdate -noobsolete src/* -ts gui.ts

4
src/gui/langbuild.cmd Normal file → Executable file
View File

@@ -1,2 +1,2 @@
cd res/lang cd res/lang
lrelease *.ts lrelease *.ts

View File

@@ -1,46 +1,46 @@
<?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" />
<language ietfCode="da" name="Dansk" /> <language ietfCode="da" name="Dansk" />
<language ietfCode="de" name="Deutsch" /> <language ietfCode="de" name="Deutsch" />
<language ietfCode="es" name="Español" /> <language ietfCode="es" name="Español" />
<language ietfCode="fr" name="Français" /> <language ietfCode="fr" name="Français" />
<language ietfCode="hr-HR" name="Hrvatski" /> <language ietfCode="hr-HR" name="Hrvatski" />
<language ietfCode="id" name="Indonesia" /> <language ietfCode="id" name="Indonesia" />
<language ietfCode="it" name="Italiano" /> <language ietfCode="it" name="Italiano" />
<language ietfCode="lv" name="Latvijas" /> <language ietfCode="lv" name="Latvijas" />
<language ietfCode="lt" name="Lietuvos" /> <language ietfCode="lt" name="Lietuvos" />
<language ietfCode="hu-HU" name="Magyar" /> <language ietfCode="hu-HU" name="Magyar" />
<language ietfCode="nl-NL" name="Nederlands" /> <language ietfCode="nl-NL" name="Nederlands" />
<language ietfCode="no" name="Norsk" /> <language ietfCode="no" name="Norsk" />
<language ietfCode="pl-PL" name="Polski" /> <language ietfCode="pl-PL" name="Polski" />
<language ietfCode="pt-PT" name="Português" /> <language ietfCode="pt-PT" name="Português" />
<language ietfCode="pt-BR" name="Português (Brasil)" /> <language ietfCode="pt-BR" name="Português (Brasil)" />
<language ietfCode="ro" name="Română" /> <language ietfCode="ro" name="Română" />
<language ietfCode="sq-AL" name="Shqiptar" /> <language ietfCode="sq-AL" name="Shqiptar" />
<language ietfCode="sl-SI" name="Slovenščina" /> <language ietfCode="sl-SI" name="Slovenščina" />
<language ietfCode="sk-SK" name="Slovenčina" /> <language ietfCode="sk-SK" name="Slovenčina" />
<language ietfCode="fi" name="Suomi" /> <language ietfCode="fi" name="Suomi" />
<language ietfCode="sv" name="Svenska" /> <language ietfCode="sv" name="Svenska" />
<language ietfCode="vi" name="Tiếng Việt" /> <language ietfCode="vi" name="Tiếng Việt" />
<language ietfCode="tr-TR" name="Türkçe" /> <language ietfCode="tr-TR" name="Türkçe" />
<language ietfCode="bg-BG" name="български" /> <language ietfCode="bg-BG" name="български" />
<language ietfCode="ru" name="Русский" /> <language ietfCode="ru" name="Русский" />
<language ietfCode="sr" name="српски" /> <language ietfCode="sr" name="српски" />
<language ietfCode="uk" name="Український" /> <language ietfCode="uk" name="Український" />
<language ietfCode="grk" name="Ελληνικά" /> <language ietfCode="grk" name="Ελληνικά" />
<language ietfCode="he" name="עברית" /> <language ietfCode="he" name="עברית" />
<language ietfCode="ar" name="العربية" /> <language ietfCode="ar" name="العربية" />
<language ietfCode="pes-IR" name="فارسی" /> <language ietfCode="pes-IR" name="فارسی" />
<language ietfCode="ur" name="اردو" /> <language ietfCode="ur" name="اردو" />
<language ietfCode="mr" name="मराठी" /> <language ietfCode="mr" name="मराठी" />
<language ietfCode="si" name="Sඉන්හල" /> <language ietfCode="si" name="Sඉන්හල" />
<language ietfCode="th-TH" name="ภาษาไทย" /> <language ietfCode="th-TH" name="ภาษาไทย" />
<language ietfCode="zh-CN" name="中文 (简体)" /> <language ietfCode="zh-CN" name="中文 (简体)" />
<language ietfCode="zh-TW" name="中文 (繁體)" /> <language ietfCode="zh-TW" name="中文 (繁體)" />
<language ietfCode="ja-JP" name="日本語" /> <language ietfCode="ja-JP" name="日本語" />
<language ietfCode="ko" name="한국어" /> <language ietfCode="ko" name="한국어" />
</languages> </languages>

View File

@@ -648,12 +648,17 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="src/MainWindow.cpp" line="60"/> <location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc);;All files (*.*)</source> <source>All files (*.*)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="src/MainWindow.cpp" line="67"/> <location filename="src/MainWindow.cpp" line="67"/>
<source>Barrier Configurations (*.conf);;All files (*.*)</source> <source>Barrier Configurations (*.conf)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>

View File

@@ -648,12 +648,17 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="src/MainWindow.cpp" line="60"/> <location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc);;All files (*.*)</source> <source>All files (*.*)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="src/MainWindow.cpp" line="67"/> <location filename="src/MainWindow.cpp" line="67"/>
<source>Barrier Configurations (*.conf);;All files (*.*)</source> <source>Barrier Configurations (*.conf)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>

Binary file not shown.

View File

@@ -648,13 +648,18 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="src/MainWindow.cpp" line="60"/> <location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc);;All files (*.*)</source> <source>All files (*.*)</source>
<translation type="finished">Конфигурации на Синерджи (*.sgc);; Всички файлове (*.*)</translation> <translation type="finished">Всички файлове (*.*)</translation>
</message>
<message>
<location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc)</source>
<translation type="finished">Конфигурации на Синерджи (*.sgc)</translation>
</message> </message>
<message> <message>
<location filename="src/MainWindow.cpp" line="67"/> <location filename="src/MainWindow.cpp" line="67"/>
<source>Barrier Configurations (*.conf);;All files (*.*)</source> <source>Barrier Configurations (*.conf)</source>
<translation type="finished">Конфигурации на Синерджи (*.conf);; Всички файлове (*.*)</translation> <translation type="finished">Конфигурации на Синерджи (*.conf)</translation>
</message> </message>
<message> <message>
<location filename="src/main.cpp" line="119"/> <location filename="src/main.cpp" line="119"/>

Binary file not shown.

View File

@@ -648,13 +648,18 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="src/MainWindow.cpp" line="60"/> <location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc);;All files (*.*)</source> <source>All files (*.*)</source>
<translation type="finished">Configuracions Barrier (*.sgc);;Tots els arxius (*.*)</translation> <translation type="finished">Tots els arxius (*.*)</translation>
</message>
<message>
<location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc)</source>
<translation type="finished">Configuracions Barrier (*.sgc)</translation>
</message> </message>
<message> <message>
<location filename="src/MainWindow.cpp" line="67"/> <location filename="src/MainWindow.cpp" line="67"/>
<source>Barrier Configurations (*.conf);;All files (*.*)</source> <source>Barrier Configurations (*.conf)</source>
<translation type="finished">Configuracions Barrier (*.conf);;Tots els arxius (*.*)</translation> <translation type="finished">Configuracions Barrier (*.conf)</translation>
</message> </message>
<message> <message>
<location filename="src/main.cpp" line="119"/> <location filename="src/main.cpp" line="119"/>
@@ -900,8 +905,8 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<source>Drag new screens to the grid or move existing ones around. <source>Drag new screens to the grid or move existing ones around.
Drag a screen to the trashcan to delete it. Drag a screen to the trashcan to delete it.
Double click on a screen to edit its settings.</source> Double click on a screen to edit its settings.</source>
<translation type="finished">Arrossega noves pantalles a la graella o mou les actuals al voltant. <translation type="finished">Arrossega noves pantalles a la graella o mou les actuals al voltant.
Arrossega una pantalla a la paperera per eliminar-la. Arrossega una pantalla a la paperera per eliminar-la.
Fes doble clic a una pantalla per editar la seva configuració.</translation> Fes doble clic a una pantalla per editar la seva configuració.</translation>
</message> </message>
<message> <message>
@@ -1330,7 +1335,7 @@ p, li { white-space: pre-wrap; }
Server response: Server response:
%1</source> %1</source>
<translation type="finished">Error inici de sessió, hi ha hagut un error. <translation type="finished">Error inici de sessió, hi ha hagut un error.
Resposta del servidor: Resposta del servidor:
%1</translation> %1</translation>
</message> </message>

Binary file not shown.

View File

@@ -648,13 +648,18 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="src/MainWindow.cpp" line="60"/> <location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc);;All files (*.*)</source> <source>All files (*.*)</source>
<translation type="finished">Nastavení Barrier (*.sgc);;Všechny soubory (*.*)</translation> <translation type="finished">Všechny soubory (*.*)</translation>
</message>
<message>
<location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc)</source>
<translation type="finished">Nastavení Barrier (*.sgc)</translation>
</message> </message>
<message> <message>
<location filename="src/MainWindow.cpp" line="67"/> <location filename="src/MainWindow.cpp" line="67"/>
<source>Barrier Configurations (*.conf);;All files (*.*)</source> <source>Barrier Configurations (*.conf)</source>
<translation type="finished">Nastavení Barrier (*.conf);;Všechny soubory (*.*)</translation> <translation type="finished">Nastavení Barrier (*.conf)</translation>
</message> </message>
<message> <message>
<location filename="src/main.cpp" line="119"/> <location filename="src/main.cpp" line="119"/>

Binary file not shown.

View File

@@ -648,13 +648,18 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="src/MainWindow.cpp" line="60"/> <location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc);;All files (*.*)</source> <source>All files (*.*)</source>
<translation type="finished">Cyfluniadau Barrier (*.sgc);;Pob ffeil (*.*)</translation> <translation type="finished">Pob ffeil (*.*)</translation>
</message>
<message>
<location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc)</source>
<translation type="finished">Cyfluniadau Barrier (*.sgc)</translation>
</message> </message>
<message> <message>
<location filename="src/MainWindow.cpp" line="67"/> <location filename="src/MainWindow.cpp" line="67"/>
<source>Barrier Configurations (*.conf);;All files (*.*)</source> <source>Barrier Configurations (*.conf)</source>
<translation type="finished">Cyfluniadau Barrier (*.conf);;Pob ffeil (*.*)</translation> <translation type="finished">Cyfluniadau Barrier (*.conf)</translation>
</message> </message>
<message> <message>
<location filename="src/main.cpp" line="119"/> <location filename="src/main.cpp" line="119"/>

Binary file not shown.

View File

@@ -648,13 +648,18 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="src/MainWindow.cpp" line="60"/> <location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc);;All files (*.*)</source> <source>All files (*.*)</source>
<translation type="finished">Barrier-konfigurationer (*.sgc);;Alle filer (*.*)</translation> <translation type="finished">Alle filer (*.*)</translation>
</message>
<message>
<location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc)</source>
<translation type="finished">Barrier-konfigurationer (*.sgc)</translation>
</message> </message>
<message> <message>
<location filename="src/MainWindow.cpp" line="67"/> <location filename="src/MainWindow.cpp" line="67"/>
<source>Barrier Configurations (*.conf);;All files (*.*)</source> <source>Barrier Configurations (*.conf)</source>
<translation type="finished">Barrier-konfigurationer (*.conf);;Alle filer (*.*)</translation> <translation type="finished">Barrier-konfigurationer (*.conf)</translation>
</message> </message>
<message> <message>
<location filename="src/main.cpp" line="119"/> <location filename="src/main.cpp" line="119"/>
@@ -1329,7 +1334,7 @@ p, li { white-space: pre-wrap; }
Server response: Server response:
%1</source> %1</source>
<translation type="finished">Fejl i login, en fejl opstod. <translation type="finished">Fejl i login, en fejl opstod.
Server svar: Server svar:
%1</translation> %1</translation>
</message> </message>

Some files were not shown because too many files have changed in this diff Show More