mirror of
https://github.com/debauchee/barrier.git
synced 2026-02-12 22:55:53 +08:00
Compare commits
35 Commits
README-upd
...
v2.3.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
58d8f020dc | ||
|
|
910f1f3ac1 | ||
|
|
f7b7c55b53 | ||
|
|
c6ff6a6de6 | ||
|
|
0ddd38ece1 | ||
|
|
3e3e183e75 | ||
|
|
6dc59d14a3 | ||
|
|
f399c8c642 | ||
|
|
ea0717b5f5 | ||
|
|
4e83ea7f9a | ||
|
|
f23a2ecec3 | ||
|
|
30bc1948c6 | ||
|
|
bad0373bbb | ||
|
|
7a2c3f7741 | ||
|
|
e2f59c7475 | ||
|
|
49210e1ea4 | ||
|
|
1c5a95f810 | ||
|
|
1c398dcd66 | ||
|
|
40ee389296 | ||
|
|
af444a6932 | ||
|
|
8e8b38b493 | ||
|
|
8e1a5921f6 | ||
|
|
1e118ee8e8 | ||
|
|
0f5cdecf51 | ||
|
|
6c19a87f63 | ||
|
|
b3374a07ed | ||
|
|
b09a3985d0 | ||
|
|
40f94c6477 | ||
|
|
0be33c3032 | ||
|
|
500a82824f | ||
|
|
cd8176e69f | ||
|
|
ae8ef7f4f2 | ||
|
|
6074f9b648 | ||
|
|
a3804c4915 | ||
|
|
e4392b51b4 |
34
.travis.yml
34
.travis.yml
@@ -1,34 +0,0 @@
|
||||
language: cpp
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- os: linux
|
||||
sudo: false
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- libxtst-dev
|
||||
- qtdeclarative5-dev
|
||||
- libavahi-compat-libdnssd-dev
|
||||
script: sh -x ./clean_build.sh
|
||||
|
||||
- os: osx
|
||||
osx_image: xcode9
|
||||
script:
|
||||
- export COLUMNS=80
|
||||
- curl -LO https://raw.githubusercontent.com/GiovanniBussi/macports-ci/master/macports-ci
|
||||
- chmod +x ./macports-ci
|
||||
- ./macports-ci install
|
||||
- PATH="$PATH:/opt/local/bin"
|
||||
- sudo port -N install qt5-qtbase openssl
|
||||
- sh -x ./clean_build.sh
|
||||
|
||||
- os: osx
|
||||
osx_image: xcode9
|
||||
script:
|
||||
- brew update
|
||||
- brew install qt openssl
|
||||
- sh -x ./clean_build.sh
|
||||
|
||||
install: true
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# Barrier build parameters
|
||||
#
|
||||
BARRIER_VERSION_MAJOR = 1
|
||||
BARRIER_VERSION_MINOR = 9
|
||||
BARRIER_VERSION_PATCH = 0
|
||||
BARRIER_VERSION_MAJOR = 2
|
||||
BARRIER_VERSION_MINOR = 3
|
||||
BARRIER_VERSION_PATCH = 1
|
||||
BARRIER_VERSION_STAGE = snapshot
|
||||
|
||||
@@ -21,6 +21,7 @@ project (barrier C CXX)
|
||||
option (BARRIER_BUILD_GUI "Build the GUI" ON)
|
||||
option (BARRIER_BUILD_INSTALLER "Build the installer" ON)
|
||||
|
||||
set (CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
set (CMAKE_CXX_STANDARD 14)
|
||||
set (CMAKE_CXX_EXTENSIONS OFF)
|
||||
set (CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
30
README.md
30
README.md
@@ -1,15 +1,21 @@
|
||||
# Barrier
|
||||
|
||||
Eliminate the barrier between your machines.
|
||||
Find [releaes here](https://github.com/debauchee/barrier/releases).
|
||||
Find [releases here](https://github.com/debauchee/barrier/releases).
|
||||
|
||||
### Contact info:
|
||||
|
||||
- `#barrier` on freenode
|
||||
|
||||
Master branch build status: [](https://travis-ci.org/debauchee/barrier)
|
||||
#### CI Build Status
|
||||
|
||||
Azure Pipelines build status: [](https://dev.azure.com/debauchee/Barrier/_build/latest?definitionId=1&branchName=master)
|
||||
Master branch overall build status: [](https://dev.azure.com/debauchee/Barrier/_build/latest?definitionId=1&branchName=master)
|
||||
* Linux Build Status: [](https://dev.azure.com/debauchee/Barrier/_build/latest?definitionId=1&branchName=master)
|
||||
* Mac Build Status: [](https://dev.azure.com/debauchee/Barrier/_build/latest?definitionId=1&branchName=master)
|
||||
* Windows Debug Build Status: [](https://dev.azure.com/debauchee/Barrier/_build/latest?definitionId=1&branchName=master)
|
||||
* Windows Release Build Status: [](https://dev.azure.com/debauchee/Barrier/_build/latest?definitionId=1&branchName=master)
|
||||
|
||||
Our CI Builds are provided by Microsoft Azure Pipelines.
|
||||
|
||||
### What is it?
|
||||
|
||||
@@ -36,3 +42,21 @@ For short and simple questions or to just say hello find us on the Freenode IRC
|
||||
### 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.
|
||||
|
||||
### FAQ
|
||||
|
||||
Q: Does drag and drop work on linux?
|
||||
|
||||
A: No
|
||||
|
||||
Q: What OSes are supported?
|
||||
|
||||
A:
|
||||
- Windows 7, 8, 8.1, and 10
|
||||
- MacOS/OS X
|
||||
- Linux
|
||||
- FreeBSD
|
||||
|
||||
Q: Are 32-bit versions of Windows supported?
|
||||
|
||||
A: No
|
||||
|
||||
@@ -48,7 +48,10 @@ jobs:
|
||||
displayName: Publish Completed Build Directory Archive Build Artifact
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)\$(CI_ENV_BUILD_TYPE).zip
|
||||
artifactName: $(CI_ENV_BUILD_TYPE)
|
||||
artifactName: Windows $(CI_ENV_BUILD_TYPE)
|
||||
- script: choco install innosetup --version 5.6.1.20190126 --allow-downgrade
|
||||
displayName: Ensure desired version of Inno Setup is installed.
|
||||
condition: eq(variables['CI_ENV_BUILD_TYPE'], 'Release')
|
||||
- script: build_installer.bat
|
||||
displayName: Build Installer
|
||||
condition: eq(variables['CI_ENV_BUILD_TYPE'], 'Release')
|
||||
@@ -57,13 +60,14 @@ jobs:
|
||||
condition: eq(variables['CI_ENV_BUILD_TYPE'], 'Release')
|
||||
inputs:
|
||||
pathtoPublish: build\installer-inno\bin
|
||||
artifactName: Release Installer
|
||||
artifactName: Windows Release Installer
|
||||
|
||||
- job: LinuxBuild
|
||||
displayName: Linux Build
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- script: sudo apt-get update -y
|
||||
- script: sudo apt-get install -y libxtst-dev qtdeclarative5-dev libavahi-compat-libdnssd-dev libcurl4-openssl-dev
|
||||
displayName: Install Dependencies
|
||||
- script: sh -x ./clean_build.sh
|
||||
@@ -73,10 +77,21 @@ jobs:
|
||||
displayName: Mac Build
|
||||
pool:
|
||||
vmImage: 'macOS-10.14'
|
||||
strategy:
|
||||
matrix:
|
||||
Release:
|
||||
B_BUILD_TYPE: Release
|
||||
BARRIER_VERSION_STAGE: Release
|
||||
steps:
|
||||
- script: brew update
|
||||
displayName: Update brew
|
||||
- script: brew install qt openssl
|
||||
displayName: Install Dependencies
|
||||
- script: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/aac86fc018c48d7b6f23a2e7535276899774567a/Formula/qt.rb
|
||||
displayName: Installed Pinned Qt
|
||||
- script: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/aac86fc018c48d7b6f23a2e7535276899774567a/Formula/openssl.rb
|
||||
displayName: Installed Pinned OpenSSL
|
||||
- script: sh -x ./clean_build.sh
|
||||
displayName: Clean Build
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: Publish Release DMG
|
||||
condition: eq(variables['B_BUILD_TYPE'], 'Release')
|
||||
inputs:
|
||||
pathtoPublish: build/bundle
|
||||
artifactName: Mac Release Disk Image and App
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
$qli_install_version = '2019.05.12.4'
|
||||
$qli_install_version = '2019.05.26.1'
|
||||
$qt_version = '5.12.3'
|
||||
|
||||
New-Item -Force -ItemType Directory -Path ".\deps\"
|
||||
@@ -21,5 +21,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/"
|
||||
python .\deps\qli-installer\qli-installer.py $qt_version windows desktop win64_msvc2017_64
|
||||
Write-Output 'Installed QT Installer'
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
cmake_minimum_required (VERSION 3.4)
|
||||
|
||||
set (BARRIER_VERSION_MAJOR 2)
|
||||
set (BARRIER_VERSION_MINOR 2)
|
||||
set (BARRIER_VERSION_PATCH 0)
|
||||
set (BARRIER_VERSION_MINOR 3)
|
||||
set (BARRIER_VERSION_PATCH 1)
|
||||
|
||||
#
|
||||
# Barrier Version
|
||||
|
||||
@@ -1,104 +1,83 @@
|
||||
name: barrier-kvm # the Barrier Snappy for Linux / not tested on MAC yet
|
||||
base: core18
|
||||
version: '2.2.0' # 03/2019
|
||||
summary: Eliminate the barrier between your machines.
|
||||
description: |
|
||||
Barrier is KVM software forked from Symless's synergy 1.9 codebase.
|
||||
Synergy was a commercialized reimplementation of the original
|
||||
CosmoSynergy written by Chris Schoeneman.
|
||||
version: master
|
||||
version-script: git describe --tags --long | 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
|
||||
icon: res/barrier.svg
|
||||
license: GPL-2.0
|
||||
|
||||
apps:
|
||||
barrier-kvm:
|
||||
barrier:
|
||||
command: desktop-launch barrier #first run might take longer
|
||||
plugs:
|
||||
gnome-3-26-1604:
|
||||
interface: content
|
||||
target: gnome-platform
|
||||
default-provider: gnome-3-26-1604:gnome-3-26-1604
|
||||
plugs: [gnome-3-26-1604]
|
||||
plugs: [x11]
|
||||
parts: [qt5conf]
|
||||
desktop: usr/share/applications/barrier.desktop
|
||||
common-id: com.github.debauchee.barrier
|
||||
plugs: &plugs
|
||||
- desktop
|
||||
- desktop-legacy
|
||||
- home
|
||||
- joystick
|
||||
- network
|
||||
- opengl
|
||||
- pulseaudio
|
||||
- screen-inhibit-control
|
||||
- unity7
|
||||
- wayland
|
||||
- x11
|
||||
barrierc:
|
||||
command: desktop-launch barrierc
|
||||
plugs: *plugs
|
||||
barriers:
|
||||
command: desktop-launch barriers
|
||||
plugs: *plugs
|
||||
|
||||
parts:
|
||||
desktop:
|
||||
plugin: nil
|
||||
source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
|
||||
desktop-qt5:
|
||||
source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
|
||||
source-subdir: qt
|
||||
plugin: make
|
||||
make-parameters: ["FLAVOR=qt5"]
|
||||
build-packages:
|
||||
- build-essential
|
||||
- qtbase5-dev
|
||||
- dpkg-dev
|
||||
stage-packages:
|
||||
- libxkbcommon0
|
||||
- ttf-ubuntu-font-family
|
||||
- dmz-cursor-theme
|
||||
- light-themes
|
||||
- adwaita-icon-theme
|
||||
- gnome-themes-standard
|
||||
- shared-mime-info
|
||||
- libqt5gui5
|
||||
- libgdk-pixbuf2.0-0
|
||||
- libqt5svg5 # for loading icon themes which are svg
|
||||
- try: [appmenu-qt5] # not available on core18
|
||||
- locales-all
|
||||
- xdg-user-dirs
|
||||
- fcitx-frontend-qt5
|
||||
qt5:
|
||||
source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
|
||||
source-subdir: qt
|
||||
plugin: make
|
||||
make-parameters: ["FLAVOR=qt5"]
|
||||
build-packages:
|
||||
- qtbase5-dev
|
||||
- dpkg-dev
|
||||
stage-packages:
|
||||
- libxkbcommon0
|
||||
- ttf-ubuntu-font-family
|
||||
- dmz-cursor-theme
|
||||
- light-themes
|
||||
- adwaita-icon-theme
|
||||
- gnome-themes-standard
|
||||
- shared-mime-info
|
||||
- libqt5gui5
|
||||
- libgdk-pixbuf2.0-0
|
||||
- libqt5svg5 # for loading icon themes which are svg
|
||||
- try: [appmenu-qt5] # not available on core18
|
||||
- locales-all
|
||||
barrier-kvm:
|
||||
source: https://github.com/payomagic/barrier.git
|
||||
|
||||
barrier:
|
||||
source: .
|
||||
plugin: cmake
|
||||
configflags:
|
||||
- "-DCMAKE_INSTALL_PREFIX=/usr"
|
||||
build-packages:
|
||||
- g++
|
||||
- gcc
|
||||
- make
|
||||
- xorg-dev
|
||||
- libcurl4-openssl-dev
|
||||
- libavahi-compat-libdnssd-dev
|
||||
- libssl-dev
|
||||
- libx11-dev
|
||||
- libqt4-dev
|
||||
- qtbase5-dev
|
||||
- qt5-style-plugins
|
||||
- qt5ct
|
||||
stage-packages:
|
||||
- libxinerama-dev
|
||||
- libxinerama1
|
||||
- libxrandr-dev
|
||||
- libxrandr2
|
||||
- libxrender-dev
|
||||
- libxrender1
|
||||
- libxtst-dev
|
||||
- qtdeclarative5-dev
|
||||
- libavahi-compat-libdnssd-dev
|
||||
- libqt5gui5
|
||||
- libavahi-common-dev
|
||||
- libqt5svg5-dev
|
||||
stage-packages:
|
||||
- libxinerama1
|
||||
- libxrandr2
|
||||
- libxrender1
|
||||
- libqt5gui5
|
||||
- libqt5x11extras5
|
||||
- libqt5svg5
|
||||
- libqt5svg5-dev
|
||||
- qt5ct
|
||||
- libxtst6
|
||||
- libavahi-client3
|
||||
- libavahi-common3
|
||||
- libavahi-compat-libdnssd1
|
||||
after: [desktop-qt5]
|
||||
|
||||
fix-icon:
|
||||
plugin: nil
|
||||
override-build:
|
||||
sed -i 's|Icon=barrier|Icon=/usr/share/icons/hicolor/scalable/apps/barrier.svg|' $SNAPCRAFT_STAGE/usr/share/applications/barrier.desktop
|
||||
after: [barrier]
|
||||
|
||||
appstream-flathub:
|
||||
plugin: dump
|
||||
source: https://github.com/flathub/com.github.debauchee.barrier.git
|
||||
parse-info: [com.github.debauchee.barrier.appdata.xml]
|
||||
|
||||
@@ -1104,6 +1104,7 @@ KeyMap::getDeadKey(KeyID key)
|
||||
case '`':
|
||||
return kKeyDeadGrave;
|
||||
|
||||
case '\'':
|
||||
case 0xb4u:
|
||||
return kKeyDeadAcute;
|
||||
|
||||
|
||||
@@ -1263,36 +1263,23 @@ OSXScreen::onKey(CGEventRef event)
|
||||
return true;
|
||||
}
|
||||
|
||||
// check for hot key. when we're on a secondary screen we disable
|
||||
// all hotkeys so we can capture the OS defined hot keys as regular
|
||||
// keystrokes but that means we don't get our own hot keys either.
|
||||
// so we check for a key/modifier match in our hot key map.
|
||||
if (!m_isOnScreen) {
|
||||
HotKeyToIDMap::const_iterator i =
|
||||
m_hotKeyToIDMap.find(HotKeyItem(virtualKey,
|
||||
m_keyState->mapModifiersToCarbon(macMask)
|
||||
& 0xff00u));
|
||||
if (i != m_hotKeyToIDMap.end()) {
|
||||
UInt32 id = i->second;
|
||||
|
||||
// determine event type
|
||||
Event::Type type;
|
||||
//UInt32 eventKind = GetEventKind(event);
|
||||
if (eventKind == kCGEventKeyDown) {
|
||||
type = m_events->forIPrimaryScreen().hotKeyDown();
|
||||
}
|
||||
else if (eventKind == kCGEventKeyUp) {
|
||||
type = m_events->forIPrimaryScreen().hotKeyUp();
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
|
||||
m_events->addEvent(Event(type, getEventTarget(),
|
||||
HotKeyInfo::alloc(id)));
|
||||
|
||||
return true;
|
||||
HotKeyToIDMap::const_iterator i = m_hotKeyToIDMap.find(HotKeyItem(virtualKey, m_keyState->mapModifiersToCarbon(macMask) & 0xff00u));
|
||||
if (i != m_hotKeyToIDMap.end()) {
|
||||
UInt32 id = i->second;
|
||||
// determine event type
|
||||
Event::Type type;
|
||||
//UInt32 eventKind = GetEventKind(event);
|
||||
if (eventKind == kCGEventKeyDown) {
|
||||
type = m_events->forIPrimaryScreen().hotKeyDown();
|
||||
}
|
||||
else if (eventKind == kCGEventKeyUp) {
|
||||
type = m_events->forIPrimaryScreen().hotKeyUp();
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
m_events->addEvent(Event(type, getEventTarget(), HotKeyInfo::alloc(id)));
|
||||
return true;
|
||||
}
|
||||
|
||||
// decode event type
|
||||
|
||||
Reference in New Issue
Block a user