CKAN icon indicating copy to clipboard operation
CKAN copied to clipboard

Tray icon settings are saved for each install

Open 4x4cheesecake opened this issue 7 years ago • 5 comments

Background

CKAN Version: 1.25.4

KSP Version: 1.6.1

Operating System: Win 10 Prof 64 bit

Have you made any manual changes to your GameData folder (i.e., not via CKAN)? No

Problem

CKAN stores the tray icon settings in the 'GUIConfig.xml' which exists for each install managed by CKAN so it must be set for each game install and when a new one is added. I would like to suggest to make this a global setting like the path to the cache folder since I cannot think of any reason why someone would like to have the try icon for 'KSP version xyz' but not for 'KSP version zyx' and it becomes a bit annoying to take care of these settings each time.

4x4cheesecake avatar Jan 31 '19 00:01 4x4cheesecake

These are the XML nodes to migrate:

  • EnableTrayIcon
  • MinimizeToTray
  • RefreshPaused

(RefreshRate is already in Win32Registry!)

Other fields that might also make sense to migrate from Configuration to Win32Registry:

  • URLHandlerNoNag
  • CheckForUpdatesOnLaunch
  • CheckForUpdatesOnLaunchNoNag
  • HideEpochs
  • HideV
  • AutoSortByUpdate
  • IsWindowMaximised
  • WindowSize
  • PanelPosition
  • ModInfoPosition
  • WindowLoc

Are there any that are definitely sensible to keep instance-specific? If not then we could think about a project to migrate the whole Configuration object into Win32Registry. At a glance maybe these:

  • RefreshOnStartup - Might not want auto updates if you have an old game version with old mods
  • ActiveFilter, SortByColumnIndex, SortDescending, HiddenColumnNames - Might want a specialized display for some instances

HebaruSan avatar Mar 18 '19 19:03 HebaruSan

Or rather than using the registry, we could switch the path from GameDir/CKAN/GUIConfig.xml to Environment.SpecialFolder.LocalApplicationData/CKAN/GUIConfig.xml, falling back to the former for loading if the latter doesn't exist.

HebaruSan avatar Mar 18 '19 20:03 HebaruSan

Are there any that are definitely sensible to keep instance-specific?

The CommandLineArguments are also part of Configuration and in my opinion, it should stay instance-specific. A borderless window is nice to actually play the game but if you want to test/debug mods, it's not necessary or useful.

4x4cheesecake avatar Mar 22 '19 04:03 4x4cheesecake

Or rather than using the registry, we could switch the path from GameDir/CKAN/GUIConfig.xml to Environment.SpecialFolder.LocalApplicationData/CKAN/GUIConfig.xml, falling back to the former for loading if the latter doesn't exist.

Is this a new MS standard method? If so, I like it!

politas avatar Mar 25 '19 18:03 politas

If and when #2820 gets merged, we should have a solid base to bring this request forward.

I would prefer getting rid of the entire GUIConfig.xml, however, there are some options that should be saved per instance. But I think it should be possible to save instance specific options in the Registry/new json config.

DasSkelett avatar Jul 17 '19 11:07 DasSkelett