mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-04-17 14:29:51 +02:00
This commit adds an initial version of the komorebi status bar. At this point the bar is still considered "alpha" and the configuration format may see some small breaking changes based on usage and feedback. There is an accompanying video series which details the creation of this bar on YouTube: https://www.youtube.com/watch?v=x2Z5-K05bHs Some high level notes on the bar: * An external application which exclusively consumes komorebi_client's public API surface - anyone can create this without hacking directly on komorebi's internals * Generally a very simple bar with limited configuration options - users who want more configurability should use alternatives such as yasb or zebar * Scope is deliberately limited to provide a tighter, more focused experience: Windows-only, komorebi-only, single-monitor-only, horizontal-only * No support for custom widgets or templating * Colours are controlled exclusively through themes which adhere to a palette framework such as Base16 or Catppuccin (and possibly others in the future) This commit contains all of the commits listed:e5fa03c33cfeat(bar): initial commitb3990590f3feat(bar): add config struct with basic optsbc2f4a172efeat(bar): handle komorebi restarts gracefullyca6bf69ac7feat(bar): add basic widget config opts18358efed8feat(bar): add interactive layout and media widgets92bb9f680bperf(bar): use explicit redraw and data refresh strategies8e74e97706feat(bar): add battery and network widgetsfdc7706d23feat(bar): add custom font loader025162769bfeat(bar): allow right side widget orderinga1688691cffeat(bar): add app icon next to focused window title9f78739c3ffeat(bar): add komorebi widget (+config) and themesa4ef85859efeat(bar): use phosphor icons for uniformitye99138a97efeat(bar): add first pass at configuration loaderd6ccf4cf9afeat(bar): add logging and config hotwatch34d2431947feat(bar): handle monocle containers in komorebi widget7907dfeb79feat(bar): add optional data refresh intervals to config96a9cb320efeat(bar): add flag to list system fonts42b7a13693feat(bar): add activity to network widgetac38f52407feat(bar): to_pretty_bytes on network activity6803ffd741feat(bar): configurable network activity fill char len 7d7a5d758d99808cd2b81da2b3ddbb11c52aa92f ci(github): add bar to wix and goreleaser configs da307e36fc1faf84ecca3f91811fdd15f70ef2ff feat(bar): expand theme sources c580ff7899889309dfa849ad4fb05b80b6af8d9b feat(bar): add accent config for themes bc4dabda4a941c0c9764fae2c8d11abbfdc0a9f5 feat(bar): add accents to widget emojis a574837529dd6c5add73edf394c1c9c2e6cc6315 feat(bar): add to hard-coded float identifiers ff41b552613f911e56b1790e68389525ee7e603c chore(deps): bump base16-egui-themes
190 lines
8.7 KiB
XML
190 lines
8.7 KiB
XML
<?xml version='1.0' encoding='windows-1252'?>
|
|
<!--
|
|
Copyright (C) 2017 Christopher R. Field.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<!--
|
|
The "cargo wix" subcommand provides a variety of predefined variables available
|
|
for customization of this template. The values for each variable are set at
|
|
installer creation time. The following variables are available:
|
|
|
|
TargetTriple = The rustc target triple name.
|
|
TargetEnv = The rustc target environment. This is typically either
|
|
"msvc" or "gnu" depending on the toolchain downloaded and
|
|
installed.
|
|
TargetVendor = The rustc target vendor. This is typically "pc", but Rust
|
|
does support other vendors, like "uwp".
|
|
CargoTargetBinDir = The complete path to the binary (exe). The default would
|
|
be "target\release\<BINARY_NAME>.exe" where
|
|
"<BINARY_NAME>" is replaced with the name of each binary
|
|
target defined in the package's manifest (Cargo.toml). If
|
|
a different rustc target triple is used than the host,
|
|
i.e. cross-compiling, then the default path would be
|
|
"target\<CARGO_TARGET>\<CARGO_PROFILE>\<BINARY_NAME>.exe",
|
|
where "<CARGO_TARGET>" is replaced with the "CargoTarget"
|
|
variable value and "<CARGO_PROFILE>" is replaced with the
|
|
value from the `CargoProfile` variable.
|
|
CargoTargetDir = The path to the directory for the build artifacts, i.e.
|
|
"target".
|
|
CargoProfile = Either "debug" or `release` depending on the build
|
|
profile. The default is "release".
|
|
Version = The version for the installer. The default is the
|
|
"Major.Minor.Fix" semantic versioning number of the Rust
|
|
package.
|
|
-->
|
|
|
|
<!--
|
|
Please do not remove these pre-processor If-Else blocks. These are used with
|
|
the `cargo wix` subcommand to automatically determine the installation
|
|
destination for 32-bit versus 64-bit installers. Removal of these lines will
|
|
cause installation errors.
|
|
-->
|
|
<?if $(sys.BUILDARCH) = x64 or $(sys.BUILDARCH) = arm64?>
|
|
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder"?>
|
|
<?else ?>
|
|
<?define PlatformProgramFilesFolder = "ProgramFilesFolder"?>
|
|
<?endif ?>
|
|
|
|
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
|
|
|
|
<Product Id='*' Name='komorebi' UpgradeCode='F8B967B5-7E7B-4E3A-895B-B789EC898B54' Manufacturer='LGUG2Z' Language='1033' Codepage='1252' Version='$(var.Version)'>
|
|
|
|
<Package Id='*' Keywords='Installer' Description='A tiling window manager for Windows' Manufacturer='LGUG2Z' InstallerVersion='450' Languages='1033' Compressed='yes' InstallScope='perMachine' SummaryCodepage='1252' />
|
|
|
|
<MajorUpgrade Schedule='afterInstallInitialize' DowngradeErrorMessage='A newer version of [ProductName] is already installed. Setup will now exit.' />
|
|
|
|
<Media Id='1' Cabinet='media1.cab' EmbedCab='yes' DiskPrompt='CD-ROM #1' />
|
|
<Property Id='DiskPrompt' Value='komorebi Installation' />
|
|
|
|
<Directory Id='TARGETDIR' Name='SourceDir'>
|
|
<Directory Id='$(var.PlatformProgramFilesFolder)' Name='PFiles'>
|
|
<Directory Id='APPLICATIONFOLDER' Name='komorebi'>
|
|
<!--
|
|
Disabling the license sidecar file in the installer is a two step process:
|
|
|
|
1. Comment out or remove the `Component` tag along with its contents.
|
|
2. Comment out or remove the `ComponentRef` tag with the "License" Id
|
|
attribute value further down in this file.
|
|
-->
|
|
<Component Id='License' Guid='*'>
|
|
<File Id='LicenseFile' Name='License.rtf' DiskId='1' Source='wix\License.rtf' KeyPath='yes' />
|
|
</Component>
|
|
|
|
<Directory Id='Bin' Name='bin'>
|
|
<Component Id='Path' Guid='6C6DF276-06C4-4675-BDED-48C5C2BC9BC5' KeyPath='yes'>
|
|
<Environment Id='PATH' Name='PATH' Value='[Bin]' Permanent='no' Part='last' Action='set' System='yes' />
|
|
</Component>
|
|
<Component Id='binary0' Guid='*'>
|
|
<File Id='exe0' Name='komorebi.exe' DiskId='1' Source='$(var.CargoTargetBinDir)\komorebi.exe' KeyPath='yes' />
|
|
</Component>
|
|
<Component Id='binary1' Guid='*'>
|
|
<File Id='exe1' Name='komorebic.exe' DiskId='1' Source='$(var.CargoTargetBinDir)\komorebic.exe' KeyPath='yes' />
|
|
</Component>
|
|
<Component Id='binary2' Guid='*'>
|
|
<File Id='exe2' Name='komorebic-no-console.exe' DiskId='1' Source='$(var.CargoTargetBinDir)\komorebic-no-console.exe' KeyPath='yes' />
|
|
</Component>
|
|
<Component Id='binary3' Guid='*'>
|
|
<File Id='exe3' Name='komorebi-gui.exe' DiskId='1' Source='$(var.CargoTargetBinDir)\komorebi-gui.exe' KeyPath='yes' />
|
|
</Component>
|
|
<Component Id='binary4' Guid='*'>
|
|
<File Id='exe4' Name='komorebi-bar.exe' DiskId='1' Source='$(var.CargoTargetBinDir)\komorebi-bar.exe' KeyPath='yes' />
|
|
</Component>
|
|
</Directory>
|
|
</Directory>
|
|
</Directory>
|
|
</Directory>
|
|
|
|
<Feature Id='Binaries' Title='Application' Description='Installs all binaries and the license.' Level='1' ConfigurableDirectory='APPLICATIONFOLDER' AllowAdvertise='no' Display='expand' Absent='disallow'>
|
|
<!--
|
|
Comment out or remove the following `ComponentRef` tag to remove
|
|
the license sidecar file from the installer.
|
|
-->
|
|
<ComponentRef Id='License' />
|
|
|
|
<ComponentRef Id='binary0' />
|
|
|
|
<ComponentRef Id='binary1' />
|
|
|
|
<ComponentRef Id='binary2' />
|
|
|
|
<ComponentRef Id='binary3' />
|
|
|
|
<ComponentRef Id='binary4' />
|
|
|
|
<Feature Id='Environment' Title='PATH Environment Variable' Description='Add the install location of the [ProductName] executable to the PATH system environment variable. This allows the [ProductName] executable to be called from any location.' Level='1' Absent='allow'>
|
|
<ComponentRef Id='Path' />
|
|
</Feature>
|
|
</Feature>
|
|
|
|
<SetProperty Id='ARPINSTALLLOCATION' Value='[APPLICATIONFOLDER]' After='CostFinalize' />
|
|
|
|
|
|
<!--
|
|
Uncomment the following `Icon` and `Property` tags to change the product icon.
|
|
|
|
The product icon is the graphic that appears in the Add/Remove
|
|
Programs control panel for the application.
|
|
-->
|
|
<!--<Icon Id='ProductICO' SourceFile='wix\Product.ico'/>-->
|
|
<!--<Property Id='ARPPRODUCTICON' Value='ProductICO' />-->
|
|
|
|
<Property Id='ARPHELPLINK' Value='https://github.com/LGUG2Z/komorebi' />
|
|
|
|
<UI>
|
|
<UIRef Id='WixUI_FeatureTree' />
|
|
<!--
|
|
Disabling the EULA dialog in the installer is a two step process:
|
|
|
|
1. Uncomment the following two `Publish` tags
|
|
2. Comment out or remove the `<WiXVariable Id='WixUILicenseRtf'...` tag further down
|
|
|
|
-->
|
|
<!--<Publish Dialog='WelcomeDlg' Control='Next' Event='NewDialog' Value='CustomizeDlg' Order='99'>1</Publish>-->
|
|
<!--<Publish Dialog='CustomizeDlg' Control='Back' Event='NewDialog' Value='WelcomeDlg' Order='99'>1</Publish>-->
|
|
|
|
</UI>
|
|
|
|
<!--
|
|
Disabling the EULA dialog in the installer requires commenting out
|
|
or removing the following `WixVariable` tag
|
|
-->
|
|
<WixVariable Id='WixUILicenseRtf' Value='wix\License.rtf' />
|
|
|
|
|
|
<!--
|
|
Uncomment the next `WixVaraible` tag to customize the installer's
|
|
Graphical User Interface (GUI) and add a custom banner image across
|
|
the top of each screen. See the WiX Toolset documentation for details
|
|
about customization.
|
|
|
|
The banner BMP dimensions are 493 x 58 pixels.
|
|
-->
|
|
<!--<WixVariable Id='WixUIBannerBmp' Value='wix\Banner.bmp'/>-->
|
|
|
|
|
|
<!--
|
|
Uncomment the next `WixVariable` tag to customize the installer's
|
|
Graphical User Interface (GUI) and add a custom image to the first
|
|
dialog, or screen. See the WiX Toolset documentation for details about
|
|
customization.
|
|
|
|
The dialog BMP dimensions are 493 x 312 pixels.
|
|
-->
|
|
<!--<WixVariable Id='WixUIDialogBmp' Value='wix\Dialog.bmp'/>-->
|
|
|
|
</Product>
|
|
|
|
</Wix>
|