Skip to content

Commit

Permalink
⚡ Rebrand! (#5)
Browse files Browse the repository at this point in the history
Rename the project to FlashCom
  • Loading branch information
haydenmc authored Jul 20, 2024
1 parent 9da9951 commit 0efe2b4
Show file tree
Hide file tree
Showing 64 changed files with 90 additions and 119 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ jobs:
- uses: nuget/setup-nuget@v2
with:
nuget-version: 'latest'
- run: nuget restore LaunchTree.sln
- run: nuget restore FlashCom.sln
- name: Enable Developer Command Prompt
uses: ilammy/msvc-dev-cmd@v1
- name: Build
run: msbuild LaunchTree.sln /p:ProjectName="LaunchTree" /p:Configuration="Release" /p:Platform="x64" /p:AppxBundle="Always" /p:AppxPackageSigningEnabled=true /p:PackageCertificateThumbprint="6de63fea060da67479e25dfaa28619111060bac3" /p:PackageCertificateKeyFile="Packaging_TemporaryKey.pfx" /p:UapAppxPackageBuildMode="Sideload" /p:AppxBundlePlatforms="x64|ARM64" /p:AppxPackageDir="AppPackages"
run: msbuild FlashCom.sln /p:ProjectName="FlashCom" /p:Configuration="Release" /p:Platform="x64" /p:AppxBundle="Always" /p:AppxPackageSigningEnabled=true /p:PackageCertificateThumbprint="40ea06049798ab38516f7f4da15b92fd6ffd6299" /p:PackageCertificateKeyFile="Packaging_TemporaryKey.pfx" /p:UapAppxPackageBuildMode="Sideload" /p:AppxBundlePlatforms="x64|ARM64" /p:AppxPackageDir="AppPackages"
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
Expand Down
26 changes: 1 addition & 25 deletions LaunchTree.sln → FlashCom.sln
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32210.238
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LaunchTree", "src\LaunchTree\LaunchTree.vcxproj", "{D35837C5-D070-41E4-9671-0884454B8B44}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FlashCom", "src\FlashCom\FlashCom.vcxproj", "{D35837C5-D070-41E4-9671-0884454B8B44}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{CBD8D4A8-CCCE-41B4-A4B5-678F2651865F}"
ProjectSection(SolutionItems) = preProject
Expand All @@ -15,56 +15,32 @@ Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "Packaging", "src\Packaging\
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|ARM = Release|ARM
Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D35837C5-D070-41E4-9671-0884454B8B44}.Debug|ARM.ActiveCfg = Debug|x64
{D35837C5-D070-41E4-9671-0884454B8B44}.Debug|ARM.Build.0 = Debug|x64
{D35837C5-D070-41E4-9671-0884454B8B44}.Debug|ARM64.ActiveCfg = Debug|x64
{D35837C5-D070-41E4-9671-0884454B8B44}.Debug|ARM64.Build.0 = Debug|x64
{D35837C5-D070-41E4-9671-0884454B8B44}.Debug|x64.ActiveCfg = Debug|x64
{D35837C5-D070-41E4-9671-0884454B8B44}.Debug|x64.Build.0 = Debug|x64
{D35837C5-D070-41E4-9671-0884454B8B44}.Debug|x86.ActiveCfg = Debug|x64
{D35837C5-D070-41E4-9671-0884454B8B44}.Debug|x86.Build.0 = Debug|x64
{D35837C5-D070-41E4-9671-0884454B8B44}.Release|ARM.ActiveCfg = Release|x64
{D35837C5-D070-41E4-9671-0884454B8B44}.Release|ARM.Build.0 = Release|x64
{D35837C5-D070-41E4-9671-0884454B8B44}.Release|ARM64.ActiveCfg = Release|ARM64
{D35837C5-D070-41E4-9671-0884454B8B44}.Release|ARM64.Build.0 = Release|ARM64
{D35837C5-D070-41E4-9671-0884454B8B44}.Release|x64.ActiveCfg = Release|x64
{D35837C5-D070-41E4-9671-0884454B8B44}.Release|x64.Build.0 = Release|x64
{D35837C5-D070-41E4-9671-0884454B8B44}.Release|x86.ActiveCfg = Release|x64
{D35837C5-D070-41E4-9671-0884454B8B44}.Release|x86.Build.0 = Release|x64
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Debug|ARM.ActiveCfg = Debug|ARM
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Debug|ARM.Build.0 = Debug|ARM
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Debug|ARM.Deploy.0 = Debug|ARM
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Debug|ARM64.ActiveCfg = Debug|ARM64
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Debug|ARM64.Build.0 = Debug|ARM64
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Debug|ARM64.Deploy.0 = Debug|ARM64
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Debug|x64.ActiveCfg = Debug|x64
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Debug|x64.Build.0 = Debug|x64
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Debug|x64.Deploy.0 = Debug|x64
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Debug|x86.ActiveCfg = Debug|x86
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Debug|x86.Build.0 = Debug|x86
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Debug|x86.Deploy.0 = Debug|x86
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Release|ARM.ActiveCfg = Release|ARM
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Release|ARM.Build.0 = Release|ARM
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Release|ARM.Deploy.0 = Release|ARM
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Release|ARM64.ActiveCfg = Release|ARM64
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Release|ARM64.Build.0 = Release|ARM64
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Release|ARM64.Deploy.0 = Release|ARM64
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Release|x64.ActiveCfg = Release|x64
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Release|x64.Build.0 = Release|x64
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Release|x64.Deploy.0 = Release|x64
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Release|x86.ActiveCfg = Release|x86
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Release|x86.Build.0 = Release|x86
{CFAB1A23-628C-4FB4-8A8A-CED1612271FC}.Release|x86.Deploy.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
17 changes: 8 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
# LaunchTree
# ⚡ FlashCom

