├── .gitignore ├── .gitmodules ├── barrier_git_v2.4.0.patch ├── barrier_git_v2.4.0_kde23.08.patch ├── com.github.debauchee.barrier.appdata.xml ├── com.github.debauchee.barrier.json └── readme.md /.gitignore: -------------------------------------------------------------------------------- 1 | /build/ 2 | /.flatpak-builder/ 3 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "shared-modules"] 2 | path = shared-modules 3 | url = https://github.com/flathub/shared-modules.git 4 | -------------------------------------------------------------------------------- /barrier_git_v2.4.0.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/lib/base/Event.h b/src/lib/base/Event.h 2 | index 38a2cf11..cb00dccb 100644 3 | --- a/src/lib/base/Event.h 4 | +++ b/src/lib/base/Event.h 5 | @@ -21,6 +21,8 @@ 6 | #include "common/basic_types.h" 7 | #include "common/stdmap.h" 8 | 9 | +#include 10 | + 11 | class EventData { 12 | public: 13 | EventData() { } 14 | -------------------------------------------------------------------------------- /barrier_git_v2.4.0_kde23.08.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/lib/base/String.h b/src/lib/base/String.h 2 | index 9c5a53ba..2ff2e349 100644 3 | --- a/src/lib/base/String.h 4 | +++ b/src/lib/base/String.h 5 | @@ -21,6 +21,7 @@ 6 | #include "common/common.h" 7 | #include "common/stdstring.h" 8 | 9 | +#include 10 | #include 11 | #include 12 | 13 | diff --git a/src/lib/base/XBase.h b/src/lib/base/XBase.h 14 | index 0b467502..f6250de8 100644 15 | --- a/src/lib/base/XBase.h 16 | +++ b/src/lib/base/XBase.h 17 | @@ -18,6 +18,7 @@ 18 | 19 | #pragma once 20 | 21 | +#include 22 | #include 23 | #include 24 | 25 | diff --git a/src/lib/net/FingerprintData.h b/src/lib/net/FingerprintData.h 26 | index 938a6953..522a4813 100644 27 | --- a/src/lib/net/FingerprintData.h 28 | +++ b/src/lib/net/FingerprintData.h 29 | @@ -18,6 +18,7 @@ 30 | #ifndef BARRIER_LIB_NET_FINGERPRINT_DATA_H 31 | #define BARRIER_LIB_NET_FINGERPRINT_DATA_H 32 | 33 | +#include 34 | #include 35 | #include 36 | 37 | -------------------------------------------------------------------------------- /com.github.debauchee.barrier.appdata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.github.debauchee.barrier 4 | CC0-1.0 5 | Barrier 6 | Barrier - Share mouse and keyboard over the local network 7 | 8 |

What is it?

9 |

Barrier is software that mimics the functionality of a KVM switch, which historically would allow you to use a single keyboard and mouse to control multiple computers by physically turning a dial on the box to switch the machine you're controlling at any given moment. Barrier does this in software, allowing you to tell it which machine to control by moving your mouse to the edge of the screen, or by using a keypress to switch focus to a different system.

10 |

Barrier was forked from Symless's Synergy 1.9 codebase. Synergy was a commercialized reimplementation of the original CosmoSynergy written by Chris Schoeneman.

11 | 12 |

What's different?

13 |

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.

14 | 15 |

Project goals

16 |

Hassle-free reliability. We are users, too. Barrier was created so that we could solve the issues we had with synergy and then share these fixes with other users.

17 | 18 |

Compatibility. We use more than one operating system and you probably do, too. Windows, OSX, Linux, FreeBSD... Barrier should "just work". We will also have our eye on Wayland when the time comes.

19 | 20 |

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.

