Initial commit to new repository

This commit is contained in:
2026-04-03 18:22:19 +09:00
commit 4458bb0f52
7672 changed files with 452440 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- ─── Alfred Dark 테마 ─────────────────────────────────────────────── -->
<!-- Alfred 5의 기본 다크 테마에서 영감받은 딥 퍼플-차콜 팔레트 -->
<!-- 배경 -->
<SolidColorBrush x:Key="LauncherBackground" Color="#26273B"/>
<SolidColorBrush x:Key="ItemBackground" Color="#26273B"/>
<SolidColorBrush x:Key="ItemSelectedBackground" Color="#3B3D60"/>
<SolidColorBrush x:Key="ItemSelectedHoverBackground" Color="#4D4F78"/>
<SolidColorBrush x:Key="ItemHoverBackground" Color="#30314E"/>
<!-- 텍스트 -->
<SolidColorBrush x:Key="PrimaryText" Color="#EEEEFF"/>
<SolidColorBrush x:Key="SecondaryText" Color="#B0B0D8"/>
<SolidColorBrush x:Key="PlaceholderText" Color="#9898C8"/>
<!-- 액센트 — Alfred 특유의 보라-파랑 -->
<SolidColorBrush x:Key="AccentColor" Color="#8877EE"/>
<!-- 구분선 / 배경 요소 -->
<SolidColorBrush x:Key="SeparatorColor" Color="#32334E"/>
<SolidColorBrush x:Key="HintBackground" Color="#32334E"/>
<SolidColorBrush x:Key="HintText" Color="#8888B8"/>
<!-- 테두리 -->
<SolidColorBrush x:Key="BorderColor" Color="#40416A"/>
<!-- 스크롤바 -->
<SolidColorBrush x:Key="ScrollbarThumb" Color="#4A4B72"/>
<!-- 그림자 -->
<Color x:Key="ShadowColor">#000000</Color>
<!-- 모양 (Shape) — Alfred: 실제 Alfred 앱처럼 중간 라운딩, 깔끔한 느낌 -->
<CornerRadius x:Key="WindowCornerRadius">14</CornerRadius>
<CornerRadius x:Key="ItemCornerRadius">6</CornerRadius>
</ResourceDictionary>

View File

@@ -0,0 +1,40 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- ─── Alfred Light 테마 ────────────────────────────────────────────── -->
<!-- Alfred 5의 라이트 테마에서 영감받은 클린 화이트 팔레트 -->
<!-- 배경 -->
<SolidColorBrush x:Key="LauncherBackground" Color="#FFFFFF"/>
<SolidColorBrush x:Key="ItemBackground" Color="#FFFFFF"/>
<SolidColorBrush x:Key="ItemSelectedBackground" Color="#E8E9FF"/>
<SolidColorBrush x:Key="ItemSelectedHoverBackground" Color="#D8DAFF"/>
<SolidColorBrush x:Key="ItemHoverBackground" Color="#F4F4FF"/>
<!-- 텍스트 -->
<SolidColorBrush x:Key="PrimaryText" Color="#1A1A2E"/>
<SolidColorBrush x:Key="SecondaryText" Color="#9090AA"/>
<SolidColorBrush x:Key="PlaceholderText" Color="#C0C0D0"/>
<!-- 액센트 -->
<SolidColorBrush x:Key="AccentColor" Color="#5555EE"/>
<!-- 구분선 / 배경 요소 -->
<SolidColorBrush x:Key="SeparatorColor" Color="#EAEAF5"/>
<SolidColorBrush x:Key="HintBackground" Color="#F0F0F8"/>
<SolidColorBrush x:Key="HintText" Color="#AAAABB"/>
<!-- 테두리 -->
<SolidColorBrush x:Key="BorderColor" Color="#DCDCEE"/>
<!-- 스크롤바 -->
<SolidColorBrush x:Key="ScrollbarThumb" Color="#C8C8DC"/>
<!-- 그림자 — 라이트 모드에서 잘 보이도록 어두운 그림자 -->
<Color x:Key="ShadowColor">#303030</Color>
<!-- 모양 (Shape) — Alfred Light: Dark와 동일한 라운딩 -->
<CornerRadius x:Key="WindowCornerRadius">14</CornerRadius>
<CornerRadius x:Key="ItemCornerRadius">6</CornerRadius>
</ResourceDictionary>

View File

