# Completions for betterdisplaycli

function __betterdisplaycli_complete_displays -a jq_filter
    if command -q jq
        command betterdisplaycli get --identifiers | sed 's/},{/}\\n{/' | jq -r $jq_filter
    end
end

complete -c betterdisplaycli -x

complete -c betterdisplaycli -n __fish_is_first_token -f -x -a perform -d "Perform a command. Used for features that do not expect any value."

complete -c betterdisplaycli -n __fish_is_first_token -f -x -a set -d "Sets a value. Can be used for features that excpect a value to set."

complete -c betterdisplaycli -n __fish_is_first_token -f -x -a get -d "Gets a value. Useful for features that can report some kind of value (and optionally minimum and maximum values for features where a range makes sense)."

complete -c betterdisplaycli -n __fish_is_first_token -f -x -a toggle -d "Toggle a bool value. Can be used for on/off (togglable) features."

complete -c betterdisplaycli -n __fish_is_first_token -f -x -a create -d "Create a device. You need to specify 'deviceType=VirtualScreen'. You can add other 'set' operation parameters to configure the virtual screen or alter its identifiers from default."

complete -c betterdisplaycli -n __fish_is_first_token -f -x -a discard -d "Discard a device. Use various device identifiers using identification parameters to narrow the devices you want to discard. Warning: without identifiers, the app will discard all discardable devices without question and any ability to undo - be careful with this!"

complete -c betterdisplaycli -n __fish_is_first_token -f -x -a help -d "Provides help about general usage or a specified operation, feature or parameter."

complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l tagID -d "Identify a device via the display's tagID"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l UUID -d "Identify a device via the display's UUID assigned by this macOS installation"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l displayID -d "Identify a device using the displayID issued by macOS"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l name -d "Identify a device using its displayed name in BetterDisplay" -x -a "(__betterdisplaycli_complete_displays .name)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l nameLike -d "Identify a device using a part of its displayed name in BetterDisplay (case insensitive)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l originalName -d "Identify a device using its name in BetterDisplay" -x -a "(__betterdisplaycli_complete_displays .originalName)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l originalNameLike -d "Identify a device using a part of its name in BetterDisplay (case insensitive)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l productName -d "Identify a device using its product name (as recorded in the display EDID)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l productNameLike -d "Identify a device using a part of its name (as recorded in the display EDID, case insensitive)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l vendor -d "Identify a device using its vendor code (numeric value)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l model -d "Identify a device using its model number"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l serial -d "Identify a device using its serial number"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l alphanumericSerial -d "Identify a device using its alphanumerical serial identifier"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l yearOfManufacture -d "Identify a device using the year of manufacture"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l weekOfManufacture -d "Identify a device using the week of manufacture"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l registryLocation -d "Identify a device using its I/O registry location string"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l displayWithMouse -d "Identify the display with mouse"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l displayWithFocus -d "Identify the display with the focused window"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l deviceType -d "Identify a device based on its type. Can be 'Display' or 'VirtualScreen'"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l value -d "Provides value when required for a feature or operation"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l offset -d "Signifies that any of the specified values are offset values (positive or negative) for features where it makes sense"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l min -d "If added without a value, the 'get' operation will return the minimum value if it makes sense for the accessed feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l max -d "If added without a value, the 'get' operation will return the maximum value if it makes sense for the accessed feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l brightness -d "Brightness. Selects the most appropriate brightness control method if more than one is available"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l combinedBrightness -d "Combined brightness (hardware + software)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l hardwareBrightness -d "Hardware brightness (DDC or Apple)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l softwareBrightness -d "Software brightness/dimming"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l volume -d "Volume. Affects only devices with hardware volume control (DDC volume)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l hardwareContrast -d "Hardware contrast. Works on displays with DDC contrast control"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l redHardwareBlackLevel -d "Hardware black level for RGB red component. Works on displays with proper DDC control"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l greenHardwareBlackLevel -d "Hardware black level for RGB green component. Works on displays with proper DDC control"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l blueHardwareBlackLevel -d "Hardware black level for RGB blue component. Works on displays with proper DDC control"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l redHardwareGain -d "Hardware video gain for RGB red component. Works on displays with proper DDC control"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l greenHardwareGain -d "Hardware video gain for RGB green component. Works on displays with proper DDC control"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l blueHardwareGain -d "Hardware video gain for RGB blue component. Works on displays with proper DDC control"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l gain -d "Software video gain. Works on displays with color table manipulation support"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l gamma -d "Software gamma. Works on displays with color table manipulation support"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l rGamma -d "Software gamma for RGB red component. Works on displays with color table manipulation support"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l gGamma -d "Software gamma for RGB green component. Works on displays with color table manipulation support"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l bGamma -d "Software gamma for RGB blue component. Works on displays with color table manipulation support"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l rGain -d "Software gain for RGB red component. Works on displays with color table manipulation support"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l gGain -d "Software gain for RGB green component. Works on displays with color table manipulation support"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l bGain -d "Software gain for RGB blue component. Works on displays with color table manipulation support"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l temperature -d "Software color temperature. Works on displays with color table manipulation support"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l quantization -d "Software color quantization. Works on displays with color table manipulation support"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l contrast -d "Software contrast. Works on displays with color table manipulation support"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l underscan -d "Underscan. Works on displays with backling framebuffers that have underscan control support"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l ddc -d "Sends a direct DDC command to the display. Requires a natively connected display with DDC enabled"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l ddcAlt -d "Sends a direct DDC command to the display using an alternate addressing (mostly used by some LG displays to control input source)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l virtualScreenName -d "Defines the name of the virtual screen Virtual screen management feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l virtualScreenSerial -d "Defines the serial number of the virtual screen Virtual screen management feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l virtualScreenVendorNumber -d "Defines the vendor number of the virtual screen Virtual screen management feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l virtualScreenModelNumber -d "Defines the model number of the virtual screen Virtual screen management feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l aspectWidth -d "Aspect width of the virtual screen. Virtual screen management feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l aspectHeight -d "Aspect height of the virtual screen. Virtual screen management feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l sizeInch -d "Diameter of the virtual screen in inch. Virtual screen management feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l multiplierStep -d "Multiplier step of the generated resolutions (multiples of aspect width and height). Virtual screen management feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l limitMultiplierSize -d "Enable/disable multiplier limits. Virtual screen management feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l multiplierMinWidth -d "Multiplier limit - height width. Virtual screen management feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l multiplierMinHeight -d "Multiplier limit - height minimum. Virtual screen management feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l multiplierMaxWidth -d "Multiplier limit - width maximum. Virtual screen management feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l multiplierMaxHeight -d "Multiplier limit - height maximum. Virtual screen management feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l flipped -d "Virtual screen flipping. Virtual screen management feature" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l virtualScreenHiDPI -d "Enable HiDPI resolutions in the resolution list of a virtual screen. Virtual screen management feature" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l useResolutionList -d "Use custom resolution list instead of generated resolutions based on the aspect ratio and multiplier. Virtual screen management feature" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l resolutionList -d "Resolution list in WIDTHxHEIGHT,[WIDTHxHEIGHT[,…]] format. Virtual screen management feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l rotation -d "Display rotation. Valid values are 0, 90, 180, 270" -x -a "0 90 180 270"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l favoriteMode -d "Set display mode to the one recorded in the specified favorite slot. Valid values are 1 to 5" -x -a "(seq 5)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l saveFavoriteMode -d "Records current display mode to a specified favorite slot. Valid values are 1 to 5" -x -a "(seq 5)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l colorProfileURL -d "Color profile setting for a display"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l xdrPreset -d "XDR preset setting for a display"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l displayModeNumber -d "Display mode number"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l connectionMode -d "Low level connection mode. For valid mode numbers to specify with 'set', use 'connectionModeList'"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l resolution -d "Display/screen resolution (in WIDTHxHEIGHT) format"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l refreshRate -d "Refresh rate (in Hz)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l colorDepth -d "Color depth (typically: 8 or 10 bits per channel)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l placement -d "Display placement in the global coordinate space of the display layout (in XxY format)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l framebufferBoolProperty -d "Set a boolean framebuffer property" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l framebufferNumericProperty -d "Set a numeric framebuffer property"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l mute -d "Display mute. Works on devices with volume control (DDC volume and optionally DDC mute)" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l hardwareBacklight -d "Turns Hardware backlight on or off. Works on displays with backlight technology and proper DDC support" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l hiDPI -d "Turns HiDPI rendering on or off. Works with resolutions that have both LoDPI and HiDPI alternatives" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l hdr -d "Turns HDR mode on or off. Requires third party HDR capable display" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l connected -d "Connects or disconnects a display or virtual screen" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l autoBrightness -d "Turns auto brightness on or off. Requires an Apple display" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l notch -d "Turns the Apple Liquid Retina Display 'ears' and 'notch' area on or off" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l notch -d "Turns the Apple Liquid Retina Display 'ears' and 'notch' area on or off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l main -d "Sets a display as a main display (unsetting is only possible by designating an other display as main) or get its main status" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l gpuDithering -d "GPU dithering" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l inverted -d "Invert colors (using color table adjustments)" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l suspendImageAdjustments -d "Suspend various software image adjustments (except for brightness) for the display" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l mirror -d "Mirror display. One or more target display must be specified" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l stream -d "Enable/disable streaming for a display. Must also be specified (without value) if a stream specific setting is changed" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l pip -d "Enable/disable picture in picture for a display. Must also be specified (without value) if a stream specific setting is changed" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l protectResolution -d "Enable/disable resolution protection. Setting it to 'on' protects current setting" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l protectRefreshRate -d "Enable/disable refresh rate protection. Setting it to 'on' protects current setting" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l protectHDR -d "Enable/disable HDR state protection. Setting it to 'on' protects current setting" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l protectRotation -d "Enable/disable rotation protection. Setting it to 'on' protects current setting" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l protectAsMain -d "Enable/disable main status protection. Setting it to 'on' works only if the display is main display" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l protectSDRProfile -d "Enable/disable SDR profile protection. Setting it to 'on' protects current setting and works only if the display is in SDR mode" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l protectHDRProfile -d "Enable/disable HDR profile protection. Setting it to 'on' protects current setting and works only if the display is in HDR mode" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l protectSDRColorMode -d "Enable/disable SDR color mode protection. Setting it to 'on' protects current setting and works only if the display is in SDR mode" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l protectHDRColorMode -d "Enable/disable HDR color mode protection. Setting it to 'on' protects current setting and works only if the display is in HDR mode" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l protectAll -d "Enable/disable all protection. Setting it to 'on' turns on all protections that can be activated for a display" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l hardwarePowerOff -d "Turns a display off. Requires a DDC compatible external display that supports this feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l hardwareFactoryReset -d "Reset factory settings for a display. Requires a DDC compatible external display that supports this feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l resetColorAdjustments -d "Reset software color adjustments. Requires a display with color table manipulation support"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l reinitialize -d "Reinitialize display connection and reload custom configuration. Works with natively connected displays with EDID"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l resetVMM7100 -d "Reset VMM7100 HDMI adapter if present"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l colorProfileReset -d "Reset color profile to factory setting for a display"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l xdrPresetReset -d "Reset XDR preset to factory setting for a display"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l standardFramebuffer -d "Set framebuffer color mapping to normal"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l invertedFramebuffer -d "Set framebuffer color mapping to inverted"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l grayscaleFramebuffer -d "Set framebuffer color mapping to grayscale"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l invertedGrayscaleFramebuffer -d "Set framebuffer color mapping to inverted grayscale"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l customEDID -d "Custom EDID binary in Base64 format"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l applyCustomEDID -d "Apply custom EDID"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l applyFactoryEDID -d "Restore the factory EDID"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l autoApplyCustomEDID -d "Configures custom EDID auto-apply" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l i2cEDID -d "Reads the display's EDID using I2C"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l osEDID -d "Shows the display EDID recorded by the OS"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l identifiers -d "Lists display and virtual screen identifiers in a JSON structure"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l xdrPresetList -d "List XDR presets suitable for a display"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l displayModeList -d "Lists available display modes"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l installedColorProfileURLs -d "List installed color profiles"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l ddcCapabilities -d "Explores DDC capabilities by parsing the DDC capabilities string and attempting to read supported commands"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l ddcCapabilitiesString -d "Gets the DDC capabilities string from the display"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l preferredConnectionMode -d "Shows preferred connection mode"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l connectionModeListAll -d "Lists all available connection modes"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l connectionModeList -d "Lists available connection modes matching current mode (in terms of resolution, refresh rate, HDR state)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l refreshRateList -d "Lists available refresh rate and VRR state options matching current display mode (in terms of resolution, HDR state)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l nightShiftValue -d "Specifies Night Shift value"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l nightShift -d "Turns Night Shift on or off" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l trueTone -d "Turns True Tone on or off" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l darkMode -d "Turns Dark Mode on or off" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l disableNightShiftInHDR -d "Toggles the feature on or off that toggles Night Shift when an external display is put to HDR or SDR mode using the app" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l proAvailable -d "Returns whether Pro features are available or not"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l osdShowBasic -d "Turns showing basic native OSD (brightness, volume) on/off" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l osdShowCustom -d "Turns showing custom OSD on/off" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l osdIntegrationNotification -d "Turns third party OSD integration app notifications on/off" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l reconfigure -d "Redetect/reconfigure displays"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l disconnectAllButMain -d "Disconnects all displays except the current main display"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l connectAllDisplays -d "Connets all displays (even unlisted ones)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l restartApp -d "Restart BetterDisplay"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l sidecarList -d "List Sidecar display names and UUIDs"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l sidecarConnected -d "Connect a Sidecar display specify Sidecar display's name or UUID using 'specifier'" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l freeAspect -d "Free aspect ratio. Used by the following: 'stream', 'pip'" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l integerScaling -d "Integer scaling. Used by the following: 'stream', 'pip'" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l directPixelMapping -d "Direct (1:1) pixel mapping. Used by the following: 'stream'" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l rotateBy -d "Rotate image. Valid values are 0, 90, 180, 270. Used by the following: 'stream', 'pip'" -x -a "0 90 180 270"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l flipHorizontal -d "Flip horizontally. Used by the following: 'stream', 'pip'" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l flipVertical -d "Flip vertically. Used by the following: 'stream', 'pip'" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l horizontalLocation -d "Horizontal alignemnt. Used by the following: 'stream'. Available values: 'left', 'center', 'right'"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l verticalLocation -d "Vertical alignemnt. Used by the following: 'stream'. Available values: 'top', 'center', 'bottom'"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l cursorShown -d "Show mouse cursor. Used by the following: 'stream', 'pip'" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l streamUnderscan -d "Stream underscan. Used by the following: 'stream'"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l zoom -d "Zoom level. Used by the following: 'stream'"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l partial -d "Crop image. Used by the following: 'stream', 'pip'" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l partialOriginX -d "Crop window origin X (percentage value, relative to the display size). Used by the following: 'stream', 'pip'"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l partialOriginY -d "Crop window origin Y (percentage value, relative to the display size). Used by the following: 'stream', 'pip'"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l partialWidth -d "Crop window width (percentage value, relative to the display size). Used by the following: 'stream', 'pip'"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l partialHeight -d "Crop window height (percentage value, relative to the display size). Used by the following: 'stream', 'pip'"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l resume -d "Resume stream on connect. Used by the following: 'stream'" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l unmovable -d "Unmovable PIP window. Requires the 'priority' to be set to 'absolute'. Used by the following: 'pip'" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l clickthrough -d "Click-through PIP window. Requires 'priority' to be set to 'absolute', 'unmovable' to be 'on' and 'alpha' set to a transparent level. Used by the following: 'pip'" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l showTitlebar -d "Show window titlebar. Used by the following: 'pip'" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l showShadow -d "Show window shadow (works only when free aspect ratio is enabled). Used by the following: 'pip'" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l alpha -d "Window alpha (transparency, percentage value expected). Used by the following: 'pip'"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l autoStart -d "Start automatically. Used by the following: 'pip'" -x -a "on off"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l originX -d "Window origin X (percentage value, relative to the target display size). Used by the following: 'pip'"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l originY -d "Window origin Y (percentage value, relative to the target display size, zero is the bottom of the screen). Used by the following: 'pip'"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l width -d "Window width (percentage value, relative to the target display size). Used by the following: 'pip'"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l height -d "Window height (percentage value, relative to the target display size). Used by the following: 'pip'"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l specifier -d "Specifies additional information for a feature"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l targetTagID -d "Identify a target device via the display's tagID which is a BetterDisplay provided unique numeric ID specific to this app installation"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l targetUUID -d "Identify a target device via the display's UUID assigned by this macOS installation"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l targetDisplayID -d "Identify a target device using the displayID issued by macOS"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l targetName -d "Identify a target device using its displayed name in BetterDisplay" -x -a "(__betterdisplaycli_complete_displays .name)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l targetNameLike -d "Identify a target  using a part of its displayed name in BetterDisplay (case insensitive)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l targetOriginalName -d "Identify a target device using its name in BetterDisplay" -a "(__betterdisplaycli_complete_displays .originalName)"
complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l targetOriginalNameLike -d "Identify a target device using a part of its name in BetterDisplay (case insensitive)"

