Skip to content

Instantly share code, notes, and snippets.

@tempelmann
Created July 22, 2021 13:04
Show Gist options
  • Save tempelmann/658ed860afeae48ca21f229a53b6c9cf to your computer and use it in GitHub Desktop.
Save tempelmann/658ed860afeae48ca21f229a53b6c9cf to your computer and use it in GitHub Desktop.
Lists every `NSImage(named:…)` system provided image / icon
//
// ContentView.swift
//
// Lists all system-provided NSImages
//
// Created by Thomas Tempelmann on 20.07.21.
//
// Requires Swift 5
//
import SwiftUI
let names: [String] = [
NSImage.addTemplateName,
NSImage.bluetoothTemplateName,
NSImage.bonjourName,
NSImage.bookmarksTemplateName,
NSImage.cautionName,
NSImage.computerName,
NSImage.enterFullScreenTemplateName,
NSImage.exitFullScreenTemplateName,
NSImage.folderName,
NSImage.folderBurnableName,
NSImage.folderSmartName,
NSImage.followLinkFreestandingTemplateName,
NSImage.homeTemplateName,
NSImage.iChatTheaterTemplateName,
NSImage.lockLockedTemplateName,
NSImage.lockUnlockedTemplateName,
NSImage.networkName,
NSImage.pathTemplateName,
NSImage.quickLookTemplateName,
NSImage.refreshFreestandingTemplateName,
NSImage.refreshTemplateName,
NSImage.removeTemplateName,
NSImage.revealFreestandingTemplateName,
NSImage.shareTemplateName,
NSImage.slideshowTemplateName,
NSImage.statusAvailableName,
NSImage.statusNoneName,
NSImage.statusPartiallyAvailableName,
NSImage.statusUnavailableName,
NSImage.stopProgressFreestandingTemplateName,
NSImage.stopProgressTemplateName,
NSImage.trashEmptyName,
NSImage.trashFullName,
NSImage.actionTemplateName,
NSImage.smartBadgeTemplateName,
NSImage.iconViewTemplateName,
NSImage.listViewTemplateName,
NSImage.columnViewTemplateName,
NSImage.flowViewTemplateName,
NSImage.invalidDataFreestandingTemplateName,
NSImage.goForwardTemplateName,
NSImage.goBackTemplateName,
NSImage.goRightTemplateName,
NSImage.goLeftTemplateName,
NSImage.rightFacingTriangleTemplateName,
NSImage.leftFacingTriangleTemplateName,
NSImage.mobileMeName,
NSImage.multipleDocumentsName,
NSImage.userAccountsName,
NSImage.preferencesGeneralName,
NSImage.advancedName,
NSImage.infoName,
NSImage.fontPanelName,
NSImage.colorPanelName,
NSImage.userName,
NSImage.userGroupName,
NSImage.everyoneName,
NSImage.userGuestName,
NSImage.menuOnStateTemplateName,
NSImage.menuMixedStateTemplateName,
NSImage.applicationIconName,
NSImage.touchBarAddDetailTemplateName,
NSImage.touchBarAddTemplateName,
NSImage.touchBarAlarmTemplateName,
NSImage.touchBarAudioInputMuteTemplateName,
NSImage.touchBarAudioInputTemplateName,
NSImage.touchBarAudioOutputMuteTemplateName,
NSImage.touchBarAudioOutputVolumeHighTemplateName,
NSImage.touchBarAudioOutputVolumeLowTemplateName,
NSImage.touchBarAudioOutputVolumeMediumTemplateName,
NSImage.touchBarAudioOutputVolumeOffTemplateName,
NSImage.touchBarBookmarksTemplateName,
NSImage.touchBarColorPickerFillName,
NSImage.touchBarColorPickerFontName,
NSImage.touchBarColorPickerStrokeName,
NSImage.touchBarCommunicationAudioTemplateName,
NSImage.touchBarCommunicationVideoTemplateName,
NSImage.touchBarComposeTemplateName,
NSImage.touchBarDeleteTemplateName,
NSImage.touchBarDownloadTemplateName,
NSImage.touchBarEnterFullScreenTemplateName,
NSImage.touchBarExitFullScreenTemplateName,
NSImage.touchBarFastForwardTemplateName,
NSImage.touchBarFolderCopyToTemplateName,
NSImage.touchBarFolderMoveToTemplateName,
NSImage.touchBarFolderTemplateName,
NSImage.touchBarGetInfoTemplateName,
NSImage.touchBarGoBackTemplateName,
NSImage.touchBarGoDownTemplateName,
NSImage.touchBarGoForwardTemplateName,
NSImage.touchBarGoUpTemplateName,
NSImage.touchBarHistoryTemplateName,
NSImage.touchBarIconViewTemplateName,
NSImage.touchBarListViewTemplateName,
NSImage.touchBarMailTemplateName,
NSImage.touchBarNewFolderTemplateName,
NSImage.touchBarNewMessageTemplateName,
NSImage.touchBarOpenInBrowserTemplateName,
NSImage.touchBarPauseTemplateName,
NSImage.touchBarPlayPauseTemplateName,
NSImage.touchBarPlayTemplateName,
NSImage.touchBarQuickLookTemplateName,
NSImage.touchBarRecordStartTemplateName,
NSImage.touchBarRecordStopTemplateName,
NSImage.touchBarRefreshTemplateName,
NSImage.touchBarRemoveTemplateName,
NSImage.touchBarRewindTemplateName,
NSImage.touchBarRotateLeftTemplateName,
NSImage.touchBarRotateRightTemplateName,
NSImage.touchBarSearchTemplateName,
NSImage.touchBarShareTemplateName,
NSImage.touchBarSidebarTemplateName,
NSImage.touchBarSkipAhead15SecondsTemplateName,
NSImage.touchBarSkipAhead30SecondsTemplateName,
NSImage.touchBarSkipAheadTemplateName,
NSImage.touchBarSkipBack15SecondsTemplateName,
NSImage.touchBarSkipBack30SecondsTemplateName,
NSImage.touchBarSkipBackTemplateName,
NSImage.touchBarSkipToEndTemplateName,
NSImage.touchBarSkipToStartTemplateName,
NSImage.touchBarSlideshowTemplateName,
NSImage.touchBarTagIconTemplateName,
NSImage.touchBarTextBoldTemplateName,
NSImage.touchBarTextBoxTemplateName,
NSImage.touchBarTextCenterAlignTemplateName,
NSImage.touchBarTextItalicTemplateName,
NSImage.touchBarTextJustifiedAlignTemplateName,
NSImage.touchBarTextLeftAlignTemplateName,
NSImage.touchBarTextListTemplateName,
NSImage.touchBarTextRightAlignTemplateName,
NSImage.touchBarTextStrikethroughTemplateName,
NSImage.touchBarTextUnderlineTemplateName,
NSImage.touchBarUserAddTemplateName,
NSImage.touchBarUserGroupTemplateName,
NSImage.touchBarUserTemplateName,
NSImage.touchBarVolumeDownTemplateName,
NSImage.touchBarVolumeUpTemplateName,
NSImage.touchBarPlayheadTemplateName
]
struct ContentView: View {
var body: some View {
List(names, id: \.self) { name in
HStack {
let index = names.firstIndex(of: name)
let s = String(index!)
Text(s).frame(width: 40.0)
Image(nsImage: NSImage(named:name)!)
.frame(width: 40.0, height: 32.0)
Text(name)
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment