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
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
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 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"] labels: ["bug", "triage", "unanswered"]
body: body:
- type: markdown - type: markdown
attributes: 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 - type: dropdown
id: user-type id: project
attributes: attributes:
label: What type of Synergy user are you? label: Project
description: This will help us understand the context of your issue. description: Are you using Deskflow or a fork/derivative?
options: options:
# Empty option to force selection # Empty option to force selection
- -
- Customer - Deskflow
- Code contributor - Barrier
- Community user - Input Leap
default: 0 - Synergy
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
default: 0 default: 0
validations: validations:
required: true required: true
@ -61,8 +25,8 @@ body:
- type: input - type: input
id: version id: version
attributes: attributes:
label: Synergy version number label: Deskflow version number
description: You can find the Synergy version number on the about screen. description: You can find the Deskflow version number on the about screen.
placeholder: 1.2.3 placeholder: 1.2.3
validations: validations:
required: true required: true
@ -75,7 +39,8 @@ body:
options: options:
- label: Windows - label: Windows
- label: macOS - label: macOS
- label: Linux or Unix - label: Linux
- label: BSD-derived
- label: Other - label: Other
validations: validations:
required: true required: true
@ -83,7 +48,7 @@ body:
- type: textarea - type: textarea
id: os-version id: os-version
attributes: attributes:
label: OS versions or Linux distros label: OS versions/distros
description: | description: |
Please provide the version number of your operating system (OS). Please provide the version number of your operating system (OS).
If you're using Linux, please provide the name of the distribution. If you're using Linux, please provide the name of the distribution.
@ -91,17 +56,18 @@ body:
- Windows 11 - Windows 11
- macOS 15 - macOS 15
- Ubuntu 24.04 - Ubuntu 24.04
- FreeBSD 14.0
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: config id: config
attributes: attributes:
label: Synergy configuration label: Deskflow configuration
description: | description: |
Please provide a very brief description of your configuration. 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. 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: | placeholder: |
- Windows 11 server, macOS 15 client - Windows 11 server, macOS 15 client
- Each computer has a single monitor - Each computer has a single monitor
@ -118,7 +84,7 @@ body:
If you're not sure, please provide as much detail as possible. If you're not sure, please provide as much detail as possible.
This will help us understand the problem. This will help us understand the problem.
placeholder: | placeholder: |
1. Start Synergy 1. Start Deskflow
2. Click 'Configure Server' 2. Click 'Configure Server'
3. Click 'Apply' 3. Click 'Apply'
validations: validations:
@ -143,6 +109,6 @@ body:
- Any ideas about what maybe causing the problem? - Any ideas about what maybe causing the problem?
- Any workarounds that you've discovered? - Any workarounds that you've discovered?
- What other apps are you running? - What other apps are you running?
- Does the issue stop you using Synergy entirely? - Does the issue stop you using Deskflow entirely?
- Did restarting Synergy or the computer help? - Did restarting Deskflow or the computer help?
- Anything else you can think of? - Anything else you can think of?

View file

@ -1,59 +1,23 @@
name: Feature request 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"] labels: ["enhancement", "triage", "unanswered"]
body: body:
- type: markdown - type: markdown
attributes: 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 - type: dropdown
id: user-type id: project
attributes: attributes:
label: What type of Synergy user are you? label: Project
description: This will help us understand the context of your issue. description: Are you using Deskflow or a fork/derivative?
options: options:
# Empty option to force selection # Empty option to force selection
- -
- Customer - Deskflow
- Code contributor - Barrier
- Community user - Input Leap
default: 0 - Synergy
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
default: 0 default: 0
validations: validations:
required: true required: true
@ -66,7 +30,8 @@ body:
options: options:
- label: Windows - label: Windows
- label: macOS - label: macOS
- label: Linux or Unix - label: Linux
- label: BSD-derived
- label: Other - label: Other
validations: validations:
required: true required: true
@ -74,7 +39,7 @@ body:
- type: textarea - type: textarea
id: os-version id: os-version
attributes: attributes:
label: OS versions or Linux distros label: OS versions/distros
description: | description: |
Please provide the version number of your operating system (OS). Please provide the version number of your operating system (OS).
If you're using Linux, please provide the name of the distribution. If you're using Linux, please provide the name of the distribution.
@ -82,17 +47,18 @@ body:
- Windows 11 - Windows 11
- macOS 15 - macOS 15
- Ubuntu 24.04 - Ubuntu 24.04
- FreeBSD 14.0
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: config id: config
attributes: attributes:
label: Synergy configuration label: Deskflow configuration
description: | description: |
Please provide a very brief description of your configuration. 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. 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: | placeholder: |
- Windows 11 server, macOS 15 client - Windows 11 server, macOS 15 client
- Each computer has a single monitor - Each computer has a single monitor

View file

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

View file

@ -123,6 +123,6 @@ jobs:
push: true push: true
context: . context: .
file: ./.github/docker/${{ matrix.os.config-dir }}/Dockerfile 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 }} build-args: BASE_IMAGE=${{ matrix.os.base-image }}
platforms: linux/${{ matrix.os.platform }} platforms: linux/${{ matrix.os.platform }}

View file

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

View file

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

View file