# Options
complete -c betterdisplaycli -s h -l help -d "Show help message and exit"
complete -c betterdisplaycli -s v -l version -d "Show version number and exit"

# Subcommands
#complete -c betterdisplaycli -n "__fish_is_first_token" -f -x -a "perform set get toggle create discard help" -d "Subcommand"

complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l moveTo -d "Move display next to an other display in the display layout using direction specifiers" -x -a "topLeftCorner topLeft top topRight topRightCorner leftTop left leftBottom rightTop right rightBottom bottomLeftCorner bottomLeft bottom bottomRight bottomRightCorner"

complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l horizontalLocation -d "Horizontal alignemnt. Used by the following: 'stream'" -x -a "left center right"

complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l verticalLocation -d "Vertical alignemnt. Used by the following: 'stream'" -x -a "top center bottom"

complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l priority -d "Window priority. Used by the following: 'pip'" -x -a "normal topmost absolute"

complete -c betterdisplaycli -n "__fish_seen_subcommand_from perform set get toggle create discard help" -l vcp -d "Specifies the DDC coontrol code (VCP - Virtual Control Panel) that is being accessed when sending a DDC command" -x -a "unknown horizontalFrequency verticalFrequency sourceColorCoding displayUsageTime displayControllerId displayFirmwareLevel osdLanguage powerMode imageMode vcpVersion horizontalPosition horizontalSize horizontalPincushion horizontalPincushionBalance horizontalConvergenceRB horizontalConvergenceMG horizontalLinearity horizontalLinearityBalance verticalPosition verticalSize verticalPincushion verticalPincushionBalance verticalConvergenceRB verticalConvergenceMG verticalLinearity verticalLinearityBalance horizontalParallelogram verticalParallelogram horizontalKeystone verticalKeystone rotation topCornerFlare topCornerHook bottomCornerFlare bottomCornerHook horizontalMirror verticalMirror displayScaling windowPositionTopLeftX windowPositionTopLeftY windowPositionBottomRightX windowPositionBottomRightY scanMode degauss newControlValue softControls activeControl performancePreservation inputSelect inputSelectAlt ambientLightSensor remoteProcedureCall displayIdentificationOnDataOperation tvChannelUpDown flatPanelSubPixelLayout displayTechnologyType displayDescriptorLength transmitDisplayDescriptor enableDisplayOfDisplayDescriptor applicationEnableKey displayEnableKey statusIndicator auxiliaryDisplaySize auxiliaryDisplayData outputSelect assetTag auxiliaryPowerOutput scratchPad audioSpeakerVolume speakerSelect audioMicrophoneVolume audioJackConnectionStatus audioMuteScreenBlank audioTreble audioBass audioBalanceLR audioProcessorMode osd sixAxisHueControlBlue sixAxisHueControlCyan sixAxisHueControlGreen sixAxisHueControlMagenta sixAxisHueControlRed sixAxisHueControlYellow sixAxisSaturationControlBlue sixAxisSaturationControlCyan sixAxisSaturationControlGreen sixAxisSaturationControlMagenta sixAxisSaturationControlRed sixAxisSaturationControlYellow adjustZoom autoColorSetup autoSetup autoSetupOnOff backlightControlLegacy backlightLevelWhite backlightLevelRed backlightLevelGreen backlightLevelBlue blockLutOperation clock clockPhase colorSaturation colorTemperatureIncrement colorTemperatureRequest contrast displayApplication fleshToneEnhancement focus gamma grayScaleExpansion horizontalMoire hue luminance lutSize screenOrientation selectColorPreset sharpness singlePointLutOperation stereoVideoMode tvBlackLevel tvContrast tvSharpness userColorVisionCompensation velocityScanModulation verticalMoire videoBlackLevelBlue videoBlackLevelGreen videoBlackLevelRed videoGainBlue videoGainGreen videoGainRed windowBackground windowControlOnOff windowSelect windowSize windowTransparency restoreFactoryDefaults restoreFactoryLuminanceContrastDefaults restoreFactoryGeometryDefaults restoreFactoryColorDefaults restoreFactoryTvDefaults settings blackStabilizer colorPresetC powerControl topLeftScreenPurity topRightScreenPurity bottomLeftScreenPurity bottomRightScreenPurity"