@@ -0,0 +1,38 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!--
Catppuccin Mocha 테마 — 따뜻한 파스텔 다크 테마
출처: https://github.com/catppuccin/catppuccin
Mocha variant: 가장 어두운 Catppuccin 변형
-->
<!-- Mocha Base Colors -->
<SolidColorBrush x:Key="LauncherBackground" Color="#1E1E2E"/> <!-- Base -->
<SolidColorBrush x:Key="ItemBackground" Color="#313244"/> <!-- Surface 0 -->
<SolidColorBrush x:Key="ItemSelectedBackground" Color="#7C3AED"/> <!-- Mauve 진하게 -->
<SolidColorBrush x:Key="ItemSelectedHoverBackground" Color="#9050FF"/> <!-- Mauve 밝게 -->
<SolidColorBrush x:Key="ItemHoverBackground" Color="#292A3D"/>
<!-- Text -->
<SolidColorBrush x:Key="PrimaryText" Color="#CDD6F4"/> <!-- Text -->
<SolidColorBrush x:Key="SecondaryText" Color="#AEB2CC"/> <!-- Overlay 1 brightened -->
<SolidColorBrush x:Key="PlaceholderText" Color="#A0A3C0"/> <!-- Overlay 0 brightened -->
<!-- Mauve — Catppuccin 시그니처 -->
<SolidColorBrush x:Key="AccentColor" Color="#CBA6F7"/> <!-- Mauve -->
<SolidColorBrush x:Key="SeparatorColor" Color="#313244"/>
<SolidColorBrush x:Key="HintBackground" Color="#313244"/>
<SolidColorBrush x:Key="HintText" Color="#9498B0"/>
<SolidColorBrush x:Key="BorderColor" Color="#45475A"/> <!-- Surface 1 -->
<SolidColorBrush x:Key="ScrollbarThumb" Color="#45475A"/>
<Color x:Key="ShadowColor">#000000</Color>
<!-- 모양 (Shape) — Catppuccin: 파스텔 감성, 넉넉히 둥글게 -->
<CornerRadius x:Key="WindowCornerRadius">22</CornerRadius>
<CornerRadius x:Key="ItemCornerRadius">12</CornerRadius>
</ResourceDictionary>

View File

@@ -0,0 +1,43 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!--
Codex 테마 — 순백 미니멀 라이트 테마
오염 없는 흰 배경 위에 차분한 바이올렛 액센트.
모던 데스크톱 AI 도구의 클린한 감각을 재현합니다.
-->
<!-- 배경 -->
<SolidColorBrush x:Key="LauncherBackground" Color="#FFFFFF"/> <!-- 순백 메인 배경 -->
<SolidColorBrush x:Key="ItemBackground" Color="#F5F5F7"/> <!-- 사이드바·카드 배경 (애플 스타일 오프화이트) -->
<SolidColorBrush x:Key="ItemSelectedBackground" Color="#EDE9FE"/> <!-- 선택 항목: 연한 바이올렛 -->
<SolidColorBrush x:Key="ItemSelectedHoverBackground" Color="#DDD6FE"/> <!-- 선택+호버 -->
<SolidColorBrush x:Key="ItemHoverBackground" Color="#F0F0F5"/> <!-- 호버 -->
<!-- 텍스트 -->
<SolidColorBrush x:Key="PrimaryText" Color="#111111"/> <!-- 거의 검정 — 높은 가독성 -->
<SolidColorBrush x:Key="SecondaryText" Color="#6B7280"/> <!-- 쿨 그레이 — Tailwind gray-500 -->
<SolidColorBrush x:Key="PlaceholderText" Color="#9CA3AF"/> <!-- gray-400 -->
<!-- 액센트 — Tailwind violet-700, 차분하고 품격 있는 보라 -->
<SolidColorBrush x:Key="AccentColor" Color="#7C3AED"/>
<!-- 구분선 / 배경 요소 -->
<SolidColorBrush x:Key="SeparatorColor" Color="#E5E7EB"/> <!-- gray-200 -->
<SolidColorBrush x:Key="HintBackground" Color="#F3F4F6"/> <!-- gray-100 -->
<SolidColorBrush x:Key="HintText" Color="#9CA3AF"/>
<!-- 테두리 -->
<SolidColorBrush x:Key="BorderColor" Color="#E5E7EB"/> <!-- 얇고 부드러운 선 -->
<!-- 스크롤바 -->
<SolidColorBrush x:Key="ScrollbarThumb" Color="#D1D5DB"/> <!-- gray-300 -->
<!-- 그림자 — 라이트 계열: 부드럽게 -->
<Color x:Key="ShadowColor">#8888A8</Color>
<!-- 모양 — 미니멀: 적당한 라운딩, 너무 둥글지 않게 -->
<CornerRadius x:Key="WindowCornerRadius">16</CornerRadius>
<CornerRadius x:Key="ItemCornerRadius">8</CornerRadius>
</ResourceDictionary>

View File

@@ -0,0 +1,168 @@
using System.Globalization;
using System.Windows;
using System.Windows.Data;
using System.Windows.Media;
namespace AxCopilot.Themes;
public class BoolToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type t, object p, CultureInfo c) =>
value is true ? Visibility.Visible : Visibility.Collapsed;
public object ConvertBack(object v, Type t, object p, CultureInfo c) =>
v is Visibility.Visible;
}
public class InverseBoolToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type t, object p, CultureInfo c) =>
value is true ? Visibility.Collapsed : Visibility.Visible;
public object ConvertBack(object v, Type t, object p, CultureInfo c) =>
v is not Visibility.Visible;
}
public class CountToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type t, object p, CultureInfo c) =>
value is int count && count > 0 ? Visibility.Visible : Visibility.Collapsed;
public object ConvertBack(object v, Type t, object p, CultureInfo c) =>
throw new NotImplementedException();
}
/// <summary>
/// Segoe MDL2 심볼 코드포인트 → 아이콘 배경 SolidColorBrush.
/// 핸들러 타입별로 서로 다른 색상을 반환합니다.
/// </summary>
public class SymbolToBackgroundConverter : IValueConverter
{
private static readonly Dictionary<string, SolidColorBrush> SymbolColors = new()
{
{ Symbols.Globe, Brush("#0078D4") }, // URL — Microsoft Blue
{ Symbols.Folder, Brush("#107C10") }, // 폴더 — Green
{ Symbols.Terminal, Brush("#1B1B1B") }, // 터미널 — Near Black
{ Symbols.Clipboard, Brush("#8764B8") }, // 클립보드 — Purple
{ Symbols.Workspace, Brush("#C50F1F") }, // 워크스페이스 — Red
{ Symbols.Cloud, Brush("#0099BC") }, // API — Teal
{ Symbols.Plugin, Brush("#C239B3") }, // 플러그인 — Magenta
{ Symbols.App, Brush("#4B5EFC") }, // 앱 — Accent
{ Symbols.File, Brush("#605E5C") }, // 파일 — Gray
{ Symbols.Save, Brush("#107C10") }, // 저장 — Green
{ Symbols.Delete, Brush("#C50F1F") }, // 삭제 — Red
{ Symbols.Rename, Brush("#CA5010") }, // 이름변경 — Orange
{ Symbols.Restore, Brush("#0078D4") }, // 복원 — Blue
{ Symbols.Info, Brush("#4B5EFC") }, // 정보 — Accent
{ Symbols.Warning, Brush("#CA5010") }, // 경고 — Orange
{ Symbols.Error, Brush("#C50F1F") }, // 오류 — Red
};
private static readonly SolidColorBrush DefaultBrush = Brush("#4B5EFC");
public object Convert(object value, Type t, object p, CultureInfo c) =>
value is string symbol && SymbolColors.TryGetValue(symbol, out var brush)
? brush : DefaultBrush;
public object ConvertBack(object v, Type t, object p, CultureInfo c) =>
throw new NotImplementedException();
private static SolidColorBrush Brush(string hex)
{
var color = (Color)ColorConverter.ConvertFromString(hex);
var brush = new SolidColorBrush(color);
brush.Freeze();
return brush;
}
}
/// <summary>
/// 바인딩 값과 파라미터 문자열이 일치하는지 여부를 bool로 반환합니다.
/// RadioButton IsChecked 바인딩에 사용합니다.
/// </summary>
public class StringEqualConverter : IValueConverter
{
public object Convert(object value, Type t, object p, CultureInfo c) =>
value is string s && p is string param && s == param;
public object ConvertBack(object v, Type t, object p, CultureInfo c) =>
v is true ? p : System.Windows.Data.Binding.DoNothing;
}
/// <summary>
/// "#RRGGBB" 헥스 문자열 → WPF Color 변환기 (테마 카드 미리보기용).
/// XAML에서 {x:Static converters:HexToColorConverter.Instance} 로 사용합니다.
/// </summary>
public class HexToColorConverter : IValueConverter
{
public static readonly HexToColorConverter Instance = new();
public object Convert(object value, Type t, object p, CultureInfo c)
{
if (value is string hex)
{
try { return (Color)ColorConverter.ConvertFromString(hex); }
catch { /* 잘못된 값이면 기본 반환 */ }
}
return Colors.Transparent;
}
public object ConvertBack(object v, Type t, object p, CultureInfo c) =>
throw new NotImplementedException();
}
/// <summary>null 또는 빈 문자열이면 Collapsed, 값이 있으면 Visible.</summary>
public class NullToCollapsedConverter : IValueConverter
{
public object Convert(object value, Type t, object p, CultureInfo c) =>
value is string s && !string.IsNullOrEmpty(s) ? Visibility.Visible : Visibility.Collapsed;
public object ConvertBack(object v, Type t, object p, CultureInfo c) =>
throw new NotImplementedException();
}
/// <summary>LauncherItem.Data가 ClipboardEntry(이미지)면 썸네일 BitmapSource 반환.</summary>
public class ClipboardThumbnailConverter : IValueConverter
{
public object? Convert(object value, Type t, object p, CultureInfo c)
{
if (value is Services.ClipboardEntry { Image: not null } entry)
return entry.Image;
return null;
}
public object ConvertBack(object v, Type t, object p, CultureInfo c) =>
throw new NotImplementedException();
}
/// <summary>ClipboardEntry 이미지가 있으면 Visible.</summary>
public class ClipboardHasImageConverter : IValueConverter
{
public object Convert(object value, Type t, object p, CultureInfo c) =>
value is Services.ClipboardEntry { Image: not null } ? Visibility.Visible : Visibility.Collapsed;
public object ConvertBack(object v, Type t, object p, CultureInfo c) =>
throw new NotImplementedException();
}
/// <summary>Subtitle에 경고 기호(⚠)가 포함되면 Visible, 아니면 Collapsed 반환.</summary>
public class WarningSubtitleColorConverter : IValueConverter
{
public object Convert(object value, Type t, object p, CultureInfo c) =>
value is string s && s.Contains('\u26A0') ? Visibility.Visible : Visibility.Collapsed;
public object ConvertBack(object v, Type t, object p, CultureInfo c) =>
throw new NotImplementedException();
}
/// <summary>ListViewItem → 1-based 인덱스 문자열. 9 초과 시 빈 문자열.</summary>
public class IndexToNumberConverter : IValueConverter
{
public object Convert(object value, Type t, object p, CultureInfo c)
{
if (value is System.Windows.Controls.ListViewItem item)
{
var lv = System.Windows.Controls.ItemsControl.ItemsControlFromItemContainer(item);
if (lv != null)
{
var idx = lv.ItemContainerGenerator.IndexFromContainer(item);
return idx >= 0 && idx < 9 ? (idx + 1).ToString() : "";
}
}
return "";
}
public object ConvertBack(object v, Type t, object p, CultureInfo c) =>
throw new NotImplementedException();
}