@ -17,7 +17,7 @@ jobs:
name: Analyze name: Analyze
runs-on: ${{ vars.CODEQL_RUNNER || 'ubuntu-24.04' }} 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 timeout-minutes: 20
strategy: 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 }} if: ${{ vars.SONAR_SCANNER_ENABLED }}
runs-on: ${{ vars.SONAR_SCANNER_RUNNER || 'ubuntu-24.04' }} 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 timeout-minutes: 20
env: env:
@ -101,7 +101,7 @@ jobs:
export PATH=$HOME/.sonar/sonar-scanner-$SONAR_SCANNER_VERSION-linux-x64/bin:$PATH export PATH=$HOME/.sonar/sonar-scanner-$SONAR_SCANNER_VERSION-linux-x64/bin:$PATH
sonar-scanner \ sonar-scanner \
-Dsonar.organization=symless \ -Dsonar.organization=symless \
-Dsonar.projectKey=symless_synergy-core \ -Dsonar.projectKey=deskflow_deskflow \
-Dsonar.sources=scripts,src/cmd,src/gui,src/lib \ -Dsonar.sources=scripts,src/cmd,src/gui,src/lib \
-Dsonar.tests=src/test \ -Dsonar.tests=src/test \
-Dsonar.exclusions=subprojects/**,build/** \ -Dsonar.exclusions=subprojects/**,build/** \

View file

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

2
.gitignore vendored
View file

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

6
.vscode/tasks.json vendored
View file

@ -50,13 +50,13 @@
"label": "clean-config", "label": "clean-config",
"type": "shell", "type": "shell",
"linux": { "linux": {
"command": "rm -r ~/.config/Synergy/Synergy.conf" "command": "rm -r ~/.config/Deskflow/Deskflow.conf"
}, },
"windows": { "windows": {
"command": "remove-item -recurse $env:APPDATA\\Synergy\\Synergy" "command": "remove-item -recurse $env:APPDATA\\Deskflow\\Deskflow"
}, },
"osx": { "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 ## 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. 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 These instructions will build Deskflow, which doesn't require a license
or serial key. Check the [Build Guide](https://github.com/symless/synergy/wiki/Build-Guide) or serial key. Check the [Build Guide](https://github.com/deskflow/deskflow/wiki/Build-Guide)
wiki page if you have problems. wiki page if you have problems.
**1. Dependencies:** **1. Dependencies:**
@ -46,5 +46,5 @@ cmake --build build -j8
**5. Run** **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) 2024 Symless Ltd.
# Copyright (C) 2009 Nick Bolton # Copyright (C) 2009 Nick Bolton
# #
@ -15,7 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
cmake_minimum_required(VERSION 3.5) cmake_minimum_required(VERSION 3.5)
project(synergy C CXX) project(deskflow C CXX)
include(cmake/Version.cmake) include(cmake/Version.cmake)
include(cmake/Definitions.cmake) include(cmake/Definitions.cmake)

View file

@ -13,7 +13,7 @@
"name": "minimal", "name": "minimal",
"hidden": true, "hidden": true,
"environment": { "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! 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. 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! information. We look forward to reviewing your PR!
Thanks, 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 # 1.16.1
Enhancements: Enhancements:

View file

@ -32,7 +32,7 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places. # title of most generated pages and in a few other places.
# The default value is: My Project. # 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 # 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 # 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 # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
# the logo to the output directory. # 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 # 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 # 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. > 🚀 Deskflow is now the upstream project for Synergy.
> >
> The project has been renamed to draw a line between the community-run project (now Deskflow), > 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. > 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 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 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) [![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) [![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) [![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) [![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) [![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. **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, Use the keyboard, mouse, or trackpad of one computer to control nearby computers,
and work seamlessly between them. 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 **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). (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) To use Deskflow you can follow 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) use one of our packages, or if it's available by your favorite package repository,
(please note that some package managers have older versions and need to be updated). 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) - Motivated by the community interests (not business-driven)
of being more approachable to the open source community instead of wholly focusing on commercial interests. - Privacy by default (no update check or phone home on by default)
We still have customers to finance the development of the code, but we are committed to - Nothing customer-related (this is all moved downstream to Synergy)
maintaining and improving Synergy 1 Community Edition for years to come and we're excited to work - Have fun; we don't need to worry about impressing anyone
with our community of open source users to improve the code for the benefit of everyone.
## Ways to get involved ## 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 ## 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] > [!TIP]
> These instructions will build Synergy 1 Community Edition, which doesn't require a license > Check the [Build Guide](https://github.com/deskflow/deskflow/wiki/Build-Guide)
> or serial key. Check the [Build Guide](https://github.com/deskflow/deskflow/wiki/Build-Guide)
> wiki page if you have problems. > wiki page if you have problems.
**1. Dependencies:** **1. Dependencies:**
You can either copy/paste the command from [config.yaml] or use the script.
*Linux, macOS, or BSD-derived:* *Linux, macOS, or BSD-derived:*
``` ```
./scripts/install_deps.sh ./scripts/install_deps.sh
@ -107,50 +101,42 @@ cmake --build build -j8
**5. Run** **5. Run**
``` ```
./build/bin/synergy ./build/bin/deskflow
``` ```
## How to install (packages) ## 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:* *macOS:*
*(coming soon)*
``` ```
brew install synergy brew install deskflow
``` ```
*Fedora, Red Hat, etc:* *Fedora, Red Hat, etc:*
*(coming soon)*
``` ```
sudo dnf install synergy sudo dnf install deskflow
``` ```
*Debian, Ubuntu, etc:* *Debian, Ubuntu, etc:*
*(temporarily broken)* *(coming soon)*
``` ```
sudo apt install synergy sudo apt install deskflow
``` ```
*Arch, Manjaro, etc:* *Arch, Manjaro, etc:*
*(temporarily broken)* *(coming soon)*
``` ```
sudo pacman -S synergy sudo pacman -S deskflow
``` ```
*Windows:* *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 **Note:** We are working with package maintainers to have our new package name adopted.
resolve this. If you're a package maintainer and have a question, please let us know.
## Operating Systems ## 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. 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 ## Similar Projects
* [Lan Mouse](https://github.com/feschber/lan-mouse) - A Rust implementation with the goal of * [Lan Mouse](https://github.com/feschber/lan-mouse) - A Rust implementation with the goal of
having native front-ends and interoperability with Synergy. having native front-ends and interoperability with Deskflow.
* [Input Leap](https://github.com/input-leap/input-leap) - A Synergy-derivative with the goal * [Input Leap](https://github.com/input-leap/input-leap) - A Deskflow-derivative with the goal
of continuing what Barrier started (a now dead Synergy fork). of continuing what Barrier started (a now dead Deskflow fork).
## FAQ ## 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 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, 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. so it may happen in the not-too-distant future.
### Has Synergy moved beyond its goals from the 1.x era? ### If I want to solve issues in Deskflow do I need to contribute to a fork?
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?
We welcome PRs (pull requests) from the community. If you'd like to make a change, please feel 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 free to [start a discussion](https://github.com/deskflow/deskflow/discussions) or
[open a PR](https://github.com/deskflow/deskflow/wiki/Contributing). [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? ### 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. System) is an important platform for us.
The [`libei`](https://gitlab.freedesktop.org/libinput/libei) and The [`libei`](https://gitlab.freedesktop.org/libinput/libei) and
[`libportal`](https://github.com/flatpak/libportal) libraries enable [`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 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, implementation in Deskflow. Others such as Olivier Fourdan and Povilas Kanapickas helped with the
and we rely on the work of our community of developers to continue the development of Wayland Wayland implementation.
support.
### Where did it all start? ### 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 Read about the [history of the project](https://github.com/deskflow/deskflow/wiki/History) on our
wiki. wiki.
@ -251,7 +195,7 @@ wiki.
Repology monitors a huge number of package repositories and other sources comparing package Repology monitors a huge number of package repositories and other sources comparing package
versions across them and gathering other information. 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 ## License

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) 2024 Symless Ltd.
# #
# This package is free software; you can redistribute it and/or # 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 # 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 # (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 # 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). # making it).
if(WIN32) if(WIN32)
@ -60,10 +60,10 @@ macro(post_config_all)
add_dependencies( add_dependencies(
run_post_build run_post_build
synergy deskflow
synergyc deskflowc
synergys deskflows
synergyd) deskflowd)
endif() endif()
endmacro() 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) 2012-2024 Symless Ltd.
# Copyright (C) 2009-2012 Nick Bolton # Copyright (C) 2009-2012 Nick Bolton
# #
@ -36,7 +36,7 @@ macro(configure_definitions)
if("${VERSION_URL}" STREQUAL "") if("${VERSION_URL}" STREQUAL "")
set(VERSION_URL "https://api.symless.com/version?version=v1") set(VERSION_URL "https://api.symless.com/version?version=v1")
endif() endif()
add_definitions(-DSYNERGY_VERSION_URL="${VERSION_URL}") add_definitions(-DDESKFLOW_VERSION_URL="${VERSION_URL}")
if(NOT "$ENV{GIT_SHA}" STREQUAL "") if(NOT "$ENV{GIT_SHA}" STREQUAL "")
# Shorten the Git SHA to 8 chars for readability # Shorten the Git SHA to 8 chars for readability
@ -45,25 +45,25 @@ macro(configure_definitions)
add_definitions(-DGIT_SHA_SHORT="${GIT_SHA_SHORT}") add_definitions(-DGIT_SHA_SHORT="${GIT_SHA_SHORT}")
endif() endif()
if(NOT "$ENV{SYNERGY_PRODUCT_NAME}" STREQUAL "") if(NOT "$ENV{DESKFLOW_PRODUCT_NAME}" STREQUAL "")
set(PRODUCT_NAME $ENV{SYNERGY_PRODUCT_NAME}) set(PRODUCT_NAME $ENV{DESKFLOW_PRODUCT_NAME})
endif() endif()
if(LICENSED_PRODUCT) if(LICENSED_PRODUCT)
message(STATUS "Licensed product") message(STATUS "Licensed product")
add_definitions(-DSYNERGY_LICENSED_PRODUCT=1) add_definitions(-DDESKFLOW_LICENSED_PRODUCT=1)
if(ENABLE_ACTIVATION) if(ENABLE_ACTIVATION)
message(STATUS "Activation enabled") message(STATUS "Activation enabled")
add_definitions(-DSYNERGY_ENABLE_ACTIVATION=1) add_definitions(-DDESKFLOW_ENABLE_ACTIVATION=1)
endif() endif()
else() else()
set(PRODUCT_NAME "Synergy 1 Community Edition") set(PRODUCT_NAME "Deskflow")
endif() endif()
if(PRODUCT_NAME) if(PRODUCT_NAME)
message(STATUS "Product name: ${PRODUCT_NAME}") message(STATUS "Product name: ${PRODUCT_NAME}")
add_definitions(-DSYNERGY_PRODUCT_NAME="${PRODUCT_NAME}") add_definitions(-DDESKFLOW_PRODUCT_NAME="${PRODUCT_NAME}")
endif() endif()
if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug") if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
@ -120,28 +120,28 @@ macro(configure_options)
# by default, show the dev thanks message, guides contributions, etc. # by default, show the dev thanks message, guides contributions, etc.
set(DEFAULT_SHOW_DEV_THANKS ON) 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_GUI OFF)
set(DEFAULT_BUILD_INSTALLER OFF) set(DEFAULT_BUILD_INSTALLER OFF)
endif() endif()
if("$ENV{SYNERGY_BUILD_TESTS}" STREQUAL "false") if("$ENV{DESKFLOW_BUILD_TESTS}" STREQUAL "false")
set(DEFAULT_BUILD_TESTS OFF) set(DEFAULT_BUILD_TESTS OFF)
endif() endif()
if("$ENV{SYNERGY_BUILD_UNIFIED}" STREQUAL "true") if("$ENV{DESKFLOW_BUILD_UNIFIED}" STREQUAL "true")
set(DEFAULT_BUILD_UNIFIED ON) set(DEFAULT_BUILD_UNIFIED ON)
endif() endif()
if("$ENV{SYNERGY_ENABLE_ACTIVATION}" STREQUAL "true") if("$ENV{DESKFLOW_ENABLE_ACTIVATION}" STREQUAL "true")
set(DEFAULT_ENABLE_ACTIVATION ON) set(DEFAULT_ENABLE_ACTIVATION ON)
endif() endif()
if("$ENV{SYNERGY_LICENSED_PRODUCT}" STREQUAL "true") if("$ENV{DESKFLOW_LICENSED_PRODUCT}" STREQUAL "true")
set(DEFAULT_LICENSED_PRODUCT ON) set(DEFAULT_LICENSED_PRODUCT ON)
endif() endif()
if("$ENV{SYNERGY_ENABLE_COVERAGE}" STREQUAL "true") if("$ENV{DESKFLOW_ENABLE_COVERAGE}" STREQUAL "true")
set(DEFAULT_ENABLE_COVERAGE ON) set(DEFAULT_ENABLE_COVERAGE ON)
endif() endif()

View file

@ -463,7 +463,7 @@ macro(configure_windows_libs)
/DWIN32 /DWIN32
/D_WINDOWS /D_WINDOWS
/D_CRT_SECURE_NO_WARNINGS /D_CRT_SECURE_NO_WARNINGS
/DSYNERGY_VERSION=\"${SYNERGY_VERSION}\" /DDESKFLOW_VERSION=\"${DESKFLOW_VERSION}\"
/D_XKEYCHECK_H) /D_XKEYCHECK_H)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/res/win/version.rc.in configure_file(${CMAKE_CURRENT_SOURCE_DIR}/res/win/version.rc.in
@ -527,7 +527,7 @@ macro(configure_gtest)
# Arch Linux package maintainers: # Arch Linux package maintainers:
# We do care about not bundling libs and didn't mean to cause upset. We made some mistakes # 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. # 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. # 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! :) # 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}) 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) 2012-2024 Symless Ltd.
# Copyright (C) 2009-2012 Nick Bolton # Copyright (C) 2009-2012 Nick Bolton
# #
@ -20,8 +20,8 @@
macro(configure_packaging) macro(configure_packaging)
if(${BUILD_INSTALLER}) if(${BUILD_INSTALLER})
set(CPACK_PACKAGE_NAME "synergy") set(CPACK_PACKAGE_NAME "deskflow")
set(CPACK_PACKAGE_CONTACT "Synergy <support@symless.com>") set(CPACK_PACKAGE_CONTACT "Deskflow <support@symless.com>")
set(CPACK_PACKAGE_DESCRIPTION "Mouse and keyboard sharing utility") set(CPACK_PACKAGE_DESCRIPTION "Mouse and keyboard sharing utility")
set(CPACK_PACKAGE_VENDOR "Symless") set(CPACK_PACKAGE_VENDOR "Symless")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
@ -50,7 +50,7 @@ macro(configure_windows_packaging)
message(STATUS "Configuring Windows installer") 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}) set(QT_PATH $ENV{CMAKE_PREFIX_PATH})
configure_files(${CMAKE_CURRENT_SOURCE_DIR}/res/dist/wix configure_files(${CMAKE_CURRENT_SOURCE_DIR}/res/dist/wix
@ -65,17 +65,17 @@ macro(configure_macos_packaging)
message(STATUS "Configuring macOS app bundle") message(STATUS "Configuring macOS app bundle")
set(CPACK_PACKAGE_VERSION ${SYNERGY_VERSION}) set(CPACK_PACKAGE_VERSION ${DESKFLOW_VERSION})
set(CMAKE_INSTALL_RPATH set(CMAKE_INSTALL_RPATH
"@loader_path/../Libraries;@loader_path/../Frameworks") "@loader_path/../Libraries;@loader_path/../Frameworks")
set(SYNERGY_BUNDLE_SOURCE_DIR set(DESKFLOW_BUNDLE_SOURCE_DIR
${CMAKE_CURRENT_SOURCE_DIR}/res/dist/macos/bundle) ${CMAKE_CURRENT_SOURCE_DIR}/res/dist/macos/bundle)
set(SYNERGY_BUNDLE_DIR ${CMAKE_BINARY_DIR}/bundle) set(DESKFLOW_BUNDLE_DIR ${CMAKE_BINARY_DIR}/bundle)
set(SYNERGY_BUNDLE_APP_DIR ${SYNERGY_BUNDLE_DIR}/Synergy.app) set(DESKFLOW_BUNDLE_APP_DIR ${DESKFLOW_BUNDLE_DIR}/Deskflow.app)
set(SYNERGY_BUNDLE_BINARY_DIR ${SYNERGY_BUNDLE_APP_DIR}/Contents/MacOS) 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() endmacro()
@ -86,10 +86,10 @@ macro(configure_linux_packaging)
message(STATUS "Configuring 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_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_SECTION "utils")
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
@ -108,8 +108,8 @@ macro(configure_linux_packaging)
# apps install to. # apps install to.
set(CMAKE_INSTALL_PREFIX /usr) set(CMAKE_INSTALL_PREFIX /usr)
install(FILES res/dist/linux/synergy.desktop DESTINATION share/applications) install(FILES res/dist/linux/deskflow.desktop DESTINATION share/applications)
install(FILES res/synergy.png DESTINATION share/pixmaps) install(FILES res/deskflow.png DESTINATION share/pixmaps)
# Prepare PKGBUILD for Arch Linux # Prepare PKGBUILD for Arch Linux
configure_file(res/dist/arch/PKGBUILD.in ${CMAKE_BINARY_DIR}/PKGBUILD @ONLY) 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) 2012-2024 Symless Ltd.
# Copyright (C) 2009-2012 Nick Bolton # Copyright (C) 2009-2012 Nick Bolton
# #
@ -18,20 +18,20 @@
# On Windows, we also set a special 4-digit MSI version number. # On Windows, we also set a special 4-digit MSI version number.
macro(set_version) macro(set_version)
set(SYNERGY_VERSION $ENV{SYNERGY_VERSION}) set(DESKFLOW_VERSION $ENV{DESKFLOW_VERSION})
string(STRIP "${SYNERGY_VERSION}" SYNERGY_VERSION) string(STRIP "${DESKFLOW_VERSION}" DESKFLOW_VERSION)
if(NOT SYNERGY_VERSION) if(NOT DESKFLOW_VERSION)
file(READ "${CMAKE_SOURCE_DIR}/VERSION" SYNERGY_VERSION) file(READ "${CMAKE_SOURCE_DIR}/VERSION" DESKFLOW_VERSION)
string(STRIP "${SYNERGY_VERSION}" SYNERGY_VERSION) string(STRIP "${DESKFLOW_VERSION}" DESKFLOW_VERSION)
endif() endif()
message(STATUS "Version number (semver): " ${SYNERGY_VERSION}) message(STATUS "Version number (semver): " ${DESKFLOW_VERSION})
add_definitions(-DSYNERGY_VERSION="${SYNERGY_VERSION}") add_definitions(-DDESKFLOW_VERSION="${DESKFLOW_VERSION}")
# Useful for copyright (e.g. in macOS bundle .plist.in and Windows version .rc # Useful for copyright (e.g. in macOS bundle .plist.in and Windows version .rc
# file) # file)
string(TIMESTAMP SYNERGY_BUILD_YEAR "%Y") string(TIMESTAMP DESKFLOW_BUILD_YEAR "%Y")
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
set_windows_version() set_windows_version()
@ -43,19 +43,19 @@ endmacro()
macro(set_four_part_version) 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_MAJOR "${CMAKE_MATCH_1}")
set(VERSION_MINOR "${CMAKE_MATCH_2}") set(VERSION_MINOR "${CMAKE_MATCH_2}")
set(VERSION_PATCH "${CMAKE_MATCH_3}") set(VERSION_PATCH "${CMAKE_MATCH_3}")
# Find the revision number, which is the number after the 'r'. # 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}") set(VERSION_REVISION "${CMAKE_MATCH_1}")
if(NOT VERSION_REVISION) if(NOT VERSION_REVISION)
set(VERSION_REVISION "0") set(VERSION_REVISION "0")
endif() endif()
set(SYNERGY_VERSION_FOUR_PART set(DESKFLOW_VERSION_FOUR_PART
"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}.${VERSION_REVISION}") "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}.${VERSION_REVISION}")
endmacro() endmacro()
@ -66,15 +66,15 @@ macro(set_windows_version)
set_four_part_version() set_four_part_version()
# Dot-separated version number for MSI and Windows version .rc file. # 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): " message(STATUS "Version number for (Microsoft 4-part): "
${SYNERGY_VERSION_MS}) ${DESKFLOW_VERSION_MS})
# CSV version number for Windows version .rc file. # 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}") "${VERSION_MAJOR},${VERSION_MINOR},${VERSION_PATCH},${VERSION_REVISION}")
message(STATUS "Version number for (Microsoft CSV): " message(STATUS "Version number for (Microsoft CSV): "
${SYNERGY_VERSION_MS_CSV}) ${DESKFLOW_VERSION_MS_CSV})
endmacro() endmacro()
macro(set_linux_version) 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 # 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 # package revision. Debian has always used this convention, but support for
# this was also introduced in RPM 4.10.0. # this was also introduced in RPM 4.10.0.
string(REGEX REPLACE "-" "~" SYNERGY_VERSION_LINUX "${SYNERGY_VERSION}") string(REGEX REPLACE "-" "~" DESKFLOW_VERSION_LINUX "${DESKFLOW_VERSION}")
message(STATUS "Version number (DEB/RPM): ${SYNERGY_VERSION_LINUX}") message(STATUS "Version number (DEB/RPM): ${DESKFLOW_VERSION_LINUX}")
# Arch does not support SemVer or DEB/RPM version format, so use the four-part # 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. # version format which funnily enough is what Microsoft requires for MSI.
set_four_part_version() 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() endmacro()

View file

@ -13,6 +13,7 @@
"Compat", "Compat",
"contribs", "contribs",
"Daun", "Daun",
"Deskflow",
"distros", "distros",
"dmgbuild", "dmgbuild",
"dotenv", "dotenv",
@ -27,11 +28,13 @@
"ifdef", "ifdef",
"INPUTCAPTURE", "INPUTCAPTURE",
"integtests", "integtests",
"Kanapickas",
"keychain", "keychain",
"Keychains", "Keychains",
"Kutytska", "Kutytska",
"Lanz", "Lanz",
"libei", "libei",
"Libera",
"libportal", "libportal",
"LLDB", "LLDB",
"Lysytsia", "Lysytsia",
@ -47,6 +50,7 @@
"Petroules", "Petroules",
"Pixmap", "Pixmap",
"Poschta", "Poschta",
"Povilas",
"Priddy", "Priddy",
"pyproject", "pyproject",
"qputenv", "qputenv",
@ -59,9 +63,6 @@
"Sorin", "Sorin",
"subproject", "subproject",
"subprojects", "subprojects",
"synergyc",
"synergyd",
"synergys",
"trackpad", "trackpad",
"Trixie", "Trixie",
"unittests", "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 # comments begin with the # character and continue to the end of
# line. comments may appear anywhere the syntax permits. # 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 # comments begin with the # character and continue to the end of
# line. comments may appear anywhere the syntax permits. # 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 # comments begin with the # character and continue to the end of
# line. comments may appear anywhere the syntax permits. # line. comments may appear anywhere the syntax permits.

View file

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

View file

@ -1,5 +1,5 @@
/* Define version here for Unix, but using /D for Windows. */ /* 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`. */ /* Define to the base type of arg 3 for `accept`. */
#cmakedefine ACCEPT_TYPE_ARG3 ${ACCEPT_TYPE_ARG3} #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 pkgname=deskflow
pkgver=@SYNERGY_VERSION_FOUR_PART@ pkgver=@DESKFLOW_VERSION_FOUR_PART@
pkgrel=1 pkgrel=1
pkgdesc="Mouse and keyboard sharing utility" pkgdesc="Mouse and keyboard sharing utility"
url='https://symless.com/synergy/' url='https://symless.com/deskflow/'
arch=('x86_64') arch=('x86_64')
license=('GPL-2.0-only') license=('GPL-2.0-only')
depends=( depends=(

View file

@ -1,9 +1,9 @@
app-id: com.symless.Synergy app-id: com.symless.Deskflow
runtime: org.kde.Platform runtime: org.kde.Platform
runtime-version: "5.15-21.08" runtime-version: "5.15-21.08"
sdk: org.kde.Sdk sdk: org.kde.Sdk
rename-icon: synergy rename-icon: deskflow
rename-desktop-file: synergy.desktop rename-desktop-file: deskflow.desktop
modules: modules:
- name: openssl - name: openssl
buildsystem: simple buildsystem: simple
@ -23,7 +23,7 @@ modules:
sources: sources:
- type: git - type: git
url: https://gitlab.gnome.org/GNOME/libnotify.git url: https://gitlab.gnome.org/GNOME/libnotify.git
- name: synergy - name: deskflow
buildsystem: cmake-ninja buildsystem: cmake-ninja
config-opts: config-opts:
- "-DCMAKE_BUILD_TYPE=Release" - "-DCMAKE_BUILD_TYPE=Release"
@ -32,7 +32,7 @@ modules:
path: ../ path: ../
- type: patch - type: patch
path: flatpak-desktop.patch path: flatpak-desktop.patch
command: synergy command: deskflow
finish-args: finish-args:
- "--share=ipc" - "--share=ipc"
- "--socket=x11" - "--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 index fa987bdf..9513dbf3 100644
--- a/res/synergy.desktop --- a/res/deskflow.desktop
+++ b/res/synergy.desktop +++ b/res/deskflow.desktop
@@ -3,8 +3,7 @@ Type=Application @@ -3,8 +3,7 @@ Type=Application
Version=1.0 Version=1.0
Name=Synergy Name=Deskflow
Comment=Keyboard and mouse sharing solution Comment=Keyboard and mouse sharing solution
-Path=/usr/bin -Path=/usr/bin
-Exec=/usr/bin/synergy -Exec=/usr/bin/deskflow
+Exec= +Exec=
Icon=synergy Icon=deskflow
Terminal=false Terminal=false
Categories=Utility; Categories=Utility;

View file

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

View file

@ -4,27 +4,27 @@
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>English</string> <string>English</string>
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>Synergy</string> <string>Deskflow</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>synergy</string> <string>deskflow</string>
<key>CFBundleIconFile</key> <key>CFBundleIconFile</key>
<string>Synergy.icns</string> <string>Deskflow.icns</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>synergy</string> <string>deskflow</string>
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string> <string>6.0</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>Synergy</string> <string>Deskflow</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>SYN1</string> <string>SYN1</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>@SYNERGY_VERSION@</string> <string>@DESKFLOW_VERSION@</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>@SYNERGY_VERSION@</string> <string>@DESKFLOW_VERSION@</string>
<key>NSHumanReadableCopyright</key> <key>NSHumanReadableCopyright</key>
<string>© 2012-@SYNERGY_BUILD_YEAR@ Symless Ltd</string> <string>© 2012-@DESKFLOW_BUILD_YEAR@ Symless Ltd</string>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>10.9.0</string> <string>10.9.0</string>
</dict> </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 # Visual Studio Version 16
VisualStudioVersion = 16.0.29411.108 VisualStudioVersion = 16.0.29411.108
MinimumVisualStudioVersion = 10.0.40219.1 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 EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution

View file

@ -4,18 +4,18 @@
<ProductVersion>3.11</ProductVersion> <ProductVersion>3.11</ProductVersion>
<ProjectGuid>{d4ba9f39-6a35-4c8f-9cb2-67fcbe5cab17}</ProjectGuid> <ProjectGuid>{d4ba9f39-6a35-4c8f-9cb2-67fcbe5cab17}</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion> <SchemaVersion>2.0</SchemaVersion>
<OutputName>Synergy</OutputName> <OutputName>Deskflow</OutputName>
<OutputType>Package</OutputType> <OutputType>Package</OutputType>
<OutputPath>bin\$(Configuration)\</OutputPath> <OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>wix\obj\$(Configuration)\</IntermediateOutputPath> <IntermediateOutputPath>wix\obj\$(Configuration)\</IntermediateOutputPath>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Include="$(SolutionDir)/SynergyWelcome.wxs" /> <Compile Include="$(SolutionDir)/DeskflowWelcome.wxs" />
<Compile Include="$(SolutionDir)/SynergyInstallDlg.wxs" /> <Compile Include="$(SolutionDir)/DeskflowInstallDlg.wxs" />
<Compile Include="$(SolutionDir)/SynergyBrowseDlg.wxs" /> <Compile Include="$(SolutionDir)/DeskflowBrowseDlg.wxs" />
<Compile Include="$(SolutionDir)/SynergyVerifyReadyDlg.wxs" /> <Compile Include="$(SolutionDir)/DeskflowVerifyReadyDlg.wxs" />
<Compile Include="$(SolutionDir)/SynergyMaintenanceTypeDlg.wxs" /> <Compile Include="$(SolutionDir)/DeskflowMaintenanceTypeDlg.wxs" />
<Compile Include="$(SolutionDir)/SynergyDlgSequence.wxs" /> <Compile Include="$(SolutionDir)/DeskflowDlgSequence.wxs" />
<Compile Include="$(SolutionDir)/Product.wxs" /> <Compile Include="$(SolutionDir)/Product.wxs" />
<Content Include="$(SolutionDir)/Include.wxi" /> <Content Include="$(SolutionDir)/Include.wxi" />
@ -36,4 +36,4 @@
</ItemGroup> </ItemGroup>
<Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' " /> <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') " /> <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"> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment> <Fragment>
<UI> <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="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)"> <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> <Publish Event="SetTargetPath" Value="[_BrowseProperty]">1</Publish>
@ -30,4 +30,4 @@
</Dialog> </Dialog>
</UI> </UI>
</Fragment> </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"> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include Include.wxi?> <?include Include.wxi?>
<Fragment> <Fragment>
<UI Id="SynergyInstallDirDlg"> <UI Id="DeskflowInstallDirDlg">
<Dialog Id="SynergyInstallDirDlg" Width="370" Height="270" Title="!(loc.InstallDirDlg_Title)"> <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="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)" /> <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" /> <Publish Event="SpawnDialog" Value="CancelDlg" />
</Control> </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="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)" /> <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> </Dialog>
</UI> </UI>
</Fragment> </Fragment>
</Wix> </Wix>

View file

@ -13,8 +13,8 @@
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment> <Fragment>
<UI> <UI>
<Dialog Id="SynergyMaintenanceTypeDlg" Width="370" Height="270" Title="!(loc.MaintenanceTypeDlg_Title)"> <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="[SynergyCommonBackground]" /> <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)"> <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> <Publish Property="WixUI_InstallMode" Value="Change">1</Publish>
<Condition Action="disable">ARPNOMODIFY</Condition> <Condition Action="disable">ARPNOMODIFY</Condition>
@ -55,4 +55,4 @@
</Dialog> </Dialog>
</UI> </UI>
</Fragment> </Fragment>
</Wix> </Wix>

