Use Deskflow Name (#7519)

* Use Deskflow Name

* Remove business-oriented options from issue templates

* Remove business-oriented workflow

* Bump version to 3.0.0 (to avoid confusion with previously used version numbers 1.x & 2.x)

* Update readme to reflect new project name and goals

* Found some more "synergy" to rename

* Rename `synlib` to `app`

* Rename `syntool` to `deskflow-legacy`

* Rename `synwinhk` to `dfwhook`

* Rename dirs from synergy to deskflow

* Rename more "Synergy" files

* Rename app bundle ID

* Fixed copyright typo

* Rename only title in serial key dialog (to be moved downstream later)

* Preserve original serial key window for moving downstream

* Restore dialogs ready for moving downstream

* Rename `QDeskflowApplication` to `DeskflowApplication` (the Q is confusing)

* Restore Volker's original project name

* Fixed mimetype

* Fixed weird grammar

* Fixed (more) weird grammar

* Broken link, restoring (but we should move all links out of source)

* Broken link, restoring (but we should move all links out of source)

* Add write permission to valgrind-analysis.yml

* Restore AUR conflicts

* Apply Clang format

* Update ChangeLog

* Back out version change

---------

Co-authored-by: Nick Bolton <nick@symless.com>
This commit is contained in:
Chris Rizzitello
2024-09-17 15:00:25 -04:00
committed by GitHub
parent 1fa4b9631b
commit ed1217e9cc
839 changed files with 2872 additions and 3051 deletions

12
.github/FUNDING.yml vendored
View File

@ -1,12 +0,0 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: https://symless.com/synergy

View File

@ -1,59 +1,23 @@
name: Bug report
description: If you find a bug in Synergy, please let us know so we can fix it.
description: If you find a bug in Deskflow, please let us know so we can fix it.
labels: ["bug", "triage", "unanswered"]
body:
- type: markdown
attributes:
value: Thanks for taking the time to help us improve Synergy.
value: Thanks for taking the time to help us improve Deskflow.
- type: dropdown
id: user-type
id: project
attributes:
label: What type of Synergy user are you?
description: This will help us understand the context of your issue.
label: Project
description: Are you using Deskflow or a fork/derivative?
options:
# Empty option to force selection
-
- Customer
- Code contributor
- Community user
default: 0
validations:
required: true
- type: input
id: ticket-number
attributes:
label: Support ticket number (for customers)
description: |
If you have a support ticket number, please enter it here.
Customers are advised to open a support ticket first: https://symless.com/synergy/contact
This is for customers only (non-customers please ignore this field).
Leave this blank if you do not have a support ticket or if you're not a customer.
validations:
required: false
- type: checkboxes
id: discussion
attributes:
label: Discussion
description: |
Have you considered starting a discussion instead of reporting a bug?
options:
- label: I want to report a bug (I don't want to start a discussion)
required: true
- type: dropdown
id: product
attributes:
label: Product name
description: Which Synergy product are you using?
options:
# Empty option to force selection
-
- Synergy 1
- Synergy 2
- Synergy 3
- Deskflow
- Barrier
- Input Leap
- Synergy
default: 0
validations:
required: true
@ -61,8 +25,8 @@ body:
- type: input
id: version
attributes:
label: Synergy version number
description: You can find the Synergy version number on the about screen.
label: Deskflow version number
description: You can find the Deskflow version number on the about screen.
placeholder: 1.2.3
validations:
required: true
@ -75,7 +39,8 @@ body:
options:
- label: Windows
- label: macOS
- label: Linux or Unix
- label: Linux
- label: BSD-derived
- label: Other
validations:
required: true
@ -83,7 +48,7 @@ body:
- type: textarea
id: os-version
attributes:
label: OS versions or Linux distros
label: OS versions/distros
description: |
Please provide the version number of your operating system (OS).
If you're using Linux, please provide the name of the distribution.
@ -91,17 +56,18 @@ body:
- Windows 11
- macOS 15
- Ubuntu 24.04
- FreeBSD 14.0
validations:
required: true
- type: textarea
id: config
attributes:
label: Synergy configuration
label: Deskflow configuration
description: |
Please provide a very brief description of your configuration.
Let us know the OS of the server/host/primary and the OS of the client/guest/secondary.
This will help us understand how you're using Synergy.
This will help us understand how you're using Deskflow.
placeholder: |
- Windows 11 server, macOS 15 client
- Each computer has a single monitor
@ -118,7 +84,7 @@ body:
If you're not sure, please provide as much detail as possible.
This will help us understand the problem.
placeholder: |
1. Start Synergy
1. Start Deskflow
2. Click 'Configure Server'
3. Click 'Apply'
validations:
@ -143,6 +109,6 @@ body:
- Any ideas about what maybe causing the problem?
- Any workarounds that you've discovered?
- What other apps are you running?
- Does the issue stop you using Synergy entirely?
- Did restarting Synergy or the computer help?
- Does the issue stop you using Deskflow entirely?
- Did restarting Deskflow or the computer help?
- Anything else you can think of?

View File

@ -1,59 +1,23 @@
name: Feature request
description: Had an idea how to improve Synergy? Share it with us.
description: Had an idea how to improve Deskflow? Share it with us.
labels: ["enhancement", "triage", "unanswered"]
body:
- type: markdown
attributes:
value: Thanks for taking the time to help us improve Synergy.
value: Thanks for taking the time to help us improve Deskflow.
- type: dropdown
id: user-type
id: project
attributes:
label: What type of Synergy user are you?
description: This will help us understand the context of your issue.
label: Project
description: Are you using Deskflow or a fork/derivative?
options:
# Empty option to force selection
-
- Customer
- Code contributor
- Community user
default: 0
validations:
required: true
- type: input
id: ticket-number
attributes:
label: Support ticket number (for customers)
description: |
If you have a support ticket number, please enter it here.
Customers are advised to open a support ticket first: https://symless.com/synergy/contact
This is for customers only (non-customers please ignore this field).
Leave this blank if you do not have a support ticket or if you're not a customer.
validations:
required: false
- type: checkboxes
id: discussion
attributes:
label: Discussion
description: |
Have you considered starting a discussion instead of requesting a feature?
options:
- label: I want to request a feature (I don't want to start a discussion)
required: true
- type: dropdown
id: product
attributes:
label: Product name
description: Which Synergy product are you using?
options:
# Empty option to force selection
-
- Synergy 1
- Synergy 2
- Synergy 3
- Deskflow
- Barrier
- Input Leap
- Synergy
default: 0
validations:
required: true
@ -66,7 +30,8 @@ body:
options:
- label: Windows
- label: macOS
- label: Linux or Unix
- label: Linux
- label: BSD-derived
- label: Other
validations:
required: true
@ -74,7 +39,7 @@ body:
- type: textarea
id: os-version
attributes:
label: OS versions or Linux distros
label: OS versions/distros
description: |
Please provide the version number of your operating system (OS).
If you're using Linux, please provide the name of the distribution.
@ -82,17 +47,18 @@ body:
- Windows 11
- macOS 15
- Ubuntu 24.04
- FreeBSD 14.0
validations:
required: true
- type: textarea
id: config
attributes:
label: Synergy configuration
label: Deskflow configuration
description: |
Please provide a very brief description of your configuration.
Let us know the OS of the server/host/primary and the OS of the client/guest/secondary.
This will help us understand how you're using Synergy.
This will help us understand how you're using Deskflow.
placeholder: |
- Windows 11 server, macOS 15 client
- Each computer has a single monitor

View File

@ -7,9 +7,9 @@ runs:
steps:
- run: |
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
echo "SYNERGY_VERSION=${{ github.ref_name }}" >> $GITHUB_ENV
echo "DESKFLOW_VERSION=${{ github.ref_name }}" >> $GITHUB_ENV
fi
if [[ "${{ github.event.inputs.version }}" != "" ]]; then
echo "SYNERGY_VERSION=${{ github.event.inputs.version }}" >> $GITHUB_ENV
echo "DESKFLOW_VERSION=${{ github.event.inputs.version }}" >> $GITHUB_ENV
fi
shell: bash

View File

@ -123,6 +123,6 @@ jobs:
push: true
context: .
file: ./.github/docker/${{ matrix.os.config-dir }}/Dockerfile
tags: symless/synergy-core:${{ matrix.os.name }}
tags: deskflow/deskflow:${{ matrix.os.name }}
build-args: BASE_IMAGE=${{ matrix.os.base-image }}
platforms: linux/${{ matrix.os.platform }}

View File

@ -2,73 +2,73 @@
"distro": [
{
"name": "debian-13-amd64",
"container": "symless/synergy-core:debian-13-amd64",
"container": "deskflow/deskflow:debian-13-amd64",
"runs-on": "ubuntu-latest",
"extra-packages": true
},
{
"name": "debian-12-arm64",
"container": "symless/synergy-core:debian-12-arm64",
"container": "deskflow/deskflow:debian-12-arm64",
"runs-on": "ubuntu-24.04-8-core-arm64",
"extra-packages": true
},
{
"name": "debian-12-amd64",
"container": "symless/synergy-core:debian-12-amd64",
"container": "deskflow/deskflow:debian-12-amd64",
"runs-on": "ubuntu-latest",
"extra-packages": true
},
{
"name": "ubuntu-24.04-amd64",
"container": "symless/synergy-core:ubuntu-24.04-amd64",
"container": "deskflow/deskflow:ubuntu-24.04-amd64",
"runs-on": "ubuntu-latest",
"extra-dep-args": "--meson-no-system libportal --meson-static libportal --subprojects",
"extra-cmake-args": "-DSYSTEM_LIBPORTAL=OFF -DSTATIC_LIBPORTAL=ON"
},
{
"name": "ubuntu-22.04-amd64",
"container": "symless/synergy-core:ubuntu-22.04-amd64",
"container": "deskflow/deskflow:ubuntu-22.04-amd64",
"runs-on": "ubuntu-latest"
},
{
"name": "fedora-40-arm64",
"container": "symless/synergy-core:fedora-40-arm64",
"container": "deskflow/deskflow:fedora-40-arm64",
"runs-on": "ubuntu-24.04-8-core-arm64"
},
{
"name": "fedora-40-amd64",
"container": "symless/synergy-core:fedora-40-amd64",
"container": "deskflow/deskflow:fedora-40-amd64",
"runs-on": "ubuntu-latest"
},
{
"name": "fedora-39-amd64",
"container": "symless/synergy-core:fedora-39-amd64",
"container": "deskflow/deskflow:fedora-39-amd64",
"runs-on": "ubuntu-latest"
},
{
"name": "opensuse-amd64",
"container": "symless/synergy-core:opensuse-amd64",
"container": "deskflow/deskflow:opensuse-amd64",
"runs-on": "ubuntu-latest"
},
{
"name": "rockylinux-9-amd64",
"container": "symless/synergy-core:rockylinux-9-amd64",
"container": "deskflow/deskflow:rockylinux-9-amd64",
"runs-on": "ubuntu-latest"
},
{
"name": "almalinux-9-amd64",
"container": "symless/synergy-core:almalinux-9-amd64",
"container": "deskflow/deskflow:almalinux-9-amd64",
"runs-on": "ubuntu-latest"
},
{
"name": "archlinux-amd64",
"container": "symless/synergy-core:archlinux-amd64",
"container": "deskflow/deskflow:archlinux-amd64",
"runs-on": "ubuntu-latest",
"package-user": "build"
},
{
"name": "manjaro-amd64",
"container": "symless/synergy-core:manjaro-amd64",
"container": "deskflow/deskflow:manjaro-amd64",
"runs-on": "ubuntu-latest",
"package-user": "build"
}

View File

@ -8,7 +8,7 @@ on:
workflow_dispatch:
inputs:
version:
description: Synergy version number
description: Deskflow version number
pull_request:
types:
- opened
@ -20,10 +20,10 @@ on:
env:
GIT_SHA: ${{ github.sha }}
SYNERGY_PRODUCT_NAME: ${{ vars.SYNERGY_PRODUCT_NAME }}
SYNERGY_PACKAGE_PREFIX: ${{ vars.SYNERGY_PACKAGE_PREFIX }}
SYNERGY_LICENSED_PRODUCT: ${{ vars.SYNERGY_LICENSED_PRODUCT }}
SYNERGY_ENABLE_ACTIVATION: ${{ vars.SYNERGY_ENABLE_ACTIVATION }}
DESKFLOW_PRODUCT_NAME: ${{ vars.DESKFLOW_PRODUCT_NAME }}
DESKFLOW_PACKAGE_PREFIX: ${{ vars.DESKFLOW_PACKAGE_PREFIX }}
DESKFLOW_LICENSED_PRODUCT: ${{ vars.DESKFLOW_LICENSED_PRODUCT }}
DESKFLOW_ENABLE_ACTIVATION: ${{ vars.DESKFLOW_ENABLE_ACTIVATION }}
PACKAGE_BUILD: ${{ !github.event.pull_request.draft }}
PACKAGE_UPLOAD: ${{ !github.event.pull_request.draft && github.ref_name != 'master' }}
UPLOAD_TO_GITHUB: ${{ github.event_name == 'pull_request' && !github.event.pull_request.draft }}
@ -126,11 +126,11 @@ jobs:
with:
use_github: ${{ env.UPLOAD_TO_GITHUB }}
use_gdrive: ${{ env.UPLOAD_TO_GDRIVE }}
github-target-filename: "${{ env.SYNERGY_PACKAGE_PREFIX }}-${{ matrix.target.name }}"
github-target-filename: "${{ env.DESKFLOW_PACKAGE_PREFIX }}-${{ matrix.target.name }}"
gdrive-target-base-dir: ${{ vars.GDRIVE_TARGET_BASE_DIR }}
gdrive-secret-key: ${{ secrets.GOOGLE_DRIVE_KEY }}
gdrive-parent-folder-id: ${{ secrets.GOOGLE_DRIVE_TECH_DRIVE }}
package-version: ${{ env.SYNERGY_VERSION }}
package-version: ${{ env.DESKFLOW_VERSION }}
macos:
needs: setup
@ -213,11 +213,11 @@ jobs:
with:
use_github: ${{ env.UPLOAD_TO_GITHUB }}
use_gdrive: ${{ env.UPLOAD_TO_GDRIVE }}
github-target-filename: "${{ env.SYNERGY_PACKAGE_PREFIX }}-${{ matrix.target.name }}"
github-target-filename: "${{ env.DESKFLOW_PACKAGE_PREFIX }}-${{ matrix.target.name }}"
gdrive-target-base-dir: ${{ vars.GDRIVE_TARGET_BASE_DIR }}
gdrive-secret-key: ${{ secrets.GOOGLE_DRIVE_KEY }}
gdrive-parent-folder-id: ${{ secrets.GOOGLE_DRIVE_TECH_DRIVE }}
package-version: ${{ env.SYNERGY_VERSION }}
package-version: ${{ env.DESKFLOW_VERSION }}
linux-matrix:
runs-on: ubuntu-latest
@ -298,11 +298,11 @@ jobs:
with:
use_github: ${{ env.UPLOAD_TO_GITHUB }}
use_gdrive: ${{ env.UPLOAD_TO_GDRIVE }}
github-target-filename: "${{ env.SYNERGY_PACKAGE_PREFIX }}-${{ matrix.distro.name }}"
github-target-filename: "${{ env.DESKFLOW_PACKAGE_PREFIX }}-${{ matrix.distro.name }}"
gdrive-target-base-dir: ${{ vars.GDRIVE_TARGET_BASE_DIR }}
gdrive-secret-key: ${{ secrets.GOOGLE_DRIVE_KEY }}
gdrive-parent-folder-id: ${{ secrets.GOOGLE_DRIVE_TECH_DRIVE }}
package-version: ${{ env.SYNERGY_VERSION }}
package-version: ${{ env.DESKFLOW_VERSION }}
# Technically, "unix" is a misnomer, but we use it here to mean "Unix-like BSD-derived".
unix:
@ -312,7 +312,7 @@ jobs:
timeout-minutes: 20
env:
SYNERGY_BUILD_CMD: |
DESKFLOW_BUILD_CMD: |
./scripts/install_deps.sh;
cmake -B build;
cmake --build build -j16;
@ -336,4 +336,4 @@ jobs:
uses: vmactions/freebsd-vm@v1
with:
usesh: true
run: ${{ env.SYNERGY_BUILD_CMD }}
run: ${{ env.DESKFLOW_BUILD_CMD }}

View File

@ -17,7 +17,7 @@ jobs:
name: Analyze
runs-on: ${{ vars.CODEQL_RUNNER || 'ubuntu-24.04' }}
container: symless/synergy-core:ubuntu-24.04-amd64
container: deskflow/deskflow:ubuntu-24.04-amd64
timeout-minutes: 20
strategy:

View File

@ -1,63 +0,0 @@
name: Check if tech support issue
on:
issues:
types: [opened]
workflow_dispatch:
inputs:
issue_number:
description: "Issue number"
required: true
issue_body:
description: "Issue body"
required: true
jobs:
issue-check-support:
runs-on: ubuntu-latest
env:
ISSUE_BODY: ${{ github.event.issue.body || github.event.inputs.issue_body }}
ISSUE_NUMBER: ${{ github.event.issue.number || github.event.inputs.issue_number }}
steps:
- name: Add comment for customer
env:
CUSTOMER_PATTERN: What type of Synergy user are you\?\s*Customer
NO_TICKET_PATTERN: Support ticket number \(for customers\)\s*_No response_
COMMENT_BODY: |
Hello! :wave: As a customer, you're entitled to tech support which is included in your
license at no extra cost.
Please [raise a support ticket](https://symless.com/synergy/contact) if you'd like to
take advantage of that.
If that works for you, then please let us know your ticket number so we can continue
the discussion there. Thanks!
uses: actions/github-script@v6
with:
script: |
const issueNumber = process.env.ISSUE_NUMBER;
const issueBody = process.env.ISSUE_BODY;
const customerPattern = new RegExp(process.env.CUSTOMER_PATTERN);
const noTicketPattern = new RegExp(process.env.NO_TICKET_PATTERN);
const isCustomer = customerPattern.test(issueBody);
const noTicket = noTicketPattern.test(issueBody);
if (!isCustomer) {
console.log('Not a customer');
return;
}
if (!noTicket) {
console.log('Already has a ticket');
return;
}
// Strip newlines, since GitHub comments are not markdown.
const commentBody = process.env.COMMENT_BODY.replace(/\n/g, ' ');
console.log('Adding comment to issue:', issueNumber);
github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
body: commentBody
});

View File

@ -16,7 +16,7 @@ jobs:
if: ${{ vars.SONAR_SCANNER_ENABLED }}
runs-on: ${{ vars.SONAR_SCANNER_RUNNER || 'ubuntu-24.04' }}
container: symless/synergy-core:ubuntu-22.04-amd64
container: deskflow/deskflow:ubuntu-22.04-amd64
timeout-minutes: 20
env:
@ -101,7 +101,7 @@ jobs:
export PATH=$HOME/.sonar/sonar-scanner-$SONAR_SCANNER_VERSION-linux-x64/bin:$PATH
sonar-scanner \
-Dsonar.organization=symless \
-Dsonar.projectKey=symless_synergy-core \
-Dsonar.projectKey=deskflow_deskflow \
-Dsonar.sources=scripts,src/cmd,src/gui,src/lib \
-Dsonar.tests=src/test \
-Dsonar.exclusions=subprojects/**,build/** \

View File

@ -12,9 +12,12 @@ on:
jobs:
valgrind-analysis:
runs-on: ubuntu-latest
container: symless/synergy-core:ubuntu-22.04-amd64
container: deskflow/deskflow:ubuntu-22.04-amd64
timeout-minutes: 10
permissions:
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v4

2
.gitignore vendored
View File

@ -12,7 +12,7 @@ aqtinstall.log
Brewfile.lock.json
# typical developer-created files
synergy-config.toml
deskflow-config.toml
.vscode
.DS_Store
*.code-workspace

6
.vscode/tasks.json vendored
View File

@ -50,13 +50,13 @@
"label": "clean-config",
"type": "shell",
"linux": {
"command": "rm -r ~/.config/Synergy/Synergy.conf"
"command": "rm -r ~/.config/Deskflow/Deskflow.conf"
},
"windows": {
"command": "remove-item -recurse $env:APPDATA\\Synergy\\Synergy"
"command": "remove-item -recurse $env:APPDATA\\Deskflow\\Deskflow"
},
"osx": {
"command": "rm -r ~/Library/Application\\ Support/Synergy/Synergy"
"command": "rm -r ~/Library/Application\\ Support/Deskflow/Deskflow"
}
},
{

View File

@ -1,12 +1,12 @@
# Build Synergy
# Build Deskflow
## Developer Quick Start
Synergy 1 Community Edition is free and open source software, and anyone is welcome to build it,
Deskflow is free and open source software, and anyone is welcome to build it,
run it, tinker with it, redistribute it as part of their own app, etc.
These instructions will build Synergy 1 Community Edition, which doesn't require a license
or serial key. Check the [Build Guide](https://github.com/symless/synergy/wiki/Build-Guide)
These instructions will build Deskflow, which doesn't require a license
or serial key. Check the [Build Guide](https://github.com/deskflow/deskflow/wiki/Build-Guide)
wiki page if you have problems.
**1. Dependencies:**
@ -46,5 +46,5 @@ cmake --build build -j8
**5. Run**
```
./build/bin/synergy
./build/bin/deskflow
```

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
# Copyright (C) 2009 Nick Bolton
#
@ -15,7 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
cmake_minimum_required(VERSION 3.5)
project(synergy C CXX)
project(deskflow C CXX)
include(cmake/Version.cmake)
include(cmake/Definitions.cmake)

View File

@ -13,7 +13,7 @@
"name": "minimal",
"hidden": true,
"environment": {
"SYNERGY_BUILD_MINIMAL": "ON"
"DESKFLOW_BUILD_MINIMAL": "ON"
}
},
{

View File

@ -1,12 +1,12 @@
# Contributing to Synergy
# Contributing to Deskflow
Hello future community member!
Synergy 1 Community Edition is free and open source software, and anyone is welcome to build it,
Deskflow is free and open source software, and anyone is welcome to build it,
run it, tinker with it, redistribute it as part of their own app, etc.
See our wiki page on [contributing](https://github.com/symless/synergy/wiki/Contributing) for more
See our wiki page on [contributing](https://github.com/deskflow/deskflow/wiki/Contributing) for more
information. We look forward to reviewing your PR!
Thanks,
The Synergy community
The Deskflow community

View File

@ -1,3 +1,7 @@
# v?
- #7519 Rename project to Deskflow (was Synergy Community Edition)
# 1.16.1
Enhancements:

View File

@ -32,7 +32,7 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places.
# The default value is: My Project.
PROJECT_NAME = Synergy
PROJECT_NAME = Deskflow
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
@ -51,7 +51,7 @@ PROJECT_BRIEF =
# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
# the logo to the output directory.
PROJECT_LOGO = res/synergy.svg
PROJECT_LOGO = res/deskflow.svg
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
# into which the generated documentation will be written. If a relative path is

142
README.md
View File

@ -9,49 +9,45 @@
> 🚀 Deskflow is now the upstream project for Synergy.
>
> The project has been renamed to draw a line between the community-run project (now Deskflow),
> and the commercially licensed product, Synergy (a mix of open source and proprietary).
> and the commercially licensed product, Synergy.
>
> We are currently in the process of renaming the project to Deskflow and moving all licensing code downstream.
> We are currently in the process of renaming the project to Deskflow and moving all licensing code
> downstream.
>
> Hold on to your butts, this is going to be a hell of a ride.
>
> [Join the discussion](https://github.com/deskflow/deskflow/discussions/7476)
> [Join the discussion](https://github.com/deskflow/deskflow/discussions/7517)
[![GitHub Release](https://img.shields.io/github/v/release/deskflow/deskflow?display_name=release&label=latest%20version)](https://github.com/deskflow/deskflow/releases)
[![GitHub commit activity](https://img.shields.io/github/commit-activity/m/deskflow/deskflow)](https://github.com/deskflow/deskflow/commits/master/)
[![GitHub License](https://img.shields.io/github/license/deskflow/deskflow)](LICENSE)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=symless_synergy-core&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=symless_synergy-core)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=deskflow_deskflow&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=deskflow_deskflow)
[![CI](https://github.com/deskflow/deskflow/actions/workflows/ci.yml/badge.svg)](https://github.com/deskflow/deskflow/actions/workflows/ci.yml)
[![CodeQL Analysis](https://github.com/deskflow/deskflow/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/deskflow/deskflow/actions/workflows/codeql-analysis.yml)
[![SonarCloud Analysis](https://github.com/deskflow/deskflow/actions/workflows/sonarcloud-analysis.yml/badge.svg)](https://github.com/deskflow/deskflow/actions/workflows/sonarcloud-analysis.yml)
[![Build containers](https://github.com/deskflow/deskflow/actions/workflows/build-containers.yml/badge.svg)](https://github.com/deskflow/deskflow/actions/workflows/build-containers.yml)
[Synergy](https://symless.com/synergy) is a keyboard and mouse sharing app.
Use the keyboard, mouse, or trackpad of one computer to control nearby computers,
**Deskflow** is a free and open source keyboard and mouse sharing app.
Use the keyboard, mouse, or trackpad of one computer to control nearby computers,
and work seamlessly between them.
This project contains the source code for _Synergy 1 Community Edition_ which is actively
maintained.
Synergy 1 Community Edition is free and open source software, and anyone is welcome to build it,
run it, tinker with it, redistribute it as part of their own app, etc.
**Wayland support:** Experimental support in
[Synergy v1.16](https://github.com/deskflow/deskflow/releases/tag/1.16.0-beta%2Br2)
[Deskflow v1.16](https://github.com/deskflow/deskflow/releases/tag/1.16.0-beta%2Br2)
(required >= GNOME 46 or KDE Plasma 6.1).
![Synergy 1 Community Edition](https://github.com/user-attachments/assets/faf5bd69-336c-4bd0-ace3-e911f199d961)
![Deskflow](https://github.com/user-attachments/assets/faf5bd69-336c-4bd0-ace3-e911f199d961)
To use the community edition, we encourage you to build it yourself using the [Build Quick Start](#build-quick-start)
instructions below or you can install the `synergy` package with your [favorite package manager](#how-to-install-packages)
(please note that some package managers have older versions and need to be updated).
To use Deskflow you can follow the [Build Quick Start](#build-quick-start),
use one of our packages, or if it's available by your favorite package repository,
install `deskflow` (see: [installing packages](#how-to-install-packages)).
## Goals and Philosophy
## Project values
Version 1.15 brings a [new philosophy](https://github.com/deskflow/deskflow/discussions/7476)
of being more approachable to the open source community instead of wholly focusing on commercial interests.
We still have customers to finance the development of the code, but we are committed to
maintaining and improving Synergy 1 Community Edition for years to come and we're excited to work
with our community of open source users to improve the code for the benefit of everyone.
- Motivated by the community interests (not business-driven)
- Privacy by default (no update check or phone home on by default)
- Nothing customer-related (this is all moved downstream to Synergy)
- Have fun; we don't need to worry about impressing anyone
## Ways to get involved
@ -62,16 +58,14 @@ Here are a few ways to join in with the project and get involved:
## Build Quick Start
Synergy 1 Community Edition is free and open source software, and anyone is welcome to build it,
run it, tinker with it, redistribute it as part of their own app, etc.
> [!TIP]
> These instructions will build Synergy 1 Community Edition, which doesn't require a license
> or serial key. Check the [Build Guide](https://github.com/deskflow/deskflow/wiki/Build-Guide)
> Check the [Build Guide](https://github.com/deskflow/deskflow/wiki/Build-Guide)
> wiki page if you have problems.
**1. Dependencies:**
You can either copy/paste the command from [config.yaml] or use the script.
*Linux, macOS, or BSD-derived:*
```
./scripts/install_deps.sh
@ -107,50 +101,42 @@ cmake --build build -j8
**5. Run**
```
./build/bin/synergy
./build/bin/deskflow
```
## How to install (packages)
Synergy 1 Community Edition is packaged by the community (status shown below).
Synergy 2 is no longer in development and we recommend that package maintainers do not provide it.
Synergy 3 and Synergy 1 (licensed) are available to download from the
[official packages](https://symless.com/synergy/download).
**Community edition:**
*macOS:*
*(coming soon)*
```
brew install synergy
brew install deskflow
```
*Fedora, Red Hat, etc:*
*(coming soon)*
```
sudo dnf install synergy
sudo dnf install deskflow
```
*Debian, Ubuntu, etc:*
*(temporarily broken)*
*(coming soon)*
```
sudo apt install synergy
sudo apt install deskflow
```
*Arch, Manjaro, etc:*
*(temporarily broken)*
*(coming soon)*
```
sudo pacman -S synergy
sudo pacman -S deskflow
```
*Windows:*
*(very outdated)*
*(coming soon)*
```
choco install synergy
choco install deskflow
```
**Note:** Some packages are temporarily broken. We have reached out to the package maintainers to
resolve this. If you're a package maintainer and have a question, please let us know.
**Note:** We are working with package maintainers to have our new package name adopted.
## Operating Systems
@ -161,67 +147,26 @@ Debian, Ubuntu, Linux Mint, Fedora, RHEL, AlmaLinux, Rocky Linux, Arch Linux, op
We officially support FreeBSD, and would also like to support: OpenBSD, NetBSD, DragonFly, Solaris.
## Package Maintainers
Synergy is already available through most package managers as `synergy`, and we would love to see
the latest version of Synergy 1 Community Edition on every package manager for every OS we support
(Windows, macOS, Linux, Unix-like BSD-derived, etc).
Package maintainers can use `scripts/package.py` to see how we build packages.
Feel free to contact us if you have any questions about packaging Synergy.
Current packages:
- [Fedora](https://packages.fedoraproject.org/pkgs/synergy/synergy/)
- [Arch Linux](https://aur.archlinux.org/packages/synergy)
- [FreeBSD](https://www.freshports.org/sysutils/synergy)
- [Homebrew](https://formulae.brew.sh/formula/synergy-core#default)
- [Gentoo](https://packages.gentoo.org/packages/x11-misc/synergy)
Very outdated packages:
- [Chocolatey](https://community.chocolatey.org/packages/synergy)
- [openSUSE](https://build.opensuse.org/package/show/openSUSE:Factory/synergy)
Broken packages:
- [Ubuntu](https://launchpad.net/ubuntu/+source/synergy)
- [Debian](https://tracker.debian.org/pkg/synergy)
It appears that the `synergy` package has been removed or discontinued from some package repositories.
That's a bit sad. If you're a package maintainer, please let us know if you have any questions.
## Similar Projects
* [Lan Mouse](https://github.com/feschber/lan-mouse) - A Rust implementation with the goal of
having native front-ends and interoperability with Synergy.
* [Input Leap](https://github.com/input-leap/input-leap) - A Synergy-derivative with the goal
of continuing what Barrier started (a now dead Synergy fork).
having native front-ends and interoperability with Deskflow.
* [Input Leap](https://github.com/input-leap/input-leap) - A Deskflow-derivative with the goal
of continuing what Barrier started (a now dead Deskflow fork).
## FAQ
### Is Synergy compatible with Lan Mouse or Input Leap?
### Is Deskflow compatible with Lan Mouse or Input Leap?
We would love to see compatibility between our fellow open source projects, Lan Mouse and
Input Leap. This idea is discussed from time in the communities for all of our projects,
so it may happen in the not-too-distant future.
### Has Synergy moved beyond its goals from the 1.x era?
Our goal for Synergy 1 (including the community edition) has always been and will always be to
make a simple, reliable, and feature-rich mouse and keyboard-sharing tool. We do maintain another
product called Synergy 3, but as this uses Synergy 1 Core (the server and client part of Synergy),
we depend on Synergy 1 to remain stable and modern which is why we continue to develop and improve
the product.
### If I want to solve issues in Synergy do I need to contribute to a fork?
### If I want to solve issues in Deskflow do I need to contribute to a fork?
We welcome PRs (pull requests) from the community. If you'd like to make a change, please feel
free to [start a discussion](https://github.com/deskflow/deskflow/discussions) or
[open a PR](https://github.com/deskflow/deskflow/wiki/Contributing).
It's great that people spin up re-branded forks of Synergy, power to them. However, it's not
necessary if you want to make changes.
If you're thinking of starting your own re-branded fork of Synergy, it might be because we're
doing something wrong so please
[let us know](https://github.com/deskflow/deskflow/wiki/Contact-the-team) what we can do to let
you feel welcome in our community.
### Is clipboard sharing supported?
@ -234,15 +179,14 @@ Yes! Wayland (the Linux display server protocol aimed to become the successor of
System) is an important platform for us.
The [`libei`](https://gitlab.freedesktop.org/libinput/libei) and
[`libportal`](https://github.com/flatpak/libportal) libraries enable
Wayland support for Synergy. We would like to give special thanks to Peter Hutterer (@whot),
Wayland support for Deskflow. We would like to give special thanks to Peter Hutterer,
who is the author of `libei`, a major contributor to `libportal`, and the author of the Wayland
implementation in Synergy. Others such as Olivier Fourdan helped with the Wayland implementation,
and we rely on the work of our community of developers to continue the development of Wayland
support.
implementation in Deskflow. Others such as Olivier Fourdan and Povilas Kanapickas helped with the
Wayland implementation.
### Where did it all start?
Synergy was first created in 2001 by Chris Schoeneman.
Deskflow was first created as Synergy in 2001 by Chris Schoeneman.
Read about the [history of the project](https://github.com/deskflow/deskflow/wiki/History) on our
wiki.
@ -251,7 +195,7 @@ wiki.
Repology monitors a huge number of package repositories and other sources comparing package
versions across them and gathering other information.
[![Repology](https://repology.org/badge/vertical-allrepos/synergy.svg?exclude_unsupported=1)](https://repology.org/project/synergy/versions)
[![Repology](https://repology.org/badge/vertical-allrepos/deskflow.svg?exclude_unsupported=1)](https://repology.org/project/deskflow/versions)
## License

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or
@ -26,7 +26,7 @@ macro(post_config)
# Build to a temp bin dir on Windows and then copy to the final bin dir
# (ignore copy fail). It is neccesary to do this. Since the binary may already
# be running and you can't write to a running binary (on Windows). It's common
# to use Synergy to develop Synergy (i.e. eating your own dog food immediately
# to use Deskflow to develop Deskflow (i.e. eating your own dog food immediately
# making it).
if(WIN32)
@ -60,10 +60,10 @@ macro(post_config_all)
add_dependencies(
run_post_build
synergy
synergyc
synergys
synergyd)
deskflow
deskflowc
deskflows
deskflowd)
endif()
endmacro()

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2012-2024 Symless Ltd.
# Copyright (C) 2009-2012 Nick Bolton
#
@ -36,7 +36,7 @@ macro(configure_definitions)
if("${VERSION_URL}" STREQUAL "")
set(VERSION_URL "https://api.symless.com/version?version=v1")
endif()
add_definitions(-DSYNERGY_VERSION_URL="${VERSION_URL}")
add_definitions(-DDESKFLOW_VERSION_URL="${VERSION_URL}")
if(NOT "$ENV{GIT_SHA}" STREQUAL "")
# Shorten the Git SHA to 8 chars for readability
@ -45,25 +45,25 @@ macro(configure_definitions)
add_definitions(-DGIT_SHA_SHORT="${GIT_SHA_SHORT}")
endif()
if(NOT "$ENV{SYNERGY_PRODUCT_NAME}" STREQUAL "")
set(PRODUCT_NAME $ENV{SYNERGY_PRODUCT_NAME})
if(NOT "$ENV{DESKFLOW_PRODUCT_NAME}" STREQUAL "")
set(PRODUCT_NAME $ENV{DESKFLOW_PRODUCT_NAME})
endif()
if(LICENSED_PRODUCT)
message(STATUS "Licensed product")
add_definitions(-DSYNERGY_LICENSED_PRODUCT=1)
add_definitions(-DDESKFLOW_LICENSED_PRODUCT=1)
if(ENABLE_ACTIVATION)
message(STATUS "Activation enabled")
add_definitions(-DSYNERGY_ENABLE_ACTIVATION=1)
add_definitions(-DDESKFLOW_ENABLE_ACTIVATION=1)
endif()
else()
set(PRODUCT_NAME "Synergy 1 Community Edition")
set(PRODUCT_NAME "Deskflow")
endif()
if(PRODUCT_NAME)
message(STATUS "Product name: ${PRODUCT_NAME}")
add_definitions(-DSYNERGY_PRODUCT_NAME="${PRODUCT_NAME}")
add_definitions(-DDESKFLOW_PRODUCT_NAME="${PRODUCT_NAME}")
endif()
if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
@ -120,28 +120,28 @@ macro(configure_options)
# by default, show the dev thanks message, guides contributions, etc.
set(DEFAULT_SHOW_DEV_THANKS ON)
if("$ENV{SYNERGY_BUILD_MINIMAL}" STREQUAL "true")
if("$ENV{DESKFLOW_BUILD_MINIMAL}" STREQUAL "true")
set(DEFAULT_BUILD_GUI OFF)
set(DEFAULT_BUILD_INSTALLER OFF)
endif()
if("$ENV{SYNERGY_BUILD_TESTS}" STREQUAL "false")
if("$ENV{DESKFLOW_BUILD_TESTS}" STREQUAL "false")
set(DEFAULT_BUILD_TESTS OFF)
endif()
if("$ENV{SYNERGY_BUILD_UNIFIED}" STREQUAL "true")
if("$ENV{DESKFLOW_BUILD_UNIFIED}" STREQUAL "true")
set(DEFAULT_BUILD_UNIFIED ON)
endif()
if("$ENV{SYNERGY_ENABLE_ACTIVATION}" STREQUAL "true")
if("$ENV{DESKFLOW_ENABLE_ACTIVATION}" STREQUAL "true")
set(DEFAULT_ENABLE_ACTIVATION ON)
endif()
if("$ENV{SYNERGY_LICENSED_PRODUCT}" STREQUAL "true")
if("$ENV{DESKFLOW_LICENSED_PRODUCT}" STREQUAL "true")
set(DEFAULT_LICENSED_PRODUCT ON)
endif()
if("$ENV{SYNERGY_ENABLE_COVERAGE}" STREQUAL "true")
if("$ENV{DESKFLOW_ENABLE_COVERAGE}" STREQUAL "true")
set(DEFAULT_ENABLE_COVERAGE ON)
endif()

View File

@ -463,7 +463,7 @@ macro(configure_windows_libs)
/DWIN32
/D_WINDOWS
/D_CRT_SECURE_NO_WARNINGS
/DSYNERGY_VERSION=\"${SYNERGY_VERSION}\"
/DDESKFLOW_VERSION=\"${DESKFLOW_VERSION}\"
/D_XKEYCHECK_H)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/res/win/version.rc.in
@ -527,7 +527,7 @@ macro(configure_gtest)
# Arch Linux package maintainers:
# We do care about not bundling libs and didn't mean to cause upset. We made some mistakes
# and we're trying to put that right.
# The comment "They BUNDLE a fucking zip for cryptopp" in synergy.git/PKGBUILD is only
# The comment "They BUNDLE a fucking zip for cryptopp" in deskflow.git/PKGBUILD is only
# relevant to a very version of old the code, so the comment should probably be removed.
# If there are any problems like this in future, please do feel free send us a patch! :)
option(SYSTEM_GTEST "Use system GoogleTest" ${DEFAULT_SYSTEM_GTEST})

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2012-2024 Symless Ltd.
# Copyright (C) 2009-2012 Nick Bolton
#
@ -20,8 +20,8 @@
macro(configure_packaging)
if(${BUILD_INSTALLER})
set(CPACK_PACKAGE_NAME "synergy")
set(CPACK_PACKAGE_CONTACT "Synergy <support@symless.com>")
set(CPACK_PACKAGE_NAME "deskflow")
set(CPACK_PACKAGE_CONTACT "Deskflow <support@symless.com>")
set(CPACK_PACKAGE_DESCRIPTION "Mouse and keyboard sharing utility")
set(CPACK_PACKAGE_VENDOR "Symless")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
@ -50,7 +50,7 @@ macro(configure_windows_packaging)
message(STATUS "Configuring Windows installer")
set(CPACK_PACKAGE_VERSION ${SYNERGY_VERSION_MS})
set(CPACK_PACKAGE_VERSION ${DESKFLOW_VERSION_MS})
set(QT_PATH $ENV{CMAKE_PREFIX_PATH})
configure_files(${CMAKE_CURRENT_SOURCE_DIR}/res/dist/wix
@ -65,17 +65,17 @@ macro(configure_macos_packaging)
message(STATUS "Configuring macOS app bundle")
set(CPACK_PACKAGE_VERSION ${SYNERGY_VERSION})
set(CPACK_PACKAGE_VERSION ${DESKFLOW_VERSION})
set(CMAKE_INSTALL_RPATH
"@loader_path/../Libraries;@loader_path/../Frameworks")
set(SYNERGY_BUNDLE_SOURCE_DIR
set(DESKFLOW_BUNDLE_SOURCE_DIR
${CMAKE_CURRENT_SOURCE_DIR}/res/dist/macos/bundle)
set(SYNERGY_BUNDLE_DIR ${CMAKE_BINARY_DIR}/bundle)
set(SYNERGY_BUNDLE_APP_DIR ${SYNERGY_BUNDLE_DIR}/Synergy.app)
set(SYNERGY_BUNDLE_BINARY_DIR ${SYNERGY_BUNDLE_APP_DIR}/Contents/MacOS)
set(DESKFLOW_BUNDLE_DIR ${CMAKE_BINARY_DIR}/bundle)
set(DESKFLOW_BUNDLE_APP_DIR ${DESKFLOW_BUNDLE_DIR}/Deskflow.app)
set(DESKFLOW_BUNDLE_BINARY_DIR ${DESKFLOW_BUNDLE_APP_DIR}/Contents/MacOS)
configure_files(${SYNERGY_BUNDLE_SOURCE_DIR} ${SYNERGY_BUNDLE_DIR})
configure_files(${DESKFLOW_BUNDLE_SOURCE_DIR} ${DESKFLOW_BUNDLE_DIR})
endmacro()
@ -86,10 +86,10 @@ macro(configure_linux_packaging)
message(STATUS "Configuring Linux packaging")
set(CPACK_PACKAGE_VERSION ${SYNERGY_VERSION_LINUX})
set(CPACK_PACKAGE_VERSION ${DESKFLOW_VERSION_LINUX})
set(CPACK_GENERATOR "DEB;RPM;TGZ")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Synergy <developers@symless.com>")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Deskflow <developers@symless.com>")
set(CPACK_DEBIAN_PACKAGE_SECTION "utils")
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
@ -108,8 +108,8 @@ macro(configure_linux_packaging)
# apps install to.
set(CMAKE_INSTALL_PREFIX /usr)
install(FILES res/dist/linux/synergy.desktop DESTINATION share/applications)
install(FILES res/synergy.png DESTINATION share/pixmaps)
install(FILES res/dist/linux/deskflow.desktop DESTINATION share/applications)
install(FILES res/deskflow.png DESTINATION share/pixmaps)
# Prepare PKGBUILD for Arch Linux
configure_file(res/dist/arch/PKGBUILD.in ${CMAKE_BINARY_DIR}/PKGBUILD @ONLY)

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2012-2024 Symless Ltd.
# Copyright (C) 2009-2012 Nick Bolton
#
@ -18,20 +18,20 @@
# On Windows, we also set a special 4-digit MSI version number.
macro(set_version)
set(SYNERGY_VERSION $ENV{SYNERGY_VERSION})
string(STRIP "${SYNERGY_VERSION}" SYNERGY_VERSION)
set(DESKFLOW_VERSION $ENV{DESKFLOW_VERSION})
string(STRIP "${DESKFLOW_VERSION}" DESKFLOW_VERSION)
if(NOT SYNERGY_VERSION)
file(READ "${CMAKE_SOURCE_DIR}/VERSION" SYNERGY_VERSION)
string(STRIP "${SYNERGY_VERSION}" SYNERGY_VERSION)
if(NOT DESKFLOW_VERSION)
file(READ "${CMAKE_SOURCE_DIR}/VERSION" DESKFLOW_VERSION)
string(STRIP "${DESKFLOW_VERSION}" DESKFLOW_VERSION)
endif()
message(STATUS "Version number (semver): " ${SYNERGY_VERSION})
add_definitions(-DSYNERGY_VERSION="${SYNERGY_VERSION}")
message(STATUS "Version number (semver): " ${DESKFLOW_VERSION})
add_definitions(-DDESKFLOW_VERSION="${DESKFLOW_VERSION}")
# Useful for copyright (e.g. in macOS bundle .plist.in and Windows version .rc
# file)
string(TIMESTAMP SYNERGY_BUILD_YEAR "%Y")
string(TIMESTAMP DESKFLOW_BUILD_YEAR "%Y")
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
set_windows_version()
@ -43,19 +43,19 @@ endmacro()
macro(set_four_part_version)
string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)" _ "${SYNERGY_VERSION}")
string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)" _ "${DESKFLOW_VERSION}")
set(VERSION_MAJOR "${CMAKE_MATCH_1}")
set(VERSION_MINOR "${CMAKE_MATCH_2}")
set(VERSION_PATCH "${CMAKE_MATCH_3}")
# Find the revision number, which is the number after the 'r'.
string(REGEX MATCH "r([0-9]+)$" _ "${SYNERGY_VERSION}")
string(REGEX MATCH "r([0-9]+)$" _ "${DESKFLOW_VERSION}")
set(VERSION_REVISION "${CMAKE_MATCH_1}")
if(NOT VERSION_REVISION)
set(VERSION_REVISION "0")
endif()
set(SYNERGY_VERSION_FOUR_PART
set(DESKFLOW_VERSION_FOUR_PART
"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}.${VERSION_REVISION}")
endmacro()
@ -66,15 +66,15 @@ macro(set_windows_version)
set_four_part_version()
# Dot-separated version number for MSI and Windows version .rc file.
set(SYNERGY_VERSION_MS ${SYNERGY_VERSION_FOUR_PART})
set(DESKFLOW_VERSION_MS ${DESKFLOW_VERSION_FOUR_PART})
message(STATUS "Version number for (Microsoft 4-part): "
${SYNERGY_VERSION_MS})
${DESKFLOW_VERSION_MS})
# CSV version number for Windows version .rc file.
set(SYNERGY_VERSION_MS_CSV
set(DESKFLOW_VERSION_MS_CSV
"${VERSION_MAJOR},${VERSION_MINOR},${VERSION_PATCH},${VERSION_REVISION}")
message(STATUS "Version number for (Microsoft CSV): "
${SYNERGY_VERSION_MS_CSV})
${DESKFLOW_VERSION_MS_CSV})
endmacro()
macro(set_linux_version)
@ -83,12 +83,12 @@ macro(set_linux_version)
# char is reserved for use at at the end of the version string to indicate a
# package revision. Debian has always used this convention, but support for
# this was also introduced in RPM 4.10.0.
string(REGEX REPLACE "-" "~" SYNERGY_VERSION_LINUX "${SYNERGY_VERSION}")
message(STATUS "Version number (DEB/RPM): ${SYNERGY_VERSION_LINUX}")
string(REGEX REPLACE "-" "~" DESKFLOW_VERSION_LINUX "${DESKFLOW_VERSION}")
message(STATUS "Version number (DEB/RPM): ${DESKFLOW_VERSION_LINUX}")
# Arch does not support SemVer or DEB/RPM version format, so use the four-part
# version format which funnily enough is what Microsoft requires for MSI.
set_four_part_version()
message(STATUS "Version number (4-part): ${SYNERGY_VERSION_FOUR_PART}")
message(STATUS "Version number (4-part): ${DESKFLOW_VERSION_FOUR_PART}")
endmacro()

View File

@ -13,6 +13,7 @@
"Compat",
"contribs",
"Daun",
"Deskflow",
"distros",
"dmgbuild",
"dotenv",
@ -27,11 +28,13 @@
"ifdef",
"INPUTCAPTURE",
"integtests",
"Kanapickas",
"keychain",
"Keychains",
"Kutytska",
"Lanz",
"libei",
"Libera",
"libportal",
"LLDB",
"Lysytsia",
@ -47,6 +50,7 @@
"Petroules",
"Pixmap",
"Poschta",
"Povilas",
"Priddy",
"pyproject",
"qputenv",
@ -59,9 +63,6 @@
"Sorin",
"subproject",
"subprojects",
"synergyc",
"synergyd",
"synergys",
"trackpad",
"Trixie",
"unittests",

View File

@ -1,4 +1,4 @@
# sample synergy configuration file
# sample deskflow configuration file
#
# comments begin with the # character and continue to the end of
# line. comments may appear anywhere the syntax permits.

View File

@ -1,4 +1,4 @@
# sample synergy configuration file
# sample deskflow configuration file
#
# comments begin with the # character and continue to the end of
# line. comments may appear anywhere the syntax permits.

View File

@ -1,4 +1,4 @@
# sample synergy configuration file
# sample deskflow configuration file
#
# comments begin with the # character and continue to the end of
# line. comments may appear anywhere the syntax permits.

View File

@ -3,7 +3,7 @@
# Where available, we use system packages, otherwise we use subprojects.
# Subprojects are also used to get the latest version during development.
project('synergy', 'cpp')
project('deskflow', 'cpp')
subproject('tomlplusplus')
subproject('cli11')

View File

@ -1,5 +1,5 @@
/* Define version here for Unix, but using /D for Windows. */
#cmakedefine SYNERGY_VERSION "${SYNERGY_VERSION}"
#cmakedefine DESKFLOW_VERSION "${DESKFLOW_VERSION}"
/* Define to the base type of arg 3 for `accept`. */
#cmakedefine ACCEPT_TYPE_ARG3 ${ACCEPT_TYPE_ARG3}

View File

Before

Width:  |  Height:  |  Size: 144 KiB

After

Width:  |  Height:  |  Size: 144 KiB

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -1,10 +1,10 @@
# Maintainer: Synergy team <developers@symless.com>
# Maintainer: Deskflow team <developers@symless.com>
pkgname=synergy
pkgver=@SYNERGY_VERSION_FOUR_PART@
pkgname=deskflow
pkgver=@DESKFLOW_VERSION_FOUR_PART@
pkgrel=1
pkgdesc="Mouse and keyboard sharing utility"
url='https://symless.com/synergy/'
url='https://symless.com/deskflow/'
arch=('x86_64')
license=('GPL-2.0-only')
depends=(

View File

@ -1,9 +1,9 @@
app-id: com.symless.Synergy
app-id: com.symless.Deskflow
runtime: org.kde.Platform
runtime-version: "5.15-21.08"
sdk: org.kde.Sdk
rename-icon: synergy
rename-desktop-file: synergy.desktop
rename-icon: deskflow
rename-desktop-file: deskflow.desktop
modules:
- name: openssl
buildsystem: simple
@ -23,7 +23,7 @@ modules:
sources:
- type: git
url: https://gitlab.gnome.org/GNOME/libnotify.git
- name: synergy
- name: deskflow
buildsystem: cmake-ninja
config-opts:
- "-DCMAKE_BUILD_TYPE=Release"
@ -32,7 +32,7 @@ modules:
path: ../
- type: patch
path: flatpak-desktop.patch
command: synergy
command: deskflow
finish-args:
- "--share=ipc"
- "--socket=x11"

View File

@ -1,14 +1,14 @@
diff --git a/res/synergy.desktop b/res/synergy.desktop
diff --git a/res/deskflow.desktop b/res/deskflow.desktop
index fa987bdf..9513dbf3 100644
--- a/res/synergy.desktop
+++ b/res/synergy.desktop
--- a/res/deskflow.desktop
+++ b/res/deskflow.desktop
@@ -3,8 +3,7 @@ Type=Application
Version=1.0
Name=Synergy
Name=Deskflow
Comment=Keyboard and mouse sharing solution
-Path=/usr/bin
-Exec=/usr/bin/synergy
-Exec=/usr/bin/deskflow
+Exec=
Icon=synergy
Icon=deskflow
Terminal=false
Categories=Utility;

View File

@ -1,11 +1,11 @@
[Desktop Entry]
Type=Application
Version=1.0
Name=Synergy
Name=Deskflow
Comment=Mouse and keyboard sharing utility
Path=/usr/bin
Exec=/usr/bin/synergy
Icon=synergy
Exec=/usr/bin/deskflow
Icon=deskflow
Terminal=false
Categories=Utility;
Keywords=keyboard;mouse;sharing;network;share;

View File

@ -4,27 +4,27 @@
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDisplayName</key>
<string>Synergy</string>
<string>Deskflow</string>
<key>CFBundleExecutable</key>
<string>synergy</string>
<string>deskflow</string>
<key>CFBundleIconFile</key>
<string>Synergy.icns</string>
<string>Deskflow.icns</string>
<key>CFBundleIdentifier</key>
<string>synergy</string>
<string>deskflow</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Synergy</string>
<string>Deskflow</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>SYN1</string>
<key>CFBundleShortVersionString</key>
<string>@SYNERGY_VERSION@</string>
<string>@DESKFLOW_VERSION@</string>
<key>CFBundleVersion</key>
<string>@SYNERGY_VERSION@</string>
<string>@DESKFLOW_VERSION@</string>
<key>NSHumanReadableCopyright</key>
<string>© 2012-@SYNERGY_BUILD_YEAR@ Symless Ltd</string>
<string>© 2012-@DESKFLOW_BUILD_YEAR@ Symless Ltd</string>
<key>LSMinimumSystemVersion</key>
<string>10.9.0</string>
</dict>

View File

@ -0,0 +1 @@
APPLDFLW

View File

@ -1 +0,0 @@
APPLSYN1

View File

@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29411.108
MinimumVisualStudioVersion = 10.0.40219.1
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Synergy", "Synergy.wixproj", "{D4BA9F39-6A35-4C8F-9CB2-67FCBE5CAB17}"
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Deskflow", "Deskflow.wixproj", "{D4BA9F39-6A35-4C8F-9CB2-67FCBE5CAB17}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@ -4,18 +4,18 @@
<ProductVersion>3.11</ProductVersion>
<ProjectGuid>{d4ba9f39-6a35-4c8f-9cb2-67fcbe5cab17}</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>Synergy</OutputName>
<OutputName>Deskflow</OutputName>
<OutputType>Package</OutputType>
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>wix\obj\$(Configuration)\</IntermediateOutputPath>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(SolutionDir)/SynergyWelcome.wxs" />
<Compile Include="$(SolutionDir)/SynergyInstallDlg.wxs" />
<Compile Include="$(SolutionDir)/SynergyBrowseDlg.wxs" />
<Compile Include="$(SolutionDir)/SynergyVerifyReadyDlg.wxs" />
<Compile Include="$(SolutionDir)/SynergyMaintenanceTypeDlg.wxs" />
<Compile Include="$(SolutionDir)/SynergyDlgSequence.wxs" />
<Compile Include="$(SolutionDir)/DeskflowWelcome.wxs" />
<Compile Include="$(SolutionDir)/DeskflowInstallDlg.wxs" />
<Compile Include="$(SolutionDir)/DeskflowBrowseDlg.wxs" />
<Compile Include="$(SolutionDir)/DeskflowVerifyReadyDlg.wxs" />
<Compile Include="$(SolutionDir)/DeskflowMaintenanceTypeDlg.wxs" />
<Compile Include="$(SolutionDir)/DeskflowDlgSequence.wxs" />
<Compile Include="$(SolutionDir)/Product.wxs" />
<Content Include="$(SolutionDir)/Include.wxi" />
@ -36,4 +36,4 @@
</ItemGroup>
<Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' " />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets') " />
</Project>
</Project>

View File

@ -2,7 +2,7 @@
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI>
<Dialog Id="SynergyBrowseDlg" Width="370" Height="270" Title="!(loc.BrowseDlg_Title)">
<Dialog Id="DeskflowBrowseDlg" Width="370" Height="270" Title="!(loc.BrowseDlg_Title)">
<Control Id="PathEdit" Type="PathEdit" X="25" Y="202" Width="320" Height="18" Property="_BrowseProperty" Indirect="yes" />
<Control Id="OK" Type="PushButton" X="240" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUIOK)">
<Publish Event="SetTargetPath" Value="[_BrowseProperty]">1</Publish>
@ -30,4 +30,4 @@
</Dialog>
</UI>
</Fragment>
</Wix>
</Wix>

72
res/dist/wix/DeskflowDlgSequence.wxs vendored Normal file
View File

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
First-time install dialog sequence:
- WixUI_WelcomeDlg
- WixUI_LicenseAgreementDlg
- WixUI_InstallDirDlg
- WixUI_VerifyReadyDlg
- WixUI_DiskCostDlg
Maintenance dialog sequence:
- WixUI_MaintenanceWelcomeDlg
- WixUI_MaintenanceTypeDlg
- WixUI_InstallDirDlg
- WixUI_VerifyReadyDlg
Patch dialog sequence:
- WixUI_WelcomeDlg
- WixUI_VerifyReadyDlg
-->
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI Id="DeskflowDlgSequence">
<TextStyle Id="WixUI_Font_Normal" FaceName="Roboto" Size="9" />
<TextStyle Id="WixUI_Font_Bigger" FaceName="Roboto" Size="14" />
<TextStyle Id="WixUI_Font_Title" FaceName="Roboto" Size="12" Bold="yes" Blue="255" Red="255" Green="255"/>
<Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
<Property Id="WixUI_Mode" Value="InstallDir" />
<DialogRef Id="BrowseDlg" />
<DialogRef Id="DiskCostDlg" />
<DialogRef Id="ErrorDlg" />
<DialogRef Id="FatalError" />
<DialogRef Id="FilesInUse" />
<DialogRef Id="MsiRMFilesInUse" />
<DialogRef Id="PrepareDlg" />
<DialogRef Id="ProgressDlg" />
<DialogRef Id="ResumeDlg" />
<DialogRef Id="UserExit" />
<Publish Dialog="DeskflowBrowseDlg" Control="OK" Event="DoAction" Value="WixUIValidatePath" Order="3">1</Publish>
<Publish Dialog="DeskflowBrowseDlg" Control="OK" Event="SpawnDialog" Value="InvalidDirDlg" Order="4"><![CDATA[WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
<Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
<Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="StartGui">NOT Installed</Publish>
<Publish Dialog="DeskflowWelcome" Control="Next" Event="NewDialog" Value="DeskflowInstallDirDlg" Order="1">1</Publish>
<Publish Dialog="DeskflowWelcome" Control="Next" Event="NewDialog" Value="DeskflowVerifyReadyDlg">Installed AND PATCH</Publish>
<Publish Dialog="DeskflowInstallDirDlg" Control="Next" Event="SetTargetPath" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
<Publish Dialog="DeskflowInstallDirDlg" Control="Next" Event="DoAction" Value="WixUIValidatePath" Order="2">NOT WIXUI_DONTVALIDATEPATH</Publish>
<Publish Dialog="DeskflowInstallDirDlg" Control="Next" Event="SpawnDialog" Value="InvalidDirDlg" Order="3"><![CDATA[NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
<Publish Dialog="DeskflowInstallDirDlg" Control="Next" Event="NewDialog" Value="DeskflowVerifyReadyDlg" Order="4">WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1"</Publish>
<Publish Dialog="DeskflowInstallDirDlg" Control="ChangeFolder" Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
<Publish Dialog="DeskflowInstallDirDlg" Control="ChangeFolder" Event="SpawnDialog" Value="DeskflowBrowseDlg" Order="2">1</Publish>
<Publish Dialog="DeskflowInstallDirDlg" Control="Back" Event="NewDialog" Value="DeskflowWelcome" Order="2">1</Publish>
<Publish Dialog="DeskflowVerifyReadyDlg" Control="Back" Event="NewDialog" Value="DeskflowInstallDirDlg" Order="1">NOT Installed</Publish>
<Publish Dialog="DeskflowVerifyReadyDlg" Control="Back" Event="NewDialog" Value="DeskflowMaintenanceTypeDlg" Order="2">Installed AND NOT PATCH</Publish>
<Publish Dialog="DeskflowVerifyReadyDlg" Control="Back" Event="NewDialog" Value="DeskflowInstallDirDlg" Order="2">Installed AND PATCH</Publish>
<Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="DeskflowMaintenanceTypeDlg">1</Publish>
<Publish Dialog="DeskflowMaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="DeskflowVerifyReadyDlg">1</Publish>
<Publish Dialog="DeskflowMaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="DeskflowVerifyReadyDlg">1</Publish>
<Publish Dialog="DeskflowMaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>
<Property Id="ARPNOMODIFY" Value="1" />
</UI>
<UIRef Id="WixUI_Common" />
</Fragment>
</Wix>

View File

@ -2,8 +2,8 @@
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include Include.wxi?>
<Fragment>
<UI Id="SynergyInstallDirDlg">
<Dialog Id="SynergyInstallDirDlg" Width="370" Height="270" Title="!(loc.InstallDirDlg_Title)">
<UI Id="DeskflowInstallDirDlg">
<Dialog Id="DeskflowInstallDirDlg" Width="370" Height="270" Title="!(loc.InstallDirDlg_Title)">
<Control Id="Title" Type="Text" X="15" Y="15" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.InstallDirDlgTitle)" />
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)" />
@ -12,7 +12,7 @@
<Publish Event="SpawnDialog" Value="CancelDlg" />
</Control>
<Control Id="InstallDirDlgBackground" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[SynergyCommonBackground]" />
<Control Id="InstallDirDlgBackground" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DeskflowCommonBackground]" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<Control Id="FolderLabel" Transparent="yes" Type="Text" X="20" Y="70" Width="290" Height="30" NoPrefix="yes" Text="!(loc.InstallDirDlgFolderLabel)" />
@ -21,4 +21,4 @@
</Dialog>
</UI>
</Fragment>
</Wix>
</Wix>

View File

@ -13,8 +13,8 @@
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI>
<Dialog Id="SynergyMaintenanceTypeDlg" Width="370" Height="270" Title="!(loc.MaintenanceTypeDlg_Title)">
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[SynergyCommonBackground]" />
<Dialog Id="DeskflowMaintenanceTypeDlg" Width="370" Height="270" Title="!(loc.MaintenanceTypeDlg_Title)">
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DeskflowCommonBackground]" />
<Control Id="ChangeButton" Type="PushButton" X="40" Y="65" Width="80" Height="17" ToolTip="!(loc.MaintenanceTypeDlgChangeButtonTooltip)" Default="yes" Text="!(loc.MaintenanceTypeDlgChangeButton)">
<Publish Property="WixUI_InstallMode" Value="Change">1</Publish>
<Condition Action="disable">ARPNOMODIFY</Condition>
@ -55,4 +55,4 @@
</Dialog>
</UI>
</Fragment>
</Wix>
</Wix>

View File

@ -3,7 +3,7 @@
<?include Include.wxi?>
<Fragment>
<UI>
<Dialog Id="SynergyVerifyReadyDlg" Width="370" Height="270" Title="!(loc.VerifyReadyDlg_Title)" TrackDiskSpace="yes">
<Dialog Id="DeskflowVerifyReadyDlg" Width="370" Height="270" Title="!(loc.VerifyReadyDlg_Title)" TrackDiskSpace="yes">
<Control Id="Install" Type="PushButton" ElevationShield="yes" X="212" Y="243" Width="80" Height="17" Default="yes" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgInstall)">
<Condition Action="show">NOT Installed AND ALLUSERS</Condition>
<Condition Action="enable">NOT Installed</Condition>
@ -132,9 +132,9 @@
<Control Id="Back" Type="PushButton" X="156" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)">
<Condition Action="default">WixUI_InstallMode = "Remove"</Condition>
</Control>
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[SynergyCommonBackground]" />
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DeskflowCommonBackground]" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
</Dialog>
</UI>
</Fragment>
</Wix>
</Wix>

