# ======== Generic Settings ======== # Identifier is used as an unique token for your program. # Please choose it carefully to avoid any name conflict. # # The value of identifier should only contain alphabet chars and digits, # and digits should not be the first char (like C variable naming convention). # # For technical details, this identifier is used as the "vendor" part of ProgId. identifier = "SarasaPicture" # The fully qualified path to the application. # # A fully qualified path or absolute path always defines an exact path # from a particular drive or device to a target file or directory, # and does not depend on the current drive or current directory. # # Considering Windows use back-slash as path splittor, # which is frequently used as escape char in string syntax, # you can utilize "literal strings" syntax in this TOML file # to quickly write this path as this example following does. path = 'C:\path\to\sarasa-picture.exe' # CLSID is an unique UUID or GUID of your program, # which makes your program is different with others. # # Although this key is not used now, # I still suggest that generate an unique one for it. clsid = "{B5291320-FE7C-4069-BF87-A0AC327FCD20}" # The friendly name of this program. # # The value of this key should be available in "strs" list as the key. # # This key is optional. If you don't fill this key, # Windows will use your executable embedded Win32 resources for friendly name. name = "default" # The icon of this program. # # The value of this key should be available in "icons" list as the key. # # This key is optional. If you don't fill this key, # Windows will use the first icon embedded in your executable as icon. icon = "others" # The default behavior of your program. # # The value of this key should be available in "behaviors" list as the key. # # This key is optional. If you don't fill this key, # Windows will directly call your executable and passes the file name on the command line. # If your executable need extra options, like `program.exe --file file.rs`, # this key is essential for you. behavior = "generic" # ======== String Resources ======== # "strs" list include all possible used strings in this manifest file. [strs] # For each entry located in this list, # its key is the token for referring them, and its value is the true resource. # # The value of this key is a valid "Program String Resource String" like following example does. # When we talk about "Program String Resource String", # it is a string pointing to a string resources located inside program Win32 resources. # It has a specific pattern which show in following example and is familiar with Win32 programmer. # # Due to the same use of back-slash in path part, # you can utilize TOML "literal strings" syntax to write this value easier. default = '@C:\path\to\sarasa-picture.exe,-1001' # The value of this key also can be a plain string like this commente statement, # if you don't want to touch Win32 resources and your program do not have any I18N requirements. # default = "Sarasa Picture" # And more string resources... jpg = '@C:\path\to\sarasa-picture.exe,-1011' gif = '@C:\path\to\sarasa-picture.exe,-1012' bmp = '@C:\path\to\sarasa-picture.exe,-1013' png = '@C:\path\to\sarasa-picture.exe,-1014' ico = '@C:\path\to\sarasa-picture.exe,-1015' jpeg = '@C:\path\to\sarasa-picture.exe,-1016' tif = '@C:\path\to\sarasa-picture.exe,-1017' tiff = '@C:\path\to\sarasa-picture.exe,-1018' webp = '@C:\path\to\sarasa-picture.exe,-1019' avif = '@C:\path\to\sarasa-picture.exe,-1020' svg = '@C:\path\to\sarasa-picture.exe,-1021' kra = '@C:\path\to\sarasa-picture.exe,-1022' xcf = '@C:\path\to\sarasa-picture.exe,-1023' qoi = '@C:\path\to\sarasa-picture.exe,-1024' apng = '@C:\path\to\sarasa-picture.exe,-1025' exr = '@C:\path\to\sarasa-picture.exe,-1026' tga = '@C:\path\to\sarasa-picture.exe,-1027' # ======== Icon Resources ======== # "icons" list include all possible used icons in this manifest file. # # Another small hint is that if you just want a single icon for all file associations, # you can just create one entry and refer it in every entries located in extension list. [icons] # For each entry located in this list, # its key is the token for referring them, and its value is the true resource. # # The value of this key is a valid "Program Icon Resource String" like following example does. # When we talk about "Program Icon Resource String", # it is a string pointing to a icon resources located inside program Win32 resources. # It has a specific pattern which show in following example and is familiar with Win32 programmer. # # Due to the same use of back-slash in path part, # you can utilize TOML "literal strings" syntax to write this value easier. png = 'C:\path\to\sarasa-picture.exe,-1' # The value of this key also can be the absolute path to existing icon file like this commente statement. # png = 'C:\path\to\sarasa-picture\png.ico' # Add more icon resources... svg = 'C:\path\to\sarasa-picture.exe,-2' gif = 'C:\path\to\sarasa-picture.exe,-3' jpg = 'C:\path\to\sarasa-picture.exe,-4' webp = 'C:\path\to\sarasa-picture.exe,-5' avif = 'C:\path\to\sarasa-picture.exe,-6' others = 'C:\path\to\sarasa-picture.exe,-61' # ======== Behaviors Collection ======== # "behaviors" list include all ways to open with your software in this manifest file. # # For the way to open with your program, let we have an example. # If your program order you use `program.exe --solution solution.toml` to open solution file, # and use `program.exe --file file.rs` to open code file respectively, # you must define two seperated "behaviors" describe this difference ways to open file. # That's the work this list done. # # In addition, if your program only have one way to open file, # please leave one entry and use it everywhere without any doubt. [behaviors] # For each entry located in this list, # its key is the token for referring them, # and its value is the command line for running your program. # # Please note that currently wfassoc will not validate this property properly, # because there is no criteria for it. Please write them carefully. # For the maning of place holder like "%1", please check out Microsoft document. # # Due to the same use of back-slash in value, # you can utilize TOML "literal strings" syntax to write this value easier. generic = '"C:\path\to\sarasa-picture.exe" "%1"' # ======== File Extensions ======== # "exts" list includeall potential file extensions related with this program, # and the corresponding name, behavior and icon of them. [exts] # In this case, we start to define ".jpg" file extension. [exts.jpg] # First, we specify its name shown in Windows Explorer. # The value of this field is the token declared above in "strs" list. name = "jpg" # Then, speficy its associated icon. # The value of this field is the token declared above in "icons" list. icon = "jpg" # At last, specify the behavior of this extension define decide how we open this file. # The value of this field is the token declared above in "behaviors" list. behavior = "generic" # And more file extensions... [exts.jfif] name = "jfif" icon = "jpg" behavior = "generic" [exts.gif] name = "gif" icon = "gif" behavior = "generic" [exts.bmp] name = "bmp" icon = "others" behavior = "generic" [exts.png] name = "png" icon = "png" behavior = "generic" [exts.ico] name = "ico" icon = "others" behavior = "generic" [exts.jpeg] name = "jpeg" icon = "jpg" behavior = "generic" [exts.tif] name = "tif" icon = "others" behavior = "generic" [exts.tiff] name = "tiff" icon = "others" behavior = "generic" [exts.webp] name = "webp" icon = "webp" behavior = "generic" [exts.svg] name = "svg" icon = "svg" behavior = "generic" [exts.kra] name = "kra" icon = "others" behavior = "generic" [exts.xcf] name = "xcf" icon = "others" behavior = "generic" [exts.avif] name = "avif" icon = "avif" behavior = "generic" [exts.qoi] name = "qoi" icon = "others" behavior = "generic" [exts.apng] name = "apng" icon = "png" behavior = "generic" [exts.exr] name = "exr" icon = "others" behavior = "generic"