View File

@@ -0,0 +1,39 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- ─── 다크 테마 색상 팔레트 ──────────────────────────────────────── -->
<!-- 배경 -->
<SolidColorBrush x:Key="LauncherBackground" Color="#1A1B2E"/>
<SolidColorBrush x:Key="ItemBackground" Color="#252637"/>
<SolidColorBrush x:Key="ItemSelectedBackground" Color="#3B4BDB"/>
<SolidColorBrush x:Key="ItemSelectedHoverBackground" Color="#4F60F0"/>
<SolidColorBrush x:Key="ItemHoverBackground" Color="#22233A"/>
<!-- 텍스트 -->
<SolidColorBrush x:Key="PrimaryText" Color="#F0F0FF"/>
<SolidColorBrush x:Key="SecondaryText" Color="#B0B6D0"/>
<SolidColorBrush x:Key="PlaceholderText" Color="#9098C0"/>
<!-- 액센트 -->
<SolidColorBrush x:Key="AccentColor" Color="#4B5EFC"/>
<!-- 구분선 / 배경 요소 -->
<SolidColorBrush x:Key="SeparatorColor" Color="#252637"/>
<SolidColorBrush x:Key="HintBackground" Color="#252637"/>
<SolidColorBrush x:Key="HintText" Color="#8088B0"/>
<!-- 테두리 -->
<SolidColorBrush x:Key="BorderColor" Color="#2E2F4A"/>
<!-- 스크롤바 -->
<SolidColorBrush x:Key="ScrollbarThumb" Color="#3A3B5A"/>
<!-- 그림자 -->
<Color x:Key="ShadowColor">#000000</Color>
<!-- 모양 (Shape) — 모서리 라운딩 -->
<CornerRadius x:Key="WindowCornerRadius">20</CornerRadius>
<CornerRadius x:Key="ItemCornerRadius">10</CornerRadius>
</ResourceDictionary>

View File