View File

@ -5,25 +5,25 @@
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include Include.wxi?>
<Fragment>
<UI Id="SynergyWelcome">
<Property Id="SynergyWelcomeBackground">welcome_background</Property>
<UI Id="DeskflowWelcome">
<Property Id="DeskflowWelcomeBackground">welcome_background</Property>
<Binary Id="welcome_background" SourceFile="$(var.ResPath)\dist\wix\images\welcome_background.png"/>
<Dialog Id="SynergyWelcome" Width="370" Height="270" Title="!(loc.WelcomeDlg_Title)">
<Dialog Id="DeskflowWelcome" Width="370" Height="270" Title="!(loc.WelcomeDlg_Title)">
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
<Publish Property="WixUI_InstallMode" Value="Update">Installed AND PATCH</Publish>
</Control>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
</Control>
<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[SynergyWelcomeBackground]" />
<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DeskflowWelcomeBackground]" />
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
</Dialog>
<InstallUISequence>
<Show Dialog="SynergyWelcome" Before="ProgressDlg" Overridable="yes">NOT Installed OR PATCH</Show>
<Show Dialog="DeskflowWelcome" Before="ProgressDlg" Overridable="yes">NOT Installed OR PATCH</Show>
</InstallUISequence>
</UI>
</Fragment>
</Wix>
</Wix>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Include>
<?define Name="Synergy"?>
<?define Version="@SYNERGY_VERSION_MS@"?>
<?define Name="Deskflow"?>
<?define Version="@DESKFLOW_VERSION_MS@"?>
<?define Author="Symless"?>
<?define BinPath="@CMAKE_RUNTIME_OUTPUT_DIRECTORY@"?>
<?define ResPath="@CMAKE_CURRENT_SOURCE_DIR@/res"?>