View file

@ -3,7 +3,7 @@
<?include Include.wxi?> <?include Include.wxi?>
<Fragment> <Fragment>
<UI> <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)"> <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="show">NOT Installed AND ALLUSERS</Condition>
<Condition Action="enable">NOT Installed</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)"> <Control Id="Back" Type="PushButton" X="156" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)">
<Condition Action="default">WixUI_InstallMode = "Remove"</Condition> <Condition Action="default">WixUI_InstallMode = "Remove"</Condition>
</Control> </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" /> <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
</Dialog> </Dialog>
</UI> </UI>
</Fragment> </Fragment>
</Wix> </Wix>

View file

@ -5,25 +5,25 @@
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include Include.wxi?> <?include Include.wxi?>
<Fragment> <Fragment>
<UI Id="SynergyWelcome"> <UI Id="DeskflowWelcome">
<Property Id="SynergyWelcomeBackground">welcome_background</Property> <Property Id="DeskflowWelcomeBackground">welcome_background</Property>
<Binary Id="welcome_background" SourceFile="$(var.ResPath)\dist\wix\images\welcome_background.png"/> <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)"> <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> <Publish Property="WixUI_InstallMode" Value="Update">Installed AND PATCH</Publish>
</Control> </Control>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)"> <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> <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
</Control> </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="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" /> <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
</Dialog> </Dialog>
<InstallUISequence> <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> </InstallUISequence>
</UI> </UI>
</Fragment> </Fragment>
</Wix> </Wix>