@@ -0,0 +1,39 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- ─── 라이트 테마 색상 팔레트 ─────────────────────────────────────── -->
<!-- 배경 -->
<SolidColorBrush x:Key="LauncherBackground" Color="#FAFAFA"/>
<SolidColorBrush x:Key="ItemBackground" Color="#F0F0F8"/>
<SolidColorBrush x:Key="ItemSelectedBackground" Color="#3B4BDB"/>
<SolidColorBrush x:Key="ItemSelectedHoverBackground" Color="#4F60F0"/>
<SolidColorBrush x:Key="ItemHoverBackground" Color="#EAEAF5"/>
<!-- 텍스트 -->
<SolidColorBrush x:Key="PrimaryText" Color="#16172A"/>
<SolidColorBrush x:Key="SecondaryText" Color="#5A5C80"/>
<SolidColorBrush x:Key="PlaceholderText" Color="#A0A2C0"/>
<!-- 액센트 -->
<SolidColorBrush x:Key="AccentColor" Color="#4B5EFC"/>
<!-- 구분선 / 배경 요소 -->
<SolidColorBrush x:Key="SeparatorColor" Color="#E4E4F0"/>
<SolidColorBrush x:Key="HintBackground" Color="#EAEAF0"/>
<SolidColorBrush x:Key="HintText" Color="#8A8CB0"/>
<!-- 테두리 -->
<SolidColorBrush x:Key="BorderColor" Color="#D8D8EC"/>
<!-- 스크롤바 -->
<SolidColorBrush x:Key="ScrollbarThumb" Color="#C0C0D8"/>
<!-- 그림자 (라이트에서는 더 부드럽게) -->
<Color x:Key="ShadowColor">#5060A0</Color>
<!-- 모양 (Shape) — 모서리 라운딩 -->
<CornerRadius x:Key="WindowCornerRadius">20</CornerRadius>
<CornerRadius x:Key="ItemCornerRadius">10</CornerRadius>
</ResourceDictionary>

View File

@@ -0,0 +1,36 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!--
Monokai 테마 — Sublime Text 전통의 따뜻한 다크 테마
크리에이터: Wimer Hazenberg (monokai.info)
Jungle 배경에 Yellow, Green, Pink 포인트 컬러
-->
<SolidColorBrush x:Key="LauncherBackground" Color="#272822"/>
<SolidColorBrush x:Key="ItemBackground" Color="#3E3D32"/>
<SolidColorBrush x:Key="ItemSelectedBackground" Color="#75715E"/> <!-- Comment 컬러 -->
<SolidColorBrush x:Key="ItemSelectedHoverBackground" Color="#8A856F"/>
<SolidColorBrush x:Key="ItemHoverBackground" Color="#353530"/>
<SolidColorBrush x:Key="PrimaryText" Color="#F8F8F2"/> <!-- Monokai FG -->
<SolidColorBrush x:Key="SecondaryText" Color="#C0B8A8"/>
<SolidColorBrush x:Key="PlaceholderText" Color="#B0A898"/>
<!-- Monokai 시그니처 그린 -->
<SolidColorBrush x:Key="AccentColor" Color="#A6E22E"/>
<SolidColorBrush x:Key="SeparatorColor" Color="#3E3D32"/>
<SolidColorBrush x:Key="HintBackground" Color="#3E3D32"/>
<SolidColorBrush x:Key="HintText" Color="#8A8670"/>
<SolidColorBrush x:Key="BorderColor" Color="#49483E"/>
<SolidColorBrush x:Key="ScrollbarThumb" Color="#75715E"/>
<Color x:Key="ShadowColor">#000000</Color>
<!-- 모양 (Shape) — Monokai: 코드 에디터 느낌, 중간 라운딩 -->
<CornerRadius x:Key="WindowCornerRadius">14</CornerRadius>
<CornerRadius x:Key="ItemCornerRadius">6</CornerRadius>
</ResourceDictionary>

View File

