Skip to content

A tool to help you control performance, energy, fan and comfort settings on TUXEDO laptops.

License

Notifications You must be signed in to change notification settings

eeickmeyer/kfocus-control-center

 
 

Repository files navigation

Kubuntu Focus Control Center

Overview

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.

WorkFlows

Branches overview


<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

Set Up Git Workspace

# 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

Primary Branches

git checkout -b master git branch --setupst

Upstream Feature Development Workflow

New features are based off the master branch.

  1. Merge upstream changes into master and create a new feature branch.
git fetch -a --prune --all
git checkout master && git pull
git difftool upstream/master # Should show nothing
git checkout -b <ticketID>_<date>-master-<description>
  1. Work on branch (Appendix A)
  2. Update translations (Appendix B)
  3. Create PR with upstream on Github.

Update 'brand' Branch

The 'brand' branch is based off the release branch.

  1. Update release branch from upstream
git fetch -a --prune --all
git checkout release && git pull
git difftool upstream/release # Should show nothing
  1. Create a copy of existing brand branch for development
git fetch -a --prune --all
git checkout brand && git pull
git checkout -b <ticketID>_<date>-brand-<description>

# Compare to existing brand to see changes
git difftool origin/brand
  1. Work on branch (Appendix A)
  2. Update translations (Appendix B)
  3. Merge into brand and check
git checkout brand
git fetch -a --prune
git pull
git merge <brand-update-branch>
git difftool origin/brand # Confirm
  1. Create patch See this link:
git fetch -a --prune --all
git checkout release && git pull;
git checkout brand   && git pull;
git diff brand..release > brand-<last-8-hash>_release-<last-8-hash>_<YYYY-mm-dd>.patch
  1. Test apply patch
git checkout release  && git fetch -a --prune && git pull;
patch < brand-<date>.patch
  1. Deliver the patch to packaging for deployment

Appendix A: Work on Branch

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 ...

Appendix B: Create Translation

# 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

About

A tool to help you control performance, energy, fan and comfort settings on TUXEDO laptops.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 60.9%
  • HTML 15.7%
  • CSS 10.7%
  • SCSS 6.9%
  • C++ 3.9%
  • Shell 0.9%
  • Other 1.0%