View File

@ -19,20 +19,20 @@
</Feature>
<DirectoryRef Id="TARGETDIR">
<Component Guid="7CF3564D-1F8E-4D3D-9781-E1EE22D5BD67" Id="RegistryEntries">
<RegistryKey Id="synergys" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" Root="HKLM">
<RegistryValue Name="[INSTALLFOLDER]synergys.exe" Type="string" Value="~ HIGHDPIAWARE WIN7RTM"/>
<RegistryKey Id="deskflows" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" Root="HKLM">
<RegistryValue Name="[INSTALLFOLDER]deskflows.exe" Type="string" Value="~ HIGHDPIAWARE WIN7RTM"/>
</RegistryKey>
<RegistryKey Id="synergyc" Root="HKLM"
<RegistryKey Id="deskflowc" Root="HKLM"
Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"
ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Type="string" Name="[INSTALLFOLDER]synergyc.exe" Value="~ HIGHDPIAWARE WIN7RTM"/>
<RegistryValue Type="string" Name="[INSTALLFOLDER]deskflowc.exe" Value="~ HIGHDPIAWARE WIN7RTM"/>
</RegistryKey>
<RegistryKey Id="synergy" Root="HKLM"
<RegistryKey Id="deskflow" Root="HKLM"
Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"
ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Type="string" Name="[INSTALLFOLDER]synergy.exe" Value="~ HIGHDPIAWARE WIN7RTM"/>
<RegistryValue Type="string" Name="[INSTALLFOLDER]deskflow.exe" Value="~ HIGHDPIAWARE WIN7RTM"/>
</RegistryKey>
<!-- Windows 8 and later only -->
<Condition><![CDATA[Installed OR (VersionNT >= 602)]]></Condition>
@ -43,15 +43,15 @@
<Merge Id="VC_Redist" SourceFile="$(var.ResPath)\dist\wix\msm\Microsoft_VC142_CRT_x86.msm" DiskId="1" Language="0"/>
<?endif ?>
</DirectoryRef>
<Property Id="SynergyCommonBackground">common_background</Property>
<Property Id="DeskflowCommonBackground">common_background</Property>
<Binary Id="common_background" SourceFile="$(var.ResPath)\dist\wix\images\common_background.png"/>
<Icon Id="synergy.ico" SourceFile="$(var.ResPath)/synergy.ico"/>
<Icon Id="deskflow.ico" SourceFile="$(var.ResPath)/deskflow.ico"/>
<WixVariable Id="WixUIBannerBmp" Value="$(var.ResPath)\dist\wix\images\banner.png"/>
<WixVariable Id="WixUIDialogBmp" Value="$(var.ResPath)\dist\wix\images\dialog.png"/>
<Property Id="ARPPRODUCTICON" Value="synergy.ico"/>
<Property Id="ARPPRODUCTICON" Value="deskflow.ico"/>
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER"/>
<Property Id="LEGACY_UNINSTALL_EXISTS">
<RegistrySearch Id="LegacyRegistrySearch" Key="SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Synergy" Name="UninstallString" Root="HKLM" Type="file" Win64="no">
<RegistrySearch Id="LegacyRegistrySearch" Key="SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Deskflow" Name="UninstallString" Root="HKLM" Type="file" Win64="no">
<FileSearch Id="LegacyFileSearch" Name="uninstall.exe"/>
</RegistrySearch>
</Property>
@ -59,7 +59,7 @@
</Condition>
<CustomAction ExeCommand="" FileKey="GuiProgram" Id="StartGui" Return="asyncNoWait"/>
<UI>
<UIRef Id="SynergyDlgSequence" />
<UIRef Id="DeskflowDlgSequence" />
</UI>
</Product>
<Fragment>
@ -77,18 +77,18 @@
<Fragment>
<ComponentGroup Directory="INSTALLFOLDER" Id="ProductComponents">
<Component Guid="EC9AD3B0-277C-4157-B5C8-5FD5B6A5F4AD" Id="Core">
<File KeyPath="yes" Source="$(var.BinPath)/synergyd.exe"/>
<ServiceInstall Description="Controls the $(var.Name) foreground processes." DisplayName="$(var.Name)" ErrorControl="normal" Id="ServiceInstall" Name="Synergy" Start="auto" Type="ownProcess">
<File KeyPath="yes" Source="$(var.BinPath)/deskflowd.exe"/>
<ServiceInstall Description="Controls the $(var.Name) foreground processes." DisplayName="$(var.Name)" ErrorControl="normal" Id="ServiceInstall" Name="Deskflow" Start="auto" Type="ownProcess">
<util:ServiceConfig FirstFailureActionType="restart" ResetPeriodInDays="1" RestartServiceDelayInSeconds="1" SecondFailureActionType="restart" ThirdFailureActionType="restart"/>
</ServiceInstall>
<ServiceControl Id="ServiceControl" Name="Synergy" Remove="uninstall" Start="install" Stop="both"/>
<File Source="$(var.BinPath)/synergys.exe">
<fire:FirewallException Id="ServerFirewallException" IgnoreFailure="yes" Name="Synergy 1 server" Scope="any"/>
<ServiceControl Id="ServiceControl" Name="Deskflow" Remove="uninstall" Start="install" Stop="both"/>
<File Source="$(var.BinPath)/deskflows.exe">
<fire:FirewallException Id="ServerFirewallException" IgnoreFailure="yes" Name="Deskflow server" Scope="any"/>
</File>
<File Source="$(var.BinPath)/synergyc.exe">
<fire:FirewallException Id="ClientFirewallException" IgnoreFailure="yes" Name="Synergy 1 client" Scope="any"/>
<File Source="$(var.BinPath)/deskflowc.exe">
<fire:FirewallException Id="ClientFirewallException" IgnoreFailure="yes" Name="Deskflow client" Scope="any"/>
</File>
<File Source="$(var.BinPath)/syntool.exe"/>
<File Source="$(var.BinPath)/deskflow-legacy.exe"/>
<?if $(var.Platform) = x64 ?>
<File Source="$(var.OpenSslDllDir)/libssl-3-x64.dll"/>
<File Source="$(var.OpenSslDllDir)/libcrypto-3-x64.dll"/>
@ -98,9 +98,9 @@
<?endif ?>
</Component>
<Component Guid="BAC8149B-6287-45BF-9C27-43D71ED40214" Id="Gui">
<File Id="GuiProgram" KeyPath="yes" Source="$(var.BinPath)/synergy.exe">
<Shortcut Advertise="yes" Directory="ProgramMenuFolder" Icon="synergy.exe" Id="GuiShortcut" Name="$(var.Name)">
<Icon Id="synergy.exe" SourceFile="$(var.ResPath)/synergy.ico"/>
<File Id="GuiProgram" KeyPath="yes" Source="$(var.BinPath)/deskflow.exe">
<Shortcut Advertise="yes" Directory="ProgramMenuFolder" Icon="deskflow.exe" Id="GuiShortcut" Name="$(var.Name)">
<Icon Id="deskflow.exe" SourceFile="$(var.ResPath)/deskflow.ico"/>
</Shortcut>
<fire:FirewallException Id="GuiFirewallException" IgnoreFailure="yes" Name="$(var.Name)" Scope="any"/>
</File>
@ -147,8 +147,8 @@
<File Id="OpenSSLDll2" Source="$(var.OpenSslDllDir)/libssl-3.dll"/>
<?endif ?>
<File Source="$(var.OpenSslExeDir)/openssl.exe"/>
<File Source="$(var.ResPath)/openssl/synergy.conf"/>
<File Source="$(var.ResPath)/openssl/deskflow.conf"/>
</Component>
</ComponentGroup>
</Fragment>
</Wix>
</Wix>