@@ -0,0 +1,38 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!--
Nord 테마 — Arctic, north-bluish color palette
출처: https://www.nordtheme.com
Polar Night (배경) + Snow Storm (텍스트) + Frost (액센트) + Aurora (하이라이트)
-->
<!-- Polar Night -->
<SolidColorBrush x:Key="LauncherBackground" Color="#2E3440"/>
<SolidColorBrush x:Key="ItemBackground" Color="#3B4252"/>
<SolidColorBrush x:Key="ItemSelectedBackground" Color="#5E81AC"/> <!-- Nord 10 Frost -->
<SolidColorBrush x:Key="ItemSelectedHoverBackground" Color="#7294BE"/>
<SolidColorBrush x:Key="ItemHoverBackground" Color="#383E4A"/>
<!-- Snow Storm + Frost -->
<SolidColorBrush x:Key="PrimaryText" Color="#ECEFF4"/> <!-- Nord 6 -->
<SolidColorBrush x:Key="SecondaryText" Color="#ACBACA"/>
<SolidColorBrush x:Key="PlaceholderText" Color="#96A4BC"/> <!-- Nord 3 brightened -->
<!-- Frost -->
<SolidColorBrush x:Key="AccentColor" Color="#88C0D0"/> <!-- Nord 8 -->
<SolidColorBrush x:Key="SeparatorColor" Color="#3B4252"/>
<SolidColorBrush x:Key="HintBackground" Color="#3B4252"/>
<SolidColorBrush x:Key="HintText" Color="#7E8898"/>
<SolidColorBrush x:Key="BorderColor" Color="#434C5E"/> <!-- Nord 2 -->
<SolidColorBrush x:Key="ScrollbarThumb" Color="#4C566A"/> <!-- Nord 3 -->
<Color x:Key="ShadowColor">#000000</Color>
<!-- 모양 (Shape) — Nord: 북유럽 미니멀리즘, 적당히 둥글게 -->
<CornerRadius x:Key="WindowCornerRadius">16</CornerRadius>
<CornerRadius x:Key="ItemCornerRadius">8</CornerRadius>
</ResourceDictionary>

View File