21 |
22 | https://github.com/debauchee/barrier/ 23 | https://github.com/debauchee/barrier/issues/ 24 | com.github.debauchee.barrier.desktop 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | Debauchee 39 | GPL-2.0 40 | Siix 41 | 42 | avahi 43 | 44 | 45 | 46 | The main application window 47 | https://i.imgur.com/hTlK5Sp.png 48 | 49 | 50 | The Server Configuration window 51 | https://i.imgur.com/JmzUSbh.png 52 | 53 | 54 | The Settings menu 55 | https://i.imgur.com/YueKkh4.png 56 | 57 | 58 | 59 | miotk.mikolaj+flatpak-barrier@gmail.com 60 | 61 | 62 |
63 | -------------------------------------------------------------------------------- /com.github.debauchee.barrier.json: -------------------------------------------------------------------------------- 1 | { 2 | "app-id" : "com.github.debauchee.barrier", 3 | "runtime" : "org.kde.Platform", 4 | "runtime-version" : "5.15-23.08", 5 | "sdk" : "org.kde.Sdk", 6 | "command" : "barrier", 7 | "rename-icon" : "barrier", 8 | "rename-desktop-file" : "barrier.desktop", 9 | "finish-args" : [ 10 | "--share=ipc", 11 | "--socket=x11", 12 | "--share=network", 13 | "--talk-name=org.a11y.*", 14 | "--talk-name=org.kde.StatusNotifierWatcher", 15 | "--system-talk-name=org.freedesktop.Avahi", 16 | "--device=dri" 17 | ], 18 | "cleanup" : [ 19 | "/include", 20 | "/lib/pkgconfig", 21 | "/share/man", 22 | "*.la", 23 | "*.a" 24 | ], 25 | "modules" : [ 26 | "shared-modules/intltool/intltool-0.51.json", 27 | { 28 | "name": "openssl", 29 | "buildsystem": "simple", 30 | "build-commands": [ 31 | "./config --prefix=/app", 32 | "make", 33 | "make install" 34 | ], 35 | "sources": [ 36 | { 37 | "type": "archive", 38 | "url": "https://github.com/openssl/openssl/archive/OpenSSL_1_1_1w.tar.gz", 39 | "sha256": "2130e8c2fb3b79d1086186f78e59e8bc8d1a6aedf17ab3907f4cb9ae20918c41" 40 | } 41 | ], 42 | "cleanup": [ 43 | "/share/doc", 44 | "/share/man" 45 | ] 46 | }, 47 | { 48 | "name": "libevent", 49 | "config-opts": [ 50 | "--disable-doxygen-doc" 51 | ], 52 | "sources": [ 53 | { 54 | "type": "archive", 55 | "url": "https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz", 56 | "sha256": "92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb" 57 | } 58 | ] 59 | }, 60 | { 61 | "name" : "avahi", 62 | "config-opts" : [ 63 | "--disable-libdaemon", 64 | "--enable-compat-libdns_sd", 65 | "--disable-python", 66 | "--disable-doxygen-doc", 67 | "--with-distro=none", 68 | "--disable-glib", 69 | "--disable-gobject", 70 | "--disable-introspection", 71 | "--disable-gtk", 72 | "--disable-gtk3", 73 | "--disable-qt3", 74 | "--disable-qt4", 75 | "--disable-mono", 76 | "--disable-monodoc", 77 | "--disable-manpages", 78 | "--disable-xmltoman", 79 | "--disable-utils" 80 | ], 81 | "cleanup" : [ 82 | "/bin" 83 | ], 84 | "sources" : [ 85 | { 86 | "type" : "archive", 87 | "url" : "https://github.com/lathiat/avahi/releases/download/v0.8/avahi-0.8.tar.gz", 88 | "sha256" : "060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda" 89 | } 90 | ] 91 | }, 92 | { 93 | "name" : "barrier", 94 | "buildsystem" : "cmake-ninja", 95 | "sources" : [ 96 | { 97 | "type" : "git", 98 | "url" : "https://github.com/debauchee/barrier.git", 99 | "tag" : "v2.4.0", 100 | "commit" : "3e0d758b59e44e6bb8b5e13cf96c824be44207ac" 101 | }, 102 | { 103 | "type" : "patch", 104 | "path" : "barrier_git_v2.4.0.patch" 105 | }, 106 | { 107 | "type" : "patch", 108 | "path" : "barrier_git_v2.4.0_kde23.08.patch" 109 | }, 110 | { 111 | "type" : "file", 112 | "path" : "com.github.debauchee.barrier.appdata.xml" 113 | } 114 | ], 115 | "post-install": [ 116 | "install -Dm644 com.github.debauchee.barrier.appdata.xml /app/share/metainfo/com.github.debauchee.barrier.appdata.xml" 117 | ] 118 | } 119 | ] 120 | } 121 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # com.github.debauchee.barrier 2 | 3 | ## How to build 4 | 5 | 1. Clone repo with submodules: `git clone --recursive git@github.com:flathub/com.github.debauchee.barrier.git` 6 | 2. Install flatpak-builder, i.e: `dnf install flatpak-builder` 7 | 3. Install corresponding runtime and SDK, i.e.: `flatpak install org.kde.Sdk/x86_64/5.15-23.08` `flatpak install org.kde.Platform/x86_64/5.15-23.08` 8 | 4. Build by executing: `flatpak-builder build com.github.debauchee.barrier.json --force-clean` 9 | 10 | - if you encounter an issue `fatal: transport 'file' not allowed` during build execute `git config --global --add protocol.file.allow always` to fix it: 11 | 12 | ```bash 13 | Cloning into '/home/user/com.github.debauchee.barrier/.flatpak-builder/build/barrier-10/ext/gtest'... 14 | fatal: transport 'file' not allowed 15 | fatal: clone of 'file:///home/user/com.github.debauchee.barrier/.flatpak-builder/git/https_github.com_google_googletest.git' into submodule path '/home/user/com.github.debauchee.barrier/.flatpak-builder/build/barrier-10/ext/gtest' failed 16 | ``` 17 | 18 | 5. Install a build: `flatpak-builder --user --install --force-clean build com.github.debauchee.barrier.json` 19 | 6. Test the build: `flatpak run com.github.debauchee.barrier` 20 | --------------------------------------------------------------------------------