LaunchTree is a work-in-progress launcher UI for Windows.
FlashCom is a lightning fast command launcher for Windows power users.

The goal is to enable power users to quickly navigate their operating system by means of
a transient launcher experience that can be quickly invoked and quickly navigated with minimal
UI, small system footprint, and a highly customizable set of actions.
Create a "command tree" to assign a hotkey-based hierarchy to all of your most
common commands, then instantly execute them by invoking FlashCom and traversing
the tree.

A tree of keyboard shortcuts is the main means of interaction to maximize efficient navigation.

The application is entirely native code using Windows composition APIs for visual UI to minimize
system footprint and maximize speed.
**Lightweight, fast, and minimal**: FlashCom is a small Win32 native process
and uses Windows Composition APIs to render beautiful visuals without a heavy
UI framework or bundled browser.

# Third Party Libraries

Expand Down
10 changes: 5 additions & 5 deletions src/LaunchTree/App.cpp → src/FlashCom/App.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,18 @@ namespace
{
const std::unordered_set<uint32_t> c_hotkeyCombo{ VK_LWIN, VK_SPACE };

std::unique_ptr<LaunchTree::Models::DataModel> CreateDataModel(
LaunchTree::Settings::SettingsManager& settingsManager)
std::unique_ptr<FlashCom::Models::DataModel> CreateDataModel(
FlashCom::Settings::SettingsManager& settingsManager)
{

auto rootNode{ settingsManager.GetTree() };

return std::make_unique<LaunchTree::Models::DataModel>(
return std::make_unique<FlashCom::Models::DataModel>(
std::move(rootNode));
}
}

namespace LaunchTree
namespace FlashCom
{
#pragma region Public
std::unique_ptr<App> App::CreateApp(const HINSTANCE& hInstance)
Expand Down Expand Up @@ -109,7 +109,7 @@ namespace LaunchTree
#pragma region Private
App::App(const HINSTANCE& hInstance) :
m_dataModel{ std::move(CreateDataModel(m_settingsManager)) },
m_hostWindow{ hInstance, L"LaunchTree", std::bind(&App::HandleFocusLost, this) },
m_hostWindow{ hInstance, L"FlashCom", std::bind(&App::HandleFocusLost, this) },
m_trayIcon{ hInstance, {
std::make_pair(std::wstring{ L"Settings" }, std::bind(&App::OnSettingsCommand, this)),
std::make_pair(std::wstring{ L"Exit" }, std::bind(&App::OnExitCommand, this))
Expand Down
2 changes: 1 addition & 1 deletion src/LaunchTree/App.h → src/FlashCom/App.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include <memory>
#include <unordered_set>

namespace LaunchTree
namespace FlashCom
{
struct App
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{d35837c5-d070-41e4-9671-0884454b8b44}</ProjectGuid>
<RootNamespace>LaunchTree</RootNamespace>
<RootNamespace>FlashCom</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ namespace
}
}

namespace LaunchTree::Input
namespace FlashCom::Input
{
void SetGlobalLowLevelKeyboardCallback(std::function<void(WPARAM, KBDLLHOOKSTRUCT*)> callback)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

#include <functional>

namespace LaunchTree::Input
namespace FlashCom::Input
{
void SetGlobalLowLevelKeyboardCallback(std::function<void(WPARAM, KBDLLHOOKSTRUCT*)> callback);
}
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

#include <shobjidl_core.h>

namespace LaunchTree::Models
namespace FlashCom::Models
{
ActivateAumidTreeNode::ActivateAumidTreeNode(uint32_t vkCode, std::string_view name,
std::string_view aumid) : TreeNode{ vkCode, name, {} }, m_aumid{ aumid }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once
#include "TreeNode.h"

namespace LaunchTree::Models
namespace FlashCom::Models
{
struct ActivateAumidTreeNode : public TreeNode
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include <pch.h>
#include "DataModel.h"

namespace LaunchTree::Models
namespace FlashCom::Models
{
DataModel::DataModel(std::unique_ptr<TreeNode>&& rootNode) :
RootNode{ std::move(rootNode) },
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once
#include "TreeNode.h"

namespace LaunchTree::Models
namespace FlashCom::Models
{
struct DataModel
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include <pch.h>
#include "LaunchUriTreeNode.h"

namespace LaunchTree::Models
namespace FlashCom::Models
{
LaunchUriTreeNode::LaunchUriTreeNode(uint32_t vkCode, std::string_view name,
std::string_view uri) : TreeNode{ vkCode, name, {} }, m_uri{ uri }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once
#include "TreeNode.h"

namespace LaunchTree::Models
namespace FlashCom::Models
{
struct LaunchUriTreeNode : public TreeNode
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include <pch.h>
#include "ShellExecuteTreeNode.h"

namespace LaunchTree::Models
namespace FlashCom::Models
{
ShellExecuteTreeNode::ShellExecuteTreeNode(uint32_t vkCode, std::string_view name,
std::string_view file, std::string_view parameters) : TreeNode{ vkCode, name, {} },
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once
#include "TreeNode.h"

namespace LaunchTree::Models
namespace FlashCom::Models
{
struct ShellExecuteTreeNode : public TreeNode
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

#include <iterator>

namespace LaunchTree::Models
namespace FlashCom::Models
{
TreeNode::TreeNode(
uint32_t vkCode,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include <span>
#include <string>

namespace LaunchTree::Models
namespace FlashCom::Models
{
class TreeNode
{
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@ namespace
.LocalFolder().Path().c_str() } / c_settingsFileName;
}

std::unique_ptr<LaunchTree::Models::TreeNode> ParseToTreeNode(const nlohmann::json& json)
std::unique_ptr<FlashCom::Models::TreeNode> ParseToTreeNode(const nlohmann::json& json)
{
std::vector<std::unique_ptr<LaunchTree::Models::TreeNode>> nodeChildren;
std::vector<std::unique_ptr<FlashCom::Models::TreeNode>> nodeChildren;

// Basic validation
if (!json.contains("name") || !json.at("name").is_string() ||
Expand Down Expand Up @@ -98,19 +98,19 @@ namespace
{
executeParameters = json.at("executeParameters").get<std::string>();
}
return std::make_unique<LaunchTree::Models::ShellExecuteTreeNode>(nodeKeyCode,
return std::make_unique<FlashCom::Models::ShellExecuteTreeNode>(nodeKeyCode,
nodeName, executeFile, executeParameters);
}
else if (nodeType == "uri")
{
auto uri{ json.at("uri").get<std::string>() };
return std::make_unique<LaunchTree::Models::LaunchUriTreeNode>(nodeKeyCode,
return std::make_unique<FlashCom::Models::LaunchUriTreeNode>(nodeKeyCode,
nodeName, uri);
}
else if (nodeType == "aumid")
{
auto aumid{ json.at("aumid").get<std::string>() };
return std::make_unique<LaunchTree::Models::ActivateAumidTreeNode>(nodeKeyCode,
return std::make_unique<FlashCom::Models::ActivateAumidTreeNode>(nodeKeyCode,
nodeName, aumid);
}
else
Expand All @@ -119,12 +119,12 @@ namespace
}
}

return std::make_unique<LaunchTree::Models::TreeNode>(nodeKeyCode, nodeName,
return std::make_unique<FlashCom::Models::TreeNode>(nodeKeyCode, nodeName,
std::move(nodeChildren));
}
}

namespace LaunchTree::Settings
namespace FlashCom::Settings
{
SettingsManager::SettingsManager() : m_settingsFilePath{ ::GetSettingsFilePath() }
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#include <filesystem>
#include "../Models/TreeNode.h"

namespace LaunchTree::Settings
namespace FlashCom::Settings
{
struct SettingsManager
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ namespace
}
}

namespace LaunchTree::View
namespace FlashCom::View
{
#pragma region Public
CompositionHost::CompositionHost(HostWindow const& hostWindow) :
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

#include <vector>

namespace LaunchTree::View
namespace FlashCom::View
{
class CompositionHost
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

namespace
{
constexpr std::wstring_view c_windowTitle{ L"LaunchTree" };
constexpr std::wstring_view c_windowClass{ L"LaunchTreeWindowClass" };
constexpr std::wstring_view c_windowTitle{ L"FlashCom" };
constexpr std::wstring_view c_windowClass{ L"FlashComWindowClass" };

ATOM CreateWindowClass(const std::wstring& className, WNDPROC wndProc, HINSTANCE hInstance)
{
Expand All @@ -16,7 +16,7 @@ namespace
.lpfnWndProc = wndProc,
.cbClsExtra = 0,
// This is where we'll store a pointer to the HostWindow instance
.cbWndExtra = sizeof(LaunchTree::View::HostWindow*),
.cbWndExtra = sizeof(FlashCom::View::HostWindow*),
.hInstance = hInstance,
.hIcon = nullptr,
.hCursor = LoadCursorW(nullptr, IDC_ARROW),
Expand All @@ -29,7 +29,7 @@ namespace
return classRegistration;
}

HWND CreateWindowInstance(LaunchTree::View::HostWindow* instancePointer,
HWND CreateWindowInstance(FlashCom::View::HostWindow* instancePointer,
const std::wstring& className, const std::wstring& title,
const HINSTANCE& hInstance)
{
Expand Down Expand Up @@ -65,7 +65,7 @@ namespace
}
}

namespace LaunchTree::View
namespace FlashCom::View
{
#pragma region Public
HostWindow::HostWindow(const HINSTANCE& hInstance, std::wstring_view name,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once
#include <functional>

namespace LaunchTree::View
namespace FlashCom::View
{
struct HostWindow
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once
#include <winrt/Windows.UI.Composition.h>

namespace LaunchTree::View
namespace FlashCom::View
{
class ICompositionVisual
{
Expand Down
Loading

0 comments on commit 0efe2b4

Please sign in to comment.