This is a fork of the TUXEDO Control Center which has been created by the team at TUXEDO Computers GmbH. This repository is the source for patching the upstream, and is not intended for new feature development. Instead we intend to contribute PRs there to minimize feature divergence and to give back to all those who contributed to the TUXEDO Control Center.
PLease see the TUXEDO Control Center Repository for further details.
# Desired Branches as shown below
# <ticketID>_<date>-release-<description> <= Mainline feature branch
# <ticketID>_<date>-brand-<description> <= Brand feature branch
# brand <= origin/brand Our branded release branch
# master <= upstream/master Upstream master - do NOT edit
# release <= upstream/release Upstream release - do NOT edit
# Setup, default branch is 'brand'
git clone [email protected]:kfocus/kfocus-control-center.git
git fetch -a --prune --all
# Add master and release branches from upstream
git checkout -b master
git branch --set-upstream-to=upsteam/master
git pull
git checkout -b release
git branch --set-upstream-to=upsteam/master
git pull
New features are based off the release or master branch. At the time of this writing (2022-04-09), the release branch was ahead of the master branch, and so we use this as the source.
- Pull upstream release branch as source of new feature branch.
git fetch -a --prune --all
git checkout release && git pull
git difftool upstream/release # Should show nothing
git checkout -b <ticketID>_<date>-release-<description>
- Work on branch (Appendix A)
- Update translations (Appendix B)
- Create PR with upstream on Github.
The 'brand' branch is based off the release branch. The steps below are required to rebrand the product successfully.
- Pull upstream release branch as a basis to create a new feature branch.
git fetch -a --prune --all
git checkout release && git pull
git difftool upstream/release # Should show nothing
- Create copy of brand branch to merge release into
git fetch -a --prune --all
git checkout brand && git pull
git checkout -b <ticketID>_<date>-brand-<description>
# Merge release changes into this branch
git merge release
# Compare to existing brand to see changes
git difftool origin/brand
- Work on branch (Appendix A)
- Update translations (Appendix B)
- Merge into a test branch before merging into brand
git fetch -a --prune --all
git checkout brand && git pull
git checkout -b test
git merge <brand-update-branch>
# Compare to origin brand to see changes
git difftool origin/brand
# Test function here
- If test works, delete test branch and merge into 'brand'
git fetch -a --prune --all
git checkout brand && git pull
git brand -D test
git merge <brand-update-branch>
# Compare to existing brand to see changes
git difftool origin/brand
# Test function here, and then push
git push
- Create patch See this link:
# See this file for exact steps employed
bin/make-brand-release-patch
# This will output a file named
# `brand-<last-8-hash>_release-<last-8-hash>_<YYYY-mm-dd>.patch`
- Test apply patch
git fetch -a --prune --all;
git checkout release && git pull;
git checkout -b
git apply <patch-file-from-above>
- Deliver the patch to packaging for deployment
Useful commands to run development.
npm install
npm run build
bin/deployctl stop
bin/deployctl start
npm run start
Add context menu and inspect for development
Set electron to dev mode: set ELECTRON_IS_DEV=1 && electron ...
# Setup
npm run lang-gen # Generates lang.xlf file, below
cd src/ng-app/assets/locale
cp lang.en.xlf lang.tgt.xlf
# Copy over new strings and IDs, add or del new targets as needed
meld lang.xlf lang.tgt.xlf
# Test
cp lang.tgt.xlf lang.en.xlf
cd ../../..
npm run build
npm run start
# If product does not work as expected, revert
# git checkout src/ng-app/assets/locale/lang.en.xlf
# Repeat with German if needed