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
cjaone 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"]
path = ext/gmock
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_VERSION_MAJOR = 2
BARRIER_VERSION_MINOR = 3
BARRIER_VERSION_PATCH = 2
BARRIER_VERSION_STAGE = snapshot
BARRIER_VERSION_MINOR = 4
BARRIER_VERSION_PATCH = 0
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_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_CXX_STANDARD 14)
@ -49,7 +51,6 @@ else()
endif()
set (libs)
include_directories (BEFORE SYSTEM ./ext/gtest/include)
if (UNIX)
if (NOT APPLE)
@ -90,7 +91,6 @@ if (UNIX)
check_function_exists (poll HAVE_POLL)
check_function_exists (sigwait HAVE_POSIX_SIGWAIT)
check_function_exists (strftime HAVE_STRFTIME)
check_function_exists (vsnprintf HAVE_VSNPRINTF)
check_function_exists (inet_aton HAVE_INET_ATON)
# For some reason, the check_function_exists macro doesn't detect
@ -165,10 +165,10 @@ if (UNIX)
link_directories("/usr/local/lib")
endif()
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")
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_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/X11R6/lib")
endif()
@ -194,9 +194,8 @@ if (UNIX)
check_include_files ("X11/extensions/XInput2.h" HAVE_XI2)
check_include_files ("dns_sd.h" HAVE_DNSSD)
if (HAVE_X11_EXTENSIONS_DPMS_H)
# Assume that function prototypes declared, when include exists.
set (HAVE_DPMS_PROTOTYPES 1)
if (NOT HAVE_X11_EXTENSIONS_XTEST_H)
message (FATAL_ERROR "Missing header: X11/extensions/XTest.h")
endif()
if (NOT HAVE_X11_XKBLIB_H)
@ -292,6 +291,9 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
list (APPEND libs Wtsapi32 Userenv Wininet comsuppw Shlwapi)
add_definitions (
/DSYSAPI_WIN32=1
/DWINAPI_MSWINDOWS=1
/D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING=1 # tr1 is used from gtest and gmock
/DWIN32
/D_WINDOWS
/D_CRT_SECURE_NO_WARNINGS
@ -300,6 +302,8 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
)
endif()
include_directories("${CMAKE_SOURCE_DIR}/ext/gulrak-filesystem/include")
#
# OpenSSL
#
@ -317,10 +321,21 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
${OPENSSL_ROOT}/lib/ssleay32.lib
)
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
find_program(APT_PROGRAM "apt")
find_program(BREW_PROGRAM "brew")
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
set (OPENSSL_ROOT /opt/local)
@ -335,6 +350,16 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
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
${OPENSSL_ROOT}/lib/libssl.a
${OPENSSL_ROOT}/lib/libcrypto.a
@ -369,7 +394,7 @@ macro (configure_files srcDir destDir)
set (sourceFilePath ${srcDir}/${sourceFile})
if (IS_DIRECTORY ${sourceFilePath})
message (STATUS "Copying directory ${sourceFile}")
make_directory (${destDir/${sourceFile})
make_directory (${destDir}/${sourceFile})
else()
message (STATUS "Copying file ${sourceFile}")
configure_file (${sourceFilePath} ${destDir}/${sourceFile} COPYONLY)
@ -420,7 +445,7 @@ endif()
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
configure_files (${CMAKE_CURRENT_SOURCE_DIR}/dist/rpm ${CMAKE_BINARY_DIR}/rpm)
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)
else()
install(FILES res/barrier.desktop DESTINATION share/applications)
@ -430,4 +455,7 @@ endif()
else()
message (STATUS "NOT configuring the installer")
endif()
enable_testing()
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) 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.
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.
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
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).
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)
@ -8,7 +8,7 @@ and a [snap](https://snapcraft.io/barrier).
### Contact info:
- `#barrier` on freenode
- `#barrier` on LiberaChat IRC network
#### 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.
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?
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
@ -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.
### 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
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
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
@ -59,21 +82,67 @@ specific packages.
[![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:
- Windows 7, 8, 8.1, and 10
- MacOS/OS X
- Linux
- FreeBSD
- OpenBSD
**Q: What OSes are supported?**
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
- job: LinuxBuild
strategy:
matrix:
ubuntu-18.04:
imageName: 'ubuntu-18.04'
ubuntu-20.04:
imageName: 'ubuntu-20.04'
displayName: Linux Build
pool:
vmImage: 'ubuntu-16.04'
vmImage: $(imageName)
steps:
- script: sudo apt-get update -y
- script: sudo apt-get install -y libxtst-dev qtdeclarative5-dev libavahi-compat-libdnssd-dev libcurl4-openssl-dev
@ -75,13 +81,22 @@ jobs:
- job: MacBuild
displayName: Mac Build
pool:
vmImage: 'macOS-10.14'
strategy:
matrix:
Release:
B_BUILD_TYPE: Release
BARRIER_VERSION_STAGE: Release
big-sur-Release:
imageName: "macOS-11"
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:
VERBOSE: 1
TERM: xterm-256color
@ -99,4 +114,4 @@ jobs:
condition: eq(variables['B_BUILD_TYPE'], 'Release')
inputs:
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"
New-Item -Force -ItemType Directory -Path ".\deps\"
$Wc = New-Object System.Net.WebClient
$Wc.DownloadFile('https://github.com/nelsonjchen/mDNSResponder/releases/download/v2019.05.08.1/x64_RelWithDebInfo.zip', 'deps\BonjourSDKLike.zip') ;
Invoke-WebRequest 'https://github.com/nelsonjchen/mDNSResponder/releases/download/v2019.05.08.1/x64_RelWithDebInfo.zip' -OutFile 'deps\BonjourSDKLike.zip' ;
Write-Output 'Downloaded BonjourSDKLike Zip'
Write-Output 'Unzipping BonjourSDKLike Zip'
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\"
Write-Output 'Downloading QLI Installer'
$Wc = New-Object System.Net.WebClient
$Wc.DownloadFile("https://github.com/nelsonjchen/qli-installer/archive/v$qli_install_version.zip", '.\deps\qli-installer.zip') ;
Invoke-WebRequest "https://github.com/nelsonjchen/qli-installer/archive/v$qli_install_version.zip" -OutFile '.\deps\qli-installer.zip' ;
Write-Output 'Downloaded QLI Installer'
Write-Output 'Extracting QLI Installer'
@ -21,6 +20,6 @@ Write-Output 'Installed QLI Installer Dependencies'
Write-Output 'Starting QT Installer'
$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
Write-Output 'Installed QT Installer'

View File

@ -41,8 +41,7 @@ if ERRORLEVEL 1 goto failed
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% ..
if ERRORLEVEL 1 goto failed
echo @msbuild barrier.sln /p:Platform="x64" /p:Configuration=%B_BUILD_TYPE% /m %B_BUILD_OPTIONS% > make.bat
call make.bat
cmake --build . --config %B_BUILD_TYPE%
if ERRORLEVEL 1 goto failed
if exist bin\Debug (
copy %B_QT_FULLPATH%\bin\Qt5Cored.dll bin\Debug\ > NUL
@ -65,7 +64,7 @@ if exist bin\Debug (
mkdir bin\Release\platforms
copy %B_QT_FULLPATH%\plugins\platforms\qwindows.dll bin\Release\platforms\ > NUL
) else (
echo Remember to copy supporting binaries and confiuration files!
echo Remember to copy supporting binaries and configuration files!
)
echo Build completed successfully

View File

@ -1,10 +1,10 @@
#!/bin/sh
cd "$(dirname $0)" || exit 1
cd "$(dirname "$0")" || exit 1
# some environments have cmake v2 as 'cmake' and v3 as 'cmake3'
# check for cmake3 first then fallback to just cmake
B_CMAKE=`type cmake3 2>/dev/null`
if [ $? -eq 0 ]; then
B_CMAKE=`echo $B_CMAKE | cut -d' ' -f3`
B_CMAKE=`echo "$B_CMAKE" | cut -d' ' -f3`
else
B_CMAKE=cmake
fi
@ -26,7 +26,7 @@ B_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=$B_BUILD_TYPE $B_CMAKE_FLAGS"
rm -rf build
mkdir 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
make || exit 1
echo "Build completed successfully"

View File

@ -1,8 +1,8 @@
cmake_minimum_required (VERSION 3.4)
set (BARRIER_VERSION_MAJOR 2)
set (BARRIER_VERSION_MINOR 3)
set (BARRIER_VERSION_PATCH 3)
set (BARRIER_VERSION_MINOR 4)
set (BARRIER_VERSION_PATCH 0)
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_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_BUILD_DATE="${BARRIER_BUILD_DATE}")
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
[ walker0643 ]

View File

@ -1,7 +1,9 @@
#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 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 MyAppServiceName "Barrier"
#define MyAppServiceExe "barrierd.exe"
@ -11,8 +13,8 @@
[Setup]
AppId={{41036EA6-3F7A-4803-8AE0-469E5E91EFCC}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppVerName={#MyAppName} {#MyAppVersion}
AppVersion={#MyAppTextVersion}
AppVerName={#MyAppName} {#MyAppTextVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
@ -21,11 +23,18 @@ DefaultDirName={pf}\{#MyAppName}
DisableProgramGroupPage=yes
LicenseFile=@CMAKE_CURRENT_SOURCE_DIR@/res/License.rtf
OutputDir=@CMAKE_RUNTIME_OUTPUT_DIRECTORY@/../installer-inno/bin
OutputBaseFilename=BarrierSetup-{#MyAppVersion}
OutputBaseFilename=BarrierSetup-{#MyAppTextVersion}
SetupIconFile=@CMAKE_CURRENT_SOURCE_DIR@/res/barrier.ico
VersionInfoProductTextVersion={#MyAppTextVersion}
VersionInfoProductVersion={#MyAppVersion}
VersionInfoTextVersion={#MyAppTextVersion}
VersionInfoVersion={#MyAppVersion}
VersionInfoCopyright={#MyAppCopyright}
Compression=lzma
SolidCompression=yes
ArchitecturesInstallIn64BitMode=x64 ia64
UninstallDisplayIcon={app}\{#MyAppExeName}
#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
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}\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: "start {#MyAppServiceName}"; Flags: runhidden
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[UninstallDelete]
Type: files; Name: "{app}\barrierd.log"
Type: filesandordirs; Name: "{commonappdata}\Barrier"
[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}\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>
<string>© 2018 Debauchee Open Source Group</string>
<key>LSMinimumSystemVersion</key>
<string>10.9.0</string>
<string>10.12.0</string>
</dict>
</plist>

View File

@ -1,7 +1,7 @@
#!/bin/sh
# Use the same verbose variable as CMake
[ "$VERBOSE" == "1" ] && set -x
[ "$VERBOSE" = "1" ] && set -x
# Exit on unset variables or pipe errors
set -uo pipefail
@ -14,10 +14,10 @@ B_BARRIERC="Barrier.app/Contents/MacOS/barrierc"
B_BARRIERS="Barrier.app/Contents/MacOS/barriers"
# Colorized output
function info() { tput bold; echo "$@" ; tput sgr0 ;}
function error() { tput bold; tput setaf 1; echo "$@"; tput sgr0 ; }
function success() { tput bold; tput setaf 2; echo "$@"; tput sgr0 ; }
function warn() { tput bold; tput setaf 3; echo "$@"; tput sgr0 ; }
info() { tput bold; echo "$@"; tput sgr0 ; }
error() { tput bold; tput setaf 1; echo "$@"; tput sgr0 ; }
success() { tput bold; tput setaf 2; echo "$@"; tput sgr0 ; }
warn() { tput bold; tput setaf 3; echo "$@"; tput sgr0 ; }
info "Checking for bundle contents"
if [ ! -d "Barrier.app/Contents" ]; then
@ -40,7 +40,7 @@ if which -s port ; then
info "MacPorts found, searching for macdeployqt"
DEPLOYQT="$(port contents qt5-qttools | grep --only --max-count 1 '/.*macdeployqt')"
if [ ! -x "$DEPLOYQT" ]; then
error Please install package qt5-qttools
error "Please install package qt5-qttools"
exit 1
fi
fi
@ -48,15 +48,15 @@ fi
# Check for macdeployqt on Homebrew
if which -s brew ; then
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
error Please install package qt
error "Please install package qt"
exit 1
fi
fi
# Use macdeployqt to include libraries and create dmg
if [ "$B_BUILDTYPE" == "Release" ]; then
if [ "$B_BUILDTYPE" = "Release" ]; then
info "Building Release disk image (dmg)"
"$DEPLOYQT" Barrier.app -dmg \
-executable="$B_BARRIERC" \
@ -70,4 +70,4 @@ else
-executable="$B_BARRIERC" \
-executable="$B_BARRIERS" || exit 1
success "Bundle created successfully"
fi
fi

View File

@ -1,30 +1,30 @@
#!/bin/sh
# 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 "Please use build_dist.sh instead to deploy using macdeployqt"
# change this to rename the installer package
B_DMG="Barrier-@BARRIER_VERSION@.dmg"
cd "$( dirname '$0' )"
cd "$( dirname "$0" )"
OWNDIR="$( pwd )"
B_REREF_SCRIPT="$OWNDIR/reref_dylibs.sh"
if [ ! -x $B_REREF_SCRIPT ]; then
echo Missing script: $B_REREF_SCRIPT
if [ ! -x "$B_REREF_SCRIPT" ]; then
echo "Missing script: $B_REREF_SCRIPT"
exit 1
fi
# remove any old copies so there's no confusion about whether this
# process completes successfully or not
rm -rf temp.dmg $B_DMG
rm -rf temp.dmg "$B_DMG"
cd Barrier.app/Contents 2>/dev/null
if [ $? -ne 0 ]; then
echo Please make sure that the build completed successfully
echo before trying to create the installer.
echo "Please make sure that the build completed successfully"
echo "before trying to create the installer."
exit 1
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
cp -r Barrier.app 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
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
# 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 "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
fi
cd $(dirname $B_TARGET) || exit 1
cd "$(dirname "$B_TARGET")" || exit 1
# where to find non-system libraries relative to target's directory.
# the vast majority of the time this should be empty
B_REL_PATH=$2
# 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
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
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
B_LIB_NAME=${B_LIB_NAME//:}
@ -34,16 +34,16 @@ for B_LIB in $B_LIBS; do
[ "$B_TARGET" = "$B_LIB_NAME" ] && continue
B_DST=${B_REL_PATH}${B_LIB_NAME}
if [ ! -e $B_DST ]; then
cp $B_LIB $B_DST || exit 1
chmod u+rw $B_DST || exit 1
if [ ! -e "$B_DST" ]; then
cp "$B_LIB" "$B_DST" || exit 1
chmod u+rw "$B_DST" || exit 1
# recursively call this script on libraries purposefully not passing
# $B_REL_PATH so that it is only used explicitly
$0 $B_DST
$0 "$B_DST"
fi
# adjust the target's metadata to point to the local copy
# rather than the system-wide copy which would only exist on
# 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

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
# 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
# Laptop is actually known as John-Smiths-MacBook-3.local
desktop2:
John-Smiths-MacBook-3.local
John-Smiths-MacBook-3.local:
desktop2
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
# 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

View File

@ -1,5 +1,5 @@
.\" 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
barrierc \- Barrier Keyboard/Mouse Client
.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.
.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
barriers \- Barrier Keyboard/Mouse Server
.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">
<!-- Mac OSX only: Copy this plist file into [~]/Library/LaunchAgents to start barrier client automatically. Make sure you change the IP below. -->
<dict>
<key>Label</key>
<string>org.debauchee.com.barrierc.plist</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<key>Label</key>
<string>org.debauchee.com.barrierc.plist</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/barrierc</string>
<!-- Replace this IP with the IP of your barriers server -->
<string>192.168.0.2</string>
</array>
<key>RunAtLoad</key>
<true/>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

View File

@ -4,12 +4,12 @@
<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 -->
<dict>
<key>Label</key>
<string>org.debauchee.com.barriers.plist</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<key>Label</key>
<string>org.debauchee.com.barriers.plist</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/barriers</string>
<string>--no-daemon</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

@ -0,0 +1 @@
Subproject commit 614bbe87b80435d87ab8791564370e0c1d13627d

View File

@ -233,7 +233,7 @@ extern "C" {
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
there's no way to tell at compile time what it is you're running on */
#if defined( __sun ) || defined ( sun ) /* Newer Sparc's */
# define DES_PTR
# 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
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 */
#if defined( __sun ) || defined ( sun ) /* Newer Sparc's */
# define DES_PTR
# define DES_RISC1

View File

@ -1,7 +1,7 @@
#!/bin/bash
# Checks if directory exists, otherwise asks to install package.
function check_dir_exists() {
check_dir_exists() {
local path=$1
local package=$2
@ -11,7 +11,7 @@ function check_dir_exists() {
fi
}
if [ ! $BARRIER_BUILD_ENV ]; then
if [ -z "$BARRIER_BUILD_ENV" ]; then
check_dir_exists '/Applications/Xcode.app' 'Xcode'
printf "Modifying environment for Barrier build...\n"
@ -29,18 +29,15 @@ if [ ! $BARRIER_BUILD_ENV ]; then
elif command -v brew; then
printf "Detected Homebrew\n"
QT_PATH=$(brew --prefix qt)
OPENSSL_PATH=$(brew --prefix openssl)
QT_PATH=$(brew --prefix qt@5)
check_dir_exists "$QT_PATH" 'qt'
check_dir_exists "$OPENSSL_PATH" 'openssl'
check_dir_exists "$QT_PATH" 'qt5'
export BARRIER_BUILD_BREW=1
export CMAKE_PREFIX_PATH="$QT_PATH:$CMAKE_PREFIX_PATH"
export LD_LIBRARY_PATH="$OPENSSL_PATH/lib:$LD_LIBRARY_PATH"
export CPATH="$OPENSSL_PATH/include:$CPATH"
export PKG_CONFIG_PATH="$OPENSSL_PATH/lib/pkgconfig:$PKG_CONFIG_PATH"
export CMAKE_PREFIX_PATH="/opt/procursus:$QT_PATH:$CMAKE_PREFIX_PATH"
export LD_LIBRARY_PATH="/opt/procursus/lib:$LD_LIBRARY_PATH"
export CPATH="/opt/procursus/include:$CPATH"
export PKG_CONFIG_PATH="/opt/procursus/lib/pkgconfig:$PKG_CONFIG_PATH"
else
printf "Neither Homebrew nor Macports is installed. Can't get dependency paths\n"
exit 1

View File

@ -1,4 +1,4 @@
Thank you for chosing Barrier!
Thank you for choosing Barrier!
https://github.com/debauchee/barrier/
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
Icon=barrier
Terminal=false
Categories=Utility;DesktopUtility;
Categories=Utility;RemoteAccess;
Keywords=keyboard;mouse;sharing;network;share;

View File

@ -19,9 +19,6 @@
/* Define if your compiler has standard C++ library support. */
#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. */
#cmakedefine HAVE_GETPWUID_R ${HAVE_GETPWUID_R}
@ -97,9 +94,6 @@
/* Define to 1 if you have the <unistd.h> header file. */
#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. */
#cmakedefine HAVE_WCHAR_H ${HAVE_WCHAR_H}
@ -115,9 +109,6 @@
/* Define to 1 if you have the <X11/extensions/XKBstr.h> header file. */
#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. */
#cmakedefine HAVE_X11_XKBLIB_H ${HAVE_X11_XKBLIB_H}
@ -160,8 +151,5 @@
/* Define to 1 if your <sys/time.h> declares `struct tm`. */
#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. */
#cmakedefine size_t ${size_t}

View File

@ -1,10 +1,10 @@
#!/bin/sh
ICNS_BASE=../dist/macos/bundle/Barrier.app/Contents/Resources
if ! which magick >/dev/null 2>&1; then
echo "Need ImageMagic for this"
echo "Need ImageMagick for this"
exit 10
fi
cd $(dirname $0) || exit $?
cd "$(dirname "$0")" || exit $?
if [ ! -r barrier.png ]; then
echo "Use inkscape (or another vector graphics editor) to create barrier.png from barrier.svg first"
exit 10
@ -12,11 +12,11 @@ fi
rm -rf work || exit $?
mkdir -p work || exit $?
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
# windows icon
magick convert work/{16,24,32,48,64,128}.png barrier.png barrier.ico || exit $?
# 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
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
base: core18
version: master
version-script: git describe --tags --long | sed "s/^v//"
version-script: git describe --tags | sed "s/^v//"
adopt-info: appstream-flathub
grade: stable # must be 'stable' to release into candidate/stable channels
confinement: strict # use 'strict' once you have the right plugs and slots

View File

@ -1,11 +1,11 @@
# 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
@ -19,7 +19,13 @@ include_directories (${CMAKE_CURRENT_BINARY_DIR}/lib)
add_subdirectory(lib)
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)
add_subdirectory(gui)

View File

@ -1,11 +1,11 @@
# 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
@ -18,6 +18,5 @@ add_subdirectory(barrierc)
add_subdirectory(barriers)
if (WIN32)
add_subdirectory(barrierd)
add_subdirectory(barrierd)
endif()

View File

@ -1,11 +1,11 @@
# barrier -- mouse and keyboard sharing utility
# Copyright (C) 2012-2016 Symless Ltd.
# Copyright (C) 2009 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
@ -22,15 +22,8 @@ if (WIN32)
file(GLOB arch_headers "MSWindows*.h")
file(GLOB arch_sources "MSWindows*.cpp")
list(APPEND sources
resource.h
barrierc.ico
barrierc.rc
tb_error.ico
tb_idle.ico
tb_run.ico
tb_wait.ico
barrierc.exe.manifest
)
barrierc.exe.manifest)
elseif (APPLE)
file(GLOB arch_headers "OSX*.h")
file(GLOB arch_sources "OSX*.cpp")
@ -55,4 +48,3 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
install (TARGETS barrierc DESTINATION bin)
endif()

View File

@ -2,11 +2,11 @@
* barrier -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2003 Chris Schoeneman
*
*
* 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

View File

@ -2,11 +2,11 @@
* barrier -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2003 Chris Schoeneman
*
*
* 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

View File

@ -2,11 +2,11 @@
* barrier -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2004 Chris Schoeneman
*
*
* 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
@ -66,4 +66,3 @@ createTaskBarReceiver(const BufferedLogOutputter* logBuffer, IEventQueue* events
{
return new OSXClientTaskBarReceiver(logBuffer, events);
}

View File

@ -2,11 +2,11 @@
* barrier -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2004 Chris Schoeneman
*
*
* 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

View File

@ -2,11 +2,11 @@
* barrier -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2003 Chris Schoeneman
*
*
* 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

View File

@ -2,11 +2,11 @@
* barrier -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2003 Chris Schoeneman
*
*
* 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

View File

@ -2,11 +2,11 @@
* barrier -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2002 Chris Schoeneman
*
*
* 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
@ -32,13 +32,13 @@
#endif
int
main(int argc, char** argv)
main(int argc, char** argv)
{
#if SYSAPI_WIN32
// record window instance for tray icon, etc
ArchMiscWindows::setInstanceWin32(GetModuleHandle(NULL));
#endif
Arch arch;
arch.init();

View File

@ -1,2 +1,16 @@
<?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>
<?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>
<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"
@ -8,9 +8,6 @@
// Generated from the TEXTINCLUDE 2 resource.
//
#include <winresrc.h>
#if !defined(IDC_STATIC)
#define IDC_STATIC (-1)
#endif
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
@ -19,10 +16,8 @@
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
@ -30,18 +25,18 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
2 TEXTINCLUDE
BEGIN
"#include <winresrc.h>\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
@ -50,6 +45,46 @@ 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", "barrierc.exe"
VALUE "FileDescription", "Open source KVM software client"
VALUE "InternalName", "barrierc"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
/////////////////////////////////////////////////////////////////////////////
//
// Icon
@ -57,18 +92,47 @@ END
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_BARRIER ICON DISCARDABLE "barrierc.ico"
IDI_TASKBAR_NOT_RUNNING ICON DISCARDABLE "tb_idle.ico"
IDI_TASKBAR_NOT_WORKING ICON DISCARDABLE "tb_error.ico"
IDI_TASKBAR_NOT_CONNECTED ICON DISCARDABLE "tb_wait.ico"
IDI_TASKBAR_CONNECTED ICON DISCARDABLE "tb_run.ico"
IDI_BARRIER ICON "barrierc.ico"
IDI_TASKBAR_NOT_RUNNING ICON "tb_idle.ico"
IDI_TASKBAR_NOT_WORKING ICON "tb_error.ico"
IDI_TASKBAR_NOT_CONNECTED ICON "tb_wait.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
//
IDD_TASKBAR_STATUS DIALOG DISCARDABLE 0, 0, 145, 18
IDD_TASKBAR_STATUS DIALOG 0, 0, 145, 18
STYLE DS_MODALFRAME | WS_POPUP
FONT 8, "MS Sans Serif"
BEGIN
@ -77,47 +141,12 @@ BEGIN
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
//
STRINGTABLE DISCARDABLE
STRINGTABLE
BEGIN
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}"

View File

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

View File

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

View File

@ -2,11 +2,11 @@
* barrier -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2012 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

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
# Copyright (C) 2012-2016 Symless Ltd.
# Copyright (C) 2009 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
@ -22,15 +22,8 @@ if (WIN32)
file(GLOB arch_headers "MSWindows*.h")
file(GLOB arch_sources "MSWindows*.cpp")
list(APPEND sources
resource.h
barriers.ico
barriers.rc
tb_error.ico
tb_idle.ico
tb_run.ico
tb_wait.ico
barriers.exe.manifest
)
barriers.exe.manifest)
elseif (APPLE)
file(GLOB arch_headers "OSX*.h")
file(GLOB arch_sources "OSX*.cpp")
@ -55,5 +48,3 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
install (TARGETS barriers DESTINATION bin)
endif()

View File

@ -2,11 +2,11 @@
* barrier -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2003 Chris Schoeneman
*
*
* 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

View File

@ -2,11 +2,11 @@
* barrier -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2003 Chris Schoeneman
*
*
* 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

View File

@ -2,11 +2,11 @@
* barrier -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2004 Chris Schoeneman
*
*
* 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

View File

@ -2,11 +2,11 @@
* barrier -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2004 Chris Schoeneman
*
*
* 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

View File

@ -2,11 +2,11 @@
* barrier -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2003 Chris Schoeneman
*
*
* 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

View File

@ -2,11 +2,11 @@
* barrier -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2003 Chris Schoeneman
*
*
* 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

View File

@ -2,11 +2,11 @@
* barrier -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2002 Chris Schoeneman
*
*
* 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
@ -32,7 +32,7 @@
#endif
int
main(int argc, char** argv)
main(int argc, char** argv)
{
#if SYSAPI_WIN32
// record window instance for tray icon, etc
@ -45,7 +45,7 @@ main(int argc, char** argv)
*/
setenv("OS_ACTIVITY_DT_MODE", "NO", true);
#endif
Arch arch;
arch.init();

View File

@ -1,2 +1,16 @@
<?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>
<?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>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitor</dpiAwareness>
</windowsSettings>
</application>
</assembly>

View File

@ -16,10 +16,8 @@
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
@ -27,18 +25,18 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// TEXTINCLUDE
//
1 TEXTINCLUDE
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
2 TEXTINCLUDE
BEGIN
"#include <winresrc.h>\r\n"
"\0"
END
3 TEXTINCLUDE
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
@ -47,6 +45,46 @@ 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", "barriers.exe"
VALUE "FileDescription", "Open source KVM software server"
VALUE "InternalName", "barriers"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
/////////////////////////////////////////////////////////////////////////////
//
// Icon
@ -54,18 +92,19 @@ END
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_BARRIER ICON "barriers.ico"
IDI_TASKBAR_NOT_RUNNING ICON "tb_idle.ico"
IDI_TASKBAR_NOT_WORKING ICON "tb_error.ico"
IDI_BARRIER ICON "barriers.ico"
IDI_TASKBAR_NOT_RUNNING ICON "tb_idle.ico"
IDI_TASKBAR_NOT_WORKING ICON "tb_error.ico"
IDI_TASKBAR_NOT_CONNECTED ICON "tb_wait.ico"
IDI_TASKBAR_CONNECTED ICON "tb_run.ico"
IDI_TASKBAR_CONNECTED ICON "tb_run.ico"
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDR_TASKBAR MENU
IDR_TASKBAR MENU
BEGIN
POPUP "Barrier"
BEGIN
@ -110,7 +149,7 @@ END
// String Table
//
STRINGTABLE
STRINGTABLE
BEGIN
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}"

View File

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

View File

@ -6,15 +6,124 @@ set (CMAKE_AUTORCC ON)
set (CMAKE_AUTOUIC ON)
set (CMAKE_INCLUDE_CURRENT_DIR ON)
file (GLOB GUI_SOURCE_FILES src/*.cpp src/*.h)
file (GLOB GUI_UI_FILES src/*.ui)
# files that are used both in tests and the app
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)
set (GUI_RC_FILES res/win/Barrier.rc)
endif()
add_executable (barrier WIN32
${GUI_COMMON_SOURCE_FILES}
${GUI_COMMON_HEADER_FILES}
${GUI_SOURCE_FILES}
${GUI_HEADER_FILES}
${GUI_UI_FILES}
${GUI_RC_FILES}
res/Barrier.qrc
@ -22,13 +131,13 @@ add_executable (barrier WIN32
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_REVISION="${BARRIER_REVISION}")
if (WIN32)
include_directories ($ENV{BONJOUR_SDK_HOME}/Include)
find_library (DNSSD_LIB dnssd.lib
find_library (DNSSD_LIB dnssd.lib
HINTS ENV BONJOUR_SDK_HOME
PATH_SUFFIXES "Lib/x64")
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")
install (TARGETS barrier DESTINATION bin)
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>
<message>
<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>
</message>
<message>
<location filename="src/MainWindow.cpp" line="67"/>
<source>Barrier Configurations (*.conf);;All files (*.*)</source>
<source>Barrier Configurations (*.conf)</source>
<translation type="unfinished"></translation>
</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
lrelease *.ts
cd res/lang
lrelease *.ts

View File

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

View File

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

View File

@ -648,12 +648,17 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<name>QObject</name>
<message>
<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>
</message>
<message>
<location filename="src/MainWindow.cpp" line="67"/>
<source>Barrier Configurations (*.conf);;All files (*.*)</source>
<source>Barrier Configurations (*.conf)</source>
<translation type="unfinished"></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>
<message>
<location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc);;All files (*.*)</source>
<translation type="finished">Конфигурации на Синерджи (*.sgc);; Всички файлове (*.*)</translation>
<source>All files (*.*)</source>
<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>
<location filename="src/MainWindow.cpp" line="67"/>
<source>Barrier Configurations (*.conf);;All files (*.*)</source>
<translation type="finished">Конфигурации на Синерджи (*.conf);; Всички файлове (*.*)</translation>
<source>Barrier Configurations (*.conf)</source>
<translation type="finished">Конфигурации на Синерджи (*.conf)</translation>
</message>
<message>
<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>
<message>
<location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc);;All files (*.*)</source>
<translation type="finished">Configuracions Barrier (*.sgc);;Tots els arxius (*.*)</translation>
<source>All files (*.*)</source>
<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>
<location filename="src/MainWindow.cpp" line="67"/>
<source>Barrier Configurations (*.conf);;All files (*.*)</source>
<translation type="finished">Configuracions Barrier (*.conf);;Tots els arxius (*.*)</translation>
<source>Barrier Configurations (*.conf)</source>
<translation type="finished">Configuracions Barrier (*.conf)</translation>
</message>
<message>
<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.
Drag a screen to the trashcan to delete it.
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.
Arrossega una pantalla a la paperera per eliminar-la.
<translation type="finished">Arrossega noves pantalles a la graella o mou les actuals al voltant.
Arrossega una pantalla a la paperera per eliminar-la.
Fes doble clic a una pantalla per editar la seva configuració.</translation>
</message>
<message>
@ -1330,7 +1335,7 @@ p, li { white-space: pre-wrap; }
Server response:
%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:
%1</translation>
</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>
<message>
<location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc);;All files (*.*)</source>
<translation type="finished">Nastavení Barrier (*.sgc);;Všechny soubory (*.*)</translation>
<source>All files (*.*)</source>
<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>
<location filename="src/MainWindow.cpp" line="67"/>
<source>Barrier Configurations (*.conf);;All files (*.*)</source>
<translation type="finished">Nastavení Barrier (*.conf);;Všechny soubory (*.*)</translation>
<source>Barrier Configurations (*.conf)</source>
<translation type="finished">Nastavení Barrier (*.conf)</translation>
</message>
<message>
<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>
<message>
<location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc);;All files (*.*)</source>
<translation type="finished">Cyfluniadau Barrier (*.sgc);;Pob ffeil (*.*)</translation>
<source>All files (*.*)</source>
<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>
<location filename="src/MainWindow.cpp" line="67"/>
<source>Barrier Configurations (*.conf);;All files (*.*)</source>
<translation type="finished">Cyfluniadau Barrier (*.conf);;Pob ffeil (*.*)</translation>
<source>Barrier Configurations (*.conf)</source>
<translation type="finished">Cyfluniadau Barrier (*.conf)</translation>
</message>
<message>
<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>
<message>
<location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc);;All files (*.*)</source>
<translation type="finished">Barrier-konfigurationer (*.sgc);;Alle filer (*.*)</translation>
<source>All files (*.*)</source>
<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>
<location filename="src/MainWindow.cpp" line="67"/>
<source>Barrier Configurations (*.conf);;All files (*.*)</source>
<translation type="finished">Barrier-konfigurationer (*.conf);;Alle filer (*.*)</translation>
<source>Barrier Configurations (*.conf)</source>
<translation type="finished">Barrier-konfigurationer (*.conf)</translation>
</message>
<message>
<location filename="src/main.cpp" line="119"/>
@ -1329,7 +1334,7 @@ p, li { white-space: pre-wrap; }
Server response:
%1</source>
<translation type="finished">Fejl i login, en fejl opstod.
<translation type="finished">Fejl i login, en fejl opstod.
Server svar:
%1</translation>
</message>

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