Skip to content

Commit

Permalink
Add option to show application icon
Browse files Browse the repository at this point in the history
Fixes #912
  • Loading branch information
weisJ authored and p0deje committed Nov 22, 2024
1 parent 0452a66 commit 9f96adc
Show file tree
Hide file tree
Showing 35 changed files with 196 additions and 17 deletions.
10 changes: 9 additions & 1 deletion Maccy.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
2F39CB042AD9A93C00B749FD /* Sparkle in Frameworks */ = {isa = PBXBuildFile; productRef = 2F39CB032AD9A93C00B749FD /* Sparkle */; };
2F39CB0A2AD9AE1F00B749FD /* Settings in Frameworks */ = {isa = PBXBuildFile; productRef = 2F39CB092AD9AE1F00B749FD /* Settings */; };
2F8B9DE62C5D6E5D0046EF69 /* NSPoint+DefaultsSerializable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F8B9DE52C5D6E5D0046EF69 /* NSPoint+DefaultsSerializable.swift */; };
2FB5BCA02CD8F73F008B33F4 /* ApplicationImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FB5BC9F2CD8F73C008B33F4 /* ApplicationImage.swift */; };
4762D6972467226100B3A2BA /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4762D6992467226100B3A2BA /* Localizable.strings */; };
DA009931256411F90030E697 /* appcast.xml in Resources */ = {isa = PBXBuildFile; fileRef = DA00992C256411F90030E697 /* appcast.xml */; };
DA009932256411F90030E697 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = DA00992D256411F90030E697 /* README.md */; };
Expand Down Expand Up @@ -64,6 +65,7 @@
DA49EE7528B59468002752E0 /* NSRect+Centered.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA49EE7428B59468002752E0 /* NSRect+Centered.swift */; };
DA49EE7928B594DC002752E0 /* NSRunningApplication+WindowFrame.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA49EE7828B594DC002752E0 /* NSRunningApplication+WindowFrame.swift */; };
DA5154D82564102900C01004 /* Sauce in Frameworks */ = {isa = PBXBuildFile; productRef = DA5154D72564102900C01004 /* Sauce */; };
DA555F082CF0F994009608BD /* ApplicationImageCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA555F072CF0F98F009608BD /* ApplicationImageCache.swift */; };
DA5E62802C39E53F00F4C710 /* PreviewItemView.strings in Resources */ = {isa = PBXBuildFile; fileRef = DA5E627E2C39E53F00F4C710 /* PreviewItemView.strings */; };
DA5F46512020E9FB00425C11 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5F464F2020E4DF00425C11 /* Carbon.framework */; };
DA6373981E4AB9BB00263391 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DA6373971E4AB9BB00263391 /* Assets.xcassets */; };
Expand Down Expand Up @@ -160,6 +162,7 @@
11EB892C281DADFF00A78CB4 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = "<group>"; };
2F1A79BF2C6DFB7800C98EBD /* SearchVisibility.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchVisibility.swift; sourceTree = "<group>"; };
2F8B9DE52C5D6E5D0046EF69 /* NSPoint+DefaultsSerializable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSPoint+DefaultsSerializable.swift"; sourceTree = "<group>"; };
2FB5BC9F2CD8F73C008B33F4 /* ApplicationImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApplicationImage.swift; sourceTree = "<group>"; };
3EBDD1E32BBEF22800C57500 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = "<group>"; };
4762D6982467226100B3A2BA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
4762D69A2467226400B3A2BA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = "<group>"; };
Expand Down Expand Up @@ -236,6 +239,7 @@
DA49EE7828B594DC002752E0 /* NSRunningApplication+WindowFrame.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSRunningApplication+WindowFrame.swift"; sourceTree = "<group>"; };
DA4B706A271B7B5300FF324C /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = "<group>"; };
DA4C056C2BD416F000FE5FEC /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Localizable.strings; sourceTree = "<group>"; };
DA555F072CF0F98F009608BD /* ApplicationImageCache.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApplicationImageCache.swift; sourceTree = "<group>"; };
DA5E627F2C39E53F00F4C710 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/PreviewItemView.strings; sourceTree = "<group>"; };
DA5E62812C39E54A00F4C710 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/PreviewItemView.strings; sourceTree = "<group>"; };
DA5E62822C39E54B00F4C710 /* bs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bs; path = bs.lproj/PreviewItemView.strings; sourceTree = "<group>"; };
Expand Down Expand Up @@ -699,6 +703,8 @@
DA6D98E12AEABE03008A77CE /* Accessibility.swift */,
DAEE38461E3DBEB100DD2966 /* AppDelegate.swift */,
DAB082952A2B7B850053E463 /* AppStoreReview.swift */,
2FB5BC9F2CD8F73C008B33F4 /* ApplicationImage.swift */,
DA555F072CF0F98F009608BD /* ApplicationImageCache.swift */,
DA0EF1871E444B2A00E58577 /* Clipboard.swift */,
DAE284FF232257D20080E394 /* ColorImage.swift */,
DAA54BF92C3C951900B7FDD8 /* FloatingPanel.swift */,
Expand All @@ -713,6 +719,7 @@
DA689FC72C1D15140009B887 /* PinsPosition.swift */,
DA689FC52C1D14F10009B887 /* PopupPosition.swift */,
DAC14123232367B200FCFA30 /* Search.swift */,
2F1A79BF2C6DFB7800C98EBD /* SearchVisibility.swift */,
DAA5ACC92C1BEE8A00B58513 /* SoftwareUpdater.swift */,
DA696BCD240177E800DE80CF /* Sorter.swift */,
DA243D132C2F66DD0012A27F /* Storage.swift */,
Expand All @@ -721,7 +728,6 @@
DAEE384D1E3DBEB100DD2966 /* Info.plist */,
DA6373971E4AB9BB00263391 /* Assets.xcassets */,
4762D6992467226100B3A2BA /* Localizable.strings */,
2F1A79BF2C6DFB7800C98EBD /* SearchVisibility.swift */,
);
path = Maccy;
sourceTree = "<group>";
Expand Down Expand Up @@ -947,6 +953,7 @@
DA1969142C3F11D600258481 /* PreviewItemView.swift in Sources */,
DAA072D52C40AC52006DDFD2 /* HistoryListView.swift in Sources */,
DAB082962A2B7B850053E463 /* AppStoreReview.swift in Sources */,
2FB5BCA02CD8F73F008B33F4 /* ApplicationImage.swift in Sources */,
DA13D7D22C19F91B00FA9E23 /* Defaults.Keys+Names.swift in Sources */,
DA1969102C3F0AAC00258481 /* KeyShortcut.swift in Sources */,
DA9C3C622C20E1BF0056795D /* IgnoreRegexpsSettingsView.swift in Sources */,
Expand Down Expand Up @@ -983,6 +990,7 @@
DA1969212C3F6C6800258481 /* HistoryItemAction.swift in Sources */,
0ABDD5122BB47F1E0054963B /* NSWorkspace+ApplicationName.swift in Sources */,
DA19691A2C3F369800258481 /* HeaderView.swift in Sources */,
DA555F082CF0F994009608BD /* ApplicationImageCache.swift in Sources */,
DA44C5E42C1C858400819834 /* StorageSettingsPane.swift in Sources */,
DA05B5142C234DCF006980FE /* HistoryItemContent.swift in Sources */,
DAA072D32C40A961006DDFD2 /* Color+Random.swift in Sources */,
Expand Down
81 changes: 81 additions & 0 deletions Maccy/ApplicationImage.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
import SwiftUI

class ApplicationImage {
fileprivate static let fallbackImage = NSImage(
systemSymbolName: "questionmark.app.dashed",
accessibilityDescription: nil
)!
private static let retryInterval: TimeInterval = 60 * 60

let bundleIdentifier: String?
private var image: NSImage?
private var lastChecked: Date?
private var eventSource: (any DispatchSourceFileSystemObject)?

init(bundleIdentifier: String?, image: NSImage? = nil) {
self.bundleIdentifier = bundleIdentifier
self.image = image
}

var nsImage: NSImage {
guard let bundleIdentifier else {
return Self.fallbackImage
}

if let image {
return image
}

// The image has been queried before but since the application has been deleted.
// Check from time to time if the application has returned.
if let lastChecked,
Date().timeIntervalSince(lastChecked) < Self.retryInterval {
return Self.fallbackImage
}
lastChecked = .now

if let appURL = NSWorkspace.shared.urlForApplication(
withBundleIdentifier: bundleIdentifier
) {
let img = NSWorkspace.shared.icon(forFile: appURL.path)
image = img

let descriptor = open(appURL.path, O_EVTONLY)
if descriptor == -1 {
let errorCode = errno
print("Error code: \(errorCode)")
print("Error message: \(String(cString: strerror(errorCode)))")
} else if descriptor > 0 {
let source = DispatchSource.makeFileSystemObjectSource(
fileDescriptor: descriptor,
eventMask: [.write, .delete],
queue: DispatchQueue.global()
)
eventSource = source
source.setEventHandler {
DispatchQueue.main.async {
let event = source.data
if event.contains(.delete) {
// File was deleted.
print("Deleted", appURL.path)
source.cancel()
self.image = nil
} else if event.contains(.write) {
// File was modified. Fetch new icon
print("Modified", appURL.path)
self.image = NSWorkspace.shared.icon(forFile: appURL.path)
}
}
}
source.setCancelHandler {
close(descriptor)
}
source.resume()
}

return img
}

return Self.fallbackImage
}
}
35 changes: 35 additions & 0 deletions Maccy/ApplicationImageCache.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
class ApplicationImageCache {
static let shared = ApplicationImageCache()

private let universalClipboardIdentifier: String =
"com.apple.finder.Open-iCloudDrive"
private let fallback = ApplicationImage(bundleIdentifier: nil)
private var cache: [String: ApplicationImage] = [:]

func getImage(item: HistoryItem) -> ApplicationImage {
guard let bundleIdentifier = bundleIdentifier(for: item) else {
return fallback
}

if let image = cache[bundleIdentifier] {
return image
}

let image = ApplicationImage(bundleIdentifier: bundleIdentifier)
cache[bundleIdentifier] = image

return image
}

private func bundleIdentifier(for item: HistoryItem) -> String? {
if item.universalClipboard {
return universalClipboardIdentifier
}

if let bundleIdentifier = item.application {
return bundleIdentifier
}

return nil
}
}
1 change: 1 addition & 0 deletions Maccy/Extensions/Defaults.Keys+Names.swift
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,5 @@ extension Defaults.Keys {
static let suppressClearAlert = Key<Bool>("suppressClearAlert", default: false)
static let windowSize = Key<NSSize>("windowSize", default: NSSize(width: 450, height: 800))
static let windowPosition = Key<NSPoint>("windowPosition", default: NSPoint(x: 0.5, y: 0.8))
static let showApplicationIcons = Key<Bool>("showApplicationIcons", default: false)
}
2 changes: 2 additions & 0 deletions Maccy/Observables/HistoryItemDecorator.swift
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ class HistoryItemDecorator: Identifiable, Hashable {

var previewImage: NSImage?
var thumbnailImage: NSImage?
var applicationImage: ApplicationImage

var text: String { item.previewableText }

Expand All @@ -70,6 +71,7 @@ class HistoryItemDecorator: Identifiable, Hashable {
self.item = item
self.shortcuts = shortcuts
self.title = item.title
self.applicationImage = ApplicationImageCache.shared.getImage(item: item)

synchronizeItemPin()
synchronizeItemTitle()
Expand Down
4 changes: 4 additions & 0 deletions Maccy/Settings/AppearanceSettingsPane.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ struct AppearanceSettingsPane: View {
@Default(.searchVisibility) private var searchVisibility
@Default(.showFooter) private var showFooter
@Default(.windowPosition) private var windowPosition
@Default(.showApplicationIcons) private var showApplicationIcons

@State private var screens = NSScreen.screens

Expand Down Expand Up @@ -181,6 +182,9 @@ struct AppearanceSettingsPane: View {
Defaults.Toggle(key: .showTitle) {
Text("ShowTitleBeforeSearchField", tableName: "AppearanceSettings")
}
Defaults.Toggle(key: .showApplicationIcons) {
Text("ShowApplicationIcons", tableName: "AppearanceSettings")
}

Defaults.Toggle(key: .showFooter) {
Text("ShowFooter", tableName: "AppearanceSettings")
Expand Down
1 change: 1 addition & 0 deletions Maccy/Settings/ar.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@
"ShowSearchField" = "إظهار حقل البحث";
"ShowTitleBeforeSearchField" = "إظهار العنوان قبل حقل البحث";
"ShowFooter" = "إظهار التذييل";
"ShowApplicationIcons" = "إظهار أيقونات التطبيقات";
"OpenPreferencesWarning" = "⚠️ اضغط ⌘، لفتح التفضيلات عندما يكون التذييل مخفيًا.";
1 change: 1 addition & 0 deletions Maccy/Settings/bs.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,4 @@
"ShowTitleBeforeSearchField" = "Prikaži naslov prije polja za pretraživanje";
"ShowFooter" = "Prikaži footer";
"OpenPreferencesWarning" = "⚠️ Pritisni ⌘, da otvorite postavke kada je podnožje skriveno.";
"ShowApplicationIcons" = "Prikaži ikone aplikacija";
1 change: 1 addition & 0 deletions Maccy/Settings/cs.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@
"ShowSearchField" = "Zobrazovat vyhledávací pole";
"ShowTitleBeforeSearchField" = "Zobrazovat název aplikace před vyhledávacím polem";
"ShowFooter" = "Zobrazovat patičku";
"ShowApplicationIcons" = "Zobrazení ikon aplikací";
"OpenPreferencesWarning" = "⚠️ Stiskni ⌘ pro otevření předvoleb, když je skrytá patička.";
1 change: 1 addition & 0 deletions Maccy/Settings/de.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@
"ShowSearchField" = "Suchfeld anzeigen";
"ShowTitleBeforeSearchField" = "Titel neben dem Suchfeld anzeigen";
"ShowFooter" = "Menü anzeigen";
"ShowApplicationIcons" = "Anwendungssymbole anzeigen";
"OpenPreferencesWarning" = "⚠️ Um die Einstellungen zu öffnen, halte ⌘, gedrückt.";
1 change: 1 addition & 0 deletions Maccy/Settings/en.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,6 @@
"ShowRecentCopyInMenuBar" = "Show recent copy next to menu icon";
"ShowSearchField" = "Show search field";
"ShowTitleBeforeSearchField" = "Show title before search field";
"ShowApplicationIcons" = "Show application icons";
"ShowFooter" = "Show footer";
"OpenPreferencesWarning" = "⚠️ Press ⌘, to open preferences when footer is hidden.";
1 change: 1 addition & 0 deletions Maccy/Settings/es.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@
"ShowSearchField" = "Mostrar campo de búsqueda";
"ShowTitleBeforeSearchField" = "Mostrar título antes del buscador";
"ShowFooter" = "Mostrar footer";
"ShowApplicationIcons" = "Mostrar iconos de aplicaciones";
"OpenPreferencesWarning" = "⚠️ Presiona ⌘, para abrir las preferencias cuando el footer esté oculto.";
1 change: 1 addition & 0 deletions Maccy/Settings/fr.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@
"ShowSearchField" = "Afficher le champ de recherche";
"ShowTitleBeforeSearchField" = "Afficher le titre avant la barre de recherche";
"ShowFooter" = "Afficher le bas de l'application";
"ShowApplicationIcons" = "Afficher les icônes des applications";
"OpenPreferencesWarning" = "⚠️ Pressez ⌘, pour ouvrir les préférences quand le bas de l'application est caché.";
1 change: 1 addition & 0 deletions Maccy/Settings/he.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,4 @@
"ShowTitleBeforeSearchField" = "הצגת כותרת לפני שדה החיפוש";
"ShowFooter" = "הצגת כותרת תחתונה";
"OpenPreferencesWarning" = "⚠️ יש ללחוץ על ⌘, כדי לפתוח העדפות כאשר הכותרת התחתונה מוסתרת.";
"ShowApplicationIcons" = "הצג סמלי יישומים";
1 change: 1 addition & 0 deletions Maccy/Settings/hr.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,4 @@
"ShowTitleBeforeSearchField" = "Prikaži naslov prije polja pretrage";
"ShowFooter" = "Prikaži podnožje";
"OpenPreferencesWarning" = "⚠️ Za otvaranje postavaka kad je podnožje skriveno, pritisni ⌘.";
"ShowApplicationIcons" = "Prikaži ikone aplikacija";
1 change: 1 addition & 0 deletions Maccy/Settings/hu.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@
"ShowSearchField" = "Keresőmező megjelenítése";
"ShowTitleBeforeSearchField" = "Cím megjelenítése a keresőmező előtt";
"ShowFooter" = "Lábléc megjelenítése";
"ShowApplicationIcons" = "Alkalmazás ikonok megjelenítése";
"OpenPreferencesWarning" = "⚠️ Nyomd meg a ⌘ gombot a Preferenciák megnyitásához, ha a lábléc el van rejtve.";
1 change: 1 addition & 0 deletions Maccy/Settings/it.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@
"ShowSearchField" = "Mostra campo ricerca";
"ShowTitleBeforeSearchField" = "Mostra il titolo prima del campo ricerca";
"ShowFooter" = "Mostra footer";
"ShowApplicationIcons" = "Mostra le icone delle applicazioni";
"OpenPreferencesWarning" = "⚠️ Premi ⌘, per aprire le preferenze quando il footer è nascosto.";
1 change: 1 addition & 0 deletions Maccy/Settings/ja.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@
"ShowSearchField" = "検索フィールド表示";
"ShowTitleBeforeSearchField" = "検索フィールドの前にタイトル表示";
"ShowFooter" = "フッター表示";
"ShowApplicationIcons" = "アプリケーションのアイコンを表示する";
"OpenPreferencesWarning" = "⚠️ フッターが隠されている時に設定を開くには⌘,を押してください。";
1 change: 1 addition & 0 deletions Maccy/Settings/ko.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@
"ShowSearchField" = "검색 필드 표시";
"ShowTitleBeforeSearchField" = "검색 필드 앞에 타이틀 표시";
"ShowFooter" = "푸터 표시";
"ShowApplicationIcons" = "애플리케이션 아이콘 표시";
"OpenPreferencesWarning" = "⚠️ 푸터가 숨겨져 있을 때 설정을 열려면 ⌘,를 누르세요.";
15 changes: 8 additions & 7 deletions Maccy/Settings/lt.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
@@ -1,34 +1,35 @@
"Title" = "Išvaizda";
"PopupAt" = "Iššokančio lango vieta:";
"PopupAtCursor" = "Pelės žymeklis";
"PopupAtMenuBarIcon" = "Meniu piktograma";
"PopupAtWindowCenter" = "Lango centras";
"PopupAtScreenCenter" = "Ekrano centras";
"PopupAtLastPosition" = "Paskutinė vieta";
"PopupAtLastLocationReset" = "Iš naujo nustatyti vietą";
"PopupAtTooltip" = "Pakeiskite vietą, kurioje rodomas iššokantis langas.\nNumatytoji reikšmė: Pelės žymeklis.";
"SearchVisibilityAlways" = "Visada";
"SearchVisibilityDuringSearch" = "Paieškos metu";
"ActiveScreen" = "Aktyvus ekranas";
"PinTo" = "Prisegti:";
"PinToTop" = "Viršuje";
"PinToBottom" = "Apačioje";
"PinToTooltip" = "Pakeiskite prisegtų elementų vietą.\nNumatytoji reikšmė: Viršuje.";
"ImageHeight" = "Paveikslėlio aukštis:";
"ImageHeightTooltip" = "Didžiausias paveikslėlio peržiūros aukštis.\nNumatytoji reikšmė: 40.\nPatarimas: Nustatykite 16, kad atrodytų kaip teksto elementai.";
"PreviewDelay" = "Peržiūros vėlavimas:";
"PreviewDelayTooltip" = "Vėlavimas milisekundėmis, kol bus parodytas iškylantysis peržiūros langas.\nNumatytoji reikšmė: 1500.";
"HighlightMatches" = "Paryškinti atitikimus:";
"HighlightMatchColor" = "Spalva";
"HighlightMatchBold" = "Paryškintu šriftu";
"HighlightMatchItalic" = "Kursyvu";
"HighlightMatchUnderline" = "Pabraukimu";
"HighlightMatchesTooltip" = "Pakeiskite paieškos atitikmenų paryškinimo stilių.\nNumatytoji reikšmė: Paryškintu šriftu.";
"ShowSpecialSymbols" = "Rodyti specialiuosius simbolius";
"PinTo" = "Prisegti:";
"ShowSpecialSymbolsTooltip" = "Rodyti naujas eilutes, skirtukus, pradinius ir galinius tarpus naudojant specialius simbolius.";
"ShowMenuIcon" = "Rodyti meniu piktogramą";
"ShowRecentCopyInMenuBar" = "Rodyti naujausią kopiją šalia meniu piktogramos";
"ShowSearchField" = "Rodyti paieškos laukelį";
"ShowTitleBeforeSearchField" = "Rodyti pavadinimą prieš paieškos laukelį";
"ShowFooter" = "Rodyti paraštę";
"ShowApplicationIcons" = "Rodyti programų piktogramas";
"OpenPreferencesWarning" = "⚠️ Paspauskite ⌘ ir , norėdami atidaryti nustatymus, kai paraštė yra paslėpta.";
"PopupAtMenuBarIcon" = "Meniu piktograma";
"SearchVisibilityDuringSearch" = "Paieškos metu";
"PinToTooltip" = "Pakeiskite prisegtų elementų vietą.\nNumatytoji reikšmė: Viršuje.";
"PreviewDelay" = "Peržiūros vėlavimas:";
"HighlightMatchesTooltip" = "Pakeiskite paieškos atitikmenų paryškinimo stilių.\nNumatytoji reikšmė: Paryškintu šriftu.";
"ShowSpecialSymbolsTooltip" = "Rodyti naujas eilutes, skirtukus, pradinius ir galinius tarpus naudojant specialius simbolius.";
1 change: 1 addition & 0 deletions Maccy/Settings/lv.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@
"ShowSearchField" = "Rādīt meklēšanas lauku";
"ShowTitleBeforeSearchField" = "Rādīt virsrakstu pirms meklēšanas lauka";
"ShowFooter" = "Rādīt kājeni";
"ShowApplicationIcons" = "Rādīt lietojumprogrammu ikonas";
"OpenPreferencesWarning" = "⚠️ Nospiediet taustiņu ⌘, lai atvērtu preferences, ja kājene ir paslēpta.";
1 change: 1 addition & 0 deletions Maccy/Settings/nb.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@
"ShowSearchField" = "Vis søkefelt";
"ShowTitleBeforeSearchField" = "Vis tittel før søkefelt";
"ShowFooter" = "Vis bunntekst";
"ShowApplicationIcons" = "Vis applikasjonsikoner";
"OpenPreferencesWarning" = "⚠️ Trykk ⌘, for å åpne valg når bunntekst er skjult.";
1 change: 1 addition & 0 deletions Maccy/Settings/nl.lproj/AppearanceSettings.strings
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@
"ShowSearchField" = "Toon zoekveld";
"ShowTitleBeforeSearchField" = "Toon titel voor zoekveld";
"ShowFooter" = "Toon voettekst";
"ShowApplicationIcons" = "Toepassingspictogrammen weergeven";
"OpenPreferencesWarning" = "⚠️ Druk op ⌘, om voorkeuren te openen wanneer de voettekst verborgen is.";
Loading

0 comments on commit 9f96adc

Please sign in to comment.