View file

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

View file

@ -19,20 +19,20 @@
</Feature> </Feature>
<DirectoryRef Id="TARGETDIR"> <DirectoryRef Id="TARGETDIR">
<Component Guid="7CF3564D-1F8E-4D3D-9781-E1EE22D5BD67" Id="RegistryEntries"> <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"> <RegistryKey Id="deskflows" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" Root="HKLM">
<RegistryValue Name="[INSTALLFOLDER]synergys.exe" Type="string" Value="~ HIGHDPIAWARE WIN7RTM"/> <RegistryValue Name="[INSTALLFOLDER]deskflows.exe" Type="string" Value="~ HIGHDPIAWARE WIN7RTM"/>
</RegistryKey> </RegistryKey>
<RegistryKey Id="synergyc" Root="HKLM" <RegistryKey Id="deskflowc" Root="HKLM"
Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"
ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes"> 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>
<RegistryKey Id="synergy" Root="HKLM" <RegistryKey Id="deskflow" Root="HKLM"
Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"
ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes"> 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> </RegistryKey>
<!-- Windows 8 and later only --> <!-- Windows 8 and later only -->
<Condition><![CDATA[Installed OR (VersionNT >= 602)]]></Condition> <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"/> <Merge Id="VC_Redist" SourceFile="$(var.ResPath)\dist\wix\msm\Microsoft_VC142_CRT_x86.msm" DiskId="1" Language="0"/>
<?endif ?> <?endif ?>
</DirectoryRef> </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"/> <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="WixUIBannerBmp" Value="$(var.ResPath)\dist\wix\images\banner.png"/>
<WixVariable Id="WixUIDialogBmp" Value="$(var.ResPath)\dist\wix\images\dialog.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="WIXUI_INSTALLDIR" Value="INSTALLFOLDER"/>
<Property Id="LEGACY_UNINSTALL_EXISTS"> <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"/> <FileSearch Id="LegacyFileSearch" Name="uninstall.exe"/>
</RegistrySearch> </RegistrySearch>
</Property> </Property>
@ -59,7 +59,7 @@
</Condition> </Condition>
<CustomAction ExeCommand="" FileKey="GuiProgram" Id="StartGui" Return="asyncNoWait"/> <CustomAction ExeCommand="" FileKey="GuiProgram" Id="StartGui" Return="asyncNoWait"/>
<UI> <UI>
<UIRef Id="SynergyDlgSequence" /> <UIRef Id="DeskflowDlgSequence" />
</UI> </UI>
</Product> </Product>
<Fragment> <Fragment>
@ -77,18 +77,18 @@
<Fragment> <Fragment>
<ComponentGroup Directory="INSTALLFOLDER" Id="ProductComponents"> <ComponentGroup Directory="INSTALLFOLDER" Id="ProductComponents">
<Component Guid="EC9AD3B0-277C-4157-B5C8-5FD5B6A5F4AD" Id="Core"> <Component Guid="EC9AD3B0-277C-4157-B5C8-5FD5B6A5F4AD" Id="Core">
<File KeyPath="yes" Source="$(var.BinPath)/synergyd.exe"/> <File KeyPath="yes" Source="$(var.BinPath)/deskflowd.exe"/>
<ServiceInstall Description="Controls the $(var.Name) foreground processes." DisplayName="$(var.Name)" ErrorControl="normal" Id="ServiceInstall" Name="Synergy" Start="auto" Type="ownProcess"> <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"/> <util:ServiceConfig FirstFailureActionType="restart" ResetPeriodInDays="1" RestartServiceDelayInSeconds="1" SecondFailureActionType="restart" ThirdFailureActionType="restart"/>
</ServiceInstall> </ServiceInstall>
<ServiceControl Id="ServiceControl" Name="Synergy" Remove="uninstall" Start="install" Stop="both"/> <ServiceControl Id="ServiceControl" Name="Deskflow" Remove="uninstall" Start="install" Stop="both"/>
<File Source="$(var.BinPath)/synergys.exe"> <File Source="$(var.BinPath)/deskflows.exe">
<fire:FirewallException Id="ServerFirewallException" IgnoreFailure="yes" Name="Synergy 1 server" Scope="any"/> <fire:FirewallException Id="ServerFirewallException" IgnoreFailure="yes" Name="Deskflow server" Scope="any"/>
</File> </File>
<File Source="$(var.BinPath)/synergyc.exe"> <File Source="$(var.BinPath)/deskflowc.exe">
<fire:FirewallException Id="ClientFirewallException" IgnoreFailure="yes" Name="Synergy 1 client" Scope="any"/> <fire:FirewallException Id="ClientFirewallException" IgnoreFailure="yes" Name="Deskflow client" Scope="any"/>
</File> </File>
<File Source="$(var.BinPath)/syntool.exe"/> <File Source="$(var.BinPath)/deskflow-legacy.exe"/>
<?if $(var.Platform) = x64 ?> <?if $(var.Platform) = x64 ?>
<File Source="$(var.OpenSslDllDir)/libssl-3-x64.dll"/> <File Source="$(var.OpenSslDllDir)/libssl-3-x64.dll"/>
<File Source="$(var.OpenSslDllDir)/libcrypto-3-x64.dll"/> <File Source="$(var.OpenSslDllDir)/libcrypto-3-x64.dll"/>
@ -98,9 +98,9 @@
<?endif ?> <?endif ?>
</Component> </Component>
<Component Guid="BAC8149B-6287-45BF-9C27-43D71ED40214" Id="Gui"> <Component Guid="BAC8149B-6287-45BF-9C27-43D71ED40214" Id="Gui">
<File Id="GuiProgram" KeyPath="yes" Source="$(var.BinPath)/synergy.exe"> <File Id="GuiProgram" KeyPath="yes" Source="$(var.BinPath)/deskflow.exe">
<Shortcut Advertise="yes" Directory="ProgramMenuFolder" Icon="synergy.exe" Id="GuiShortcut" Name="$(var.Name)"> <Shortcut Advertise="yes" Directory="ProgramMenuFolder" Icon="deskflow.exe" Id="GuiShortcut" Name="$(var.Name)">
<Icon Id="synergy.exe" SourceFile="$(var.ResPath)/synergy.ico"/> <Icon Id="deskflow.exe" SourceFile="$(var.ResPath)/deskflow.ico"/>
</Shortcut> </Shortcut>
<fire:FirewallException Id="GuiFirewallException" IgnoreFailure="yes" Name="$(var.Name)" Scope="any"/> <fire:FirewallException Id="GuiFirewallException" IgnoreFailure="yes" Name="$(var.Name)" Scope="any"/>
</File> </File>
@ -147,8 +147,8 @@
<File Id="OpenSSLDll2" Source="$(var.OpenSslDllDir)/libssl-3.dll"/> <File Id="OpenSSLDll2" Source="$(var.OpenSslDllDir)/libssl-3.dll"/>
<?endif ?> <?endif ?>
<File Source="$(var.OpenSslExeDir)/openssl.exe"/> <File Source="$(var.OpenSslExeDir)/openssl.exe"/>
<File Source="$(var.ResPath)/openssl/synergy.conf"/> <File Source="$(var.ResPath)/openssl/deskflow.conf"/>
</Component> </Component>
</ComponentGroup> </ComponentGroup>
</Fragment> </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 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project. # 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. # The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or # This could be handy for archiving the generated documentation or

View file

@ -1,15 +1,15 @@
<RCC> <RCC>
<qresource> <qresource>
<file>icons/16x16/synergy.png</file> <file>icons/16x16/deskflow.png</file>
<file>icons/64x64/video-display.png</file> <file>icons/64x64/video-display.png</file>
<file>icons/64x64/user-trash.png</file> <file>icons/64x64/user-trash.png</file>
<file>icons/16x16/warning.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-light.png</file>
<file>image/about-dark.png</file> <file>image/about-dark.png</file>
<file>icons/16x16/padlock.png</file> <file>icons/16x16/padlock.png</file>
<file>icons/64x64/synergy-dark.png</file> <file>icons/64x64/deskflow-dark.png</file>
<file>icons/64x64/synergy-light.png</file> <file>icons/64x64/deskflow-light.png</file>
<file>image/welcome.png</file> <file>image/welcome.png</file>
<file>icons/64x64/folder.png</file> <file>icons/64x64/folder.png</file>
<file>image/setup-blocker.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 KiB

After

Width:  |  Height:  |  Size: 1 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> <key>CFBundleDevelopmentRegion</key>
<string>English</string> <string>English</string>
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>Synergy</string> <string>Deskflow</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>Synergy</string> <string>Deskflow</string>
<key>CFBundleIconFile</key> <key>CFBundleIconFile</key>
<string>Synergy.icns</string> <string>Deskflow.icns</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>synergy</string> <string>deskflow</string>
<!-- TODO: Fix this in v2.0 //--> <!-- TODO: Fix this in v2.0 //-->
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string> <string>6.0</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>Synergy</string> <string>Deskflow</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <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. # 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 <windows.h>
#include <verrsrc.h> #include <verrsrc.h>
#define VER_FILEVERSION @SYNERGY_VERSION_MS_CSV@ #define VER_FILEVERSION @DESKFLOW_VERSION_MS_CSV@
#define VER_FILEVERSION_STR "@SYNERGY_VERSION_MS@\0" #define VER_FILEVERSION_STR "@DESKFLOW_VERSION_MS@\0"
#define VER_PRODUCTVERSION @SYNERGY_VERSION_MS_CSV@ #define VER_PRODUCTVERSION @DESKFLOW_VERSION_MS_CSV@
#define VER_PRODUCTVERSION_STR "@SYNERGY_VERSION_MS@\0" #define VER_PRODUCTVERSION_STR "@DESKFLOW_VERSION_MS@\0"
#define VER_COMPANYNAME_STR "Symless\0" #define VER_COMPANYNAME_STR "Symless\0"
#define VER_FILEDESCRIPTION_STR "Synergy\0" #define VER_FILEDESCRIPTION_STR "Deskflow\0"
#define VER_INTERNALNAME_STR "Synergy\0" #define VER_INTERNALNAME_STR "Deskflow\0"
#define VER_LEGALCOPYRIGHT_STR "Copyright (C) Symless Ltd. @SYNERGY_BUILD_YEAR@\0" #define VER_LEGALCOPYRIGHT_STR "Copyright (C) Symless Ltd. @DESKFLOW_BUILD_YEAR@\0"
#define VER_LEGALTRADEMARKS1_STR "All Rights Reserved\0" #define VER_LEGALTRADEMARKS1_STR "All Rights Reserved\0"
#define VER_LEGALTRADEMARKS2_STR "\0" #define VER_LEGALTRADEMARKS2_STR "\0"
#define VER_ORIGINALFILENAME_STR "\0" #define VER_ORIGINALFILENAME_STR "\0"
#define VER_PRODUCTNAME_STR "Synergy\0" #define VER_PRODUCTNAME_STR "Deskflow\0"
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION FILEVERSION VER_FILEVERSION
@ -51,4 +51,4 @@ BEGIN
BEGIN BEGIN
VALUE "Translation", 0x409, 1252 VALUE "Translation", 0x409, 1252
END END
END END

View file

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

View file

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

View file

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

View file

@ -1,6 +1,6 @@
import os, base64 import os, base64
# Synergy -- mouse and keyboard sharing utility # Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd. # Copyright (C) 2024 Symless Ltd.
# #
# This package is free software; you can redistribute it and/or # 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. # Copyright (C) 2024 Symless Ltd.
# #
# This package is free software; you can redistribute it and/or # 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. # Copyright (C) 2024 Symless Ltd.
# #
# This package is free software; you can redistribute it and/or # 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. # Copyright (C) 2024 Symless Ltd.
# #
# This package is free software; you can redistribute it and/or # 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. # Copyright (C) 2024 Symless Ltd.
# #
# This package is free software; you can redistribute it and/or # 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. 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: if version:
return 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. # Copyright (C) 2024 Symless Ltd.
# #
# This package is free software; you can redistribute it and/or # 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. # Copyright (C) 2024 Symless Ltd.
# #
# This package is free software; you can redistribute it and/or # 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. # Copyright (C) 2024 Symless Ltd.
# #
# This package is free software; you can redistribute it and/or # 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. # Copyright (C) 2024 Symless Ltd.
# #
# This package is free software; you can redistribute it and/or # This package is free software; you can redistribute it and/or
@ -26,8 +26,8 @@ class PackageType(Enum):
dist_dir = "dist" dist_dir = "dist"
build_dir = "build" build_dir = "build"
package_name = "synergy" package_name = "deskflow"
test_cmd = "synergys --version" test_cmd = "deskflows --version"
def run_command(command, check=True): def run_command(command, check=True):
@ -140,19 +140,19 @@ def test_install(package_file, remove_test=True):
if "debian" in distro_like: if "debian" in distro_like:
install_base = ["apt", "install", "-f", "-y"] install_base = ["apt", "install", "-f", "-y"]
remove_base = ["apt", "remove", "-y"] remove_base = ["apt", "remove", "-y"]
list_cmd = ["dpkg", "-L", "synergy"] list_cmd = ["dpkg", "-L", "deskflow"]
elif "fedora" in distro_like: elif "fedora" in distro_like:
install_base = ["dnf", "install", "-y"] install_base = ["dnf", "install", "-y"]
remove_base = ["dnf", "remove", "-y"] remove_base = ["dnf", "remove", "-y"]
list_cmd = ["rpm", "-ql", "synergy"] list_cmd = ["rpm", "-ql", "deskflow"]
elif "opensuse" in distro_like: elif "opensuse" in distro_like:
install_base = ["zypper", "--no-gpg-checks", "install", "-y"] install_base = ["zypper", "--no-gpg-checks", "install", "-y"]
remove_base = ["zypper", "remove", "-y"] remove_base = ["zypper", "remove", "-y"]
list_cmd = ["rpm", "-ql", "synergy"] list_cmd = ["rpm", "-ql", "deskflow"]
elif "arch" in distro_like: elif "arch" in distro_like:
install_base = ["pacman", "-U", "--noconfirm"] install_base = ["pacman", "-U", "--noconfirm"]
remove_base = ["pacman", "-R", "--noconfirm"] remove_base = ["pacman", "-R", "--noconfirm"]
list_cmd = ["pacman", "-Ql", "synergy"] list_cmd = ["pacman", "-Ql", "deskflow"]
else: else:
raise RuntimeError(f"Linux distro not yet supported: {distro}") 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. # Copyright (C) 2024 Symless Ltd.
# #
# This package is free software; you can redistribute it and/or # 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" codesign_env = "APPLE_CODESIGN_ID"
shell_rc = "~/.zshrc" shell_rc = "~/.zshrc"
dist_dir = "dist" dist_dir = "dist"
product_name = "Synergy 1" product_name = "Deskflow"
settings_file = "res/dist/macos/dmgbuild/settings.py" 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" security_path = "/usr/bin/security"
sudo_path = "/usr/bin/sudo" sudo_path = "/usr/bin/sudo"
notarytool_path = "/usr/bin/notarytool" 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. # Copyright (C) 2024 Symless Ltd.
# #
# This package is free software; you can redistribute it and/or # 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. # Copyright (C) 2024 Symless Ltd.
# #
# This package is free software; you can redistribute it and/or # 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. # Copyright (C) 2024 Symless Ltd.
# #
# This package is free software; you can redistribute it and/or # 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. # Copyright (C) 2024 Symless Ltd.
# #
# This package is free software; you can redistribute it and/or # This package is free software; you can redistribute it and/or
@ -26,8 +26,8 @@ CERTUTIL_CMD = "certutil"
RUNNER_TEMP_ENV = "RUNNER_TEMP" RUNNER_TEMP_ENV = "RUNNER_TEMP"
DIST_DIR = "dist" DIST_DIR = "dist"
BUILD_DIR = "build" BUILD_DIR = "build"
WIX_FILE = f"{BUILD_DIR}/installer/Synergy.sln" WIX_FILE = f"{BUILD_DIR}/installer/Deskflow.sln"
MSI_FILE = f"{BUILD_DIR}/installer/bin/Release/Synergy.msi" MSI_FILE = f"{BUILD_DIR}/installer/bin/Release/Deskflow.msi"
def run_elevated(script, args=None, use_sys_argv=True, wait_for_exit=False): def run_elevated(script, args=None, use_sys_argv=True, wait_for_exit=False):