View File

@ -1,72 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
First-time install dialog sequence:
- WixUI_WelcomeDlg
- WixUI_LicenseAgreementDlg
- WixUI_InstallDirDlg
- WixUI_VerifyReadyDlg
- WixUI_DiskCostDlg
Maintenance dialog sequence:
- WixUI_MaintenanceWelcomeDlg
- WixUI_MaintenanceTypeDlg
- WixUI_InstallDirDlg
- WixUI_VerifyReadyDlg
Patch dialog sequence:
- WixUI_WelcomeDlg
- WixUI_VerifyReadyDlg
-->
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI Id="SynergyDlgSequence">
<TextStyle Id="WixUI_Font_Normal" FaceName="Roboto" Size="9" />
<TextStyle Id="WixUI_Font_Bigger" FaceName="Roboto" Size="14" />
<TextStyle Id="WixUI_Font_Title" FaceName="Roboto" Size="12" Bold="yes" Blue="255" Red="255" Green="255"/>
<Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
<Property Id="WixUI_Mode" Value="InstallDir" />
<DialogRef Id="BrowseDlg" />
<DialogRef Id="DiskCostDlg" />
<DialogRef Id="ErrorDlg" />
<DialogRef Id="FatalError" />
<DialogRef Id="FilesInUse" />
<DialogRef Id="MsiRMFilesInUse" />
<DialogRef Id="PrepareDlg" />
<DialogRef Id="ProgressDlg" />
<DialogRef Id="ResumeDlg" />
<DialogRef Id="UserExit" />
<Publish Dialog="SynergyBrowseDlg" Control="OK" Event="DoAction" Value="WixUIValidatePath" Order="3">1</Publish>
<Publish Dialog="SynergyBrowseDlg" Control="OK" Event="SpawnDialog" Value="InvalidDirDlg" Order="4"><![CDATA[WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
<Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
<Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="StartGui">NOT Installed</Publish>
<Publish Dialog="SynergyWelcome" Control="Next" Event="NewDialog" Value="SynergyInstallDirDlg" Order="1">1</Publish>
<Publish Dialog="SynergyWelcome" Control="Next" Event="NewDialog" Value="SynergyVerifyReadyDlg">Installed AND PATCH</Publish>
<Publish Dialog="SynergyInstallDirDlg" Control="Next" Event="SetTargetPath" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
<Publish Dialog="SynergyInstallDirDlg" Control="Next" Event="DoAction" Value="WixUIValidatePath" Order="2">NOT WIXUI_DONTVALIDATEPATH</Publish>
<Publish Dialog="SynergyInstallDirDlg" Control="Next" Event="SpawnDialog" Value="InvalidDirDlg" Order="3"><![CDATA[NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
<Publish Dialog="SynergyInstallDirDlg" Control="Next" Event="NewDialog" Value="SynergyVerifyReadyDlg" Order="4">WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1"</Publish>
<Publish Dialog="SynergyInstallDirDlg" Control="ChangeFolder" Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
<Publish Dialog="SynergyInstallDirDlg" Control="ChangeFolder" Event="SpawnDialog" Value="SynergyBrowseDlg" Order="2">1</Publish>
<Publish Dialog="SynergyInstallDirDlg" Control="Back" Event="NewDialog" Value="SynergyWelcome" Order="2">1</Publish>
<Publish Dialog="SynergyVerifyReadyDlg" Control="Back" Event="NewDialog" Value="SynergyInstallDirDlg" Order="1">NOT Installed</Publish>
<Publish Dialog="SynergyVerifyReadyDlg" Control="Back" Event="NewDialog" Value="SynergyMaintenanceTypeDlg" Order="2">Installed AND NOT PATCH</Publish>
<Publish Dialog="SynergyVerifyReadyDlg" Control="Back" Event="NewDialog" Value="SynergyInstallDirDlg" Order="2">Installed AND PATCH</Publish>
<Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="SynergyMaintenanceTypeDlg">1</Publish>
<Publish Dialog="SynergyMaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="SynergyVerifyReadyDlg">1</Publish>
<Publish Dialog="SynergyMaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="SynergyVerifyReadyDlg">1</Publish>
<Publish Dialog="SynergyMaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>
<Property Id="ARPNOMODIFY" Value="1" />
</UI>
<UIRef Id="WixUI_Common" />
</Fragment>
</Wix>

View File

@ -25,7 +25,7 @@ DOXYFILE_ENCODING = UTF-8
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
PROJECT_NAME = "Synergy"
PROJECT_NAME = "Deskflow"
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or

View File

@ -1,15 +1,15 @@
<RCC>
<qresource>
<file>icons/16x16/synergy.png</file>
<file>icons/16x16/deskflow.png</file>
<file>icons/64x64/video-display.png</file>
<file>icons/64x64/user-trash.png</file>
<file>icons/16x16/warning.png</file>
<file>icons/256x256/synergy.ico</file>
<file>icons/256x256/deskflow.ico</file>
<file>image/about-light.png</file>
<file>image/about-dark.png</file>
<file>icons/16x16/padlock.png</file>
<file>icons/64x64/synergy-dark.png</file>
<file>icons/64x64/synergy-light.png</file>
<file>icons/64x64/deskflow-dark.png</file>
<file>icons/64x64/deskflow-light.png</file>
<file>image/welcome.png</file>
<file>icons/64x64/folder.png</file>
<file>image/setup-blocker.png</file>

View File

Before

Width:  |  Height:  |  Size: 905 B

After

Width:  |  Height:  |  Size: 905 B

View File

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -4,18 +4,18 @@
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDisplayName</key>
<string>Synergy</string>
<string>Deskflow</string>
<key>CFBundleExecutable</key>
<string>Synergy</string>
<string>Deskflow</string>
<key>CFBundleIconFile</key>
<string>Synergy.icns</string>
<string>Deskflow.icns</string>
<key>CFBundleIdentifier</key>
<string>synergy</string>
<string>deskflow</string>
<!-- TODO: Fix this in v2.0 //-->
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Synergy</string>
<string>Deskflow</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>

Binary file not shown.

1
res/gui/win/Deskflow.rc Normal file
View File

@ -0,0 +1 @@
IDI_ICON1 ICON DISCARDABLE "../icons/256x256/deskflow.ico"

View File

@ -1 +0,0 @@
IDI_ICON1 ICON DISCARDABLE "../icons/256x256/synergy.ico"

View File

@ -1,5 +1,5 @@
#
# Synergy OpenSSL configuration file.
# Deskflow OpenSSL configuration file.
# Used for generation of certificate requests.
#

View File

@ -6,20 +6,20 @@ https://learn.microsoft.com/en-us/windows/win32/menurc/versioninfo-resource?redi
#include <windows.h>
#include <verrsrc.h>
#define VER_FILEVERSION @SYNERGY_VERSION_MS_CSV@
#define VER_FILEVERSION_STR "@SYNERGY_VERSION_MS@\0"
#define VER_FILEVERSION @DESKFLOW_VERSION_MS_CSV@
#define VER_FILEVERSION_STR "@DESKFLOW_VERSION_MS@\0"
#define VER_PRODUCTVERSION @SYNERGY_VERSION_MS_CSV@
#define VER_PRODUCTVERSION_STR "@SYNERGY_VERSION_MS@\0"
#define VER_PRODUCTVERSION @DESKFLOW_VERSION_MS_CSV@
#define VER_PRODUCTVERSION_STR "@DESKFLOW_VERSION_MS@\0"
#define VER_COMPANYNAME_STR "Symless\0"
#define VER_FILEDESCRIPTION_STR "Synergy\0"
#define VER_INTERNALNAME_STR "Synergy\0"
#define VER_LEGALCOPYRIGHT_STR "Copyright (C) Symless Ltd. @SYNERGY_BUILD_YEAR@\0"
#define VER_FILEDESCRIPTION_STR "Deskflow\0"
#define VER_INTERNALNAME_STR "Deskflow\0"
#define VER_LEGALCOPYRIGHT_STR "Copyright (C) Symless Ltd. @DESKFLOW_BUILD_YEAR@\0"
#define VER_LEGALTRADEMARKS1_STR "All Rights Reserved\0"
#define VER_LEGALTRADEMARKS2_STR "\0"
#define VER_ORIGINALFILENAME_STR "\0"
#define VER_PRODUCTNAME_STR "Synergy\0"
#define VER_PRODUCTNAME_STR "Deskflow\0"
VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION
@ -51,4 +51,4 @@ BEGIN
BEGIN
VALUE "Translation", 0x409, 1252
END
END
END

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or
@ -25,12 +25,12 @@ import psutil # type: ignore
import lib.colors as colors
import lib.file_utils as file_utils
DEFAULT_BIN_NAME = "synergyd"
DEFAULT_BIN_NAME = "deskflowd"
DEFAULT_SOURCE_DIR = os.path.join("build", "temp", "bin")
DEFAULT_TARGET_DIR = os.path.join("build", "bin")
SERVICE_NOT_RUNNING_ERROR = 2
ERROR_ACCESS_VIOLATION = 0xC0000005
IGNORE_PROCESSES = ["synergy.exe"]
IGNORE_PROCESSES = ["deskflow.exe"]
class Context:
@ -140,7 +140,7 @@ def stop(context, target_dir):
ensure_admin()
print("Stopping daemon service")
try:
subprocess.run(["net", "stop", "synergy"], shell=True, check=True)
subprocess.run(["net", "stop", "deskflow"], shell=True, check=True)
except subprocess.CalledProcessError as e:
if e.returncode == SERVICE_NOT_RUNNING_ERROR:
print_verbose(context, "Daemon service not running")
@ -154,7 +154,7 @@ def stop(context, target_dir):
def start():
ensure_admin()
print("Starting daemon service")
subprocess.run(["net", "start", "synergy"], shell=True, check=True)
subprocess.run(["net", "start", "deskflow"], shell=True, check=True)
def wait_for_stop(context, target_dir):

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or

View File

@ -1,6 +1,6 @@
import os, base64
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or
@ -240,7 +240,7 @@ def get_app_version():
"""
Returns the version either from the env var, or from the version file.
"""
version = get_env("SYNERGY_VERSION", required=False)
version = get_env("DESKFLOW_VERSION", required=False)
if version:
return version

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or
@ -26,8 +26,8 @@ class PackageType(Enum):
dist_dir = "dist"
build_dir = "build"
package_name = "synergy"
test_cmd = "synergys --version"
package_name = "deskflow"
test_cmd = "deskflows --version"
def run_command(command, check=True):
@ -140,19 +140,19 @@ def test_install(package_file, remove_test=True):
if "debian" in distro_like:
install_base = ["apt", "install", "-f", "-y"]
remove_base = ["apt", "remove", "-y"]
list_cmd = ["dpkg", "-L", "synergy"]
list_cmd = ["dpkg", "-L", "deskflow"]
elif "fedora" in distro_like:
install_base = ["dnf", "install", "-y"]
remove_base = ["dnf", "remove", "-y"]
list_cmd = ["rpm", "-ql", "synergy"]
list_cmd = ["rpm", "-ql", "deskflow"]
elif "opensuse" in distro_like:
install_base = ["zypper", "--no-gpg-checks", "install", "-y"]
remove_base = ["zypper", "remove", "-y"]
list_cmd = ["rpm", "-ql", "synergy"]
list_cmd = ["rpm", "-ql", "deskflow"]
elif "arch" in distro_like:
install_base = ["pacman", "-U", "--noconfirm"]
remove_base = ["pacman", "-R", "--noconfirm"]
list_cmd = ["pacman", "-Ql", "synergy"]
list_cmd = ["pacman", "-Ql", "deskflow"]
else:
raise RuntimeError(f"Linux distro not yet supported: {distro}")

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or
@ -24,9 +24,9 @@ notary_user_env = "APPLE_NOTARY_USER"
codesign_env = "APPLE_CODESIGN_ID"
shell_rc = "~/.zshrc"
dist_dir = "dist"
product_name = "Synergy 1"
product_name = "Deskflow"
settings_file = "res/dist/macos/dmgbuild/settings.py"
app_path = "build/bundle/Synergy.app"
app_path = "build/bundle/Deskflow.app"
security_path = "/usr/bin/security"
sudo_path = "/usr/bin/sudo"
notarytool_path = "/usr/bin/notarytool"

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or
@ -26,8 +26,8 @@ CERTUTIL_CMD = "certutil"
RUNNER_TEMP_ENV = "RUNNER_TEMP"
DIST_DIR = "dist"
BUILD_DIR = "build"
WIX_FILE = f"{BUILD_DIR}/installer/Synergy.sln"
MSI_FILE = f"{BUILD_DIR}/installer/bin/Release/Synergy.msi"
WIX_FILE = f"{BUILD_DIR}/installer/Deskflow.sln"
MSI_FILE = f"{BUILD_DIR}/installer/bin/Release/Deskflow.msi"
def run_elevated(script, args=None, use_sys_argv=True, wait_for_exit=False):

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or
@ -25,7 +25,7 @@ from lib.linux import PackageType
from dotenv import load_dotenv # type: ignore
env_file = ".env"
default_package_prefix = "synergy"
default_package_prefix = "deskflow"
def main():
@ -56,7 +56,9 @@ def main():
def get_filename_base(version, use_linux_distro=True):
os = env.get_os()
machine = platform.machine().lower()
package_base = env.get_env("SYNERGY_PACKAGE_PREFIX", default=default_package_prefix)
package_base = env.get_env(
"DESKFLOW_PACKAGE_PREFIX", default=default_package_prefix
)
os_part = os
if os == "linux" and use_linux_distro:

View File

@ -1,7 +1,7 @@
[project]
name = "scripts"
version = "0.0.1"
description = "Scripts to assist with development of Synergy"
description = "Scripts to assist with development of Deskflow"
requires-python = ">=3.9"
dependencies = [
"cmake_format",

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd.
#
# This package is free software; you can redistribute it and/or

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2012-2024 Symless Ltd.
# Copyright (C) 2009-2012 Nick Bolton
#

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2012-2024 Symless Ltd.
# Copyright (C) 2009-2012 Nick Bolton
#
@ -14,13 +14,13 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
add_subdirectory(synergyd)
add_subdirectory(deskflowd)
if(BUILD_UNIFIED)
add_subdirectory(synergy-core)
add_subdirectory(deskflow-core)
else()
add_subdirectory(synergyc)
add_subdirectory(synergys)
add_subdirectory(deskflowc)
add_subdirectory(deskflows)
endif(BUILD_UNIFIED)
add_subdirectory(syntool)
add_subdirectory(deskflow-legacy)

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2012-2024 Symless Ltd.
# Copyright (C) 2009-2012 Nick Bolton
#
@ -14,7 +14,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set(target synergy-core)
set(target deskflow-core)
set(sources ${target}.cpp)
@ -34,11 +34,11 @@ target_link_libraries(
ipc
platform
server
synlib
app
${libs})
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
install(TARGETS ${target} DESTINATION ${SYNERGY_BUNDLE_BINARY_DIR})
install(TARGETS ${target} DESTINATION ${DESKFLOW_BUNDLE_BINARY_DIR})
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
install(TARGETS ${target} DESTINATION bin)
endif()

View File

@ -1,5 +1,5 @@
/*
* synergy -- mouse and keyboard sharing utility
* Deskflow -- mouse and keyboard sharing utility
* Copyright (C) 2012-2022 Symless Ltd.
* Copyright (C) 2002 Chris Schoeneman
*
@ -18,8 +18,8 @@
#include "arch/Arch.h"
#include "base/EventQueue.h"
#include "base/Log.h"
#include "synergy/ClientApp.h"
#include "synergy/ServerApp.h"
#include "deskflow/ClientApp.h"
#include "deskflow/ServerApp.h"
#include <iostream>
#if SYSAPI_WIN32
@ -27,11 +27,11 @@
#endif
void showHelp() {
std::cout << "Usage: synergy-core <server | client> [...options]"
std::cout << "Usage: deskflow-core <server | client> [...options]"
<< std::endl;
std::cout << "server - start as a server (synergys)" << std::endl;
std::cout << "client - start as a client (synergyc)" << std::endl;
std::cout << "use synergy-core <server|client> --help for more information."
std::cout << "server - start as a server (deskflows)" << std::endl;
std::cout << "client - start as a client (deskflowc)" << std::endl;
std::cout << "use deskflow-core <server|client> --help for more information."
<< std::endl;
}

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2012-2024 Symless Ltd.
# Copyright (C) 2009-2012 Nick Bolton
#
@ -14,7 +14,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set(target syntool)
set(target deskflow-legacy)
file(GLOB headers "*.h")
file(GLOB sources "*.cpp")
@ -26,7 +26,7 @@ endif()
add_executable(${target} ${sources})
target_link_libraries(
${target}
synlib
app
arch
base
client
@ -39,7 +39,7 @@ target_link_libraries(
${libs})
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
install(TARGETS ${target} DESTINATION ${SYNERGY_BUNDLE_BINARY_DIR})
install(TARGETS ${target} DESTINATION ${DESKFLOW_BUNDLE_BINARY_DIR})
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
install(TARGETS ${target} DESTINATION bin)
endif()

View File

@ -1,5 +1,5 @@
/*
* synergy -- mouse and keyboard sharing utility
* Deskflow -- mouse and keyboard sharing utility
* Copyright (C) 2014-2016 Symless Ltd.
*
* This package is free software; you can redistribute it and/or
@ -16,7 +16,7 @@
*/
#include "arch/Arch.h"
#include "synergy/ToolApp.h"
#include "deskflow/ToolApp.h"
#if SYSAPI_WIN32
#include "arch/win32/ArchMiscWindows.h"

View File

@ -1,4 +1,4 @@
# Synergy -- mouse and keyboard sharing utility
# Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2012-2024 Symless Ltd.
# Copyright (C) 2009-2012 Nick Bolton
#
@ -14,7 +14,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set(target synergyc)
set(target deskflowc)
set(sources ${target}.cpp)
@ -60,11 +60,11 @@ target_link_libraries(
ipc
platform
server
synlib
app
${libs})
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
install(TARGETS ${target} DESTINATION ${SYNERGY_BUNDLE_BINARY_DIR})
install(TARGETS ${target} DESTINATION ${DESKFLOW_BUNDLE_BINARY_DIR})
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
install(TARGETS ${target} DESTINATION bin)
endif()

View File

@ -1,5 +1,5 @@
/*
* synergy -- mouse and keyboard sharing utility
* Deskflow -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2003 Chris Schoeneman
*
@ -315,10 +315,10 @@ IArchTaskBarReceiver *createTaskBarReceiver(
const BufferedLogOutputter *logBuffer, IEventQueue *events) {
ArchMiscWindows::setIcons(
(HICON)LoadImage(
ArchMiscWindows::instanceWin32(), MAKEINTRESOURCE(IDI_SYNERGY),
ArchMiscWindows::instanceWin32(), MAKEINTRESOURCE(IDI_DESKFLOW),
IMAGE_ICON, 32, 32, LR_SHARED),
(HICON)LoadImage(
ArchMiscWindows::instanceWin32(), MAKEINTRESOURCE(IDI_SYNERGY),
ArchMiscWindows::instanceWin32(), MAKEINTRESOURCE(IDI_DESKFLOW),
IMAGE_ICON, 16, 16, LR_SHARED));
return new MSWindowsClientTaskBarReceiver(

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