@@ -0,0 +1,35 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!--
OLED 테마 — AX Copilot 시그니처 테마
순수 검정(#000000) 배경으로 OLED 픽셀을 완전히 끄고,
전력 소모를 최소화하며 강렬한 대비를 제공합니다.
-->
<SolidColorBrush x:Key="LauncherBackground" Color="#000000"/>
<SolidColorBrush x:Key="ItemBackground" Color="#0C0C14"/>
<SolidColorBrush x:Key="ItemSelectedBackground" Color="#3B4BDB"/>
<SolidColorBrush x:Key="ItemSelectedHoverBackground" Color="#4F60F0"/>
<SolidColorBrush x:Key="ItemHoverBackground" Color="#0F0F1A"/>
<SolidColorBrush x:Key="PrimaryText" Color="#FFFFFF"/>
<SolidColorBrush x:Key="SecondaryText" Color="#ABABD8"/>
<SolidColorBrush x:Key="PlaceholderText" Color="#9090C0"/>
<SolidColorBrush x:Key="AccentColor" Color="#5C6EFF"/>
<SolidColorBrush x:Key="SeparatorColor" Color="#111122"/>
<SolidColorBrush x:Key="HintBackground" Color="#0C0C18"/>
<SolidColorBrush x:Key="HintText" Color="#7070B0"/>
<SolidColorBrush x:Key="BorderColor" Color="#1A1A2E"/>
<SolidColorBrush x:Key="ScrollbarThumb" Color="#1E1E38"/>
<Color x:Key="ShadowColor">#000000</Color>
<!-- 모양 (Shape) — OLED: 가장 둥글게 (풀 라운드 느낌) -->
<CornerRadius x:Key="WindowCornerRadius">26</CornerRadius>
<CornerRadius x:Key="ItemCornerRadius">13</CornerRadius>
</ResourceDictionary>

View File

@@ -0,0 +1,37 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!--
Sepia 테마 — 따뜻한 앰버 라이트 테마
오래된 책 종이처럼 황갈색 톤의 편안한 배색
장시간 사용 시 눈의 피로를 줄여줍니다
-->
<SolidColorBrush x:Key="LauncherBackground" Color="#F5EFE0"/>
<SolidColorBrush x:Key="ItemBackground" Color="#EDE3D0"/>
<SolidColorBrush x:Key="ItemSelectedBackground" Color="#A0722A"/> <!-- 황금색 선택 -->
<SolidColorBrush x:Key="ItemSelectedHoverBackground" Color="#B88438"/>
<SolidColorBrush x:Key="ItemHoverBackground" Color="#E8DBBE"/>
<SolidColorBrush x:Key="PrimaryText" Color="#3C2415"/> <!-- 진한 갈색 -->
<SolidColorBrush x:Key="SecondaryText" Color="#7A5C3E"/>
<SolidColorBrush x:Key="PlaceholderText" Color="#B09070"/>
<!-- 앰버/황금 액센트 -->
<SolidColorBrush x:Key="AccentColor" Color="#C0822A"/>
<SolidColorBrush x:Key="SeparatorColor" Color="#D4C4A0"/>
<SolidColorBrush x:Key="HintBackground" Color="#E8DBBE"/>
<SolidColorBrush x:Key="HintText" Color="#9A7A5A"/>
<SolidColorBrush x:Key="BorderColor" Color="#D0B890"/>
<SolidColorBrush x:Key="ScrollbarThumb" Color="#C0A880"/>
<!-- 라이트 계열은 부드러운 그림자 -->
<Color x:Key="ShadowColor">#806040</Color>
<!-- 모양 (Shape) — Sepia: 옛 문서 느낌, 모서리를 덜 둥글게 -->
<CornerRadius x:Key="WindowCornerRadius">12</CornerRadius>
<CornerRadius x:Key="ItemCornerRadius">6</CornerRadius>
</ResourceDictionary>

View File

@@ -0,0 +1,133 @@
namespace AxCopilot.Themes;
/// <summary>
/// Segoe MDL2 Assets 폰트 유니코드 심볼 상수.
/// Windows 10+ 에 기본 포함되어 있습니다.
/// 참고: https://learn.microsoft.com/en-us/windows/apps/design/style/segoe-ui-symbol-font
/// </summary>
internal static class Symbols
{
// ─── 검색 / 입력 ─────────────────────────────────────────────────────────
public const string Search = "\uE721"; // 돋보기 (기본 검색 아이콘)
// ─── 핸들러 타입별 아이콘 ─────────────────────────────────────────────────
public const string Globe = "\uE774"; // 지구본 (URL @)
public const string Folder = "\uE8B7"; // 폴더 (폴더 ~)
public const string Terminal = "\uE756"; // 터미널/명령 (배치 >)
public const string LaunchIcon = "\uE7C4"; // 실행/런치 (Windows Run ^)
public const string Clipboard = "\uE77F"; // 클립보드 (클립보드 $)
public const string Workspace = "\uE8A1"; // 창 배치 (워크스페이스 !)
public const string Cloud = "\uE82D"; // 클라우드 (API/JSON 스킬)
public const string Plugin = "\uECCA"; // 플러그인 (외부 플러그인)
// ─── 파일 인덱스 타입 ────────────────────────────────────────────────────
public const string App = "\uECAA"; // 앱 실행 파일 (.exe)
public const string File = "\uE8A5"; // 일반 파일 (.lnk, .bat, .ps1)
public const string Excel = "\uE9F9"; // 엑셀/스프레드시트
public const string Word = "\uE8A5"; // 워드/문서 (File과 동일)
public const string Slides = "\uEE71"; // 프레젠테이션
public const string Pdf = "\uEA90"; // PDF
public const string Image = "\uEB9F"; // 이미지 (Picture와 동일)
public const string Video = "\uE714"; // 동영상
public const string Music = "\uEC4F"; // 음악
public const string Archive = "\uE8C6"; // 압축 파일
public const string Code = "\uE943"; // 코드/소스
public const string Config = "\uE713"; // 설정 파일
public const string TextFile = "\uE8D2"; // 텍스트 파일
public const string Web = "\uE774"; // 웹 파일 (Globe와 동일)
// ─── 상태 아이콘 ──────────────────────────────────────────────────────────
public const string Warning = "\uE7BA"; // 경고
public const string Error = "\uEA39"; // 오류
public const string Info = "\uE946"; // 정보
// ─── 액션 ────────────────────────────────────────────────────────────────
public const string Save = "\uE74E"; // 저장
public const string Delete = "\uE74D"; // 삭제
public const string Rename = "\uE8AC"; // 이름 변경
public const string Restore = "\uE72C"; // 복원
// ─── 계산기 ───────────────────────────────────────────────────────────────
public const string Calculator = "\uE8EF"; // 계산기
public const string Equal = "\uE8D2"; // = 결과
// ─── 스니펫 ───────────────────────────────────────────────────────────────
public const string Snippet = "\uE70B"; // 코드 스니펫 / 번개
public const string Text = "\uE8D2"; // 텍스트
// ─── 클립보드 히스토리 ────────────────────────────────────────────────────
public const string History = "\uE81C"; // 히스토리 / 시계
public const string ClipPaste = "\uE77F"; // 클립보드 + 붙여넣기 (기존 Clipboard와 구분)
public const string Picture = "\uEB9F"; // 사진/이미지 (클립보드 이미지 항목)
// ─── 시스템 명령 ──────────────────────────────────────────────────────────
public const string Lock = "\uE72E"; // 화면 잠금
public const string Sleep = "\uEC46"; // 절전
public const string Power = "\uE7E8"; // 전원 / 종료
public const string Restart = "\uE777"; // 재시작
public const string Logout = "\uF3B1"; // 로그아웃
public const string RecycleBin = "\uE74D"; // 휴지통 비우기 (Delete와 동일 코드포인트)
// ─── 미디어 컨트롤 ────────────────────────────────────────────────────────
public const string MediaPlay = "\uE768"; // 재생 / 일시정지
public const string MediaNext = "\uE893"; // 다음 트랙
public const string MediaPrev = "\uE892"; // 이전 트랙
public const string VolumeUp = "\uE995"; // 볼륨 올리기
public const string VolumeDown = "\uE993"; // 볼륨 낮추기
public const string VolumeMute = "\uE74F"; // 음소거
// ─── 시스템 정보 ──────────────────────────────────────────────────────────
public const string Computer = "\uE7F4"; // 컴퓨터 / PC
public const string Person = "\uE77B"; // 사용자
public const string Network = "\uE968"; // 네트워크 / Wi-Fi
public const string Battery = "\uE83F"; // 배터리
public const string BatteryCharging = "\uE83E"; // 배터리 충전 중
public const string BatteryLow = "\uEBA0"; // 배터리 낮음
public const string Clock = "\uE823"; // 시계 / 가동시간
public const string Processor = "\uE950"; // CPU / 프로세서
public const string Memory = "\uE950"; // RAM / 메모리 (프로세서 아이콘 공유)
public const string Storage = "\uEDA2"; // 디스크 / 저장소
// ─── 신규 핸들러 아이콘 ───────────────────────────────────────────────────
public const string Emoji = "\uE76E"; // 이모지 피커 (감정 표현)
public const string ColorPicker = "\uE771"; // 색상 팔레트
public const string Timer = "\uE916"; // 타이머 / 알람
public const string RecentFiles = "\uE81C"; // 최근 파일 (시계)
public const string Currency = "\uE8EE"; // 통화 / 환율
public const string Uninstall = "\uE74D"; // 앱 제거 (삭제)
public const string Note = "\uE70B"; // 빠른 메모 (번개/메모)
// ─── v1.6 신규 핸들러 아이콘 ──────────────────────────────────────────────
public const string PortIcon = "\uE968"; // 포트/네트워크 점검 (Network와 동일)
public const string EnvVar = "\uE8D7"; // 환경변수 (코드/설정)
public const string JsonValid = "\uE930"; // JSON 유효 (체크)
public const string JsonFormat = "\uE8A4"; // JSON 포맷 (문서)
public const string JsonMinify = "\uE8C6"; // JSON 미니파이 (압축)
public const string EncodeIcon = "\uE8CB"; // 인코딩/해싱 (열쇠)
public const string SnapLayout = "\uE8A0"; // 창 스냅 (레이아웃)
public const string CaptureIcon = "\uE722"; // 화면 캡처 (카메라)
public const string ScrollCapture = "\uE8F4"; // 스크롤 캡처 (스크롤)
// ─── v1.8 신규 아이콘 ─────────────────────────────────────────────────────
public const string ReminderBell = "\uEA8F"; // 잠금 해제 알림 (벨)
public const string Lightbulb = "\uE82F"; // 전구 (아이디어 / 자동 실행)
// ─── v1.0 추가 핸들러 아이콘 ───────────────────────────────────────────────
public const string EyeDropper = "\uEF3C"; // 스포이드 (색상 추출)
public const string DateIcon = "\uE787"; // 달력 (날짜 계산)
public const string ServiceIcon = "\uE912"; // 서비스 (기어)
public const string PipeIcon = "\uE8C8"; // 파이프라인 (체인)
public const string JournalIcon = "\uE70B"; // 업무 일지 (메모)
public const string RoutineIcon = "\uE82F"; // 루틴 (전구)
public const string BatchIcon = "\uE8C6"; // 일괄 처리 (압축)
public const string DiffIcon = "\uE89A"; // 비교 (분기)
public const string WindowIcon = "\uE8A7"; // 윈도우 스위처 (창)
// ─── v1.0 유틸리티 핸들러 아이콘 ────────────────────────────────────────────
public const string TextStats = "\uE8D2"; // 텍스트 통계 (= 결과)
public const string Favorite = "\uE728"; // 즐겨찾기 (별)
public const string RenameIcon = "\uE8AC"; // 이름 변경 (Rename와 동일)
public const string MonitorIcon = "\uE7F4"; // 시스템 모니터 (Computer와 동일)
public const string ScaffoldIcon = "\uE8F1"; // 스캐폴딩 (프로젝트 구조)
}