View file

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

View file

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

View file

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

View file

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

View file

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# Synergy -- mouse and keyboard sharing utility # Deskflow -- mouse and keyboard sharing utility
# Copyright (C) 2024 Symless Ltd. # Copyright (C) 2024 Symless Ltd.
# #
# This package is free software; you can redistribute it and/or # 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) 2012-2024 Symless Ltd.
# Copyright (C) 2009-2012 Nick Bolton # 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) 2012-2024 Symless Ltd.
# Copyright (C) 2009-2012 Nick Bolton # Copyright (C) 2009-2012 Nick Bolton
# #
@ -14,13 +14,13 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
add_subdirectory(synergyd) add_subdirectory(deskflowd)
if(BUILD_UNIFIED) if(BUILD_UNIFIED)
add_subdirectory(synergy-core) add_subdirectory(deskflow-core)
else() else()
add_subdirectory(synergyc) add_subdirectory(deskflowc)
add_subdirectory(synergys) add_subdirectory(deskflows)
endif(BUILD_UNIFIED) 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) 2012-2024 Symless Ltd.
# Copyright (C) 2009-2012 Nick Bolton # Copyright (C) 2009-2012 Nick Bolton
# #
@ -14,7 +14,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
set(target synergy-core) set(target deskflow-core)
set(sources ${target}.cpp) set(sources ${target}.cpp)
@ -34,11 +34,11 @@ target_link_libraries(
ipc ipc
platform platform
server server
synlib app
${libs}) ${libs})
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 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") elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
install(TARGETS ${target} DESTINATION bin) install(TARGETS ${target} DESTINATION bin)
endif() 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) 2012-2022 Symless Ltd.
* Copyright (C) 2002 Chris Schoeneman * Copyright (C) 2002 Chris Schoeneman
* *
@ -18,8 +18,8 @@
#include "arch/Arch.h" #include "arch/Arch.h"
#include "base/EventQueue.h" #include "base/EventQueue.h"
#include "base/Log.h" #include "base/Log.h"
#include "synergy/ClientApp.h" #include "deskflow/ClientApp.h"
#include "synergy/ServerApp.h" #include "deskflow/ServerApp.h"
#include <iostream> #include <iostream>
#if SYSAPI_WIN32 #if SYSAPI_WIN32
@ -27,11 +27,11 @@
#endif #endif
void showHelp() { void showHelp() {
std::cout << "Usage: synergy-core <server | client> [...options]" std::cout << "Usage: deskflow-core <server | client> [...options]"
<< std::endl; << std::endl;
std::cout << "server - start as a server (synergys)" << std::endl; std::cout << "server - start as a server (deskflows)" << std::endl;
std::cout << "client - start as a client (synergyc)" << std::endl; std::cout << "client - start as a client (deskflowc)" << std::endl;
std::cout << "use synergy-core <server|client> --help for more information." std::cout << "use deskflow-core <server|client> --help for more information."
<< std::endl; << 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) 2012-2024 Symless Ltd.
# Copyright (C) 2009-2012 Nick Bolton # Copyright (C) 2009-2012 Nick Bolton
# #
@ -14,7 +14,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # 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 headers "*.h")
file(GLOB sources "*.cpp") file(GLOB sources "*.cpp")
@ -26,7 +26,7 @@ endif()
add_executable(${target} ${sources}) add_executable(${target} ${sources})
target_link_libraries( target_link_libraries(
${target} ${target}
synlib app
arch arch
base base
client client
@ -39,7 +39,7 @@ target_link_libraries(
${libs}) ${libs})
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 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") elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
install(TARGETS ${target} DESTINATION bin) install(TARGETS ${target} DESTINATION bin)
endif() 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. * Copyright (C) 2014-2016 Symless Ltd.
* *
* This package is free software; you can redistribute it and/or * This package is free software; you can redistribute it and/or
@ -16,7 +16,7 @@
*/ */
#include "arch/Arch.h" #include "arch/Arch.h"
#include "synergy/ToolApp.h" #include "deskflow/ToolApp.h"
#if SYSAPI_WIN32 #if SYSAPI_WIN32
#include "arch/win32/ArchMiscWindows.h" #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) 2012-2024 Symless Ltd.
# Copyright (C) 2009-2012 Nick Bolton # Copyright (C) 2009-2012 Nick Bolton
# #
@ -14,7 +14,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
set(target synergyc) set(target deskflowc)
set(sources ${target}.cpp) set(sources ${target}.cpp)
@ -60,11 +60,11 @@ target_link_libraries(
ipc ipc
platform platform
server server
synlib app
${libs}) ${libs})
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 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") elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
install(TARGETS ${target} DESTINATION bin) install(TARGETS ${target} DESTINATION bin)
endif() 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) 2012-2016 Symless Ltd.
* Copyright (C) 2003 Chris Schoeneman * Copyright (C) 2003 Chris Schoeneman
* *
@ -315,10 +315,10 @@ IArchTaskBarReceiver *createTaskBarReceiver(
const BufferedLogOutputter *logBuffer, IEventQueue *events) { const BufferedLogOutputter *logBuffer, IEventQueue *events) {
ArchMiscWindows::setIcons( ArchMiscWindows::setIcons(
(HICON)LoadImage( (HICON)LoadImage(
ArchMiscWindows::instanceWin32(), MAKEINTRESOURCE(IDI_SYNERGY), ArchMiscWindows::instanceWin32(), MAKEINTRESOURCE(IDI_DESKFLOW),
IMAGE_ICON, 32, 32, LR_SHARED), IMAGE_ICON, 32, 32, LR_SHARED),
(HICON)LoadImage( (HICON)LoadImage(
ArchMiscWindows::instanceWin32(), MAKEINTRESOURCE(IDI_SYNERGY), ArchMiscWindows::instanceWin32(), MAKEINTRESOURCE(IDI_DESKFLOW),
IMAGE_ICON, 16, 16, LR_SHARED)); IMAGE_ICON, 16, 16, LR_SHARED));
return new MSWindowsClientTaskBarReceiver( return new MSWindowsClientTaskBarReceiver(

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