diff --git a/.env.example b/.env.example deleted file mode 100644 index 372078633..000000000 --- a/.env.example +++ /dev/null @@ -1,65 +0,0 @@ -# -# Usage: Copy this .env.example file to .env -# - -# -# App -# - -# Shows the test menu in the GUI (on by default in debug mode) -# DESKFLOW_TEST_MENU=true - -# Version checker URL to use (useful for testing) -# DESKFLOW_VERSION_URL="https://api.deskflow.org/version?fake=1.100.0" - -# Enable debug logging in the GUI (on by default in debug mode) -# DESKFLOW_GUI_DEBUG=true - -# Enable verbose logging in the GUI (always off by default) -# DESKFLOW_GUI_VERBOSE=true - -# Reset all settings and delete all data on startup -# DESKFLOW_RESET_ALL=true - -# -# Build -# - -# [Windows] The version of Qt to build against (overrides the value in the config.yml file) -# QT_VERSION=1.2.3 - -# -# Packaging (optional) -# - -# [Linux] Build extra packages (self-extracting tar.gz and tar.gz) -# LINUX_EXTRA_PACKAGES=true - -# [Linux] Run the package command as a different user (requires sudo) -# LINUX_PACKAGE_USER=build - -# [Windows] Base64 encoded PFX code signing certificate -# WINDOWS_PFX_CERTIFICATE="very-long-base64-encoded-string" - -# [Windows] Password for the PFX code signing certificate -# WINDOWS_PFX_PASSWORD="super-secret-password" - -# [macOS] Certificate ID for the Developer ID Application code signing certificate -# APPLE_CODESIGN_ID="Developer ID Application: Acme Inc (ABC123XYZ9)" - -# [macOS] Base64 encoded P12 code signing certificate -# APPLE_P12_CERTIFICATE="very-long-base64-encoded-string" - -# [macOS] Password for the P12 code signing certificate -# APPLE_P12_PASSWORD="super-secret-password" - -# [macOS] Apple Team ID -# https://developer.apple.com/account/#/membership -# APPLE_TEAM_ID="ABC123XYZ9" - -# [macOS] Apple ID used to notarize the app -# APPLE_NOTARY_USER="example@example.com" - -# [macOS] App-specific password for the Apple ID -# https://support.apple.com/en-gb/102654 -# APPLE_NOTARY_PASSWORD="super-secret-password" diff --git a/.gitignore b/.gitignore index d907eca97..d73ad3037 100644 --- a/.gitignore +++ b/.gitignore @@ -34,4 +34,3 @@ CMakeLists.txt.user CMakeCache.txt CMakeUserPresets.json CMakeFiles/* - diff --git a/cspell.json b/cspell.json index 6b0d7fa84..166551cea 100644 --- a/cspell.json +++ b/cspell.json @@ -65,6 +65,7 @@ "Sbârnea", "Schoeneman", "Serhii", + "shemp", "Sorin", "subproject", "subprojects", diff --git a/doc/configuration.md b/doc/configuration.md new file mode 100644 index 000000000..de5651782 --- /dev/null +++ b/doc/configuration.md @@ -0,0 +1,168 @@ +# Server Config Examples + +The `deskflow-server` command accepts the `-c` or `--config` option, which takes one argument, +the path to a server configuration file. The format is non-standard but similar to YAML. + +Comments begin with the `#` character and continue to the end of line. +Comments may appear anywhere the syntax permits. + +Each `section` element must have a matching `end` element. + +## Stacked Example + +Stack one computer's screen on top of another's. + +``` +# +-------+ +# | curly | +# | | +# +-------+ +# +-------+ +-------+ +# | moe | | larry | +# | | | | +# +-------+ +-------+ + +section: screens + # three hosts named: moe, larry, and curly + moe: + larry: + curly: +end + +section: links + # larry is to the right of moe and curly is above moe. + moe: + right = larry + up = curly + + # moe is to the left of larry and curly is above larry. + larry: + left = moe + up = curly + + # larry is below curly. + curly: + down = larry +end + +section: aliases + # curly is also known as shemp + curly: + shemp +end +``` + +## Horizontal Example + +Align all screens horizontally. + +``` +# +-------+ +-------+ +-------+ +# | moe | | larry | | curly | +# | | | | | | +# +-------+ +-------+ +-------+ + +section: screens + # three hosts named: moe, larry, and curly + moe: + larry: + curly: +end + +section: links + # curly is to the right of larry and moe is to the left of larry. + larry: + right = curly + left = moe + + # larry is to the right of moe. + moe: + right = larry + + # larry is to the left of curly. + curly: + left = larry +end + +``` + +## Span Example + +Span two screens on one computer across the screens of two computers. + +``` +# +-------+ +-------+ +# | curly | | curly | +# | | | | +# +-------+ +-------+ +# +-------+ +-------+ +# | moe | | larry | +# | | | | +# +-------+ +-------+ + +section: screens + # three hosts named: moe, larry, and curly + moe: + larry: + curly: +end + +section: links + # larry is to the right of moe and curly is above moe. + moe: + right = larry + up = curly + + # moe is to the left of larry and curly is above larry. + larry: + left = moe + up = curly + + # larry is below curly. + curly: + down = larry +end +``` + +# Example file for `--config-toml` arg + +``` +[server.args] +no-daemon = true +no-tray = true +debug = "DEBUG" +name = "moe" +address = ":24800" + +[client.args] +no-daemon = true +no-tray = true +debug = "DEBUG2" +name = "larry" +_last = "moe:24800" +``` + + +# Example `.env` file + + +``` +# +# App +# + +# Shows the test menu in the GUI (on by default in debug mode) +# DESKFLOW_TEST_MENU=true + +# Version checker URL to use (useful for testing) +# DESKFLOW_VERSION_URL="https://api.deskflow.org/version?fake=1.100.0" + +# Enable debug logging in the GUI (on by default in debug mode) +# DESKFLOW_GUI_DEBUG=true + +# Enable verbose logging in the GUI (always off by default) +# DESKFLOW_GUI_VERBOSE=true + +# Reset all settings and delete all data on startup +# DESKFLOW_RESET_ALL=true +``` diff --git a/doc/deskflow.conf.example b/doc/deskflow.conf.example deleted file mode 100644 index 3a0ff5ed1..000000000 --- a/doc/deskflow.conf.example +++ /dev/null @@ -1,37 +0,0 @@ -# sample deskflow configuration file -# -# comments begin with the # character and continue to the end of -# line. comments may appear anywhere the syntax permits. - -section: screens - # three hosts named: moe, larry, and curly - moe: - larry: - curly: -end - -section: links - # larry is to the right of moe and curly is above moe - moe: - right = larry - up = curly - - # moe is to the left of larry and curly is above larry. - # note that curly is above both moe and larry and moe - # and larry have a symmetric connection (they're in - # opposite directions of each other). - larry: - left = moe - up = curly - - # larry is below curly. if you move up from moe and then - # down, you'll end up on larry. - curly: - down = larry -end - -section: aliases - # curly is also known as shemp - curly: - shemp -end diff --git a/doc/deskflow.conf.example-advanced b/doc/deskflow.conf.example-advanced deleted file mode 100644 index f6176bcec..000000000 --- a/doc/deskflow.conf.example-advanced +++ /dev/null @@ -1,55 +0,0 @@ -# sample deskflow configuration file -# -# comments begin with the # character and continue to the end of -# line. comments may appear anywhere the syntax permits. - -# This example uses 3 computers. A laptop and two desktops (one a mac) -# They are arranged in the following configuration with Desktop1 acting as the server -# Desktop 2 has 3 screens arranged around desktop1 -# -# +--------+ +---------+ -# |Desktop2| |Desktop2 | -# | | | | -# +--------+ +---------+ -# +-------+ +--------+ +---------+ -# |Laptop | |Desktop1| |Desktop2 | -# | | | | | | -# +-------+ +--------+ +---------+ -# -# The laptop comes and goes but that doesn't really affect this configuration - -# The screens section is for the logical or short name of the computers -section: screens - # three computers that are logically named: desktop1, desktop2, and laptop - desktop1: - desktop2: - laptop: -end - -section: links - # larry is to the right of moe and curly is above moe - moe: - right = larry - up = curly - - # moe is to the left of larry and curly is above larry. - # note that curly is above both moe and larry and moe - # and larry have a symmetric connection (they're in - # opposite directions of each other). - larry: - left = moe - up = curly - - # larry is below curly. if you move up from moe and then - # down, you'll end up on larry. - curly: - down = larry -end - -# The aliases section is to map the full names of the computers to their logical names used in the screens section -# One way to find the actual name of a comptuer is to run hostname from a command window -section: aliases - # Laptop is actually known as John-Smiths-MacBook-3.local - desktop2: - John-Smiths-MacBook-3.local -end diff --git a/doc/deskflow.conf.example-basic b/doc/deskflow.conf.example-basic deleted file mode 100644 index 5a5c7b0db..000000000 --- a/doc/deskflow.conf.example-basic +++ /dev/null @@ -1,39 +0,0 @@ -# sample deskflow configuration file -# -# comments begin with the # character and continue to the end of -# line. comments may appear anywhere the syntax permits. -# +-------+ +--------+ +---------+ -# |Laptop | |Desktop1| |iMac | -# | | | | | | -# +-------+ +--------+ +---------+ - -section: screens - # three hosts named: Laptop, Desktop1, and iMac - # These are the nice names of the hosts to make it easy to write the config file - # The aliases section below contain the "actual" names of the hosts (their hostnames) - Laptop: - Desktop1: - iMac: -end - -section: links - # iMac is to the right of Desktop1 - # Laptop is to the left of Desktop1 - Desktop1: - right = iMac - left = Laptop - - # Desktop1 is to the right of Laptop - Laptop: - right = Desktop1 - - # Desktop1 is to the left of iMac - iMac: - left = Desktop1 -end - -section: aliases - # The "real" name of iMac is John-Smiths-iMac-3.local. If we wanted we could remove this alias and instead use John-Smiths-iMac-3.local everywhere iMac is above. Hopefully it should be easy to see why using an alias is nicer - iMac: - John-Smiths-iMac-3.local -end