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

Allow users to customize the application list for each column, possibly via XML. #153

Open
DrewNaylor opened this issue Nov 14, 2019 · 3 comments

Comments

@DrewNaylor
Copy link
Owner

DrewNaylor commented Nov 14, 2019

This would allow more customizability. In addition to having support for XML files that specify the applications, there would be a UI in the Options window to configure this. Maybe there could be a default XML file in My.Resources that could be written out to a file when the user changes the app list, maybe into AppData.

This could also probably work for a third-party version of the small launcher Microsoft used to have.

Example:

<UXL_Launcher_App_List>
    <SimpleAppsColumn>
        <AppEntry>
            <Name>LibreOffice Writer</Name>
            <Icon>Icons\LOWriter.png</Icon>
            <ExeLocation>C:\Program Files (x86)\LibreOffice\bin\swriter.exe</ExeLocation>
        </AppEntry>
    </SimpleAppsColumn>
</UXL_Launcher_App_List>

Edit: See the latest comment on how I can use YAML to specify the columns and load them at runtime. Allowing the user to easily customize the layouts will take longer.

@DrewNaylor
Copy link
Owner Author

That smaller launcher Microsoft used to have was the Office Shortcut Bar. Since it supported multiple shortcut lists, it would be a good idea to support that as well, maybe with multiple sections in the XML file and a dropdown button to switch shortcut bars.

There's another application that recreated this program, and that was called FreeBar, but it appears to have not been updated for a while.

Screenshot of FreeBar's Screenshots page showing a few screenshots from the UI:
C2528746-E734-4863-A845-2A9865DF9229

Screenshots of the Microsoft Office Shortcut Bar:
58D2B22C-8AC0-4239-AC22-2E80877C5C93
1D0789F3-3BCF-4562-A84C-FA2C15AB3F8F
598FBAB5-F904-425F-AFBA-1BFD3D858E82

@DrewNaylor
Copy link
Owner Author

For the button list via XML, it would be a good idea to have an option to say if an entry is an exact folder/file path, or if it's an entry that relies on the Office Folder Location figured out by UXL Launcher itself.

@DrewNaylor
Copy link
Owner Author

DrewNaylor commented Oct 14, 2021

Actually, maybe I can use YAML files to specify layouts for each Office version, as some versions add, remove, or change apps. There should also be a way for the user to customize this list for each column, but that may take longer. There should at least be a way for the user to say whether to use the layout specified by the chosen version of Office or to use one from a list. If there isn't a layout for a specific version of Office, it'll use the default, which is the one it currently uses.

I can take the tile list-loading code from the Avalonia version of RetiledStart as an example of how to load a bunch of stuff from a YAML file and use classes to store the properties for display in the UI.

The things a layout file can specify are:

  • App name
    • Type: String
    • This is the text that appears on the button.
  • App icon
    • Type: String
    • Used if different from the default icon for a particular app, such as for Outlook
    • Will either need to be a filepath or the name of the icon in My.Resources. If a filepath is specified, it needs to be a PNG icon, preferably of the same size as the rest of the icons in the main window's columns. I think the complicated icons may be slightly different, so there's some room for size here.
  • Load app icon from file
    • Type: Boolean
    • If true, loads the icon from a file path. Any paths that have :// in them will be overriden with the default icon for the app. Apps with no default icon will simply have their PictureBox be transparent.
    • If false, loads the icon from My.Resources.
  • App EXE filename
    • Type: String
    • This is the EXE file that's added to the end of the path that's set-up at runtime.
    • Anything that doesn't have ASCII alphabetical characters or a period will cause the app to not be added to the column it's in. This is for security. If it's discovered that some Office apps need non-ASCII characters, exceptions will be made on a per-character basis.

@DrewNaylor DrewNaylor added this to the Version 5.1 milestone Oct 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant