Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Workspaces] detecting right app version #36100

Merged
merged 42 commits into from
Dec 9, 2024
Merged
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
d478306
[Workspaces] Add move functionality
donlaci Oct 3, 2024
d660dc4
spell checker
donlaci Oct 3, 2024
8a2d20a
[Workspaces] Modify Arranger to move apps without launch
donlaci Oct 7, 2024
fa7a83c
moved ipc helper
SeraphimaZykova Oct 4, 2024
8a030e4
removed callback
SeraphimaZykova Oct 4, 2024
2d4c9a5
use LauncherStatus in WindowArranger
SeraphimaZykova Oct 7, 2024
d0b349a
wait for launching next app
SeraphimaZykova Oct 4, 2024
f822001
launch in a separate thread and protect by mutexes
SeraphimaZykova Oct 7, 2024
9a3873e
update app version in advance
SeraphimaZykova Oct 7, 2024
c034206
changed canceling launch
SeraphimaZykova Oct 7, 2024
9ecb50c
increased waiting time
SeraphimaZykova Oct 7, 2024
1fb4189
Fix optional parameter load from json
donlaci Oct 8, 2024
8449a4f
changed arranger waiting time
SeraphimaZykova Oct 9, 2024
5f3233f
additional waiting time for Outlook
SeraphimaZykova Oct 9, 2024
c811754
added app id
SeraphimaZykova Oct 9, 2024
e77db91
ensure ids before launch
SeraphimaZykova Oct 9, 2024
ccfaeb2
set id in editor
SeraphimaZykova Oct 9, 2024
fbd1313
minor updates
donlaci Oct 10, 2024
21d9e30
Merge remote-tracking branch 'origin/dev/seraphima/workspaces-sequent…
donlaci Oct 10, 2024
e4f64ac
Merge branch 'main' into Workspaces_Move
Oct 15, 2024
bf800cc
[Workspaces] Move: Get the nearest window when moving a window
donlaci Oct 15, 2024
add003b
[Workspaces] convert optional boolean to enum to avoid json problems
donlaci Oct 16, 2024
fd4d042
Handle case when the new Application Property "moveIfExists" does not…
donlaci Oct 17, 2024
5cfcd00
Re-implementing app-window pairing for moving feature.
donlaci Oct 18, 2024
a4793f0
spell checker
donlaci Oct 18, 2024
a822eca
XAML formatting
donlaci Oct 18, 2024
839c841
Fixing bug: IPC message not arriving
Oct 24, 2024
4351a41
spell checker
donlaci Oct 24, 2024
71209cf
Merge branch 'main' into Workspaces_Move
donlaci Nov 20, 2024
648df8a
Removing app-level-setting for move app. Also fixed compiler errors d…
donlaci Nov 21, 2024
b10e36b
Updating editor window layout
donlaci Nov 21, 2024
f0916a4
Re-implementing window positioning UI elements
donlaci Nov 21, 2024
1ded280
XAML formatting
donlaci Nov 21, 2024
88876e2
Code review findings
donlaci Nov 25, 2024
5348e9a
Code cleanup
donlaci Nov 25, 2024
9aeff53
Code cleanup
donlaci Nov 25, 2024
5417deb
Code cleanup
donlaci Nov 25, 2024
58f5da2
code cleanup
donlaci Nov 25, 2024
9adcfe6
Code cleanup
donlaci Nov 25, 2024
b44a435
Code cleanup
donlaci Nov 26, 2024
c293b5f
[Workspaces] fix detection of specific version of apps
donlaci Nov 26, 2024
2483314
Merge remote-tracking branch 'origin/main' into Workspaces_AppVersion
donlaci Dec 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion src/modules/Workspaces/WorkspacesLib/AppUtils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,7 @@ namespace Utils
}

// search in apps list
std::optional<AppData> appDataPlanB{ std::nullopt };
for (const auto& appData : apps)
{
if (!appData.installPath.empty())
Expand All @@ -274,13 +275,19 @@ namespace Utils

// edge case, some apps (e.g., Gitkraken) have different .exe files in the subfolders.
// apps list contains only one path, so in this case app is not found
// remember the match and return it in case the loop is over and there are no direct matches
if (std::filesystem::path(appPath).filename() == std::filesystem::path(appData.installPath).filename())
{
return appData;
appDataPlanB = appData;
}
}
}

if (appDataPlanB.has_value())
{
return appDataPlanB.value();
}

// try by name if path not found
// apps list could contain a different path from that one we get from the process (for electron)
std::wstring exeName = std::filesystem::path(appPath).stem();
Expand Down
Loading