Full Code of srwi/EverythingToolbar for AI

develop dabaca656728 cached
265 files
2.2 MB
583.1k tokens
1179 symbols
1 requests
Download .txt
Showing preview only (2,328K chars total). Download the full file or copy to clipboard to get everything.
Repository: srwi/EverythingToolbar
Branch: develop
Commit: dabaca656728
Files: 265
Total size: 2.2 MB

Directory structure:
gitextract_f0fongak/

├── .config/
│   └── dotnet-tools.json
├── .editorconfig
├── .github/
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.yml
│   │   ├── config.yml
│   │   └── feature_request.yml
│   └── workflows/
│       ├── build.yml
│       ├── csharpier.yml
│       ├── release.yml
│       └── winget-release.yml
├── .gitignore
├── Directory.Build.props
├── EverythingSDK/
│   ├── EverythingSDK.vcxproj
│   ├── EverythingSDK.vcxproj.filters
│   ├── include/
│   │   ├── Everything.h
│   │   └── Everything_IPC.h
│   └── src/
│       ├── Everything.c
│       └── Everything64.def
├── EverythingToolbar/
│   ├── Behaviors/
│   │   ├── FlowDirectionAwareness.cs
│   │   ├── ThemeAwareness.cs
│   │   └── WpfUiBehavior.cs
│   ├── Controls/
│   │   ├── AcrylicWindow.cs
│   │   ├── FilterSelector.xaml
│   │   ├── FilterSelector.xaml.cs
│   │   ├── FluentMessageBox.cs
│   │   ├── GenericBanner.xaml
│   │   ├── GenericBanner.xaml.cs
│   │   ├── SearchBox.xaml
│   │   ├── SearchBox.xaml.cs
│   │   ├── SearchButton.xaml
│   │   ├── SearchButton.xaml.cs
│   │   ├── SearchResultPreviewPane.xaml
│   │   ├── SearchResultPreviewPane.xaml.cs
│   │   ├── SearchResultsView.xaml
│   │   ├── SearchResultsView.xaml.cs
│   │   ├── SettingItem.xaml
│   │   ├── SettingItem.xaml.cs
│   │   ├── SettingsControl.xaml
│   │   ├── SettingsControl.xaml.cs
│   │   ├── UpdateBanner.xaml
│   │   ├── UpdateBanner.xaml.cs
│   │   ├── UpdateSuccessfulBanner.xaml
│   │   └── UpdateSuccessfulBanner.xaml.cs
│   ├── Converters/
│   │   ├── BoolToVisibilityConverter.cs
│   │   ├── HighlightedTextConverter.cs
│   │   ├── NotConverter.cs
│   │   ├── NullToVisibilityConverter.cs
│   │   ├── PreviewPaneToggleIconConverter.cs
│   │   ├── SearchResultsCountConverter.cs
│   │   ├── SkipItemsConverter.cs
│   │   ├── TakeItemsConverter.cs
│   │   └── WindowsVersionToVisibilityConverter.cs
│   ├── Data/
│   │   ├── Filter.cs
│   │   ├── FocusBehavior.cs
│   │   ├── Rule.cs
│   │   └── SearchResult.cs
│   ├── EverythingToolbar.csproj
│   ├── Helpers/
│   │   ├── CultureHelper.cs
│   │   ├── DefaultFilterLoader.cs
│   │   ├── EventDispatcher.cs
│   │   ├── EverythingFilterLoader.cs
│   │   ├── FilterLoader.cs
│   │   ├── HistoryManager.cs
│   │   ├── IconProvider.cs
│   │   ├── NativeMethods.cs
│   │   ├── RegistryWatcher.cs
│   │   ├── ShellContextMenu.cs
│   │   ├── ShellUtils.cs
│   │   ├── ShortcutManager.cs
│   │   ├── StartMenuIntegration.cs
│   │   ├── TaskbarStateManager.cs
│   │   ├── ToolbarLogger.cs
│   │   └── Utils.cs
│   ├── Images/
│   │   └── WinUIGallery/
│   │       └── LICENSE
│   ├── ItemTemplates/
│   │   ├── Compact.xaml
│   │   ├── CompactDetailed.xaml
│   │   ├── Normal.xaml
│   │   └── NormalDetailed.xaml
│   ├── Properties/
│   │   ├── Resources.Designer.cs
│   │   ├── Resources.af.Designer.cs
│   │   ├── Resources.af.resx
│   │   ├── Resources.ar.Designer.cs
│   │   ├── Resources.ar.resx
│   │   ├── Resources.ca.Designer.cs
│   │   ├── Resources.ca.resx
│   │   ├── Resources.cs.Designer.cs
│   │   ├── Resources.cs.resx
│   │   ├── Resources.da.Designer.cs
│   │   ├── Resources.da.resx
│   │   ├── Resources.de.Designer.cs
│   │   ├── Resources.de.resx
│   │   ├── Resources.el.Designer.cs
│   │   ├── Resources.el.resx
│   │   ├── Resources.es.Designer.cs
│   │   ├── Resources.es.resx
│   │   ├── Resources.fa.resx
│   │   ├── Resources.fi.Designer.cs
│   │   ├── Resources.fi.resx
│   │   ├── Resources.fr.Designer.cs
│   │   ├── Resources.fr.resx
│   │   ├── Resources.he.Designer.cs
│   │   ├── Resources.he.resx
│   │   ├── Resources.hu.Designer.cs
│   │   ├── Resources.hu.resx
│   │   ├── Resources.it.Designer.cs
│   │   ├── Resources.it.resx
│   │   ├── Resources.ja.Designer.cs
│   │   ├── Resources.ja.resx
│   │   ├── Resources.ko-KR.Designer.cs
│   │   ├── Resources.ko-KR.resx
│   │   ├── Resources.nl.Designer.cs
│   │   ├── Resources.nl.resx
│   │   ├── Resources.no.Designer.cs
│   │   ├── Resources.no.resx
│   │   ├── Resources.pl.Designer.cs
│   │   ├── Resources.pl.resx
│   │   ├── Resources.pt-BR.Designer.cs
│   │   ├── Resources.pt-BR.resx
│   │   ├── Resources.pt.resx
│   │   ├── Resources.resx
│   │   ├── Resources.ro.Designer.cs
│   │   ├── Resources.ro.resx
│   │   ├── Resources.ru.Designer.cs
│   │   ├── Resources.ru.resx
│   │   ├── Resources.sr.Designer.cs
│   │   ├── Resources.sr.resx
│   │   ├── Resources.sv.Designer.cs
│   │   ├── Resources.sv.resx
│   │   ├── Resources.tr.Designer.cs
│   │   ├── Resources.tr.resx
│   │   ├── Resources.ug.resx
│   │   ├── Resources.uk.Designer.cs
│   │   ├── Resources.uk.resx
│   │   ├── Resources.uz.resx
│   │   ├── Resources.vi.Designer.cs
│   │   ├── Resources.vi.resx
│   │   ├── Resources.zh-Hans.Designer.cs
│   │   ├── Resources.zh-Hans.resx
│   │   ├── Resources.zh.resx
│   │   └── app.manifest
│   ├── Search/
│   │   ├── IItemsProvider.cs
│   │   ├── SearchResultProvider.cs
│   │   ├── SearchState.cs
│   │   ├── SynchronizationContextTaskScheduler.cs
│   │   └── VirtualizingCollection.cs
│   ├── SearchWindow.xaml
│   ├── SearchWindow.xaml.cs
│   ├── Settings/
│   │   ├── About.xaml
│   │   ├── About.xaml.cs
│   │   ├── Advanced.xaml
│   │   ├── Advanced.xaml.cs
│   │   ├── CustomActions.xaml
│   │   ├── CustomActions.xaml.cs
│   │   ├── Filters.xaml
│   │   ├── Filters.xaml.cs
│   │   ├── Search.xaml
│   │   ├── Search.xaml.cs
│   │   ├── SettingsWindow.xaml
│   │   ├── SettingsWindow.xaml.cs
│   │   ├── Shortcuts.xaml
│   │   ├── Shortcuts.xaml.cs
│   │   ├── UserInterface.xaml
│   │   └── UserInterface.xaml.cs
│   ├── Styles/
│   │   ├── ContextMenu.xaml
│   │   ├── PillComboBox.xaml
│   │   ├── PillTabControl.xaml
│   │   ├── PreviewActionButton.xaml
│   │   ├── QuickSettingsToggle.xaml
│   │   ├── Scrollbar.xaml
│   │   ├── TabBarButton.xaml
│   │   ├── TabComboBox.xaml
│   │   ├── TabControl.xaml
│   │   ├── TextBox.xaml
│   │   └── UpdateBannerButton.xaml
│   ├── Themes/
│   │   ├── Win10/
│   │   │   ├── Controls/
│   │   │   │   ├── ContextMenu.xaml
│   │   │   │   ├── FilterSelector.xaml
│   │   │   │   ├── ListViewItem.xaml
│   │   │   │   ├── QuickSettingsToggle.xaml
│   │   │   │   ├── Scrollbar.xaml
│   │   │   │   ├── SearchBox.xaml
│   │   │   │   ├── SearchResultPreviewPane.xaml
│   │   │   │   ├── SearchWindow.xaml
│   │   │   │   ├── TabBarButton.xaml
│   │   │   │   ├── TextBox.xaml
│   │   │   │   └── UpdateBanner.xaml
│   │   │   ├── DARK.xaml
│   │   │   └── LIGHT.xaml
│   │   └── Win11/
│   │       ├── Controls/
│   │       │   ├── ContextMenu.xaml
│   │       │   ├── FilterSelector.xaml
│   │       │   ├── ListViewItem.xaml
│   │       │   ├── QuickSettingsToggle.xaml
│   │       │   ├── Scrollbar.xaml
│   │       │   ├── SearchBox.xaml
│   │       │   ├── SearchResultPreviewPane.xaml
│   │       │   ├── SearchWindow.xaml
│   │       │   ├── TabBarButton.xaml
│   │       │   ├── TextBox.xaml
│   │       │   └── UpdateBanner.xaml
│   │       ├── DARK.xaml
│   │       └── LIGHT.xaml
│   └── ToolbarSettings.cs
├── EverythingToolbar.Deskband/
│   ├── CSDeskBand.cs
│   ├── Converters/
│   │   └── SearchControlVisibilityConverter.cs
│   ├── EverythingToolbar.Deskband.csproj
│   ├── Server.cs
│   ├── ToolbarControl.xaml
│   ├── ToolbarControl.xaml.cs
│   └── WindowPlacement.cs
├── EverythingToolbar.Launcher/
│   ├── EverythingToolbar.Launcher.csproj
│   ├── Launcher.cs
│   ├── Properties/
│   │   ├── Resources.Designer.cs
│   │   ├── Resources.af.resx
│   │   ├── Resources.ar.resx
│   │   ├── Resources.ca.resx
│   │   ├── Resources.cs.resx
│   │   ├── Resources.da.resx
│   │   ├── Resources.de.resx
│   │   ├── Resources.el.resx
│   │   ├── Resources.es.resx
│   │   ├── Resources.fa.resx
│   │   ├── Resources.fi.resx
│   │   ├── Resources.fr.resx
│   │   ├── Resources.he.resx
│   │   ├── Resources.hu.resx
│   │   ├── Resources.it.resx
│   │   ├── Resources.ja.resx
│   │   ├── Resources.ko-KR.resx
│   │   ├── Resources.nl.resx
│   │   ├── Resources.no.resx
│   │   ├── Resources.pl.resx
│   │   ├── Resources.pt-BR.resx
│   │   ├── Resources.pt.resx
│   │   ├── Resources.resx
│   │   ├── Resources.ro.resx
│   │   ├── Resources.ru.resx
│   │   ├── Resources.sr.resx
│   │   ├── Resources.sv.resx
│   │   ├── Resources.tr.resx
│   │   ├── Resources.ug.resx
│   │   ├── Resources.uk.resx
│   │   ├── Resources.uz.resx
│   │   ├── Resources.vi.resx
│   │   ├── Resources.zh-Hans.resx
│   │   ├── Resources.zh.resx
│   │   └── app.manifest
│   ├── SetupAssistant.xaml
│   ├── SetupAssistant.xaml.cs
│   ├── Utils.cs
│   └── WindowPlacement.cs
├── EverythingToolbar.sln
├── FAQ.md
├── Installer/
│   ├── DotNetInstaller.iss
│   ├── InnoDependencyInstaller/
│   │   ├── CodeDependencies.iss
│   │   └── LICENSE.md
│   ├── Installer-arm64.iss
│   ├── Installer-x64.iss
│   ├── SharedInstaller.iss
│   └── WixUninstaller.iss
├── LICENSE
├── README.md
├── README.zh-CN.md
├── crowdin.yml
└── tools/
    ├── clean_solution.cmd
    ├── install_deskband.cmd
    └── uninstall_deskband.cmd

================================================
FILE CONTENTS
================================================

================================================
FILE: .config/dotnet-tools.json
================================================
{
  "version": 1,
  "isRoot": true,
  "tools": {
    "csharpier": {
      "version": "1.0.3",
      "commands": [
        "csharpier"
      ],
      "rollForward": false
    }
  }
}

================================================
FILE: .editorconfig
================================================
# Remove the line below if you want to inherit .editorconfig settings from higher directories
root = true

# C# files
[*.cs]

#### Core EditorConfig Options ####

# Indentation and spacing
indent_size = 4
indent_style = space
tab_width = 4

max_line_length = 120

# New line preferences
end_of_line = crlf
insert_final_newline = false

#### .NET Coding Conventions ####

# Organize usings
dotnet_separate_import_directive_groups = false
dotnet_sort_system_directives_first = false
file_header_template = unset

# this. and Me. preferences
dotnet_style_qualification_for_event = false
dotnet_style_qualification_for_field = false
dotnet_style_qualification_for_method = false
dotnet_style_qualification_for_property = false

# Language keywords vs BCL types preferences
dotnet_style_predefined_type_for_locals_parameters_members = true
dotnet_style_predefined_type_for_member_access = true

# Parentheses preferences
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity
dotnet_style_parentheses_in_other_operators = never_if_unnecessary
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity

# Modifier preferences
dotnet_style_require_accessibility_modifiers = for_non_interface_members

# Expression-level preferences
dotnet_style_coalesce_expression = true
dotnet_style_collection_initializer = true
dotnet_style_explicit_tuple_names = true
dotnet_style_namespace_match_folder = true
dotnet_style_null_propagation = true
dotnet_style_object_initializer = true
dotnet_style_operator_placement_when_wrapping = beginning_of_line
dotnet_style_prefer_auto_properties = true
dotnet_style_prefer_collection_expression = when_types_loosely_match
dotnet_style_prefer_compound_assignment = true
dotnet_style_prefer_conditional_expression_over_assignment = true
dotnet_style_prefer_conditional_expression_over_return = true
dotnet_style_prefer_foreach_explicit_cast_in_source = when_strongly_typed
dotnet_style_prefer_inferred_anonymous_type_member_names = true
dotnet_style_prefer_inferred_tuple_names = true
dotnet_style_prefer_is_null_check_over_reference_equality_method = true
dotnet_style_prefer_simplified_boolean_expressions = true
dotnet_style_prefer_simplified_interpolation = true

# Field preferences
dotnet_style_readonly_field = true

# Parameter preferences
dotnet_code_quality_unused_parameters = all:silent

# Suppression preferences
dotnet_remove_unnecessary_suppression_exclusions = none

# New line preferences
dotnet_style_allow_multiple_blank_lines_experimental = true
dotnet_style_allow_statement_immediately_after_block_experimental = true

#### C# Coding Conventions ####

# var preferences
csharp_style_var_elsewhere = false
csharp_style_var_for_built_in_types = false
csharp_style_var_when_type_is_apparent = false

# Expression-bodied members
csharp_style_expression_bodied_accessors = true
csharp_style_expression_bodied_constructors = false
csharp_style_expression_bodied_indexers = true
csharp_style_expression_bodied_lambdas = true
csharp_style_expression_bodied_local_functions = false
csharp_style_expression_bodied_methods = false
csharp_style_expression_bodied_operators = false
csharp_style_expression_bodied_properties = true

# Pattern matching preferences
csharp_style_pattern_matching_over_as_with_null_check = true
csharp_style_pattern_matching_over_is_with_cast_check = true
csharp_style_prefer_extended_property_pattern = true
csharp_style_prefer_not_pattern = true
csharp_style_prefer_pattern_matching = true
csharp_style_prefer_switch_expression = true

# Null-checking preferences
csharp_style_conditional_delegate_call = true

# Modifier preferences
csharp_prefer_static_local_function = true
csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async
csharp_style_prefer_readonly_struct = true
csharp_style_prefer_readonly_struct_member = true

# Code-block preferences
csharp_prefer_braces = true
csharp_prefer_simple_using_statement = true
csharp_style_namespace_declarations = block_scoped
csharp_style_prefer_method_group_conversion = true
csharp_style_prefer_primary_constructors = true
csharp_style_prefer_top_level_statements = true

# Expression-level preferences
csharp_prefer_simple_default_expression = true
csharp_style_deconstructed_variable_declaration = true
csharp_style_implicit_object_creation_when_type_is_apparent = true
csharp_style_inlined_variable_declaration = true
csharp_style_prefer_index_operator = true
csharp_style_prefer_local_over_anonymous_function = true
csharp_style_prefer_null_check_over_type_check = true
csharp_style_prefer_range_operator = true
csharp_style_prefer_tuple_swap = true
csharp_style_prefer_utf8_string_literals = true
csharp_style_throw_expression = true
csharp_style_unused_value_assignment_preference = discard_variable
csharp_style_unused_value_expression_statement_preference = discard_variable

# 'using' directive preferences
csharp_using_directive_placement = outside_namespace

# New line preferences
csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true
csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = true
csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = true
csharp_style_allow_blank_lines_between_consecutive_braces_experimental = true
csharp_style_allow_embedded_statements_on_same_line_experimental = true

#### C# Formatting Rules ####

# New line preferences
csharp_new_line_before_catch = true
csharp_new_line_before_else = true
csharp_new_line_before_finally = true
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_open_brace = all
csharp_new_line_between_query_expression_clauses = true

# Indentation preferences
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents = true
csharp_indent_case_contents_when_block = true
csharp_indent_labels = one_less_than_current
csharp_indent_switch_labels = true

# Space preferences
csharp_space_after_cast = false
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_after_comma = true
csharp_space_after_dot = false
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_after_semicolon_in_for_statement = true
csharp_space_around_binary_operators = before_and_after
csharp_space_around_declaration_statements = false
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_before_comma = false
csharp_space_before_dot = false
csharp_space_before_open_square_brackets = false
csharp_space_before_semicolon_in_for_statement = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_name_and_open_parenthesis = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_between_square_brackets = false

# Wrapping preferences
csharp_preserve_single_line_blocks = true
csharp_preserve_single_line_statements = true

#### Naming styles ####

# Naming rules

dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i

dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case

# Symbol specifications

dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interface.required_modifiers =

dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.types.required_modifiers =

dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_field_members.required_modifiers =

# Naming styles

dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case

dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.required_suffix =
dotnet_naming_style.begins_with_i.word_separator =
dotnet_naming_style.begins_with_i.capitalization = pascal_case

================================================
FILE: .github/FUNDING.yml
================================================
ko_fi: stephanrwi
custom: ['https://paypal.me/rumswinkel']


================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.yml
================================================
name: Bug report
description: Create a bug report
body:
- type: checkboxes
  attributes:
    label: Preflight Checklist
    description: Please ensure you've completed all of the following.
    options:
      - label: I have fully read the [README](https://github.com/srwi/EverythingToolbar/blob/develop/README.md) and it did not solve the problem.
        required: true
      - label: I have read the [FAQ](https://github.com/srwi/EverythingToolbar/blob/develop/FAQ.md) and it did not solve the problem.
        required: true
      - label: I have searched all [open and closed issues](https://github.com/srwi/EverythingToolbar/issues?q=) for the same bug report without success.
        required: true
- id: version
  type: input
  attributes:
    label: EverythingToolbar Version
    description: What version of EverythingToolbar are you using?
    placeholder: "e.g. 2.0.0"
  validations:
    required: true
- type: dropdown
  id: variant
  attributes:
    label: Variant
    description: What variant of EverythingToolbar are you using? [What are the different variants?](https://github.com/srwi/EverythingToolbar/blob/develop/FAQ.md#-what-is-the-difference-between-the-deskband-and-launcher-variants-of-everythingtoolbar)
    options:
      - Not applicable / Don't know
      - Search icon / Launcher
      - Deskband
  validations:
    required: true
- id: et_version
  type: input
  attributes:
    label: Everything Version
    description: What version of Everything are you using?
    placeholder: "e.g. 1.4.1.1024 (x64)"
  validations:
    required: true
- id: windows_version
  type: input
  attributes:
    label: Windows Version
    description: What Windows version are you using? Click Start button > Settings > System > About.
    placeholder: "e.g. Windows 11 24H2"
  validations:
    required: true
- type: textarea
  attributes:
    label: Steps to reproduce
    description: Describe exactly how to reproduce the behaviour.
    placeholder: |
      1. Go to '...'
      2. Click on '....'
      3. Scroll down to '....'
      4. See error
  validations:
    required: true
- type: textarea
  attributes:
    label: Expected Behavior
    description: A clear and concise description of what you expected to happen.
  validations:
    required: true
- type: textarea
  attributes:
    label: Actual Behavior
    description: A clear description of what actually happens.
  validations:
    required: true
- type: textarea
  attributes:
    label: Screenshots
    description: If applicable, add screenshots to help explain your problem. You can simply drag and drop any image file into the editor to add it to the report.
- type: textarea
  attributes:
    label: Log output
    description: To copy the log file output press <kbd>Win</kbd>+<kbd>R</kbd>, run `%TEMP%\EverythingToolbar.log` and paste the file content below. Please provide the log file even if you think it does not contain relevant information.
  validations:
    required: true
- type: textarea
  attributes:
    label: Additional Information
    description: Are there any other details that may be relevant to the issue like unusual system configurations or third party software that may be involved?
- type: checkboxes
  id: ensure_effort
  attributes:
    label: Final Checklist
    description: Before submitting, please confirm the following to help provide better support.
    options:
      - label: I have provided detailed, clear information in all required fields above and put genuine effort into this bug report.
        required: true

================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
  - name: Check the FAQ
    url: https://github.com/srwi/EverythingToolbar/blob/develop/FAQ.md
    about: Check frequently asked questions and troubleshooting guides


================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.yml
================================================
name: Feature request
description: Suggest an idea for this project
body:
  - type: checkboxes
    attributes:
      label: Preflight Checklist
      description: Please ensure you've completed all of the following.
      options:
        - label: I have read the [FAQ](https://github.com/srwi/EverythingToolbar/blob/develop/FAQ.md) and it did not solve the problem.
          required: true
        - label: I have searched all [open and closed issues](https://github.com/srwi/EverythingToolbar/issues?q=) for the same feature request without success.
          required: true
  - type: textarea
    attributes:
      label: Problem Description
      description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
    validations:
      required: true
  - type: textarea
    attributes:
      label: Proposed Solution
      description: A clear and concise description of what you want to happen.
    validations:
      required: true
  - type: textarea
    attributes:
      label: Additional Information
      description: Add any other context or screenshots about the feature request here.

================================================
FILE: .github/workflows/build.yml
================================================
name: Build solution

on: [push, pull_request, workflow_dispatch]

jobs:
  build:
    runs-on: ${{ matrix.runner }}
    strategy:
      matrix:
        include:
          - runner: windows-2025
            arch: x64
            installer: Installer-x64.iss
          - runner: windows-11-arm
            arch: arm64
            installer: Installer-arm64.iss
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Setup MSBuild
        uses: microsoft/setup-msbuild@v2

      - name: Install NuGet
        uses: nuget/setup-nuget@v1

      - name: Restore NuGet dependencies
        run: nuget restore

      - name: Build all
        run: MSBuild $Env:GITHUB_WORKSPACE /p:Configuration=Release /p:Platform=${{ matrix.arch }} /p:SignAssembly=false /p:DelaySign=false

      - name: Install Inno Setup
        run: choco install innosetup -y --version 6.5.4 --allow-downgrade

      - name: Build installer
        run: iscc "Installer\${{ matrix.installer }}"

      - name: Upload installer artifact
        if: github.event_name == 'workflow_dispatch'
        uses: actions/upload-artifact@v4
        with:
          name: EverythingToolbar-Installer-${{ matrix.arch }}
          path: Installer/Output/*.exe


================================================
FILE: .github/workflows/csharpier.yml
================================================
name: CSharpier check

on: [push, pull_request]

jobs:
  check_formatting:
    runs-on: windows-2025
    name: Check Formatting
    steps:
      - uses: actions/checkout@v2
      - run: |
          dotnet tool restore
          dotnet csharpier check .


================================================
FILE: .github/workflows/release.yml
================================================
name: Publish release

on:
  push:
    tags:
      - '*'

jobs:
  build-release:
    runs-on: ${{ matrix.runner }}
    strategy:
      matrix:
        include:
          - runner: windows-2025
            arch: x64
            installer: Installer-x64.iss
          - runner: windows-11-arm
            arch: arm64
            installer: Installer-arm64.iss
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Setup MSBuild
        uses: microsoft/setup-msbuild@v2

      - name: Install NuGet
        uses: nuget/setup-nuget@v1

      - name: Restore NuGet dependencies
        run: nuget restore

      - name: Decode certificate
        shell: bash
        run: echo ${{ secrets.PFX_CERTIFICATE_FILE }} | base64 --decode  > ./EverythingToolbar.snk

      - name: Build all
        run: MSBuild $Env:GITHUB_WORKSPACE /p:Configuration=Release /p:Platform=${{ matrix.arch }}

      - name: Install Inno Setup
        run: choco install innosetup -y --version 6.5.4 --allow-downgrade

      - name: Build installer
        run: iscc /F"EverythingToolbar-${{ github.ref_name }}-${{ matrix.arch }}" "Installer\${{ matrix.installer }}"

      - name: Generate SHA-256 checksum
        shell: bash
        run: sha256sum Installer/output/EverythingToolbar-${{ github.ref_name }}-${{ matrix.arch }}.exe > Installer/output/EverythingToolbar-${{ github.ref_name }}-${{ matrix.arch }}.sha256

      - name: Upload artifact
        uses: actions/upload-artifact@v4
        with:
          name: EverythingToolbar ${{ github.ref_name }} ${{ matrix.arch }}
          path: |
            Installer/output/EverythingToolbar-${{ github.ref_name }}-${{ matrix.arch }}.exe
            Installer/output/EverythingToolbar-${{ github.ref_name }}-${{ matrix.arch }}.sha256

      - name: Create release draft
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          gh release create "${{ github.ref_name }}" `
            "Installer/output/EverythingToolbar-${{ github.ref_name }}-${{ matrix.arch }}.exe" `
            "Installer/output/EverythingToolbar-${{ github.ref_name }}-${{ matrix.arch }}.sha256" `
            --draft `
            --title "${{ github.ref_name }}"

================================================
FILE: .github/workflows/winget-release.yml
================================================
name: Publish to WinGet

on:
  release:
    types: [released]
  workflow_dispatch: 
      inputs:
        version_tag:
          description: 'Tag to run winget-releaser for'
          required: true

jobs:
  winget:
    name: Publish to WinGet
    # winget-releaser is cross-platform, we use ubuntu cause it uses less resources than windows
    runs-on: ubuntu-latest
    steps:
      # LAUNCHER
      - name: Update Launcher
        # we peg winget-releaser to v2 for stability
        uses: vedantmgoyal9/winget-releaser@v2
        with:
          identifier: srwi.EverythingToolbar.Launcher
          token: ${{ secrets.WINGET_PAT }}
          # regex assumes there's only one file ending with x64.exe and arm64.exe in each release
          # if this changes in the future, modify the regex accordingly, in both launcher and deskband!
          installers-regex: '-x64\.exe$|-arm64\.exe$'
          # if there was a version_tag supplied (manual run) use that, otherwise determine it automatically
          release-tag: ${{ inputs.version_tag || github.event.release.tag_name }}

      # DESKBAND
      - name: Update Deskband
        uses: vedantmgoyal9/winget-releaser@v2
        with:
          identifier: srwi.EverythingToolbar.Deskband
          token: ${{ secrets.WINGET_PAT }}
          installers-regex: '-x64\.exe$|-arm64\.exe$'
          release-tag: ${{ inputs.version_tag || github.event.release.tag_name }}


================================================
FILE: .gitignore
================================================
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/

# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NUNIT
*.VisualState.xml
TestResult.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

# DNX
project.lock.json
project.fragment.lock.json
artifacts/

*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Chutzpah Test files
_Chutzpah*

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb

# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap

# TFS 2012 Local Workspace
$tf/

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# JustCode is a .NET coding add-in
.JustCode

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*

# MightyMoose
*.mm.*
AutoTest.Net/

# Web workbench (sass)
.sass-cache/

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
#*.pubxml
*.publishproj

# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/

# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets

# Microsoft Azure Build Output
csx/
*.build.csdef

# Microsoft Azure Emulator
ecf/
rcf/

# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt

# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/

# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.snk
*.publishsettings
node_modules/
orleans.codegen.cs

# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

# SQL Server files
*.mdf
*.ldf

# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings

# Microsoft Fakes
FakesAssemblies/

# GhostDoc plugin setting file
*.GhostDoc.xml

# Node.js Tools for Visual Studio
.ntvs_analysis.dat

# Visual Studio 6 build log
*.plg

# Visual Studio 6 workspace options file
*.opt

# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions

# Paket dependency manager
.paket/paket.exe
paket-files/

# FAKE - F# Make
.fake/

# JetBrains Rider
.idea/
*.sln.iml

# CodeRush
.cr/

# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc

HeatGeneratedFileList.wxs


================================================
FILE: Directory.Build.props
================================================
<Project>
  <PropertyGroup>
    <FileVersion>2.3.0.0</FileVersion>
    <AssemblyVersion>2.3.0.0</AssemblyVersion>
    <SelfContained>false</SelfContained>
    <AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
    <PublishReadyToRun>true</PublishReadyToRun>
  </PropertyGroup>
</Project>


================================================
FILE: EverythingSDK/EverythingSDK.vcxproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|x64">
      <Configuration>Debug</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|x64">
      <Configuration>Release</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Debug|ARM64">
      <Configuration>Debug</Configuration>
      <Platform>ARM64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|ARM64">
      <Configuration>Release</Configuration>
      <Platform>ARM64</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="src\Everything.c" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="include\Everything.h" />
    <ClInclude Include="include\Everything_IPC.h" />
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <VCProjectVersion>17.0</VCProjectVersion>
    <ProjectGuid>{BF806AC1-5839-4DAA-90F2-9D6F2B65C0FD}</ProjectGuid>
    <RootNamespace>EverythingSDK</RootNamespace>
    <Keyword>Win32Proj</Keyword>
    <ProjectName>EverythingSDK</ProjectName>
    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
    <Platform Condition=" '$(Platform)' == '' ">x64</Platform>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
    <ConfigurationType>DynamicLibrary</ConfigurationType>
    <PlatformToolset>v143</PlatformToolset>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
    <ConfigurationType>DynamicLibrary</ConfigurationType>
    <PlatformToolset>v143</PlatformToolset>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
    <ConfigurationType>DynamicLibrary</ConfigurationType>
    <PlatformToolset>v143</PlatformToolset>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
    <ConfigurationType>DynamicLibrary</ConfigurationType>
    <PlatformToolset>v143</PlatformToolset>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>17.0.32819.101</_ProjectFileVersion>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <OutDir>$(Platform)\$(Configuration)\</OutDir>
    <IntDir>$(Platform)\$(Configuration)\</IntDir>
    <TargetName>Everything64</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <OutDir>$(Platform)\$(Configuration)\</OutDir>
    <IntDir>$(Platform)\$(Configuration)\</IntDir>
    <TargetName>Everything64</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
    <OutDir>$(Platform)\$(Configuration)\</OutDir>
    <IntDir>$(Platform)\$(Configuration)\</IntDir>
    <TargetName>Everything64</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
    <OutDir>$(Platform)\$(Configuration)\</OutDir>
    <IntDir>$(Platform)\$(Configuration)\</IntDir>
    <TargetName>Everything64</TargetName>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TargetEnvironment>X64</TargetEnvironment>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <PrecompiledHeader />
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
    </ClCompile>
    <Lib>
      <OutputFile>$(OutDir)Everything.lib</OutputFile>
    </Lib>
    <Link>
      <OutputFile>$(OutDir)Everything64.dll</OutputFile>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TargetEnvironment>X64</TargetEnvironment>
    </Midl>
    <ClCompile>
      <Optimization>MaxSpeed</Optimization>
      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
      <OmitFramePointers>false</OmitFramePointers>
      <WholeProgramOptimization>false</WholeProgramOptimization>
      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <StringPooling>true</StringPooling>
      <BasicRuntimeChecks>Default</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <FloatingPointModel>Fast</FloatingPointModel>
      <PrecompiledHeader />
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat />
      <CompileAs>CompileAsC</CompileAs>
    </ClCompile>
    <Link>
      <OutputFile>$(OutDir)Everything64.dll</OutputFile>
      <ModuleDefinitionFile>$(ProjectDir)src\Everything64.def</ModuleDefinitionFile>
      <TargetMachine>MachineX64</TargetMachine>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
    <Midl>
      <TargetEnvironment>ARM64</TargetEnvironment>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <PrecompiledHeader />
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
    </ClCompile>
    <Lib>
      <OutputFile>$(OutDir)Everything.lib</OutputFile>
    </Lib>
    <Link>
      <OutputFile>$(OutDir)Everything64.dll</OutputFile>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
    <Midl>
      <TargetEnvironment>ARM64</TargetEnvironment>
    </Midl>
    <ClCompile>
      <Optimization>MaxSpeed</Optimization>
      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
      <OmitFramePointers>false</OmitFramePointers>
      <WholeProgramOptimization>false</WholeProgramOptimization>
      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <StringPooling>true</StringPooling>
      <BasicRuntimeChecks>Default</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <FloatingPointModel>Fast</FloatingPointModel>
      <PrecompiledHeader />
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat />
      <CompileAs>CompileAsC</CompileAs>
    </ClCompile>
    <Link>
      <OutputFile>$(OutDir)Everything64.dll</OutputFile>
      <ModuleDefinitionFile>$(ProjectDir)src\Everything64.def</ModuleDefinitionFile>
      <TargetMachine>MachineARM64</TargetMachine>
    </Link>
  </ItemDefinitionGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>


================================================
FILE: EverythingSDK/EverythingSDK.vcxproj.filters
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="src">
      <UniqueIdentifier>{9dbb0c28-41a5-4249-8a02-5bf84bc8e3f5}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="src\Everything.c">
      <Filter>src</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="include\Everything.h" />
    <ClInclude Include="include\Everything_IPC.h" />
  </ItemGroup>
</Project>

================================================
FILE: EverythingSDK/include/Everything.h
================================================

//
// Copyright (C) 2016 David Carpenter
// 
// Permission is hereby granted, free of charge, 
// to any person obtaining a copy of this software 
// and associated documentation files (the "Software"), 
// to deal in the Software without restriction, 
// including without limitation the rights to use, 
// copy, modify, merge, publish, distribute, sublicense, 
// and/or sell copies of the Software, and to permit 
// persons to whom the Software is furnished to do so, 
// subject to the following conditions:
// 
// The above copyright notice and this permission notice shall be 
// included in all copies or substantial portions of the Software.
// 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//

#ifndef _EVERYTHING_DLL_
#define _EVERYTHING_DLL_

#ifndef _INC_WINDOWS
#include <windows.h>
#endif

#ifdef __cplusplus
extern "C" {
#endif

#define EVERYTHING_OK						0 // no error detected
#define EVERYTHING_ERROR_MEMORY				1 // out of memory.
#define EVERYTHING_ERROR_IPC				2 // Everything search client is not running
#define EVERYTHING_ERROR_REGISTERCLASSEX	3 // unable to register window class.
#define EVERYTHING_ERROR_CREATEWINDOW		4 // unable to create listening window
#define EVERYTHING_ERROR_CREATETHREAD		5 // unable to create listening thread
#define EVERYTHING_ERROR_INVALIDINDEX		6 // invalid index
#define EVERYTHING_ERROR_INVALIDCALL		7 // invalid call
#define EVERYTHING_ERROR_INVALIDREQUEST		8 // invalid request data, request data first.
#define EVERYTHING_ERROR_INVALIDPARAMETER	9 // bad parameter.

#define EVERYTHING_SORT_NAME_ASCENDING						1
#define EVERYTHING_SORT_NAME_DESCENDING						2
#define EVERYTHING_SORT_PATH_ASCENDING						3
#define EVERYTHING_SORT_PATH_DESCENDING						4
#define EVERYTHING_SORT_SIZE_ASCENDING						5
#define EVERYTHING_SORT_SIZE_DESCENDING						6
#define EVERYTHING_SORT_EXTENSION_ASCENDING					7
#define EVERYTHING_SORT_EXTENSION_DESCENDING				8
#define EVERYTHING_SORT_TYPE_NAME_ASCENDING					9
#define EVERYTHING_SORT_TYPE_NAME_DESCENDING				10
#define EVERYTHING_SORT_DATE_CREATED_ASCENDING				11
#define EVERYTHING_SORT_DATE_CREATED_DESCENDING				12
#define EVERYTHING_SORT_DATE_MODIFIED_ASCENDING				13
#define EVERYTHING_SORT_DATE_MODIFIED_DESCENDING			14
#define EVERYTHING_SORT_ATTRIBUTES_ASCENDING				15
#define EVERYTHING_SORT_ATTRIBUTES_DESCENDING				16
#define EVERYTHING_SORT_FILE_LIST_FILENAME_ASCENDING		17
#define EVERYTHING_SORT_FILE_LIST_FILENAME_DESCENDING		18
#define EVERYTHING_SORT_RUN_COUNT_ASCENDING					19
#define EVERYTHING_SORT_RUN_COUNT_DESCENDING				20
#define EVERYTHING_SORT_DATE_RECENTLY_CHANGED_ASCENDING		21
#define EVERYTHING_SORT_DATE_RECENTLY_CHANGED_DESCENDING	22
#define EVERYTHING_SORT_DATE_ACCESSED_ASCENDING				23
#define EVERYTHING_SORT_DATE_ACCESSED_DESCENDING			24
#define EVERYTHING_SORT_DATE_RUN_ASCENDING					25
#define EVERYTHING_SORT_DATE_RUN_DESCENDING					26

#define EVERYTHING_REQUEST_FILE_NAME						0x00000001
#define EVERYTHING_REQUEST_PATH								0x00000002
#define EVERYTHING_REQUEST_FULL_PATH_AND_FILE_NAME			0x00000004
#define EVERYTHING_REQUEST_EXTENSION						0x00000008
#define EVERYTHING_REQUEST_SIZE								0x00000010
#define EVERYTHING_REQUEST_DATE_CREATED						0x00000020
#define EVERYTHING_REQUEST_DATE_MODIFIED					0x00000040
#define EVERYTHING_REQUEST_DATE_ACCESSED					0x00000080
#define EVERYTHING_REQUEST_ATTRIBUTES						0x00000100
#define EVERYTHING_REQUEST_FILE_LIST_FILE_NAME				0x00000200
#define EVERYTHING_REQUEST_RUN_COUNT						0x00000400
#define EVERYTHING_REQUEST_DATE_RUN							0x00000800
#define EVERYTHING_REQUEST_DATE_RECENTLY_CHANGED			0x00001000
#define EVERYTHING_REQUEST_HIGHLIGHTED_FILE_NAME			0x00002000
#define EVERYTHING_REQUEST_HIGHLIGHTED_PATH					0x00004000
#define EVERYTHING_REQUEST_HIGHLIGHTED_FULL_PATH_AND_FILE_NAME	0x00008000

#define EVERYTHING_TARGET_MACHINE_X86						1
#define EVERYTHING_TARGET_MACHINE_X64						2
#define EVERYTHING_TARGET_MACHINE_ARM						3

#ifndef EVERYTHINGAPI
#define EVERYTHINGAPI __stdcall
#endif

#ifndef EVERYTHINGUSERAPI
#define EVERYTHINGUSERAPI __declspec(dllimport)
#endif

// write search state
EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_SetSearchW(LPCWSTR lpString);
EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_SetSearchA(LPCSTR lpString);
EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_SetMatchPath(BOOL bEnable);
EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_SetMatchCase(BOOL bEnable);
EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_SetMatchWholeWord(BOOL bEnable);
EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_SetRegex(BOOL bEnable);
EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_SetMax(DWORD dwMax);
EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_SetOffset(DWORD dwOffset);
EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_SetReplyWindow(HWND hWnd);
EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_SetReplyID(DWORD dwId);
EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_SetSort(DWORD dwSort); // Everything 1.4.1
EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_SetRequestFlags(DWORD dwRequestFlags); // Everything 1.4.1

// read search state
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_GetMatchPath(void);
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_GetMatchCase(void);
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_GetMatchWholeWord(void);
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_GetRegex(void);
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetMax(void);
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetOffset(void);
EVERYTHINGUSERAPI LPCSTR EVERYTHINGAPI Everything_GetSearchA(void);
EVERYTHINGUSERAPI LPCWSTR EVERYTHINGAPI Everything_GetSearchW(void);
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetLastError(void);
EVERYTHINGUSERAPI HWND EVERYTHINGAPI Everything_GetReplyWindow(void);
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetReplyID(void);
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetSort(void); // Everything 1.4.1
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetRequestFlags(void); // Everything 1.4.1

// execute query
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_QueryA(BOOL bWait);
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_QueryW(BOOL bWait);

// query reply
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_IsQueryReply(UINT message,WPARAM wParam,LPARAM lParam,DWORD dwId);

// write result state
EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_SortResultsByPath(void);

// read result state
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetNumFileResults(void);
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetNumFolderResults(void);
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetNumResults(void);
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetTotFileResults(void);
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetTotFolderResults(void);
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetTotResults(void);
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_IsVolumeResult(DWORD dwIndex);
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_IsFolderResult(DWORD dwIndex);
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_IsFileResult(DWORD dwIndex);
EVERYTHINGUSERAPI LPCWSTR EVERYTHINGAPI Everything_GetResultFileNameW(DWORD dwIndex);
EVERYTHINGUSERAPI LPCSTR EVERYTHINGAPI Everything_GetResultFileNameA(DWORD dwIndex);
EVERYTHINGUSERAPI LPCWSTR EVERYTHINGAPI Everything_GetResultPathW(DWORD dwIndex);
EVERYTHINGUSERAPI LPCSTR EVERYTHINGAPI Everything_GetResultPathA(DWORD dwIndex);
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetResultFullPathNameA(DWORD dwIndex,LPSTR buf,DWORD bufsize);
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetResultFullPathNameW(DWORD dwIndex,LPWSTR wbuf,DWORD wbuf_size_in_wchars);
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetResultListSort(void); // Everything 1.4.1
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetResultListRequestFlags(void); // Everything 1.4.1
EVERYTHINGUSERAPI LPCWSTR EVERYTHINGAPI Everything_GetResultExtensionW(DWORD dwIndex); // Everything 1.4.1
EVERYTHINGUSERAPI LPCSTR EVERYTHINGAPI Everything_GetResultExtensionA(DWORD dwIndex); // Everything 1.4.1
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_GetResultSize(DWORD dwIndex,LARGE_INTEGER *lpSize); // Everything 1.4.1
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_GetResultDateCreated(DWORD dwIndex,FILETIME *lpDateCreated); // Everything 1.4.1
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_GetResultDateModified(DWORD dwIndex,FILETIME *lpDateModified); // Everything 1.4.1
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_GetResultDateAccessed(DWORD dwIndex,FILETIME *lpDateAccessed); // Everything 1.4.1
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetResultAttributes(DWORD dwIndex); // Everything 1.4.1
EVERYTHINGUSERAPI LPCWSTR EVERYTHINGAPI Everything_GetResultFileListFileNameW(DWORD dwIndex); // Everything 1.4.1
EVERYTHINGUSERAPI LPCSTR EVERYTHINGAPI Everything_GetResultFileListFileNameA(DWORD dwIndex); // Everything 1.4.1
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetResultRunCount(DWORD dwIndex); // Everything 1.4.1
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_GetResultDateRun(DWORD dwIndex,FILETIME *lpDateRun);
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_GetResultDateRecentlyChanged(DWORD dwIndex,FILETIME *lpDateRecentlyChanged);
EVERYTHINGUSERAPI LPCWSTR EVERYTHINGAPI Everything_GetResultHighlightedFileNameW(DWORD dwIndex); // Everything 1.4.1
EVERYTHINGUSERAPI LPCSTR EVERYTHINGAPI Everything_GetResultHighlightedFileNameA(DWORD dwIndex); // Everything 1.4.1
EVERYTHINGUSERAPI LPCWSTR EVERYTHINGAPI Everything_GetResultHighlightedPathW(DWORD dwIndex); // Everything 1.4.1
EVERYTHINGUSERAPI LPCSTR EVERYTHINGAPI Everything_GetResultHighlightedPathA(DWORD dwIndex); // Everything 1.4.1
EVERYTHINGUSERAPI LPCWSTR EVERYTHINGAPI Everything_GetResultHighlightedFullPathAndFileNameW(DWORD dwIndex); // Everything 1.4.1
EVERYTHINGUSERAPI LPCSTR EVERYTHINGAPI Everything_GetResultHighlightedFullPathAndFileNameA(DWORD dwIndex); // Everything 1.4.1

// reset state and free any allocated memory
EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_Reset(void);
EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_CleanUp(void);

EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_SetInstanceName(LPCWSTR name);

EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetMajorVersion(void);
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetMinorVersion(void);
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetRevision(void);
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetBuildNumber(void);
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_Exit(void);
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_IsDBLoaded(void); // Everything 1.4.1
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_IsAdmin(void); // Everything 1.4.1
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_IsAppData(void); // Everything 1.4.1
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_RebuildDB(void); // Everything 1.4.1
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_UpdateAllFolderIndexes(void); // Everything 1.4.1
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_SaveDB(void); // Everything 1.4.1
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_SaveRunHistory(void); // Everything 1.4.1
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_DeleteRunHistory(void); // Everything 1.4.1
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetTargetMachine(void); // Everything 1.4.1

EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetRunCountFromFileNameW(LPCWSTR lpFileName); // Everything 1.4.1
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetRunCountFromFileNameA(LPCSTR lpFileName); // Everything 1.4.1
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_SetRunCountFromFileNameW(LPCWSTR lpFileName,DWORD dwRunCount); // Everything 1.4.1
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_SetRunCountFromFileNameA(LPCSTR lpFileName,DWORD dwRunCount); // Everything 1.4.1
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_IncRunCountFromFileNameW(LPCWSTR lpFileName); // Everything 1.4.1
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_IncRunCountFromFileNameA(LPCSTR lpFileName); // Everything 1.4.1

#ifdef UNICODE
#define Everything_SetSearch Everything_SetSearchW
#define Everything_GetSearch Everything_GetSearchW
#define Everything_Query Everything_QueryW
#define Everything_Query2 Everything_Query2W
#define Everything_GetResultFileName Everything_GetResultFileNameW
#define Everything_GetResultPath Everything_GetResultPathW
#define Everything_GetResultFullPathName Everything_GetResultFullPathNameW
#define Everything_GetResultExtension Everything_GetResultExtensionW
#define Everything_GetResultFileListFileName Everything_GetResultFileListFileNameW
#define Everything_GetResultHighlightedFileName Everything_GetResultHighlightedFileNameW
#define Everything_GetResultHighlightedPath Everything_GetResultHighlightedPathW
#define Everything_GetResultHighlightedFullPathAndFileName Everything_GetResultHighlightedFullPathAndFileNameW
#define Everything_GetRunCountFromFileName Everything_GetRunCountFromFileNameW
#define Everything_SetRunCountFromFileName Everything_SetRunCountFromFileNameW
#define Everything_IncRunCountFromFileName Everything_IncRunCountFromFileNameW
#else
#define Everything_SetSearch Everything_SetSearchA
#define Everything_GetSearch Everything_GetSearchA
#define Everything_Query Everything_QueryA
#define Everything_Query2 Everything_Query2A
#define Everything_GetResultFileName Everything_GetResultFileNameA
#define Everything_GetResultPath Everything_GetResultPathA
#define Everything_GetResultFullPathName Everything_GetResultFullPathNameA
#define Everything_GetResultExtension Everything_GetResultExtensionA
#define Everything_GetResultFileListFileName Everything_GetResultFileListFileNameA
#define Everything_GetResultHighlightedFileName Everything_GetResultHighlightedFileNameA
#define Everything_GetResultHighlightedPath Everything_GetResultHighlightedPathA
#define Everything_GetResultHighlightedFullPathAndFileName Everything_GetResultHighlightedFullPathAndFileNameA
#define Everything_GetRunCountFromFileName Everything_GetRunCountFromFileNameA
#define Everything_SetRunCountFromFileName Everything_SetRunCountFromFileNameA
#define Everything_IncRunCountFromFileName Everything_IncRunCountFromFileNameA
#endif

#ifdef __cplusplus
}
#endif

#endif



================================================
FILE: EverythingSDK/include/Everything_IPC.h
================================================

// Everything IPC

#ifndef _EVERYTHING_IPC_H_
#define _EVERYTHING_IPC_H_

// C
#ifdef __cplusplus
extern "C" {
#endif

#define EVERYTHING_WM_IPC												(WM_USER)

#define EVERYTHING_IPC_TARGET_MACHINE_X86								1
#define EVERYTHING_IPC_TARGET_MACHINE_X64								2
#define EVERYTHING_IPC_TARGET_MACHINE_ARM								3
#define EVERYTHING_IPC_TARGET_MACHINE_ARM64								4

// built in filters
#define EVERYTHING_IPC_FILTER_EVERYTHING								0
#define EVERYTHING_IPC_FILTER_AUDIO										1
#define EVERYTHING_IPC_FILTER_COMPRESSED								2
#define EVERYTHING_IPC_FILTER_DOCUMENT									3
#define EVERYTHING_IPC_FILTER_EXECUTABLE								4
#define EVERYTHING_IPC_FILTER_FOLDER									5
#define EVERYTHING_IPC_FILTER_PICTURE									6
#define EVERYTHING_IPC_FILTER_VIDEO										7
#define EVERYTHING_IPC_FILTER_CUSTOM									8

// EVERYTHING_WM_IPC (send to the Everything taskbar notification window)
// the Everything taskbar notification window is always created when Everything is running. (even when the taskbar notification icon is hidden)
// HWND everything_taskbar_notification_hwnd = FindWindow(EVERYTHING_IPC_WNDCLASS,0);
// SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_*,lParam)

// version format: major.minor.revision.build 
// example: 1.4.1.877
#define EVERYTHING_IPC_GET_MAJOR_VERSION								0 // int major_version = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_GET_MAJOR_VERSION,0);
#define EVERYTHING_IPC_GET_MINOR_VERSION								1 // int minor_version = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_GET_MINOR_VERSION,0);
#define EVERYTHING_IPC_GET_REVISION										2 // int revision = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_GET_REVISION,0);
#define EVERYTHING_IPC_GET_BUILD_NUMBER									3 // int build = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_GET_BUILD,0);
#define EVERYTHING_IPC_EXIT												4 // returns 1 if the program closes.
#define EVERYTHING_IPC_GET_TARGET_MACHINE								5 // int target_machine = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_GET_TARGET_MACHINE,0); returns 0 if not supported. returns a EVERYTHING_IPC_TARGET_MACHINE_* value. requires Everything 1.4.1

// uninstall options
#define EVERYTHING_IPC_DELETE_START_MENU_SHORTCUTS						100 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_DELETE_START_MENU_SHORTCUTS,0);
#define EVERYTHING_IPC_DELETE_QUICK_LAUNCH_SHORTCUT						101 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_DELETE_QUICK_LAUNCH_SHORTCUT,0);
#define EVERYTHING_IPC_DELETE_DESKTOP_SHORTCUT							102 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_DELETE_DESKTOP_SHORTCUT,0);
#define EVERYTHING_IPC_DELETE_FOLDER_CONTEXT_MENU						103 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_DELETE_FOLDER_CONTEXT_MENU,0);
#define EVERYTHING_IPC_DELETE_RUN_ON_SYSTEM_STARTUP						104 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_DELETE_RUN_ON_SYSTEM_STARTUP,0);
#define EVERYTHING_IPC_DELETE_URL_PROTOCOL								105 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_DELETE_URL_PROTOCOL,0);

// install options
#define EVERYTHING_IPC_CREATE_START_MENU_SHORTCUTS						200 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_CREATE_START_MENU_SHORTCUTS,0);
#define EVERYTHING_IPC_CREATE_QUICK_LAUNCH_SHORTCUT						201 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_CREATE_QUICK_LAUNCH_SHORTCUT,0);
#define EVERYTHING_IPC_CREATE_DESKTOP_SHORTCUT							202 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_CREATE_DESKTOP_SHORTCUT,0);
#define EVERYTHING_IPC_CREATE_FOLDER_CONTEXT_MENU						203 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_CREATE_FOLDER_CONTEXT_MENU,0);
#define EVERYTHING_IPC_CREATE_RUN_ON_SYSTEM_STARTUP						204 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_CREATE_RUN_ON_SYSTEM_STARTUP,0);
#define EVERYTHING_IPC_CREATE_URL_PROTOCOL								205 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_CREATE_URL_PROTOCOL,0);

// get option status; 0 = no, 1 = yes, 2 = indeterminate (partially installed)
#define EVERYTHING_IPC_IS_START_MENU_SHORTCUTS							300 // int ret = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_START_MENU_SHORTCUTS,0);
#define EVERYTHING_IPC_IS_QUICK_LAUNCH_SHORTCUT							301 // int ret = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_QUICK_LAUNCH_SHORTCUT,0);
#define EVERYTHING_IPC_IS_DESKTOP_SHORTCUT								302 // int ret = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_DESKTOP_SHORTCUT,0);
#define EVERYTHING_IPC_IS_FOLDER_CONTEXT_MENU							303 // int ret = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_FOLDER_CONTEXT_MENU,0);
#define EVERYTHING_IPC_IS_RUN_ON_SYSTEM_STARTUP							304 // int ret = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_RUN_ON_SYSTEM_STARTUP,0);
#define EVERYTHING_IPC_IS_URL_PROTOCOL									305 // int ret = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_URL_PROTOCOL,0);
#define EVERYTHING_IPC_IS_SERVICE										306 // int ret = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_SERVICE,0);

// indexing
#define EVERYTHING_IPC_IS_NTFS_DRIVE_INDEXED							400 // int is_indexed = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_NTFS_DRIVE_INDEXED,drive_index); drive_index: 0-25 = 0=A:, 1=B:, 2=C:...

// requires Everything 1.4:
#define EVERYTHING_IPC_IS_DB_LOADED										401 // int is_db_loaded = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_DB_LOADED,0); 
#define EVERYTHING_IPC_IS_DB_BUSY										402 // int is_db_busy = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_DB_BUSY,0); // db is busy, issueing another action will cancel the current one (if possible).
#define EVERYTHING_IPC_IS_ADMIN											403 // int is_admin = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_ADMIN,0);
#define EVERYTHING_IPC_IS_APPDATA										404 // int is_appdata = (int)SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_APPDATA,0);
#define EVERYTHING_IPC_REBUILD_DB										405 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_REBUILD,0); // forces all indexes to be rescanned.
#define EVERYTHING_IPC_UPDATE_ALL_FOLDER_INDEXES						406 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_UPDATE_ALL_FOLDER_INDEXES,0); // rescan all folder indexes.
#define EVERYTHING_IPC_SAVE_DB											407 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_SAVE_DB,0); // save the db to disk.
#define EVERYTHING_IPC_SAVE_RUN_HISTORY									408 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_SAVE_RUN_HISTORY,0); // save run history to disk.
#define EVERYTHING_IPC_DELETE_RUN_HISTORY								409 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_DELETE_RUN_HISTORY,0); // deletes all run history from memory and disk.
#define EVERYTHING_IPC_IS_FAST_SORT										410 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_FAST_SORT,EVERYTHING_IPC_SORT_*); // is the sort information indexed?
#define EVERYTHING_IPC_IS_FILE_INFO_INDEXED								411 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_FILE_INFO_INDEXED,EVERYTHING_IPC_FILE_INFO_*); // is the file/folder info indexed?

// Everything 1.5
#define EVERYTHING_IPC_QUEUE_REBUILD_DB									412 // SendMessage(everything_taskbar_notification_hwnd,EVERYTHING_WM_IPC,EVERYTHING_IPC_QUEUE_REBUILD_DB,0); // forces all indexes to be rescanned when the db is ready.

// send the following to an existing Everything search window (requires Everything 1.4.1)
// SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_*,0);
#define EVERYTHING_IPC_IS_MATCH_CASE									500 // int is_match_case = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_MATCH_CASE,0); 
#define EVERYTHING_IPC_IS_MATCH_WHOLE_WORD								501 // int is_match_whole_words = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_MATCH_WHOLE_WORD,0); 
#define EVERYTHING_IPC_IS_MATCH_PATH									502 // int is_match_path = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_MATCH_PATH,0); 
#define EVERYTHING_IPC_IS_MATCH_DIACRITICS								503 // int is_match_diacritics = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_MATCH_DIACRITICS,0); 
#define EVERYTHING_IPC_IS_REGEX											504 // int is_regex = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_REGEX,0); 
#define EVERYTHING_IPC_IS_FILTERS										505 // int is_filters = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_FILTERS,0); 
#define EVERYTHING_IPC_IS_PREVIEW										506 // int is_preview = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_PREVIEW,0); 
#define EVERYTHING_IPC_IS_STATUS_BAR									507 // int is_status_bar = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_STATUS_BAR,0); 
#define EVERYTHING_IPC_IS_DETAILS										508 // int is_details = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_DETAILS,0); 
#define EVERYTHING_IPC_GET_THUMBNAIL_SIZE								509 // int thumbnail_size = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_GET_THUMBNAIL_SIZE,0); 0 = details
#define EVERYTHING_IPC_GET_SORT											510 // int sort = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_GET_SORT,0); sort can be one of EVERYTHING_IPC_SORT_* types.
#define EVERYTHING_IPC_GET_ON_TOP										511 // int on_top = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_GET_ON_TOP,0); 0=never, 1=always, 2=while searching.
#define EVERYTHING_IPC_GET_FILTER										512 // int filter = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_GET_FILTER,0); filter can be one of EVERYTHING_IPC_FILTER_* types.
#define EVERYTHING_IPC_GET_FILTER_INDEX									513 // int filter_index = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_GET_FILTER_INDEX,0); 

// Everything 1.5
#define EVERYTHING_IPC_IS_MATCH_PREFIX									514	// int is_match_prefix = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_MATCH_PREFIX,0); 
#define EVERYTHING_IPC_IS_MATCH_SUFFIX									515	// int is_match_suffix = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_MATCH_SUFFIX,0); 
#define EVERYTHING_IPC_IS_IGNORE_PUNCTUATION							516	// int is_ignore_punctuation = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_IGNORE_PUNCTUATION,0); 
#define EVERYTHING_IPC_IS_IGNORE_WHITESPACE								517	// int is_ignore_whitespace = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_IGNORE_WHITESPACE,0); 
#define EVERYTHING_IPC_IS_SEARCH_AS_YOU_TYPE							518 // int is_search_as_you_type = (int)SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),EVERYTHING_WM_IPC,EVERYTHING_IPC_IS_SEARCH_AS_YOU_TYPE,0); 

// command IDs to send to an Everything search window.
// SendMessage(FindWindow(EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS,0),WM_COMMAND,MAKEWPARAM(EVERYTHING_IPC_ID_*,0),0);

// main menus

#define	EVERYTHING_IPC_ID_FILE_MENU										10001
#define	EVERYTHING_IPC_ID_EDIT_MENU										10002
#define	EVERYTHING_IPC_ID_SEARCH_MENU									10003
#define	EVERYTHING_IPC_ID_TOOLS_MENU									10004
#define	EVERYTHING_IPC_ID_HELP_MENU										10005
#define	EVERYTHING_IPC_ID_TOOLBAR										10006
#define	EVERYTHING_IPC_ID_SEARCH_EDIT									10007
#define	EVERYTHING_IPC_ID_FILTER										10008
#define	EVERYTHING_IPC_ID_RESULTS_HEADER								10009
#define	EVERYTHING_IPC_ID_STATUS										10010
#define EVERYTHING_IPC_ID_VIEW_ZOOM_MENU								10012
#define	EVERYTHING_IPC_ID_VIEW_MENU										10013
#define EVERYTHING_IPC_ID_VIEW_WINDOW_SIZE_MENU							10019
#define EVERYTHING_IPC_ID_RESULT_LIST									10020
#define EVERYTHING_IPC_ID_BOOKMARKS_MENU								10021
#define EVERYTHING_IPC_ID_VIEW_SORT_BY_MENU								10022
#define EVERYTHING_IPC_ID_VIEW_GOTO_MENU								10024
#define EVERYTHING_IPC_ID_VIEW_ONTOP_MENU								10025
#define EVERYTHING_IPC_ID_PREVIEW										10026

// TRAY 
#define EVERYTHING_IPC_ID_TRAY_NEW_SEARCH_WINDOW						40001
#define EVERYTHING_IPC_ID_TRAY_CONNECT_TO_ETP_SERVER					40004
#define EVERYTHING_IPC_ID_TRAY_OPTIONS									40005
#define EVERYTHING_IPC_ID_TRAY_EXIT										40006
#define EVERYTHING_IPC_ID_TRAY_SHOW_SEARCH_WINDOW						40007
#define EVERYTHING_IPC_ID_TRAY_TOGGLE_SEARCH_WINDOW						40008

// FILE
#define EVERYTHING_IPC_ID_FILE_NEW_WINDOW								40010 
#define EVERYTHING_IPC_ID_FILE_CLOSE									40011 
#define EVERYTHING_IPC_ID_FILE_EXPORT									40012 
#define EVERYTHING_IPC_ID_FILE_EXIT										40013
#define EVERYTHING_IPC_ID_FILE_OPEN_FILELIST							40014
#define EVERYTHING_IPC_ID_FILE_CLOSE_FILELIST							40015

// EDIT
#define EVERYTHING_IPC_ID_EDIT_CUT										40020 
#define EVERYTHING_IPC_ID_EDIT_COPY										40021
#define EVERYTHING_IPC_ID_EDIT_PASTE									40022
#define EVERYTHING_IPC_ID_EDIT_SELECT_ALL								40023
#define EVERYTHING_IPC_ID_EDIT_INVERT_SELECTION							40029

// VIEW
#define EVERYTHING_IPC_ID_VIEW_ZOOM_IN									40030
#define EVERYTHING_IPC_ID_VIEW_ZOOM_OUT									40031
#define EVERYTHING_IPC_ID_VIEW_ZOOM_RESET								40032
#define EVERYTHING_IPC_ID_VIEW_TOGGLE_FULLSCREEN						40034
#define EVERYTHING_IPC_ID_VIEW_AUTO_FIT									40044
#define EVERYTHING_IPC_ID_VIEW_AUTO_SIZE_1								40045
#define EVERYTHING_IPC_ID_VIEW_AUTO_SIZE_2								40046
#define EVERYTHING_IPC_ID_VIEW_AUTO_SIZE_3								40047
#define EVERYTHING_IPC_ID_VIEW_REFRESH									40036
#define EVERYTHING_IPC_ID_VIEW_FILTERS									40035
#define EVERYTHING_IPC_ID_VIEW_SORT_BY_ASCENDING						40037
#define EVERYTHING_IPC_ID_VIEW_SORT_BY_DESCENDING						40038
#define EVERYTHING_IPC_ID_VIEW_STATUS_BAR								40039
#define EVERYTHING_IPC_ID_VIEW_GOTO_BACK								40040
#define EVERYTHING_IPC_ID_VIEW_GOTO_FORWARD								40041
#define EVERYTHING_IPC_ID_VIEW_ONTOP_NEVER								40042
#define EVERYTHING_IPC_ID_VIEW_ONTOP_ALWAYS								40043
#define EVERYTHING_IPC_ID_VIEW_ONTOP_WHILE_SEARCHING					40048
#define EVERYTHING_IPC_ID_VIEW_GOTO_HOME								40049
#define EVERYTHING_IPC_ID_VIEW_TOGGLE_LTR_RTL							40050
#define EVERYTHING_IPC_ID_VIEW_DETAILS									40051
#define EVERYTHING_IPC_ID_VIEW_MEDIUM_ICONS								40052
#define EVERYTHING_IPC_ID_VIEW_LARGE_ICONS								40053
#define EVERYTHING_IPC_ID_VIEW_EXTRA_LARGE_ICONS						40054
#define EVERYTHING_IPC_ID_VIEW_PREVIEW									40055
#define EVERYTHING_IPC_ID_VIEW_GOTO_SHOW_ALL_HISTORY					40056
#define EVERYTHING_IPC_ID_VIEW_INCREASE_THUMBNAIL_SIZE					40057
#define EVERYTHING_IPC_ID_VIEW_DECREASE_THUMBNAIL_SIZE					40058
#define EVERYTHING_IPC_ID_VIEW_SHOW_FILTERS								40096 // Everything 1.4.1
#define EVERYTHING_IPC_ID_VIEW_HIDE_FILTERS								40097 // Everything 1.4.1
#define EVERYTHING_IPC_ID_VIEW_SHOW_PREVIEW								40098 // Everything 1.4.1
#define EVERYTHING_IPC_ID_VIEW_HIDE_PREVIEW								40099 // Everything 1.4.1
#define EVERYTHING_IPC_ID_VIEW_SHOW_STATUS_BAR							40100 // Everything 1.4.1
#define EVERYTHING_IPC_ID_VIEW_HIDE_STATUS_BAR							40101 // Everything 1.4.1
#define EVERYTHING_IPC_ID_VIEW_DETAILS_NO_TOGGLE						40102 // Everything 1.4.1
#define EVERYTHING_IPC_ID_VIEW_MEDIUM_ICONS_NO_TOGGLE					40103 // Everything 1.4.1
#define EVERYTHING_IPC_ID_VIEW_LARGE_ICONS_NO_TOGGLE					40104 // Everything 1.4.1
#define EVERYTHING_IPC_ID_VIEW_EXTRA_LARGE_ICONS_NO_TOGGLE				40105 // Everything 1.4.1

// SEARCH
#define	EVERYTHING_IPC_ID_SEARCH_TOGGLE_MATCH_CASE						40060
#define EVERYTHING_IPC_ID_SEARCH_TOGGLE_MATCH_WHOLE_WORD				40061
#define EVERYTHING_IPC_ID_SEARCH_TOGGLE_MATCH_PATH						40062
#define EVERYTHING_IPC_ID_SEARCH_TOGGLE_REGEX							40063
#define	EVERYTHING_IPC_ID_SEARCH_TOGGLE_MATCH_DIACRITICS				40066
#define EVERYTHING_IPC_ID_SEARCH_FILTER_ADD								40067
#define EVERYTHING_IPC_ID_SEARCH_FILTER_ORGANIZE						40068
#define EVERYTHING_IPC_ID_SEARCH_ADVANCED_SEARCH						40069
#define	EVERYTHING_IPC_ID_SEARCH_ENABLE_MATCH_CASE						40106 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_ENABLE_MATCH_WHOLE_WORD				40107 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_ENABLE_MATCH_PATH						40108 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_ENABLE_REGEX							40109 // Everything 1.4.1
#define	EVERYTHING_IPC_ID_SEARCH_ENABLE_MATCH_DIACRITICS				40110 // Everything 1.4.1
#define	EVERYTHING_IPC_ID_SEARCH_DISABLE_MATCH_CASE						40111 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_DISABLE_MATCH_WHOLE_WORD				40112 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_DISABLE_MATCH_PATH						40113 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_DISABLE_REGEX							40114 // Everything 1.4.1
#define	EVERYTHING_IPC_ID_SEARCH_DISABLE_MATCH_DIACRITICS				40115 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_FILTER_EVERYTHING						40116 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_FILTER_AUDIO							40117 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_FILTER_COMPRESSED						40118 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_FILTER_DOCUMENT						40119 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_FILTER_EXECUTABLE						40120 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_FILTER_FOLDER							40121 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_FILTER_PICTURE							40122 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_FILTER_VIDEO							40123 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_FILTER_AUDIO_NO_TOGGLE					40124 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_FILTER_COMPRESSED_NO_TOGGLE			40125 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_FILTER_DOCUMENT_NO_TOGGLE				40126 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_FILTER_EXECUTABLE_NO_TOGGLE			40127 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_FILTER_FOLDER_NO_TOGGLE				40128 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_FILTER_PICTURE_NO_TOGGLE				40129 // Everything 1.4.1
#define EVERYTHING_IPC_ID_SEARCH_FILTER_VIDEO_NO_TOGGLE					40130 // Everything 1.4.1

// TOOLS
#define EVERYTHING_IPC_ID_TOOLS_CONNECT_TO_ETP_SERVER					40072
#define EVERYTHING_IPC_ID_TOOLS_DISCONNECT_FROM_ETP_SERVER				40073
#define EVERYTHING_IPC_ID_TOOLS_OPTIONS									40074
#define EVERYTHING_IPC_ID_TOOLS_CONSOLE									40075
#define EVERYTHING_IPC_ID_TOOLS_EDITOR									40076

// HELP
#define EVERYTHING_IPC_ID_HELP_VIEW_HELP_TOPICS							40080
#define EVERYTHING_IPC_ID_HELP_OPEN_EVERYTHING_WEBSITE					40081
#define EVERYTHING_IPC_ID_HELP_CHECK_FOR_UPDATES						40082
#define EVERYTHING_IPC_ID_HELP_ABOUT_EVERYTHING							40083
#define EVERYTHING_IPC_ID_HELP_SEARCH_SYNTAX							40084
#define EVERYTHING_IPC_ID_HELP_COMMAND_LINE_OPTIONS						40085
#define EVERYTHING_IPC_ID_HELP_REGEX_SYNTAX								40086
#define EVERYTHING_IPC_ID_HELP_DONATE									40087

// bookmarks
#define EVERYTHING_IPC_ID_BOOKMARK_ADD									40090
#define EVERYTHING_IPC_ID_BOOKMARK_ORGANIZE								40091
#define EVERYTHING_IPC_ID_BOOKMARK_START								44000
#define EVERYTHING_IPC_ID_BOOKMARK_END									45000 // exclusive

#define EVERYTHING_IPC_ID_FILTER_START									45000
#define EVERYTHING_IPC_ID_FILTER_END									46000 // exclusive

#define EVERYTHING_IPC_ID_VIEW_GOTO_START								46000
#define EVERYTHING_IPC_ID_VIEW_GOTO_END									47000 // exclusive

// files
#define EVERYTHING_IPC_ID_FILE_OPEN										41000
#define EVERYTHING_IPC_ID_FILE_OPEN_NEW									41048
#define EVERYTHING_IPC_ID_FILE_OPEN_WITH								41049
#define EVERYTHING_IPC_ID_FILE_EDIT										41050
#define EVERYTHING_IPC_ID_FILE_PLAY										41051
#define EVERYTHING_IPC_ID_FILE_PRINT									41052
#define EVERYTHING_IPC_ID_FILE_PREVIEW									41053
#define EVERYTHING_IPC_ID_FILE_PRINT_TO									41054
#define EVERYTHING_IPC_ID_FILE_RUN_AS									41055
#define EVERYTHING_IPC_ID_FILE_OPEN_WITH_DEFAULT_VERB					41056
#define EVERYTHING_IPC_ID_FILE_OPEN_AND_CLOSE							41057
#define EVERYTHING_IPC_ID_FILE_EXPLORE_PATH								41002
#define EVERYTHING_IPC_ID_FILE_OPEN_PATH								41003
#define EVERYTHING_IPC_ID_FILE_DELETE									41004
#define EVERYTHING_IPC_ID_FILE_PERMANENTLY_DELETE						41005
#define EVERYTHING_IPC_ID_FILE_RENAME									41006
#define EVERYTHING_IPC_ID_FILE_COPY_FULL_PATH_AND_NAME					41007
#define EVERYTHING_IPC_ID_FILE_COPY_PATH								41008
#define EVERYTHING_IPC_ID_FILE_PROPERTIES								41009
#define EVERYTHING_IPC_ID_FILE_READ_EXTENDED_INFORMATION				41064
#define EVERYTHING_IPC_ID_FILE_CREATE_SHORTCUT							41065
#define EVERYTHING_IPC_ID_FILE_SET_RUN_COUNT							41068
#define EVERYTHING_IPC_ID_FILE_COPY_NAME								41011
#define EVERYTHING_IPC_ID_FILE_OPEN_AND_DO_NOT_CLOSE					41076

// result list
#define EVERYTHING_IPC_ID_RESULT_LIST_EXPLORE							41001
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS								41010
#define EVERYTHING_IPC_ID_RESULT_LIST_AUTOFIT_COLUMNS					41012
#define EVERYTHING_IPC_ID_RESULT_LIST_DOWN								41018
#define EVERYTHING_IPC_ID_RESULT_LIST_UP								41019
#define EVERYTHING_IPC_ID_RESULT_LIST_PAGE_UP							41020
#define EVERYTHING_IPC_ID_RESULT_LIST_PAGE_DOWN							41021
#define EVERYTHING_IPC_ID_RESULT_LIST_START								41022
#define EVERYTHING_IPC_ID_RESULT_LIST_END								41023
#define EVERYTHING_IPC_ID_RESULT_LIST_DOWN_EXTEND						41024
#define EVERYTHING_IPC_ID_RESULT_LIST_UP_EXTEND							41025
#define EVERYTHING_IPC_ID_RESULT_LIST_PAGE_UP_EXTEND					41026
#define EVERYTHING_IPC_ID_RESULT_LIST_PAGE_DOWN_EXTEND					41027
#define EVERYTHING_IPC_ID_RESULT_LIST_START_EXTEND						41028
#define EVERYTHING_IPC_ID_RESULT_LIST_END_EXTEND						41029
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_DOWN						41030
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_UP							41031
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_PAGE_UP						41032
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_PAGE_DOWN					41033
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_START						41034
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_END							41035
#define EVERYTHING_IPC_ID_RESULT_LIST_SCROLL_LEFT						41036
#define EVERYTHING_IPC_ID_RESULT_LIST_SCROLL_RIGHT						41037
#define EVERYTHING_IPC_ID_RESULT_LIST_SCROLL_PAGE_LEFT					41038
#define EVERYTHING_IPC_ID_RESULT_LIST_SCROLL_PAGE_RIGHT					41039
#define EVERYTHING_IPC_ID_RESULT_LIST_SELECT_FOCUS						41040
#define EVERYTHING_IPC_ID_RESULT_LIST_TOGGLE_FOCUS_SELECTION			41041
#define EVERYTHING_IPC_ID_RESULT_LIST_CONTEXT_MENU						41046
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_DOWN_EXTEND					41058
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_UP_EXTEND					41059
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_PAGE_UP_EXTEND				41060
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_PAGE_DOWN_EXTEND			41061
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_START_EXTEND				41062
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_END_EXTEND					41063
#define EVERYTHING_IPC_ID_RESULT_LIST_AUTOFIT							41066
#define EVERYTHING_IPC_ID_RESULT_LIST_COPY_CSV							41067
#define EVERYTHING_IPC_ID_RESULT_LIST_LEFT_EXTEND						41070
#define EVERYTHING_IPC_ID_RESULT_LIST_RIGHT_EXTEND						41071
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_LEFT_EXTEND					41072
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_RIGHT_EXTEND				41073
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_MOST_RUN					41074
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_LAST_RUN					41075
#define EVERYTHING_IPC_ID_RESULT_LIST_LEFT								41079 // Everything 1.4.1
#define EVERYTHING_IPC_ID_RESULT_LIST_RIGHT								41080 // Everything 1.4.1
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_LEFT						41081 // Everything 1.4.1
#define EVERYTHING_IPC_ID_RESULT_LIST_FOCUS_RIGHT						41082 // Everything 1.4.1
#define EVERYTHING_IPC_ID_RESULT_LIST_SCROLL_LEFT_SCROLL_ONLY			41083 // Everything 1.4.1
#define EVERYTHING_IPC_ID_RESULT_LIST_SCROLL_RIGHT_SCROLL_ONLY			41084 // Everything 1.4.1
#define EVERYTHING_IPC_ID_RESULT_LIST_SCROLL_PAGE_LEFT_SCROLL_ONLY		41085 // Everything 1.4.1
#define EVERYTHING_IPC_ID_RESULT_LIST_SCROLL_PAGE_RIGHT_SCROLL_ONLY		41086 // Everything 1.4.1

#define EVERYTHING_IPC_ID_RESULT_LIST_SORT_BY_NAME						41300
#define EVERYTHING_IPC_ID_RESULT_LIST_SORT_BY_PATH						41301
#define EVERYTHING_IPC_ID_RESULT_LIST_SORT_BY_SIZE						41302
#define EVERYTHING_IPC_ID_RESULT_LIST_SORT_BY_EXTENSION					41303
#define EVERYTHING_IPC_ID_RESULT_LIST_SORT_BY_TYPE						41304
#define EVERYTHING_IPC_ID_RESULT_LIST_SORT_BY_DATE_MODIFIED				41305
#define EVERYTHING_IPC_ID_RESULT_LIST_SORT_BY_DATE_CREATED				41306
#define EVERYTHING_IPC_ID_RESULT_LIST_SORT_BY_ATTRIBUTES				41307
#define EVERYTHING_IPC_ID_RESULT_LIST_SORT_BY_FILE_LIST_FILENAME		41308
#define EVERYTHING_IPC_ID_RESULT_LIST_SORT_BY_RUN_COUNT					41309
#define EVERYTHING_IPC_ID_RESULT_LIST_SORT_BY_DATE_RECENTLY_CHANGED		41310
#define EVERYTHING_IPC_ID_RESULT_LIST_SORT_BY_DATE_ACCESSED				41311
#define EVERYTHING_IPC_ID_RESULT_LIST_SORT_BY_DATE_RUN					41312

#define EVERYTHING_IPC_ID_RESULT_LIST_TOGGLE_NAME_COLUMN					41400
#define EVERYTHING_IPC_ID_RESULT_LIST_TOGGLE_PATH_COLUMN					41401
#define EVERYTHING_IPC_ID_RESULT_LIST_TOGGLE_SIZE_COLUMN					41402
#define EVERYTHING_IPC_ID_RESULT_LIST_TOGGLE_EXTENSION_COLUMN				41403
#define EVERYTHING_IPC_ID_RESULT_LIST_TOGGLE_TYPE_COLUMN					41404
#define EVERYTHING_IPC_ID_RESULT_LIST_TOGGLE_DATE_MODIFIED_COLUMN			41405
#define EVERYTHING_IPC_ID_RESULT_LIST_TOGGLE_DATE_CREATED_COLUMN			41406
#define EVERYTHING_IPC_ID_RESULT_LIST_TOGGLE_ATTRIBUTES_COLUMN				41407
#define EVERYTHING_IPC_ID_RESULT_LIST_TOGGLE_FILE_LIST_FILENAME_COLUMN		41408
#define EVERYTHING_IPC_ID_RESULT_LIST_TOGGLE_RUN_COUNT_COLUMN				41409
#define EVERYTHING_IPC_ID_RESULT_LIST_TOGGLE_DATE_RECENTLY_CHANGED_COLUMN	41410
#define EVERYTHING_IPC_ID_RESULT_LIST_TOGGLE_DATE_ACCESSED_COLUMN			41411
#define EVERYTHING_IPC_ID_RESULT_LIST_TOGGLE_DATE_RUN_COLUMN				41412

#define EVERYTHING_IPC_ID_RESULT_LIST_SIZE_NAME_COLUMN_TO_FIT					41600
#define EVERYTHING_IPC_ID_RESULT_LIST_SIZE_PATH_COLUMN_TO_FIT					41601
#define EVERYTHING_IPC_ID_RESULT_LIST_SIZE_SIZE_COLUMN_TO_FIT					41602
#define EVERYTHING_IPC_ID_RESULT_LIST_SIZE_EXTENSION_COLUMN_TO_FIT				41603
#define EVERYTHING_IPC_ID_RESULT_LIST_SIZE_TYPE_COLUMN_TO_FIT					41604
#define EVERYTHING_IPC_ID_RESULT_LIST_SIZE_DATE_MODIFIED_COLUMN_TO_FIT			41605
#define EVERYTHING_IPC_ID_RESULT_LIST_SIZE_DATE_CREATED_COLUMN_TO_FIT			41606
#define EVERYTHING_IPC_ID_RESULT_LIST_SIZE_ATTRIBUTES_COLUMN_TO_FIT				41607
#define EVERYTHING_IPC_ID_RESULT_LIST_SIZE_FILE_LIST_FILENAME_COLUMN_TO_FIT		41608
#define EVERYTHING_IPC_ID_RESULT_LIST_SIZE_RUN_COUNT_COLUMN_TO_FIT				41609
#define EVERYTHING_IPC_ID_RESULT_LIST_SIZE_DATE_RECENTLY_CHANGED_COLUMN_TO_FIT	41610
#define EVERYTHING_IPC_ID_RESULT_LIST_SIZE_DATE_ACCESSED_COLUMN_TO_FIT			41611
#define EVERYTHING_IPC_ID_RESULT_LIST_SIZE_DATE_RUN_COLUMN_TO_FIT				41612

#define EVERYTHING_IPC_ID_FILE_CUSTOM_VERB01							41500
#define EVERYTHING_IPC_ID_FILE_CUSTOM_VERB02							41501
#define EVERYTHING_IPC_ID_FILE_CUSTOM_VERB03							41502
#define EVERYTHING_IPC_ID_FILE_CUSTOM_VERB04							41503
#define EVERYTHING_IPC_ID_FILE_CUSTOM_VERB05							41504
#define EVERYTHING_IPC_ID_FILE_CUSTOM_VERB06							41505
#define EVERYTHING_IPC_ID_FILE_CUSTOM_VERB07							41506
#define EVERYTHING_IPC_ID_FILE_CUSTOM_VERB08							41507
#define EVERYTHING_IPC_ID_FILE_CUSTOM_VERB09							41508
#define EVERYTHING_IPC_ID_FILE_CUSTOM_VERB10							41509
#define EVERYTHING_IPC_ID_FILE_CUSTOM_VERB11							41510
#define EVERYTHING_IPC_ID_FILE_CUSTOM_VERB12							41511

// search
#define EVERYTHING_IPC_ID_SEARCH_EDIT_FOCUS								42000
#define EVERYTHING_IPC_ID_SEARCH_EDIT_WORD_DELETE_TO_START				42019
#define	EVERYTHING_IPC_ID_SEARCH_EDIT_AUTO_COMPLETE						42020
#define EVERYTHING_IPC_ID_SEARCH_EDIT_SHOW_SEARCH_HISTORY				42021
#define EVERYTHING_IPC_ID_SEARCH_EDIT_SHOW_ALL_SEARCH_HISTORY			42022

#define EVERYTHING_IPC_ID_TRAY_EDITOR									41700
#define EVERYTHING_IPC_ID_TRAY_OPEN_FILELIST							41701

#define EVERYTHING_IPC_ID_INDEX_UPDATE_ALL_FOLDERS_NOW					41800
#define EVERYTHING_IPC_ID_INDEX_FORCE_REBUILD							41801

// find the everything IPC window
#define EVERYTHING_IPC_WNDCLASSW										L"EVERYTHING_TASKBAR_NOTIFICATION"
#define EVERYTHING_IPC_WNDCLASSA										"EVERYTHING_TASKBAR_NOTIFICATION"

// an Everything search window
#define EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASSW							L"EVERYTHING"
#define EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASSA							"EVERYTHING"

// this global window message is sent to all top level windows when everything starts.
#define EVERYTHING_IPC_CREATEDW											L"EVERYTHING_IPC_CREATED"
#define EVERYTHING_IPC_CREATEDA											"EVERYTHING_IPC_CREATED"

// search flags for querys
#define EVERYTHING_IPC_MATCHCASE										0x00000001	// match case
#define EVERYTHING_IPC_MATCHWHOLEWORD									0x00000002	// match whole word
#define EVERYTHING_IPC_MATCHPATH										0x00000004	// include paths in search
#define EVERYTHING_IPC_REGEX											0x00000008	// enable regex
#define EVERYTHING_IPC_MATCHACCENTS										0x00000010	// match diacritic marks
#define EVERYTHING_IPC_MATCHDIACRITICS									0x00000010	// match diacritic marks
#define EVERYTHING_IPC_MATCHPREFIX										0x00000020	// match prefix (Everything 1.5)
#define EVERYTHING_IPC_MATCHSUFFIX										0x00000040	// match suffix (Everything 1.5)
#define EVERYTHING_IPC_IGNOREPUNCTUATION								0x00000080	// ignore punctuation (Everything 1.5)
#define EVERYTHING_IPC_IGNOREWHITESPACE									0x00000100	// ignore white-space (Everything 1.5)

// item flags
#define EVERYTHING_IPC_FOLDER											0x00000001	// The item is a folder. (it's a file if not set)
#define EVERYTHING_IPC_DRIVE											0x00000002	// the file or folder is a drive/root.
#define EVERYTHING_IPC_ROOT												0x00000002	// the file or folder is a root.
																					
typedef struct EVERYTHING_IPC_COMMAND_LINE
{
	DWORD show_command; // MUST be one of the SW_* ShowWindow() commands
	
	// null terminated variable sized command line text in UTF-8.
	BYTE command_line_text[1];
	
}EVERYTHING_IPC_COMMAND_LINE;

// the WM_COPYDATA message for a query.
#define EVERYTHING_IPC_COPYDATA_COMMAND_LINE_UTF8						0  // Send a EVERYTHING_IPC_COMMAND_LINE structure.
#define EVERYTHING_IPC_COPYDATAQUERYA									1
#define EVERYTHING_IPC_COPYDATAQUERYW									2

// all results
#define EVERYTHING_IPC_ALLRESULTS										0xFFFFFFFF // all results

// macro to get the filename of an item
#define EVERYTHING_IPC_ITEMFILENAMEA(list,item) (CHAR *)((CHAR *)(list) + ((EVERYTHING_IPC_ITEMA *)(item))->filename_offset)
#define EVERYTHING_IPC_ITEMFILENAMEW(list,item) (WCHAR *)((CHAR *)(list) + ((EVERYTHING_IPC_ITEMW *)(item))->filename_offset)

// macro to get the path of an item
#define EVERYTHING_IPC_ITEMPATHA(list,item) (CHAR *)((CHAR *)(list) + ((EVERYTHING_IPC_ITEMA *)(item))->path_offset)
#define EVERYTHING_IPC_ITEMPATHW(list,item) (WCHAR *)((CHAR *)(list) + ((EVERYTHING_IPC_ITEMW *)(item))->path_offset)

#pragma pack (push,1)

//
// Varible sized query struct sent to everything.
//
// sent in the form of a WM_COPYDATA message with EVERYTHING_IPC_COPYDATAQUERY as the 
// dwData member in the COPYDATASTRUCT struct.
// set the lpData member of the COPYDATASTRUCT struct to point to your EVERYTHING_IPC_QUERY struct.
// set the cbData member of the COPYDATASTRUCT struct to the size of the 
// EVERYTHING_IPC_QUERY struct minus the size of a TCHAR plus the length of the search string in bytes plus 
// one TCHAR for the null terminator.
//
// NOTE: to determine the size of this structure use 
// ASCII: sizeof(EVERYTHING_IPC_QUERYA) - sizeof(CHAR) + strlen(search_string)*sizeof(CHAR) + sizeof(CHAR)
// UNICODE: sizeof(EVERYTHING_IPC_QUERYW) - sizeof(WCHAR) + wcslen(search_string)*sizeof(WCHAR) + sizeof(WCHAR)
//
// NOTE: Everything will only do one query per window.
// Sending another query when a query has not completed 
// will cancel the old query and start the new one. 
//
// Everything will send the results to the reply_hwnd in the form of a 
// WM_COPYDATA message with the dwData value you specify.
// 
// Everything will return TRUE if successful.
// returns FALSE if not supported.
//
// If you query with EVERYTHING_IPC_COPYDATAQUERYW, the results sent from Everything will be Unicode.
//

typedef struct EVERYTHING_IPC_QUERYW
{
	// the window that will receive the new results.
	// only 32bits are required to store a window handle. (even on x64)
	DWORD reply_hwnd;
	
	// the value to set the dwData member in the COPYDATASTRUCT struct 
	// sent by Everything when the query is complete.
	DWORD reply_copydata_message;
	
	// search flags (see EVERYTHING_IPC_MATCHCASE | EVERYTHING_IPC_MATCHWHOLEWORD | EVERYTHING_IPC_MATCHPATH)
	DWORD search_flags; 
	
	// only return results after 'offset' results (0 to return from the first result)
	// useful for scrollable lists
	DWORD offset; 
	
	// the number of results to return 
	// zero to return no results
	// EVERYTHING_IPC_ALLRESULTS to return ALL results
	DWORD max_results;

	// null terminated string. variable lengthed search string buffer.
	WCHAR search_string[1];
	
}EVERYTHING_IPC_QUERYW;

// ASCII version
typedef struct EVERYTHING_IPC_QUERYA
{
	// the window that will receive the new results.
	// only 32bits are required to store a window handle. (even on x64)
	DWORD reply_hwnd;
	
	// the value to set the dwData member in the COPYDATASTRUCT struct 
	// sent by Everything when the query is complete.
	DWORD reply_copydata_message;
	
	// search flags (see EVERYTHING_IPC_MATCHCASE | EVERYTHING_IPC_MATCHWHOLEWORD | EVERYTHING_IPC_MATCHPATH)
	DWORD search_flags; 
	
	// only return results after 'offset' results (0 to return from the first result)
	// useful for scrollable lists
	DWORD offset; 
	
	// the number of results to return 
	// zero to return no results
	// EVERYTHING_IPC_ALLRESULTS to return ALL results
	DWORD max_results;

	// null terminated string. variable lengthed search string buffer.
	CHAR search_string[1];
	
}EVERYTHING_IPC_QUERYA;

//
// Varible sized result list struct received from Everything.
//
// Sent in the form of a WM_COPYDATA message to the hwnd specifed in the 
// EVERYTHING_IPC_QUERY struct.
// the dwData member of the COPYDATASTRUCT struct will match the sent
// reply_copydata_message member in the EVERYTHING_IPC_QUERY struct.
// 
// make a copy of the data before returning.
//
// return TRUE if you processed the WM_COPYDATA message.
//

typedef struct EVERYTHING_IPC_ITEMW
{
	// item flags
	DWORD flags;

	// The offset of the filename from the beginning of the list structure.
	// (wchar_t *)((char *)everything_list + everythinglist->name_offset)
	DWORD filename_offset;

	// The offset of the filename from the beginning of the list structure.
	// (wchar_t *)((char *)everything_list + everythinglist->path_offset)
	DWORD path_offset;
	
}EVERYTHING_IPC_ITEMW;

typedef struct EVERYTHING_IPC_ITEMA
{
	// item flags
	DWORD flags;

	// The offset of the filename from the beginning of the list structure.
	// (char *)((char *)everything_list + everythinglist->name_offset)
	DWORD filename_offset;

	// The offset of the filename from the beginning of the list structure.
	// (char *)((char *)everything_list + everythinglist->path_offset)
	DWORD path_offset;
	
}EVERYTHING_IPC_ITEMA;

typedef struct EVERYTHING_IPC_LISTW
{
	// the total number of folders found.
	DWORD totfolders;
	
	// the total number of files found.
	DWORD totfiles;
	
	// totfolders + totfiles
	DWORD totitems;
	
	// the number of folders available.
	DWORD numfolders;
	
	// the number of files available.
	DWORD numfiles;
	
	// the number of items available.
	DWORD numitems;

	// index offset of the first result in the item list.
	DWORD offset;
	
	// variable lengthed item list. 
	// use numitems to determine the actual number of items available.
	EVERYTHING_IPC_ITEMW items[1];
	
}EVERYTHING_IPC_LISTW;

typedef struct EVERYTHING_IPC_LISTA
{
	// the total number of folders found.
	DWORD totfolders;
	
	// the total number of files found.
	DWORD totfiles;
	
	// totfolders + totfiles
	DWORD totitems;
	
	// the number of folders available.
	DWORD numfolders;
	
	// the number of files available.
	DWORD numfiles;
	
	// the number of items available.
	DWORD numitems;

	// index offset of the first result in the item list.
	DWORD offset;
	
	// variable lengthed item list. 
	// use numitems to determine the actual number of items available.
	EVERYTHING_IPC_ITEMA items[1];
	
}EVERYTHING_IPC_LISTA;

#pragma pack (pop)

#ifdef UNICODE
#define EVERYTHING_IPC_COPYDATAQUERY	EVERYTHING_IPC_COPYDATAQUERYW
#define EVERYTHING_IPC_ITEMFILENAME		EVERYTHING_IPC_ITEMFILENAMEW
#define EVERYTHING_IPC_ITEMPATH			EVERYTHING_IPC_ITEMPATHW
#define EVERYTHING_IPC_QUERY			EVERYTHING_IPC_QUERYW
#define EVERYTHING_IPC_ITEM				EVERYTHING_IPC_ITEMW
#define EVERYTHING_IPC_LIST				EVERYTHING_IPC_LISTW
#define EVERYTHING_IPC_WNDCLASS			EVERYTHING_IPC_WNDCLASSW
#define EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS			EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASSW
#define EVERYTHING_IPC_CREATED			EVERYTHING_IPC_CREATEDW
#else
#define EVERYTHING_IPC_COPYDATAQUERY	EVERYTHING_IPC_COPYDATAQUERYA
#define EVERYTHING_IPC_ITEMFILENAME		EVERYTHING_IPC_ITEMFILENAMEA
#define EVERYTHING_IPC_ITEMPATH			EVERYTHING_IPC_ITEMPATHA
#define EVERYTHING_IPC_QUERY			EVERYTHING_IPC_QUERYA
#define EVERYTHING_IPC_ITEM				EVERYTHING_IPC_ITEMA
#define EVERYTHING_IPC_LIST				EVERYTHING_IPC_LISTA
#define EVERYTHING_IPC_WNDCLASS			EVERYTHING_IPC_WNDCLASSA
#define EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASS			EVERYTHING_IPC_SEARCH_CLIENT_WNDCLASSA
#define EVERYTHING_IPC_CREATED			EVERYTHING_IPC_CREATEDA
#endif

// the WM_COPYDATA message for a query.
// requires Everything 1.4.1
#define EVERYTHING_IPC_COPYDATA_QUERY2A									17
#define EVERYTHING_IPC_COPYDATA_QUERY2W									18

#define EVERYTHING_IPC_SORT_NAME_ASCENDING								1
#define EVERYTHING_IPC_SORT_NAME_DESCENDING								2
#define EVERYTHING_IPC_SORT_PATH_ASCENDING								3
#define EVERYTHING_IPC_SORT_PATH_DESCENDING								4
#define EVERYTHING_IPC_SORT_SIZE_ASCENDING								5
#define EVERYTHING_IPC_SORT_SIZE_DESCENDING								6
#define EVERYTHING_IPC_SORT_EXTENSION_ASCENDING							7
#define EVERYTHING_IPC_SORT_EXTENSION_DESCENDING						8
#define EVERYTHING_IPC_SORT_TYPE_NAME_ASCENDING							9
#define EVERYTHING_IPC_SORT_TYPE_NAME_DESCENDING						10
#define EVERYTHING_IPC_SORT_DATE_CREATED_ASCENDING						11
#define EVERYTHING_IPC_SORT_DATE_CREATED_DESCENDING						12
#define EVERYTHING_IPC_SORT_DATE_MODIFIED_ASCENDING						13
#define EVERYTHING_IPC_SORT_DATE_MODIFIED_DESCENDING					14
#define EVERYTHING_IPC_SORT_ATTRIBUTES_ASCENDING						15
#define EVERYTHING_IPC_SORT_ATTRIBUTES_DESCENDING						16
#define EVERYTHING_IPC_SORT_FILE_LIST_FILENAME_ASCENDING				17
#define EVERYTHING_IPC_SORT_FILE_LIST_FILENAME_DESCENDING				18
#define EVERYTHING_IPC_SORT_RUN_COUNT_ASCENDING							19
#define EVERYTHING_IPC_SORT_RUN_COUNT_DESCENDING						20
#define EVERYTHING_IPC_SORT_DATE_RECENTLY_CHANGED_ASCENDING				21
#define EVERYTHING_IPC_SORT_DATE_RECENTLY_CHANGED_DESCENDING			22
#define EVERYTHING_IPC_SORT_DATE_ACCESSED_ASCENDING						23
#define EVERYTHING_IPC_SORT_DATE_ACCESSED_DESCENDING					24
#define EVERYTHING_IPC_SORT_DATE_RUN_ASCENDING							25
#define EVERYTHING_IPC_SORT_DATE_RUN_DESCENDING							26

#define EVERYTHING_IPC_QUERY2_REQUEST_NAME								0x00000001
#define EVERYTHING_IPC_QUERY2_REQUEST_PATH								0x00000002
#define EVERYTHING_IPC_QUERY2_REQUEST_FULL_PATH_AND_NAME				0x00000004
#define EVERYTHING_IPC_QUERY2_REQUEST_EXTENSION							0x00000008
#define EVERYTHING_IPC_QUERY2_REQUEST_SIZE								0x00000010
#define EVERYTHING_IPC_QUERY2_REQUEST_DATE_CREATED						0x00000020
#define EVERYTHING_IPC_QUERY2_REQUEST_DATE_MODIFIED						0x00000040
#define EVERYTHING_IPC_QUERY2_REQUEST_DATE_ACCESSED						0x00000080
#define EVERYTHING_IPC_QUERY2_REQUEST_ATTRIBUTES						0x00000100
#define EVERYTHING_IPC_QUERY2_REQUEST_FILE_LIST_FILE_NAME				0x00000200
#define EVERYTHING_IPC_QUERY2_REQUEST_RUN_COUNT							0x00000400
#define EVERYTHING_IPC_QUERY2_REQUEST_DATE_RUN							0x00000800
#define EVERYTHING_IPC_QUERY2_REQUEST_DATE_RECENTLY_CHANGED				0x00001000
#define EVERYTHING_IPC_QUERY2_REQUEST_HIGHLIGHTED_NAME					0x00002000
#define EVERYTHING_IPC_QUERY2_REQUEST_HIGHLIGHTED_PATH					0x00004000
#define EVERYTHING_IPC_QUERY2_REQUEST_HIGHLIGHTED_FULL_PATH_AND_NAME	0x00008000

#define EVERYTHING_IPC_FILE_INFO_FILE_SIZE								1
#define EVERYTHING_IPC_FILE_INFO_FOLDER_SIZE							2
#define EVERYTHING_IPC_FILE_INFO_DATE_CREATED							3
#define EVERYTHING_IPC_FILE_INFO_DATE_MODIFIED							4
#define EVERYTHING_IPC_FILE_INFO_DATE_ACCESSED							5
#define EVERYTHING_IPC_FILE_INFO_ATTRIBUTES								6

#pragma pack (push,1)

//
// Varible sized query struct sent to everything.
//
// sent in the form of a WM_COPYDATA message with EVERYTHING_IPC_COPYDATA_QUERY2 as the 
// dwData member in the COPYDATASTRUCT struct.
// set the lpData member of the COPYDATASTRUCT struct to point to your EVERYTHING_IPC_QUERY struct.
// set the cbData member of the COPYDATASTRUCT struct to the size of the 
// EVERYTHING_IPC_QUERY struct minus the size of a TCHAR plus the length of the search string in bytes plus 
// one TCHAR for the null terminator.
//
// NOTE: Everything will only do one query per window.
// Sending another query when a query has not completed 
// will cancel the old query and start the new one. 
//
// Everything will send the results to the reply_hwnd in the form of a 
// WM_COPYDATA message with the dwData value you specify.
// 
// Everything will return TRUE if successful.
// returns FALSE if not supported.
//
// If you query with EVERYTHING_IPC_COPYDATA_QUERYW, the results sent from Everything will be Unicode.
//

// ASCII version
typedef struct EVERYTHING_IPC_QUERY2
{
	// the window that will receive the new results.
	// only 32bits are required to store a window handle. (even on x64)
	DWORD reply_hwnd;
	
	// the value to set the dwData member in the COPYDATASTRUCT struct 
	// sent by Everything when the query is complete.
	DWORD reply_copydata_message;
	
	// search flags (see EVERYTHING_IPC_MATCHCASE | EVERYTHING_IPC_MATCHWHOLEWORD | EVERYTHING_IPC_MATCHPATH)
	DWORD search_flags; 
	
	// only return results after 'offset' results (0 to return from the first result)
	// useful for scrollable lists
	DWORD offset; 
	
	// the number of results to return 
	// zero to return no results
	// EVERYTHING_IPC_ALLRESULTS to return ALL results
	DWORD max_results;
	
	// request types.
	// one or more of EVERYTHING_IPC_QUERY2_REQUEST_* types.
	DWORD request_flags;

	// sort type, set to one of EVERYTHING_IPC_SORT_* types.
	// set to EVERYTHING_IPC_SORT_NAME_ASCENDING for the best performance (there will never be a performance hit when sorting by name ascending).
	// Other sorts will also be instant if the corresponding fast sort is enabled from Tools -> Options -> Indexes.
	DWORD sort_type;

	// followed by null terminated search.
	// TCHAR search_string[1];
		
}EVERYTHING_IPC_QUERY2;

typedef struct EVERYTHING_IPC_ITEM2
{
	// item flags one of (EVERYTHING_IPC_FOLDER|EVERYTHING_IPC_DRIVE|EVERYTHING_IPC_ROOT)
	DWORD flags;
	
	// offset from the start of the EVERYTHING_IPC_LIST2 struct to the data content
	DWORD data_offset;

	// data found at data_offset
	// if EVERYTHING_IPC_QUERY2_REQUEST_NAME was set in request_flags, DWORD name_length in characters (excluding the null terminator); followed by null terminated text.
	// if EVERYTHING_IPC_QUERY2_REQUEST_PATH was set in request_flags, DWORD name_length in characters (excluding the null terminator); followed by null terminated text.
	// if EVERYTHING_IPC_QUERY2_REQUEST_FULL_PATH_AND_NAME was set in request_flags, DWORD name_length (excluding the null terminator); followed by null terminated text.
	// if EVERYTHING_IPC_QUERY2_REQUEST_SIZE was set in request_flags, LARGE_INTERGER size;
	// if EVERYTHING_IPC_QUERY2_REQUEST_EXTENSION was set in request_flags, DWORD name_length in characters (excluding the null terminator); followed by null terminated text;
	// if EVERYTHING_IPC_QUERY2_REQUEST_TYPE_NAME was set in request_flags, DWORD name_length in characters (excluding the null terminator); followed by null terminated text;
	// if EVERYTHING_IPC_QUERY2_REQUEST_DATE_CREATED was set in request_flags, FILETIME date;
	// if EVERYTHING_IPC_QUERY2_REQUEST_DATE_MODIFIED was set in request_flags, FILETIME date;
	// if EVERYTHING_IPC_QUERY2_REQUEST_DATE_ACCESSED was set in request_flags, FILETIME date;
	// if EVERYTHING_IPC_QUERY2_REQUEST_ATTRIBUTES was set in request_flags, DWORD attributes;
	// if EVERYTHING_IPC_QUERY2_REQUEST_FILELIST_FILENAME was set in request_flags, DWORD name_length in characters (excluding the null terminator); followed by null terminated text;
	// if EVERYTHING_IPC_QUERY2_REQUEST_RUN_COUNT was set in request_flags, DWORD run_count;
	// if EVERYTHING_IPC_QUERY2_REQUEST_DATE_RUN was set in request_flags, FILETIME date;
	// if EVERYTHING_IPC_QUERY2_REQUEST_DATE_RECENTLY_CHANGED was set in request_flags, FILETIME date;
	// if EVERYTHING_IPC_QUERY2_REQUEST_HIGHLIGHTED_NAME was set in request_flags, DWORD name_length in characters (excluding the null terminator); followed by null terminated text; ** = *, *text* = highlighted text
	// if EVERYTHING_IPC_QUERY2_REQUEST_HIGHLIGHTED_PATH was set in request_flags, DWORD name_length in characters (excluding the null terminator); followed by null terminated text; ** = *, *text* = highlighted text
	// if EVERYTHING_IPC_QUERY2_REQUEST_HIGHLIGHTED_FULL_PATH_AND_NAME was set in request_flags, DWORD name_length in characters (excluding the null terminator); followed by null terminated text; ** = *, *text* = highlighted text
	
}EVERYTHING_IPC_ITEM2;

typedef struct EVERYTHING_IPC_LIST2
{
	// number of items found.
	DWORD totitems;
	
	// the number of items available.
	DWORD numitems;

	// index offset of the first result in the item list.
	DWORD offset;
	
	// valid request types.
	DWORD request_flags;
	
	// this sort type.
	// one of EVERYTHING_IPC_SORT_* types.
	// maybe different to requested sort type.
	DWORD sort_type;
	
	// items follow.
	// EVERYTHING_IPC_ITEM2 items[numitems]
	
	// item data follows.
	
}EVERYTHING_IPC_LIST2;

#pragma pack (pop)

// Get the Run Count for a file, by filename.
// COPYDATASTRUCT cds;
// cds.dwData = EVERYTHING_IPC_COPYDATA_GET_RUN_COUNTA;
// cds.lpData = TEXT("C:\\folder\\file.txt");
// cds.cbData = size in bytes of cds.lpData including null terminator.
// SendMessage(everything_taskbar_notification_hwnd,WM_COPYDATA,(WPARAM)(HWND)notify_hwnd,(LPARAM)(COPYDATASTRUCT *)&cds);

#define EVERYTHING_IPC_COPYDATA_GET_RUN_COUNTA							19
#define EVERYTHING_IPC_COPYDATA_GET_RUN_COUNTW							20

#pragma pack (push,1)

typedef struct EVERYTHING_IPC_RUN_HISTORY
{
	DWORD run_count;
	
	// null terminated ansi/wchar filename follows.
	// TCHAR filename[];
	
}EVERYTHING_IPC_RUN_HISTORY;

#pragma pack (pop)

// Set the Run Count by one for a file, by filename.
// COPYDATASTRUCT cds;
// cds.dwData = EVERYTHING_IPC_COPYDATA_GET_RUN_COUNTA;
// cds.lpData = (EVERYTHING_IPC_RUN_HISTORY *)run_history;
// cds.cbData = size in bytes of cds.lpData including null terminator.
// SendMessage(everything_taskbar_notification_hwnd,WM_COPYDATA,(WPARAM)(HWND)notify_hwnd,(LPARAM)(COPYDATASTRUCT *)&cds);

#define EVERYTHING_IPC_COPYDATA_SET_RUN_COUNTA							21
#define EVERYTHING_IPC_COPYDATA_SET_RUN_COUNTW							22

// Increment the Run Count by one for a file, by filename.
// COPYDATASTRUCT cds;
// cds.dwData = EVERYTHING_IPC_COPYDATA_GET_RUN_COUNTA;
// cds.lpData = TEXT("C:\\folder\\file.txt");
// cds.cbData = size in bytes of cds.lpData including null terminator.
// SendMessage(everything_taskbar_notification_hwnd,WM_COPYDATA,(WPARAM)(HWND)notify_hwnd,(LPARAM)(COPYDATASTRUCT *)&cds);

#define EVERYTHING_IPC_COPYDATA_INC_RUN_COUNTA							23
#define EVERYTHING_IPC_COPYDATA_INC_RUN_COUNTW							24

#ifdef UNICODE
#define EVERYTHING_IPC_COPYDATA_QUERY2									EVERYTHING_IPC_COPYDATA_QUERY2W
#else
#define EVERYTHING_IPC_COPYDATA_QUERY2									EVERYTHING_IPC_COPYDATA_QUERY2A
#endif

// end extern C
#ifdef __cplusplus
}
#endif

#endif // _EVERYTHING_H_



================================================
FILE: EverythingSDK/src/Everything.c
================================================

//
// Copyright (C) 2016 David Carpenter
// 
// Permission is hereby granted, free of charge, 
// to any person obtaining a copy of this software 
// and associated documentation files (the "Software"), 
// to deal in the Software without restriction, 
// including without limitation the rights to use, 
// copy, modify, merge, publish, distribute, sublicense, 
// and/or sell copies of the Software, and to permit 
// persons to whom the Software is furnished to do so, 
// subject to the following conditions:
// 
// The above copyright notice and this permission notice shall be 
// included in all copies or substantial portions of the Software.
// 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//

// Notes:
// this project builds the dll (visual studio will also build the lib for us)
// we declare all exported calls to __stdcall, so theres no need to set the default calling standard.

// disable warnings
#pragma warning(disable : 4996) // deprecation

#define EVERYTHINGUSERAPI __declspec(dllexport)

// include
#include "../include/Everything.h"
#include "../include/Everything_IPC.h"

// return copydata code
#define _EVERYTHING_COPYDATA_QUERYREPLY		0

#define _EVERYTHING_MSGFLT_ALLOW		1

#define ES_BUF_SIZE MAX_PATH

typedef struct _EVERYTHING_tagCHANGEFILTERSTRUCT 
{
	DWORD cbSize;
	DWORD ExtStatus;
}_EVERYTHING_CHANGEFILTERSTRUCT, *_EVERYTHING_PCHANGEFILTERSTRUCT;

static void *_Everything_Alloc(DWORD size);
static void _Everything_Free(void *ptr);
static void _Everything_Initialize(void);
static void _Everything_Lock(void);
static void _Everything_Unlock(void);
static DWORD _Everything_StringLengthA(LPCSTR start);
static DWORD _Everything_StringLengthW(LPCWSTR start);
static BOOL EVERYTHINGAPI _Everything_Query(void);
static BOOL _Everything_ShouldUseVersion2(void);
static BOOL _Everything_SendIPCQuery(void);
static BOOL _Everything_SendIPCQuery2(HWND everything_hwnd);
static void _Everything_FreeLists(void);
static BOOL _Everything_IsValidResultIndex(DWORD dwIndex);
static void *_Everything_GetRequestData(DWORD dwIndex,DWORD dwRequestType);
static BOOL _Everything_IsSchemeNameW(LPCWSTR s);
static BOOL _Everything_IsSchemeNameA(LPCSTR s);
static void _Everything_ChangeWindowMessageFilter(HWND hwnd);
static BOOL _Everything_GetResultRequestData(DWORD dwIndex,DWORD dwRequestType,void *data,int size);
static LPCWSTR _Everything_GetResultRequestStringW(DWORD dwIndex,DWORD dwRequestType);
static LPCSTR _Everything_GetResultRequestStringA(DWORD dwIndex,DWORD dwRequestType);
static BOOL _Everything_SendAPIBoolCommand(int command,LPARAM lParam);
static DWORD _Everything_SendAPIDwordCommand(int command,LPARAM lParam);
static LRESULT _Everything_SendCopyData(int command,const void *data,int size);
static LRESULT WINAPI _Everything_window_proc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam);

// internal state
static BOOL _Everything_MatchPath = FALSE;
static BOOL _Everything_MatchCase = FALSE;
static BOOL _Everything_MatchWholeWord = FALSE;
static BOOL _Everything_Regex = FALSE;
static DWORD _Everything_LastError = FALSE;
static DWORD _Everything_Max = EVERYTHING_IPC_ALLRESULTS;
static DWORD _Everything_Offset = 0;
static DWORD _Everything_Sort = EVERYTHING_SORT_NAME_ASCENDING;
static DWORD _Everything_RequestFlags = EVERYTHING_REQUEST_PATH | EVERYTHING_REQUEST_FILE_NAME;
static BOOL _Everything_IsUnicodeQuery = FALSE;
static DWORD _Everything_QueryVersion = 0;
static BOOL _Everything_IsUnicodeSearch = FALSE;
static void *_Everything_Search = NULL; // wchar or char
static EVERYTHING_IPC_LIST2 *_Everything_List2 = NULL;
static void *_Everything_List = NULL; // EVERYTHING_IPC_LISTW or EVERYTHING_IPC_LISTA
static volatile BOOL _Everything_Initialized = FALSE;
static volatile LONG _Everything_InterlockedCount = 0;
static CRITICAL_SECTION _Everything_cs;
static HWND _Everything_ReplyWindow = 0;
static DWORD _Everything_ReplyID = 0;
static wchar_t _Everything_InstanceName[256] = {0}; // The maximum length for lpszClassName is 256
static BOOL (WINAPI *_Everything_pChangeWindowMessageFilterEx)(HWND hWnd,UINT message,DWORD action,_EVERYTHING_PCHANGEFILTERSTRUCT pChangeFilterStruct) = 0;
static HANDLE _Everything_user32_hdll = NULL;
static BOOL _Everything_GotChangeWindowMessageFilterEx = FALSE;


void es_wbuf_cat(wchar_t* buf, int max, const wchar_t* s)
{
	const wchar_t* p;
	wchar_t* d;

	max--;
	d = buf;

	while (max)
	{
		if (!*d) break;

		d++;
		max--;
	}

	p = s;
	while (max)
	{
		if (!*p) break;

		*d++ = *p;
		p++;
		max--;
	}

	*d = 0;
}

void es_wstring_cat(wchar_t* buf, const wchar_t* s)
{
	es_wbuf_cat(buf, ES_BUF_SIZE, s);
}

static HWND es_find_instance_window()
{
	wchar_t window_class[ES_BUF_SIZE];
	*window_class = 0;
	es_wstring_cat(window_class, EVERYTHING_IPC_WNDCLASSW);

	if (*_Everything_InstanceName != 0)
	{
		if (wcslen(_Everything_InstanceName) > 
			((sizeof(window_class)
				- sizeof(EVERYTHING_IPC_WNDCLASSW)
				- sizeof(L"_(")
				- sizeof(L")")) 
				/ sizeof(wchar_t))
			+ 3) // 0
		{
			// Not enough space
			return 0;
		}

		es_wstring_cat(window_class, L"_(");
		es_wstring_cat(window_class, _Everything_InstanceName);
		es_wstring_cat(window_class, L")");
	}

	HWND everything_hwnd = FindWindow(window_class, 0);
	return everything_hwnd;
}

static void _Everything_Initialize(void)
{
	if (!_Everything_Initialized)
	{	
		if (InterlockedIncrement(&_Everything_InterlockedCount) == 1)
		{
			// do the initialization..
			InitializeCriticalSection(&_Everything_cs);
			
			_Everything_Initialized = 1;
		}
		else
		{
			// wait for initialization by other thread.
			while (!_Everything_Initialized) Sleep(0);
		}
	}
}

static void _Everything_Lock(void)
{
	_Everything_Initialize();
	
	EnterCriticalSection(&_Everything_cs);
}

static void _Everything_Unlock(void)
{
	LeaveCriticalSection(&_Everything_cs);
}

// avoid other libs
static DWORD _Everything_StringLengthA(LPCSTR start)
{
	register LPCSTR s;
	
	s = start;
	
	while(*s)
	{
		s++;
	}
	
	return (DWORD)(s-start);
}

static DWORD _Everything_StringLengthW(LPCWSTR start)
{
	register LPCWSTR s;
	
	s = start;
	
	while(*s)
	{
		s++;
	}
	
	return (DWORD)(s-start);
}

void EVERYTHINGAPI Everything_SetSearchW(LPCWSTR lpString)
{
	DWORD len;
	
	_Everything_Lock();
	
	if (_Everything_Search) 
	{
		_Everything_Free(_Everything_Search);
	}
	
	len = _Everything_StringLengthW(lpString) + 1;

	_Everything_Search = _Everything_Alloc(len*sizeof(WCHAR));
	if (_Everything_Search)
	{
		CopyMemory(_Everything_Search,lpString,len*sizeof(WCHAR));
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_MEMORY;
	}
	
	_Everything_IsUnicodeSearch = 1;
	
	_Everything_Unlock();
}

void EVERYTHINGAPI Everything_SetSearchA(LPCSTR lpString)
{
	DWORD size;
	
	_Everything_Lock();
	
	if (_Everything_Search) 
	{
		_Everything_Free(_Everything_Search);
	}
	
	size = _Everything_StringLengthA(lpString) + 1;

	_Everything_Search = _Everything_Alloc(size);
	if (_Everything_Search)
	{
		CopyMemory(_Everything_Search,lpString,size);
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_MEMORY;
	}

	_Everything_IsUnicodeSearch = 0;

	_Everything_Unlock();
}

LPCSTR EVERYTHINGAPI Everything_GetSearchA(void)
{
	LPCSTR ret;
	
	_Everything_Lock();
	
	if (_Everything_Search)
	{
		if (_Everything_IsUnicodeSearch)
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;
			
			ret = NULL;
		}
		else
		{
			ret = (LPCSTR)_Everything_Search;
		}
	}
	else
	{
		ret = "";
	}

	_Everything_Unlock();

	return ret;
}

LPCWSTR EVERYTHINGAPI Everything_GetSearchW(void)
{
	LPCWSTR ret;
	
	_Everything_Lock();

	if (_Everything_Search)
	{
		if (!_Everything_IsUnicodeSearch)
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;
			
			ret = NULL;
		}
		else
		{
			ret = (LPCWSTR)_Everything_Search;
		}
	}
	else
	{
		ret = L"";
	}
	
	_Everything_Unlock();

	return ret;
}

void EVERYTHINGAPI Everything_SetMatchPath(BOOL bEnable)
{
	_Everything_Lock();

	_Everything_MatchPath = bEnable;

	_Everything_Unlock();
}

void EVERYTHINGAPI Everything_SetMatchCase(BOOL bEnable)
{
	_Everything_Lock();

	_Everything_MatchCase = bEnable;

	_Everything_Unlock();
}

void EVERYTHINGAPI Everything_SetMatchWholeWord(BOOL bEnable)
{
	_Everything_Lock();

	_Everything_MatchWholeWord = bEnable;

	_Everything_Unlock();
}

void EVERYTHINGAPI Everything_SetRegex(BOOL bEnable)
{
	_Everything_Lock();

	_Everything_Regex = bEnable;

	_Everything_Unlock();
}

void EVERYTHINGAPI Everything_SetMax(DWORD dwMax)
{
	_Everything_Lock();

	_Everything_Max = dwMax;

	_Everything_Unlock();
}

void EVERYTHINGAPI Everything_SetOffset(DWORD dwOffset)
{
	_Everything_Lock();

	_Everything_Offset = dwOffset;

	_Everything_Unlock();
}

void EVERYTHINGAPI Everything_SetSort(DWORD dwSort)
{
	_Everything_Lock();

	_Everything_Sort = dwSort;

	_Everything_Unlock();
}

EVERYTHINGUSERAPI void EVERYTHINGAPI Everything_SetRequestFlags(DWORD dwRequestFlags)
{
	_Everything_Lock();

	_Everything_RequestFlags = dwRequestFlags;

	_Everything_Unlock();
}

void EVERYTHINGAPI Everything_SetReplyWindow(HWND hWnd)
{
	_Everything_Lock();

	_Everything_ReplyWindow = hWnd;

	_Everything_Unlock();
}
	
void EVERYTHINGAPI Everything_SetReplyID(DWORD dwId)
{
	_Everything_Lock();

	_Everything_ReplyID = dwId;

	_Everything_Unlock();
}
	
BOOL EVERYTHINGAPI Everything_GetMatchPath(void)
{
	BOOL ret;
	
	_Everything_Lock();
	
	ret = _Everything_MatchPath;

	_Everything_Unlock();
	
	return ret;
}

BOOL EVERYTHINGAPI Everything_GetMatchCase(void)
{
	BOOL ret;
	
	_Everything_Lock();
	
	ret = _Everything_MatchCase;

	_Everything_Unlock();
	
	return ret;
}

BOOL EVERYTHINGAPI Everything_GetMatchWholeWord(void)
{
	BOOL ret;
	
	_Everything_Lock();
	
	ret = _Everything_MatchWholeWord;

	_Everything_Unlock();
	
	return ret;
}

BOOL EVERYTHINGAPI Everything_GetRegex(void)
{
	BOOL ret;
	
	_Everything_Lock();
	
	ret = _Everything_Regex;

	_Everything_Unlock();
	
	return ret;
}

DWORD EVERYTHINGAPI Everything_GetMax(void)
{
	DWORD ret;
	
	_Everything_Lock();
	
	ret = _Everything_Max;

	_Everything_Unlock();
	
	return ret;
}

DWORD EVERYTHINGAPI Everything_GetOffset(void)
{
	DWORD ret;
	
	_Everything_Lock();
	
	ret = _Everything_Offset;

	_Everything_Unlock();
	
	return ret;
}

DWORD EVERYTHINGAPI Everything_GetSort(void)
{
	DWORD ret;
	
	_Everything_Lock();
	
	ret = _Everything_Sort;

	_Everything_Unlock();
	
	return ret;
}

EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetRequestFlags(void)
{
	DWORD ret;
	
	_Everything_Lock();
	
	ret = _Everything_RequestFlags;

	_Everything_Unlock();
	
	return ret;
}

HWND EVERYTHINGAPI Everything_GetReplyWindow(void)
{
	HWND ret;
	
	_Everything_Lock();

	ret = _Everything_ReplyWindow;

	_Everything_Unlock();
	
	return ret;
}
	
DWORD EVERYTHINGAPI Everything_GetReplyID(void)
{
	DWORD ret;
	
	_Everything_Lock();

	ret = _Everything_ReplyID;

	_Everything_Unlock();
	
	return ret;
}
	
// custom window proc
static LRESULT WINAPI _Everything_window_proc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
	switch(msg)
	{
		case WM_COPYDATA:
		{
			COPYDATASTRUCT *cds = (COPYDATASTRUCT *)lParam;
			
			switch(cds->dwData)
			{
				case _EVERYTHING_COPYDATA_QUERYREPLY:
					
					if (_Everything_QueryVersion == 2)
					{
						_Everything_FreeLists();
						
						_Everything_List2 = _Everything_Alloc(cds->cbData);
						
						if (_Everything_List2)
						{
							CopyMemory(_Everything_List2,cds->lpData,cds->cbData);
						}
						else
						{
							_Everything_LastError = EVERYTHING_ERROR_MEMORY;
						}
						
						PostQuitMessage(0);
					}
					else
					if (_Everything_QueryVersion == 1)
					{
						_Everything_FreeLists();
						
						_Everything_List = _Everything_Alloc(cds->cbData);
						
						if (_Everything_List)
						{
							CopyMemory(_Everything_List,cds->lpData,cds->cbData);
						}
						else
						{
							_Everything_LastError = EVERYTHING_ERROR_MEMORY;
						}
						
						PostQuitMessage(0);

						return TRUE;
					}
					
					break;
			}
			
			break;
		}
	}
	
	return DefWindowProc(hwnd,msg,wParam,lParam);
}

// get the search length
static DWORD _Everything_GetSearchLengthW(void)
{
	if (_Everything_Search)
	{
		if (_Everything_IsUnicodeSearch)
		{
			return _Everything_StringLengthW((LPCWSTR )_Everything_Search);
		}
		else
		{
			return MultiByteToWideChar(CP_ACP,0,(LPCSTR )_Everything_Search,-1,0,0);
		}
	}
	
	return 0;
}

// get the search length
static DWORD _Everything_GetSearchLengthA(void)
{
	if (_Everything_Search)
	{
		if (_Everything_IsUnicodeSearch)
		{
			return WideCharToMultiByte(CP_ACP,0,(LPCWSTR )_Everything_Search,-1,0,0,0,0);
		}
		else
		{
			return _Everything_StringLengthA((LPCSTR )_Everything_Search);
		}
	}
	
	return 0;
}

// get the search length
static void _Everything_GetSearchTextW(LPWSTR wbuf)
{
	DWORD wlen;
	
	if (_Everything_Search)
	{
		wlen = _Everything_GetSearchLengthW();
			
		if (_Everything_IsUnicodeSearch)
		{
			CopyMemory(wbuf,_Everything_Search,(wlen+1) * sizeof(WCHAR));
			
			return;
		}
		else
		{
			MultiByteToWideChar(CP_ACP,0,(LPCSTR )_Everything_Search,-1,wbuf,wlen+1);
			
			return;
		}
	}

	*wbuf = 0;
}

// get the search length
static void _Everything_GetSearchTextA(LPSTR buf)
{
	DWORD len;
	
	if (_Everything_Search)
	{
		len = _Everything_GetSearchLengthA();
			
		if (_Everything_IsUnicodeSearch)
		{
			WideCharToMultiByte(CP_ACP,0,(LPCWSTR )_Everything_Search,-1,buf,len+1,0,0);
			
			return;
		}
		else
		{
			CopyMemory(buf,_Everything_Search,len+1);
			
			return;
		}
	}

	*buf = 0;
}

void EVERYTHINGAPI Everything_SetInstanceName(LPCWSTR name)
{
	if (name == 0)
	{
		*_Everything_InstanceName = 0;
		return;
	}
	if (wcslen(name) > (sizeof(_Everything_InstanceName) / sizeof(wchar_t)))
	{
		return;
	}

	wcscpy(_Everything_InstanceName, name);
}

static DWORD EVERYTHINGAPI _Everything_query_thread_proc(void *param)
{
	HWND everything_hwnd;

	everything_hwnd = es_find_instance_window();
	if (everything_hwnd)
	{
		WNDCLASSEX wcex;
		HWND hwnd;
		MSG msg;
		int ret;
		
		ZeroMemory(&wcex,sizeof(WNDCLASSEX));
		wcex.cbSize = sizeof(WNDCLASSEX);
		
		if (!GetClassInfoEx(GetModuleHandle(0),TEXT("EVERYTHING_DLL"),&wcex))
		{
			ZeroMemory(&wcex,sizeof(WNDCLASSEX));
			wcex.cbSize = sizeof(WNDCLASSEX);
			wcex.hInstance = GetModuleHandle(0);
			wcex.lpfnWndProc = _Everything_window_proc;
			wcex.lpszClassName = TEXT("EVERYTHING_DLL");
			
			if (!RegisterClassEx(&wcex))
			{
				_Everything_LastError = EVERYTHING_ERROR_REGISTERCLASSEX;
				
				return 0;
			}
		}
		
//FIXME: this should be static so we keep file info cached.		
		
		hwnd = CreateWindow(
			TEXT("EVERYTHING_DLL"),
			TEXT(""),
			0,
			0,0,0,0,
			0,0,GetModuleHandle(0),0);
			
		if (hwnd)
		{
			_Everything_ChangeWindowMessageFilter(hwnd);
			
			_Everything_ReplyWindow = hwnd;
			_Everything_ReplyID = _EVERYTHING_COPYDATA_QUERYREPLY;
			
			if (_Everything_SendIPCQuery())
			{
				// message pump
loop:

				WaitMessage();
				
				// update windows
				while(PeekMessage(&msg,NULL,0,0,0)) 
				{
					ret = (DWORD)GetMessage(&msg,0,0,0);
					if (ret == -1) goto exit;
					if (!ret) goto exit;
					
					// let windows handle it.
					TranslateMessage(&msg);
					DispatchMessage(&msg);
				}			
				
				goto loop;
			}

exit:

			// get result from window.
			DestroyWindow(hwnd);
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_CREATEWINDOW;
		}
	}
	else
	{
		// the everything window was not found.
		// we can optionally RegisterWindowMessage("EVERYTHING_IPC_CREATED") and 
		// wait for Everything to post this message to all top level windows when its up and running.
		_Everything_LastError = EVERYTHING_ERROR_IPC;
	}

	return 0;
}

static BOOL EVERYTHINGAPI _Everything_Query(void)
{
	HANDLE hthread;
	DWORD thread_id;
	
	// reset the error flag.
	_Everything_LastError = 0;
	
	hthread = CreateThread(0,0,_Everything_query_thread_proc,0,0,&thread_id);
		
	if (hthread)
	{
		WaitForSingleObject(hthread,INFINITE);
		
		CloseHandle(hthread);
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_CREATETHREAD;
	}
	
	return (_Everything_LastError == 0)?TRUE:FALSE;
}

static BOOL _Everything_SendIPCQuery2(HWND everything_hwnd)
{
	BOOL ret;
	DWORD size;
	EVERYTHING_IPC_QUERY2 *query;
		
	// try version 2.
	
	if (_Everything_IsUnicodeQuery)
	{
		// unicode
		size = sizeof(EVERYTHING_IPC_QUERY2) + ((_Everything_GetSearchLengthW() + 1) * sizeof(WCHAR));
	}
	else
	{
		// ansi
		size = sizeof(EVERYTHING_IPC_QUERY2) + ((_Everything_GetSearchLengthA() + 1) * sizeof(char));
	}
	
	// alloc
	query = _Everything_Alloc(size);
	
	if (query)
	{
		COPYDATASTRUCT cds;

		query->max_results = _Everything_Max;
		query->offset = _Everything_Offset;
		query->reply_copydata_message = _Everything_ReplyID;
		query->search_flags = (_Everything_Regex?EVERYTHING_IPC_REGEX:0) | (_Everything_MatchCase?EVERYTHING_IPC_MATCHCASE:0) | (_Everything_MatchWholeWord?EVERYTHING_IPC_MATCHWHOLEWORD:0) | (_Everything_MatchPath?EVERYTHING_IPC_MATCHPATH:0);
		query->reply_hwnd = (DWORD)(DWORD_PTR)_Everything_ReplyWindow;
		query->sort_type = (DWORD)_Everything_Sort;
		query->request_flags = (DWORD)_Everything_RequestFlags;

		if (_Everything_IsUnicodeQuery)
		{
			_Everything_GetSearchTextW((LPWSTR)(query + 1));
		}
		else
		{
			_Everything_GetSearchTextA((LPSTR)(query + 1));
		}

		cds.cbData = size;
		cds.dwData = _Everything_IsUnicodeQuery ? EVERYTHING_IPC_COPYDATA_QUERY2W : EVERYTHING_IPC_COPYDATA_QUERY2A;
		cds.lpData = query;
	
		if (SendMessage(everything_hwnd,WM_COPYDATA,(WPARAM)_Everything_ReplyWindow,(LPARAM)&cds))
		{
			// successful.
			ret = TRUE;
		}
		else
		{
			// no ipc
			_Everything_LastError = EVERYTHING_ERROR_IPC;
			
			ret = FALSE;
		}
		
		// get result from window.
		_Everything_Free(query);
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_MEMORY;
		
		ret = FALSE;
	}
	
	return ret;
}

static BOOL _Everything_ShouldUseVersion2(void)
{
	if (_Everything_RequestFlags != (EVERYTHING_REQUEST_PATH | EVERYTHING_REQUEST_FILE_NAME))
	{
		return TRUE;	
	}

	if (_Everything_Sort != EVERYTHING_SORT_NAME_ASCENDING)
	{
		return TRUE;	
	}
	
	// just use version 1
	return FALSE;
}

static BOOL _Everything_SendIPCQuery(void)
{
	HWND everything_hwnd;
	BOOL ret;
	
		// find the everything ipc window.
	everything_hwnd = es_find_instance_window();
	if (everything_hwnd)
	{
		_Everything_QueryVersion = 2;
		
		// try version 2 first (if we specified some non-version 1 request flags or sort)
		if ((_Everything_ShouldUseVersion2()) && (_Everything_SendIPCQuery2(everything_hwnd)))
		{
			// sucessful.
			ret = TRUE;		
		}
		else
		{
			DWORD len;
			DWORD size;
			void *query;

			// try version 1.		
			
			if (_Everything_IsUnicodeQuery)
			{
				// unicode
				len = _Everything_GetSearchLengthW();
				
				size = sizeof(EVERYTHING_IPC_QUERYW) - sizeof(WCHAR) + len*sizeof(WCHAR) + sizeof(WCHAR);
			}
			else
			{
				// ansi
				len = _Everything_GetSearchLengthA();
				
				size = sizeof(EVERYTHING_IPC_QUERYA) - sizeof(char) + (len*sizeof(char)) + sizeof(char);
			}
			
			// alloc
			query = _Everything_Alloc(size);
			
			if (query)
			{
				COPYDATASTRUCT cds;
				
				if (_Everything_IsUnicodeQuery)
				{
					((EVERYTHING_IPC_QUERYW *)query)->max_results = _Everything_Max;
					((EVERYTHING_IPC_QUERYW *)query)->offset = _Everything_Offset;
					((EVERYTHING_IPC_QUERYW *)query)->reply_copydata_message = _Everything_ReplyID;
					((EVERYTHING_IPC_QUERYW *)query)->search_flags = (_Everything_Regex?EVERYTHING_IPC_REGEX:0) | (_Everything_MatchCase?EVERYTHING_IPC_MATCHCASE:0) | (_Everything_MatchWholeWord?EVERYTHING_IPC_MATCHWHOLEWORD:0) | (_Everything_MatchPath?EVERYTHING_IPC_MATCHPATH:0);
					((EVERYTHING_IPC_QUERYW *)query)->reply_hwnd = (DWORD)(DWORD_PTR)_Everything_ReplyWindow;

					_Everything_GetSearchTextW(((EVERYTHING_IPC_QUERYW *)query)->search_string);
				}
				else
				{
					((EVERYTHING_IPC_QUERYA *)query)->max_results = _Everything_Max;
					((EVERYTHING_IPC_QUERYA *)query)->offset = _Everything_Offset;
					((EVERYTHING_IPC_QUERYA *)query)->reply_copydata_message = _Everything_ReplyID;
					((EVERYTHING_IPC_QUERYA *)query)->search_flags = (_Everything_Regex?EVERYTHING_IPC_REGEX:0) | (_Everything_MatchCase?EVERYTHING_IPC_MATCHCASE:0) | (_Everything_MatchWholeWord?EVERYTHING_IPC_MATCHWHOLEWORD:0) | (_Everything_MatchPath?EVERYTHING_IPC_MATCHPATH:0);
					((EVERYTHING_IPC_QUERYA *)query)->reply_hwnd = (DWORD)(DWORD_PTR)_Everything_ReplyWindow;
				
					_Everything_GetSearchTextA(((EVERYTHING_IPC_QUERYA *)query)->search_string);
				}

				cds.cbData = size;
				cds.dwData = _Everything_IsUnicodeQuery ? EVERYTHING_IPC_COPYDATAQUERYW : EVERYTHING_IPC_COPYDATAQUERYA;
				cds.lpData = query;
			
				_Everything_QueryVersion = 1;
				
				if (SendMessage(everything_hwnd,WM_COPYDATA,(WPARAM)_Everything_ReplyWindow,(LPARAM)&cds))
				{
					// sucessful.
					ret = TRUE;
				}
				else
				{
					// no ipc
					_Everything_LastError = EVERYTHING_ERROR_IPC;
					
					ret = FALSE;
				}
				
				// get result from window.
				_Everything_Free(query);
			}
			else
			{
				_Everything_LastError = EVERYTHING_ERROR_MEMORY;
				
				ret = FALSE;
			}
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_IPC;
		
		ret = FALSE;
	}

	return ret;
}

BOOL EVERYTHINGAPI Everything_QueryA(BOOL bWait)
{
	BOOL ret;
	
	_Everything_Lock();

	_Everything_IsUnicodeQuery = FALSE;
	
	if (bWait)	
	{
		ret = _Everything_Query();
	}
	else
	{
		ret = _Everything_SendIPCQuery();
	}

	_Everything_Unlock();
	
	return ret;
}

BOOL EVERYTHINGAPI Everything_QueryW(BOOL bWait)
{
	BOOL ret;
	
	_Everything_Lock();
	
	_Everything_IsUnicodeQuery = TRUE;
	
	if (bWait)	
	{
		ret = _Everything_Query();
	}
	else
	{
		ret = _Everything_SendIPCQuery();
	}

	_Everything_Unlock();
	
	return ret;
}

static int __cdecl _Everything_CompareA(const void *a,const void *b)
{
	int i;
	
	i = stricmp(EVERYTHING_IPC_ITEMPATHA(_Everything_List,a),EVERYTHING_IPC_ITEMPATHA(_Everything_List,b));
	
	if (!i)
	{
		return stricmp(EVERYTHING_IPC_ITEMFILENAMEA(_Everything_List,a),EVERYTHING_IPC_ITEMFILENAMEA(_Everything_List,b));
	}
	else
	if (i > 0)
	{
		return 1;
	}
	else
	{
		return -1;
	}
}

static int __cdecl _Everything_CompareW(const void *a,const void *b)
{
	int i;
	
	i = wcsicmp(EVERYTHING_IPC_ITEMPATHW(_Everything_List,a),EVERYTHING_IPC_ITEMPATHW(_Everything_List,b));
	
	if (!i)
	{
		return wcsicmp(EVERYTHING_IPC_ITEMFILENAMEW(_Everything_List,a),EVERYTHING_IPC_ITEMFILENAMEW(_Everything_List,b));
	}
	else
	if (i > 0)
	{
		return 1;
	}
	else
	{
		return -1;
	}
}

void EVERYTHINGAPI Everything_SortResultsByPath(void)
{
	_Everything_Lock();
	
	if (_Everything_List)
	{
		if (_Everything_IsUnicodeQuery)
		{
			qsort(((EVERYTHING_IPC_LISTW *)_Everything_List)->items,((EVERYTHING_IPC_LISTW *)_Everything_List)->numitems,sizeof(EVERYTHING_IPC_ITEMW),_Everything_CompareW);
		}
		else
		{
			qsort(((EVERYTHING_IPC_LISTA *)_Everything_List)->items,((EVERYTHING_IPC_LISTA *)_Everything_List)->numitems,sizeof(EVERYTHING_IPC_ITEMA),_Everything_CompareA);
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;
	}
	
//FIXME://TODO: sort list2

	_Everything_Unlock();
}

DWORD EVERYTHINGAPI Everything_GetLastError(void)
{
	DWORD ret;
		
	_Everything_Lock();
	
	ret = _Everything_LastError;

	_Everything_Unlock();
	
	return ret;
}

DWORD EVERYTHINGAPI Everything_GetNumFileResults(void)
{
	DWORD ret;
	
	_Everything_Lock();

	if (_Everything_List)
	{
		if (_Everything_IsUnicodeQuery)
		{
			ret = ((EVERYTHING_IPC_LISTW *)_Everything_List)->numfiles;
		}
		else
		{
			ret = ((EVERYTHING_IPC_LISTA *)_Everything_List)->numfiles;
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		ret = 0;
	}

	_Everything_Unlock();
	
	return ret;
}

DWORD EVERYTHINGAPI Everything_GetNumFolderResults(void)
{
	DWORD ret;

	_Everything_Lock();

	if (_Everything_List)
	{
		if (_Everything_IsUnicodeQuery)
		{
			ret = ((EVERYTHING_IPC_LISTW *)_Everything_List)->numfolders;
		}
		else
		{
			ret = ((EVERYTHING_IPC_LISTA *)_Everything_List)->numfolders;
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		ret = 0;
	}

	_Everything_Unlock();
	
	return ret;
}

DWORD EVERYTHINGAPI Everything_GetNumResults(void)
{
	DWORD ret;
	
	_Everything_Lock();

	if (_Everything_List)
	{
		if (_Everything_IsUnicodeQuery)
		{
			ret = ((EVERYTHING_IPC_LISTW *)_Everything_List)->numitems;
		}
		else
		{
			ret = ((EVERYTHING_IPC_LISTA *)_Everything_List)->numitems;
		}
	}
	else
	if (_Everything_List2)
	{
		ret = _Everything_List2->numitems;
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		ret = 0;
	}

	_Everything_Unlock();
	
	return ret;
}

DWORD EVERYTHINGAPI Everything_GetTotFileResults(void)
{
	DWORD ret;

	_Everything_Lock();
	
	if (_Everything_List)
	{
		if (_Everything_IsUnicodeQuery)
		{
			ret = ((EVERYTHING_IPC_LISTW *)_Everything_List)->totfiles;
		}
		else
		{
			ret = ((EVERYTHING_IPC_LISTA *)_Everything_List)->totfiles;
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		ret = 0;
	}

	_Everything_Unlock();
	
	return ret;
}

DWORD EVERYTHINGAPI Everything_GetTotFolderResults(void)
{
	DWORD ret;

	_Everything_Lock();

	if (_Everything_List)
	{
		if (_Everything_IsUnicodeQuery)
		{
			ret = ((EVERYTHING_IPC_LISTW *)_Everything_List)->totfolders;
		}
		else
		{
			ret = ((EVERYTHING_IPC_LISTA *)_Everything_List)->totfolders;
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		ret = 0;
	}

	_Everything_Unlock();
	
	return ret;
}

DWORD EVERYTHINGAPI Everything_GetTotResults(void)
{
	DWORD ret;
	
	_Everything_Lock();

	if (_Everything_List)
	{
		if (_Everything_IsUnicodeQuery)
		{
			ret = ((EVERYTHING_IPC_LISTW *)_Everything_List)->totitems;
		}
		else
		{
			ret = ((EVERYTHING_IPC_LISTA *)_Everything_List)->totitems;
		}
	}
	else
	if (_Everything_List2)
	{
		ret = _Everything_List2->totitems;
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		ret = 0;
	}

	_Everything_Unlock();
	
	return ret;
}

BOOL EVERYTHINGAPI Everything_IsVolumeResult(DWORD dwIndex)
{
	BOOL ret;
	
	_Everything_Lock();

	if (_Everything_List)
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			if (_Everything_IsUnicodeQuery)
			{
				ret = (((EVERYTHING_IPC_LISTW *)_Everything_List)->items[dwIndex].flags & EVERYTHING_IPC_DRIVE) ? TRUE : FALSE;
			}
			else
			{
				ret = (((EVERYTHING_IPC_LISTA *)_Everything_List)->items[dwIndex].flags & EVERYTHING_IPC_DRIVE) ? TRUE : FALSE;
			}
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			ret = FALSE;
		}
	}
	else
	if (_Everything_List2)
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			ret = (((EVERYTHING_IPC_ITEM2 *)(_Everything_List2 + 1))[dwIndex].flags & EVERYTHING_IPC_DRIVE) ? TRUE : FALSE;
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			ret = FALSE;
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		ret = FALSE;
	}
	
	_Everything_Unlock();

	return ret;	
}

BOOL EVERYTHINGAPI Everything_IsFolderResult(DWORD dwIndex)
{
	BOOL ret;
	
	_Everything_Lock();

	if (_Everything_List)
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			if (_Everything_IsUnicodeQuery)
			{
				ret = ((EVERYTHING_IPC_LISTW *)_Everything_List)->items[dwIndex].flags & (EVERYTHING_IPC_FOLDER) ? TRUE : FALSE;
			}
			else
			{
				ret = ((EVERYTHING_IPC_LISTA *)_Everything_List)->items[dwIndex].flags & (EVERYTHING_IPC_FOLDER) ? TRUE : FALSE;
			}
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			ret = FALSE;
		}
	}
	else
	if (_Everything_List2)
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			ret = (((EVERYTHING_IPC_ITEM2 *)(_Everything_List2 + 1))[dwIndex].flags & (EVERYTHING_IPC_FOLDER)) ? TRUE : FALSE;
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			ret = FALSE;
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		ret = FALSE;
	}

	_Everything_Unlock();
	
	return ret;
}

BOOL EVERYTHINGAPI Everything_IsFileResult(DWORD dwIndex)
{
	BOOL ret;
	
	_Everything_Lock();

	if (_Everything_List)
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			if (_Everything_IsUnicodeQuery)
			{
				ret = (((EVERYTHING_IPC_LISTW *)_Everything_List)->items[dwIndex].flags & (EVERYTHING_IPC_FOLDER)) ? FALSE : TRUE;
			}
			else
			{
				ret = (((EVERYTHING_IPC_LISTA *)_Everything_List)->items[dwIndex].flags & (EVERYTHING_IPC_FOLDER)) ? FALSE : TRUE;
			}
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			ret = FALSE;
		}
	}
	else
	if (_Everything_List2)
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			ret = (((EVERYTHING_IPC_ITEM2 *)(_Everything_List2 + 1))[dwIndex].flags & (EVERYTHING_IPC_FOLDER)) ? FALSE : TRUE;
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			ret = FALSE;
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		ret = FALSE;
	}
	
	_Everything_Unlock();
	
	return ret;
}

LPCWSTR EVERYTHINGAPI Everything_GetResultFileNameW(DWORD dwIndex)
{
	LPCWSTR ret;
	
	_Everything_Lock();
	
	if ((_Everything_List) && (_Everything_IsUnicodeQuery))
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			ret = EVERYTHING_IPC_ITEMFILENAMEW(_Everything_List,&((EVERYTHING_IPC_LISTW *)_Everything_List)->items[dwIndex]);
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			ret = NULL;
		}
	}
	else
	if ((_Everything_List2) && (_Everything_IsUnicodeQuery))
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			ret = _Everything_GetRequestData(dwIndex,EVERYTHING_REQUEST_FILE_NAME);
			
			if (ret)
			{
				// skip length in characters.
				ret = (LPCWSTR)(((char *)ret) + sizeof(DWORD));
			}
			else
			{
				_Everything_LastError = EVERYTHING_ERROR_INVALIDREQUEST;
			}
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			ret = NULL;
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		ret = NULL;
	}
	
	_Everything_Unlock();

	return ret;
}

LPCSTR EVERYTHINGAPI Everything_GetResultFileNameA(DWORD dwIndex)
{
	LPCSTR ret;
	
	_Everything_Lock();

	if ((_Everything_List) && (!_Everything_IsUnicodeQuery))
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			ret = EVERYTHING_IPC_ITEMFILENAMEA(_Everything_List,&((EVERYTHING_IPC_LISTA *)_Everything_List)->items[dwIndex]);
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			ret = NULL;
		}
	}
	else
	if ((_Everything_List2) && (!_Everything_IsUnicodeQuery))
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			ret = _Everything_GetRequestData(dwIndex,EVERYTHING_REQUEST_FILE_NAME);
			
			if (ret)
			{
				// skip length in characters.
				ret = (LPCSTR)(((char *)ret) + sizeof(DWORD));
			}
			else
			{
				_Everything_LastError = EVERYTHING_ERROR_INVALIDREQUEST;
			}
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			ret = NULL;
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		ret = NULL;
	}
	
	_Everything_Unlock();
	
	return ret;
}

LPCWSTR EVERYTHINGAPI Everything_GetResultPathW(DWORD dwIndex)
{
	LPCWSTR ret;

	_Everything_Lock();
	
	if ((_Everything_List) && (_Everything_IsUnicodeQuery))
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			ret = EVERYTHING_IPC_ITEMPATHW(_Everything_List,&((EVERYTHING_IPC_LISTW *)_Everything_List)->items[dwIndex]);
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			ret = NULL;
		}
	}
	else
	if ((_Everything_List2) && (_Everything_IsUnicodeQuery))
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			ret = _Everything_GetRequestData(dwIndex,EVERYTHING_REQUEST_PATH);
			
			if (ret)
			{
				// skip length in characters.
				ret = (LPCWSTR)(((char *)ret) + sizeof(DWORD));
			}
			else
			{
				_Everything_LastError = EVERYTHING_ERROR_INVALIDREQUEST;
			}
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			ret = NULL;
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		ret = NULL;
	}

	_Everything_Unlock();
	
	return ret;
}

LPCSTR EVERYTHINGAPI Everything_GetResultPathA(DWORD dwIndex)
{
	LPCSTR ret;
	
	_Everything_Lock();

	if (_Everything_List)
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			ret = EVERYTHING_IPC_ITEMPATHA(_Everything_List,&((EVERYTHING_IPC_LISTA *)_Everything_List)->items[dwIndex]);
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			ret = NULL;
		}
	}
	else
	if ((_Everything_List2) && (!_Everything_IsUnicodeQuery))
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			ret = _Everything_GetRequestData(dwIndex,EVERYTHING_REQUEST_PATH);
			
			if (ret)
			{
				// skip length in characters.
				ret = (LPCSTR)(((char *)ret) + sizeof(DWORD));
			}
			else
			{
				_Everything_LastError = EVERYTHING_ERROR_INVALIDREQUEST;
			}
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			ret = NULL;
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		ret = NULL;
	}

	_Everything_Unlock();
	
	return ret;
}

// max is in chars
static DWORD _Everything_CopyW(LPWSTR buf,DWORD bufmax,DWORD catlen,LPCWSTR s)
{
	DWORD wlen;

	if (buf)
	{
		buf += catlen;
		bufmax -= catlen;
	}
	
	wlen = _Everything_StringLengthW(s);
	if (!wlen) 
	{
		if (buf)
		{
			buf[wlen] = 0;
		}
	
		return catlen;
	}

	// terminate
	if (wlen > bufmax-1) wlen = bufmax-1;

	if (buf)
	{
		CopyMemory(buf,s,wlen*sizeof(WCHAR));

		buf[wlen] = 0;
	}
	
	return wlen + catlen;
}

static DWORD _Everything_CopyA(LPSTR buf,DWORD max,DWORD catlen,LPCSTR s)
{
	DWORD len;
	
	if (buf)
	{
		buf += catlen;
		max -= catlen;
	}
	
	len = _Everything_StringLengthA(s);
	if (!len) 
	{
		if (buf)
		{
			buf[len] = 0;
		}
	
		return catlen;
	}

	// terminate
	if (len > max-1) len = max-1;

	if (buf)
	{
		CopyMemory(buf,s,len*sizeof(char));

		buf[len] = 0;
	}
	
	return len + catlen;

}

// max is in chars
static DWORD _Everything_CopyWFromA(LPWSTR buf,DWORD bufmax,DWORD catlen,LPCSTR s)
{
	DWORD wlen;

	if (buf)
	{
		buf += catlen;
		bufmax -= catlen;
	}
	
	wlen = MultiByteToWideChar(CP_ACP,0,s,_Everything_StringLengthA(s),0,0);
	if (!wlen) 
	{
		if (buf)
		{
			buf[wlen] = 0;
		}
	
		return catlen;
	}

	// terminate
	if (wlen > bufmax-1) wlen = bufmax-1;

	if (buf)
	{
		MultiByteToWideChar(CP_ACP,0,s,_Everything_StringLengthA(s),buf,wlen);

		buf[wlen] = 0;
	}
	
	return wlen + catlen;
}

static DWORD _Everything_CopyAFromW(LPSTR buf,DWORD max,DWORD catlen,LPCWSTR s)
{
	DWORD len;
	
	if (buf)
	{
		buf += catlen;
		max -= catlen;
	}
	
	len = WideCharToMultiByte(CP_ACP,0,s,_Everything_StringLengthW(s),0,0,0,0);
	if (!len) 
	{
		if (buf)
		{
			buf[len] = 0;
		}
	
		return catlen;
	}

	// terminate
	if (len > max-1) len = max-1;

	if (buf)
	{
		WideCharToMultiByte(CP_ACP,0,s,_Everything_StringLengthW(s),buf,len,0,0);

		buf[len] = 0;
	}
	
	return len + catlen;

}

DWORD EVERYTHINGAPI Everything_GetResultFullPathNameW(DWORD dwIndex,LPWSTR wbuf,DWORD wbuf_size_in_wchars)
{
	DWORD len;

	_Everything_Lock();
	
	if (_Everything_List)
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			if (_Everything_IsUnicodeQuery)		
			{
				len = _Everything_CopyW(wbuf,wbuf_size_in_wchars,0,EVERYTHING_IPC_ITEMPATHW(_Everything_List,&((EVERYTHING_IPC_LISTW *)_Everything_List)->items[dwIndex]));

				if (len)
				{
					len = _Everything_CopyW(wbuf,wbuf_size_in_wchars,len,_Everything_IsSchemeNameW(EVERYTHING_IPC_ITEMPATHW(_Everything_List,&((EVERYTHING_IPC_LISTW *)_Everything_List)->items[dwIndex])) ? L"/" : L"\\");
				}
			}
			else
			{
				len = _Everything_CopyWFromA(wbuf,wbuf_size_in_wchars,0,EVERYTHING_IPC_ITEMPATHA(_Everything_List,&((EVERYTHING_IPC_LISTA *)_Everything_List)->items[dwIndex]));
				
				if (len)
				{
					len = _Everything_CopyW(wbuf,wbuf_size_in_wchars,len,_Everything_IsSchemeNameA(EVERYTHING_IPC_ITEMPATHA(_Everything_List,&((EVERYTHING_IPC_LISTA *)_Everything_List)->items[dwIndex])) ? L"/" : L"\\");
				}
			}

			if (_Everything_IsUnicodeQuery)		
			{
				len = _Everything_CopyW(wbuf,wbuf_size_in_wchars,len,EVERYTHING_IPC_ITEMFILENAMEW(_Everything_List,&((EVERYTHING_IPC_LISTW *)_Everything_List)->items[dwIndex]));
			}
			else
			{
				len = _Everything_CopyWFromA(wbuf,wbuf_size_in_wchars,len,EVERYTHING_IPC_ITEMFILENAMEA(_Everything_List,&((EVERYTHING_IPC_LISTA *)_Everything_List)->items[dwIndex]));
			}
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			len = _Everything_CopyW(wbuf,wbuf_size_in_wchars,0,L"");
		}
	}
	else
	if (_Everything_List2)
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			const void *full_path_and_name;
			
			full_path_and_name = _Everything_GetRequestData(dwIndex,EVERYTHING_REQUEST_FULL_PATH_AND_FILE_NAME);
			
			if (full_path_and_name)
			{
				// skip number of characters.
				full_path_and_name = (void *)(((char *)full_path_and_name) + sizeof(DWORD));

				// we got the full path and name already.
				if (_Everything_IsUnicodeQuery)		
				{
					len = _Everything_CopyW(wbuf,wbuf_size_in_wchars,0,full_path_and_name);
				}
				else
				{
					len = _Everything_CopyWFromA(wbuf,wbuf_size_in_wchars,0,full_path_and_name);
				}
			}
			else
			{
				const void *path;
				
				path = _Everything_GetRequestData(dwIndex,EVERYTHING_REQUEST_PATH);
				
				if (path)
				{
					const void *name;

					// skip number of characters.
					path = (void *)(((char *)path) + sizeof(DWORD));
					
					name = _Everything_GetRequestData(dwIndex,EVERYTHING_REQUEST_FILE_NAME);
					
					if (name)
					{
						// skip number of characters.
						name = (void *)(((char *)name) + sizeof(DWORD));

						if (_Everything_IsUnicodeQuery)		
						{
							len = _Everything_CopyW(wbuf,wbuf_size_in_wchars,0,path);

							if (len)
							{
								len = _Everything_CopyW(wbuf,wbuf_size_in_wchars,len,_Everything_IsSchemeNameW(path) ? L"/" : L"\\");
							}
						}
						else
						{
							len = _Everything_CopyWFromA(wbuf,wbuf_size_in_wchars,0,path);

							if (len)
							{
								len = _Everything_CopyW(wbuf,wbuf_size_in_wchars,len,_Everything_IsSchemeNameA(path) ? L"/" : L"\\");
							}
						}

						if (_Everything_IsUnicodeQuery)		
						{
							len = _Everything_CopyW(wbuf,wbuf_size_in_wchars,len,name);
						}
						else
						{
							len = _Everything_CopyWFromA(wbuf,wbuf_size_in_wchars,len,name);
						}						
					}
					else
					{
						// name data not available.
						_Everything_LastError = EVERYTHING_ERROR_INVALIDREQUEST;
						
						len = _Everything_CopyW(wbuf,wbuf_size_in_wchars,0,L"");
					}
				}
				else
				{
					// path data not available.
					_Everything_LastError = EVERYTHING_ERROR_INVALIDREQUEST;
					
					len = _Everything_CopyW(wbuf,wbuf_size_in_wchars,0,L"");
				}
			}
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			len = _Everything_CopyW(wbuf,wbuf_size_in_wchars,0,L"");
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		len = _Everything_CopyW(wbuf,wbuf_size_in_wchars,0,L"");
	}

	_Everything_Unlock();
	
	return len;
}

DWORD EVERYTHINGAPI Everything_GetResultFullPathNameA(DWORD dwIndex,LPSTR buf,DWORD bufsize)
{
	DWORD len;
	
	_Everything_Lock();

	if (_Everything_List)
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			if (_Everything_IsUnicodeQuery)		
			{
				len = _Everything_CopyAFromW(buf,bufsize,0,EVERYTHING_IPC_ITEMPATHW(_Everything_List,&((EVERYTHING_IPC_LISTW *)_Everything_List)->items[dwIndex]));
			}
			else
			{
				len = _Everything_CopyA(buf,bufsize,0,EVERYTHING_IPC_ITEMPATHA(_Everything_List,&((EVERYTHING_IPC_LISTA *)_Everything_List)->items[dwIndex]));
			}
			
			if (len)
			{
				len = _Everything_CopyA(buf,bufsize,len,_Everything_IsSchemeNameA(buf) ? "/" : "\\");
			}

			if (_Everything_IsUnicodeQuery)		
			{
				len = _Everything_CopyAFromW(buf,bufsize,len,EVERYTHING_IPC_ITEMFILENAMEW(_Everything_List,&((EVERYTHING_IPC_LISTW *)_Everything_List)->items[dwIndex]));
			}
			else
			{
				len = _Everything_CopyA(buf,bufsize,len,EVERYTHING_IPC_ITEMFILENAMEA(_Everything_List,&((EVERYTHING_IPC_LISTA *)_Everything_List)->items[dwIndex]));
			}
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			len = _Everything_CopyA(buf,bufsize,0,"");
		}
	}
	else
	if (_Everything_List2)
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			const void *full_path_and_name;
			
			full_path_and_name = _Everything_GetRequestData(dwIndex,EVERYTHING_REQUEST_FULL_PATH_AND_FILE_NAME);
			
			if (full_path_and_name)
			{
				// skip number of characters.
				full_path_and_name = (void *)(((char *)full_path_and_name) + sizeof(DWORD));
				
				// we got the full path and name already.
				if (_Everything_IsUnicodeQuery)		
				{
					len = _Everything_CopyAFromW(buf,bufsize,0,full_path_and_name);
				}
				else
				{
					len = _Everything_CopyA(buf,bufsize,0,full_path_and_name);
				}
			}
			else
			{
				const void *path;
				
				path = _Everything_GetRequestData(dwIndex,EVERYTHING_REQUEST_PATH);
				
				if (path)
				{
					const void *name;

					// skip number of characters.
					path = (void *)(((char *)path) + sizeof(DWORD));
					
					name = _Everything_GetRequestData(dwIndex,EVERYTHING_REQUEST_FILE_NAME);
					
					if (name)
					{
						// skip number of characters.
						name = (void *)(((char *)name) + sizeof(DWORD));

						if (_Everything_IsUnicodeQuery)		
						{
							len = _Everything_CopyAFromW(buf,bufsize,0,path);
						}
						else
						{
							len = _Everything_CopyA(buf,bufsize,0,path);
						}
							
						if (len)
						{
							len = _Everything_CopyA(buf,bufsize,len,_Everything_IsSchemeNameA(buf) ? "/" : "\\");
						}

						if (_Everything_IsUnicodeQuery)		
						{
							len = _Everything_CopyAFromW(buf,bufsize,len,name);
						}
						else
						{
							len = _Everything_CopyA(buf,bufsize,len,name);
						}						
					}
					else
					{
						// name data not available.
						_Everything_LastError = EVERYTHING_ERROR_INVALIDREQUEST;
						
						len = _Everything_CopyA(buf,bufsize,0,"");
					}
				}
				else
				{
					// path data not available.
					_Everything_LastError = EVERYTHING_ERROR_INVALIDREQUEST;
					
					len = _Everything_CopyA(buf,bufsize,0,"");
				}
			}
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;
			
			len = _Everything_CopyA(buf,bufsize,0,"");
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		len = _Everything_CopyA(buf,bufsize,0,"");
	}

	_Everything_Unlock();
	
	return len;
}

BOOL EVERYTHINGAPI Everything_IsQueryReply(UINT message,WPARAM wParam,LPARAM lParam,DWORD dwId)
{
	if (message == WM_COPYDATA)
	{
		COPYDATASTRUCT *cds = (COPYDATASTRUCT *)lParam;
		
		if (cds)
		{
			if ((cds->dwData == _Everything_ReplyID) && (cds->dwData == dwId))
			{
				if (_Everything_QueryVersion == 2)
				{
					_Everything_FreeLists();

					_Everything_List2 = _Everything_Alloc(cds->cbData);
						
					if (_Everything_List2)
					{
						_Everything_LastError = 0;
						
						CopyMemory(_Everything_List2,cds->lpData,cds->cbData);
					}
					else
					{
						_Everything_LastError = EVERYTHING_ERROR_MEMORY;
					}
					
					return TRUE;
				}
				else
				if (_Everything_QueryVersion == 1)
				{
					if (_Everything_IsUnicodeQuery)				
					{
						_Everything_FreeLists();

						_Everything_List = _Everything_Alloc(cds->cbData);
						
						if (_Everything_List)
						{
							_Everything_LastError = 0;
							
							CopyMemory(_Everything_List,cds->lpData,cds->cbData);
						}
						else
						{
							_Everything_LastError = EVERYTHING_ERROR_MEMORY;
						}
						
						return TRUE;
					}
					else
					{
						_Everything_FreeLists();
						
						_Everything_List = _Everything_Alloc(cds->cbData);
						
						if (_Everything_List)
						{
							_Everything_LastError = 0;
							
							CopyMemory(_Everything_List,cds->lpData,cds->cbData);
						}
						else
						{
							_Everything_LastError = EVERYTHING_ERROR_MEMORY;
						}

						return TRUE;
					}
				}
			}
		}
	}
	
	return FALSE;
}

void EVERYTHINGAPI Everything_Reset(void)
{
	_Everything_Lock();
	
	if (_Everything_Search)
	{
		_Everything_Free(_Everything_Search);
		
		_Everything_Search = 0;
	}
	
	_Everything_FreeLists();

	// reset state
	_Everything_MatchPath = FALSE;
	_Everything_MatchCase = FALSE;
	_Everything_MatchWholeWord = FALSE;
	_Everything_Regex = FALSE;
	_Everything_LastError = FALSE;
	_Everything_Max = EVERYTHING_IPC_ALLRESULTS;
	_Everything_Offset = 0;
	_Everything_Sort = EVERYTHING_SORT_NAME_ASCENDING;
	_Everything_RequestFlags = EVERYTHING_REQUEST_PATH | EVERYTHING_REQUEST_FILE_NAME;
	_Everything_IsUnicodeQuery = FALSE;
	_Everything_IsUnicodeSearch = FALSE;

	_Everything_Unlock();
}

void EVERYTHINGAPI Everything_CleanUp(void)
{
	Everything_Reset();
	DeleteCriticalSection(&_Everything_cs);
	_Everything_Initialized = 0;
}

static void *_Everything_Alloc(DWORD size)
{
	return HeapAlloc(GetProcessHeap(),0,size);
}

static void _Everything_Free(void *ptr)
{
	HeapFree(GetProcessHeap(),0,ptr);
}

EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetResultListSort(void)
{
	DWORD dwSort;
	
	_Everything_Lock();
	
	dwSort = EVERYTHING_SORT_NAME_ASCENDING;
	
	if (_Everything_List2)
	{
		dwSort = _Everything_List2->sort_type;
	}

	_Everything_Unlock();	
	
	return dwSort;
}

EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetResultListRequestFlags(void)
{
	DWORD dwRequestFlags;
	
	_Everything_Lock();
	
	dwRequestFlags = EVERYTHING_REQUEST_PATH | EVERYTHING_REQUEST_FILE_NAME;
	
	if (_Everything_List2)
	{
		dwRequestFlags = _Everything_List2->request_flags;
	}

	_Everything_Unlock();	
	
	return dwRequestFlags;
}

static void _Everything_FreeLists(void)
{
	if (_Everything_List)
	{
		_Everything_Free(_Everything_List);
		
		_Everything_List = 0;
	}

	if (_Everything_List2)
	{
		_Everything_Free(_Everything_List2);
		
		_Everything_List2 = 0;
	}
}

static BOOL _Everything_IsValidResultIndex(DWORD dwIndex)
{
	if (dwIndex < 0)
	{
		return FALSE;
	}
	
	if (dwIndex >= Everything_GetNumResults())
	{
		return FALSE;
	}
	
	return TRUE;
}

// assumes _Everything_List2 and dwIndex are valid.
static void *_Everything_GetRequestData(DWORD dwIndex,DWORD dwRequestType)
{
	char *p;
	EVERYTHING_IPC_ITEM2 *items;
	
	items = (EVERYTHING_IPC_ITEM2 *)(_Everything_List2 + 1);
	
	p = ((char *)_Everything_List2) + items[dwIndex].data_offset;
	
	if (_Everything_List2->request_flags & EVERYTHING_REQUEST_FILE_NAME)
	{
		DWORD len;

		if (dwRequestType == EVERYTHING_REQUEST_FILE_NAME)	
		{
			return p;
		}
		
		len = *(DWORD *)p;
		p += sizeof(DWORD);
		
		if (_Everything_IsUnicodeQuery)
		{
			p += (len + 1) * sizeof(WCHAR);
		}
		else
		{
			p += (len + 1) * sizeof(CHAR);
		}
	}		
	
	if (_Everything_List2->request_flags & EVERYTHING_REQUEST_PATH)
	{
		DWORD len;
		
		if (dwRequestType == EVERYTHING_REQUEST_PATH)	
		{
			return p;
		}
		
		len = *(DWORD *)p;
		p += sizeof(DWORD);
		
		if (_Everything_IsUnicodeQuery)
		{
			p += (len + 1) * sizeof(WCHAR);
		}
		else
		{
			p += (len + 1) * sizeof(CHAR);
		}
	}
	
	if (_Everything_List2->request_flags & EVERYTHING_REQUEST_FULL_PATH_AND_FILE_NAME)
	{
		DWORD len;
		
		if (dwRequestType == EVERYTHING_REQUEST_FULL_PATH_AND_FILE_NAME)	
		{
			return p;
		}
		
		len = *(DWORD *)p;
		p += sizeof(DWORD);

		if (_Everything_IsUnicodeQuery)
		{
			p += (len + 1) * sizeof(WCHAR);
		}
		else
		{
			p += (len + 1) * sizeof(CHAR);
		}
	}
	
	if (_Everything_List2->request_flags & EVERYTHING_REQUEST_EXTENSION)
	{
		DWORD len;
		
		if (dwRequestType == EVERYTHING_REQUEST_EXTENSION)	
		{
			return p;
		}
		
		len = *(DWORD *)p;
		p += sizeof(DWORD);
		
		if (_Everything_IsUnicodeQuery)
		{
			p += (len + 1) * sizeof(WCHAR);
		}
		else
		{
			p += (len + 1) * sizeof(CHAR);
		}
	}
	
	if (_Everything_List2->request_flags & EVERYTHING_REQUEST_SIZE)
	{
		if (dwRequestType == EVERYTHING_REQUEST_SIZE)	
		{
			return p;
		}
		
		p += sizeof(LARGE_INTEGER);
	}
	
	if (_Everything_List2->request_flags & EVERYTHING_REQUEST_DATE_CREATED)
	{
		if (dwRequestType == EVERYTHING_REQUEST_DATE_CREATED)	
		{
			return p;
		}
		
		p += sizeof(FILETIME);
	}
	
	if (_Everything_List2->request_flags & EVERYTHING_REQUEST_DATE_MODIFIED)
	{
		if (dwRequestType == EVERYTHING_REQUEST_DATE_MODIFIED)	
		{
			return p;
		}
		
		p += sizeof(FILETIME);
	}
	
	if (_Everything_List2->request_flags & EVERYTHING_REQUEST_DATE_ACCESSED)
	{
		if (dwRequestType == EVERYTHING_REQUEST_DATE_ACCESSED)	
		{
			return p;
		}
		
		p += sizeof(FILETIME);
	}
	
	if (_Everything_List2->request_flags & EVERYTHING_REQUEST_ATTRIBUTES)
	{
		if (dwRequestType == EVERYTHING_REQUEST_ATTRIBUTES)	
		{
			return p;
		}
		
		p += sizeof(DWORD);
	}
		
	if (_Everything_List2->request_flags & EVERYTHING_REQUEST_FILE_LIST_FILE_NAME)
	{
		DWORD len;
		
		if (dwRequestType == EVERYTHING_REQUEST_FILE_LIST_FILE_NAME)	
		{
			return p;
		}
		
		len = *(DWORD *)p;
		p += sizeof(DWORD);
		
		if (_Everything_IsUnicodeQuery)
		{
			p += (len + 1) * sizeof(WCHAR);
		}
		else
		{
			p += (len + 1) * sizeof(CHAR);
		}
	}	
		
	if (_Everything_List2->request_flags & EVERYTHING_REQUEST_RUN_COUNT)
	{
		if (dwRequestType == EVERYTHING_REQUEST_RUN_COUNT)	
		{
			return p;
		}
		
		p += sizeof(DWORD);
	}	
	
	if (_Everything_List2->request_flags & EVERYTHING_REQUEST_DATE_RUN)
	{
		if (dwRequestType == EVERYTHING_REQUEST_DATE_RUN)	
		{
			return p;
		}
		
		p += sizeof(FILETIME);
	}		
	
	if (_Everything_List2->request_flags & EVERYTHING_REQUEST_DATE_RECENTLY_CHANGED)
	{
		if (dwRequestType == EVERYTHING_REQUEST_DATE_RECENTLY_CHANGED)	
		{
			return p;
		}
		
		p += sizeof(FILETIME);
	}	
	
	if (_Everything_List2->request_flags & EVERYTHING_REQUEST_HIGHLIGHTED_FILE_NAME)
	{
		DWORD len;
		
		if (dwRequestType == EVERYTHING_REQUEST_HIGHLIGHTED_FILE_NAME)	
		{
			return p;
		}
		
		len = *(DWORD *)p;
		p += sizeof(DWORD);
		
		if (_Everything_IsUnicodeQuery)
		{
			p += (len + 1) * sizeof(WCHAR);
		}
		else
		{
			p += (len + 1) * sizeof(CHAR);
		}
	}		
	
	if (_Everything_List2->request_flags & EVERYTHING_REQUEST_HIGHLIGHTED_PATH)
	{
		DWORD len;
		
		if (dwRequestType == EVERYTHING_REQUEST_HIGHLIGHTED_PATH)	
		{
			return p;
		}
		
		len = *(DWORD *)p;
		p += sizeof(DWORD);
		
		if (_Everything_IsUnicodeQuery)
		{
			p += (len + 1) * sizeof(WCHAR);
		}
		else
		{
			p += (len + 1) * sizeof(CHAR);
		}
	}
	
	if (_Everything_List2->request_flags & EVERYTHING_REQUEST_HIGHLIGHTED_FULL_PATH_AND_FILE_NAME)
	{
		DWORD len;
		
		if (dwRequestType == EVERYTHING_REQUEST_HIGHLIGHTED_FULL_PATH_AND_FILE_NAME)	
		{
			return p;
		}
		
		len = *(DWORD *)p;
		p += sizeof(DWORD);
		
		if (_Everything_IsUnicodeQuery)
		{
			p += (len + 1) * sizeof(WCHAR);
		}
		else
		{
			p += (len + 1) * sizeof(CHAR);
		}
	}			
	
	return NULL;
}

static BOOL _Everything_IsSchemeNameW(LPCWSTR s)
{
	LPCWSTR p;
	
	p = s;

	while(*p)
	{
		if (*p == ':')
		{
			p++;
			
			if ((p[0] == '/') && (p[1] == '/'))
			{
				return TRUE;
			}
			
			break;
		}
		
		p++;
	}
	
	return FALSE;
}

static BOOL _Everything_IsSchemeNameA(LPCSTR s)
{
	LPCSTR p;
	
	p = s;

	while(*p)
	{
		if (*p == ':')
		{
			p++;
			
			if ((p[0] == '/') && (p[1] == '/'))
			{
				return TRUE;
			}
			
			break;
		}
		
		p++;
	}
	
	return FALSE;
}

static void _Everything_ChangeWindowMessageFilter(HWND hwnd)
{
	if (!_Everything_GotChangeWindowMessageFilterEx)
	{
		// allow the everything window to send a reply.
		_Everything_user32_hdll = LoadLibraryW(L"user32.dll");
		
		if (_Everything_user32_hdll)
		{
			_Everything_pChangeWindowMessageFilterEx = (BOOL (WINAPI *)(HWND hWnd,UINT message,DWORD action,_EVERYTHING_PCHANGEFILTERSTRUCT pChangeFilterStruct))GetProcAddress(_Everything_user32_hdll,"ChangeWindowMessageFilterEx");
		}
	
		_Everything_GotChangeWindowMessageFilterEx = 1;
	}

	if (_Everything_GotChangeWindowMessageFilterEx)
	{
		if (_Everything_pChangeWindowMessageFilterEx)
		{
			_Everything_pChangeWindowMessageFilterEx(hwnd,WM_COPYDATA,_EVERYTHING_MSGFLT_ALLOW,0);
		}
	}
}

static LPCWSTR _Everything_GetResultRequestStringW(DWORD dwIndex,DWORD dwRequestType)
{
	LPCWSTR str;
	
	_Everything_Lock();

	if ((_Everything_List2) && (_Everything_IsUnicodeQuery))
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			str = _Everything_GetRequestData(dwIndex,dwRequestType);
			if (str)
			{
				// skip length in characters.
				str = (LPCWSTR)(((char *)str) + sizeof(DWORD));
			}
			else
			{
				_Everything_LastError = EVERYTHING_ERROR_INVALIDREQUEST;
			}
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;

			str = NULL;
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		str = NULL;
	}
	
	_Everything_Unlock();	
	
	return str;
}

static LPCSTR _Everything_GetResultRequestStringA(DWORD dwIndex,DWORD dwRequestType)
{
	LPCSTR str;
	
	_Everything_Lock();

	if ((_Everything_List2) && (!_Everything_IsUnicodeQuery))
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			str = _Everything_GetRequestData(dwIndex,dwRequestType);
			if (str)
			{
				// skip length in characters.
				str = (LPCSTR)(((char *)str) + sizeof(DWORD));
			}
			else
			{
				_Everything_LastError = EVERYTHING_ERROR_INVALIDREQUEST;
			}
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;

			str = NULL;
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		str = NULL;
	}
	
	_Everything_Unlock();	
	
	return str;
}

static BOOL _Everything_GetResultRequestData(DWORD dwIndex,DWORD dwRequestType,void *data,int size)
{
	BOOL ret;
	
	_Everything_Lock();

	if (_Everything_List2)
	{
		if (_Everything_IsValidResultIndex(dwIndex))
		{
			void *request_data;
			
			request_data = _Everything_GetRequestData(dwIndex,dwRequestType);
			if (request_data)
			{
				CopyMemory(data,request_data,size);
				
				ret = TRUE;
			}
			else
			{
				_Everything_LastError = EVERYTHING_ERROR_INVALIDREQUEST;

				ret = FALSE;
			}
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDINDEX;

			ret = FALSE;
		}
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;

		ret = FALSE;
	}
	
	_Everything_Unlock();	
	
	return ret;
}

LPCWSTR EVERYTHINGAPI Everything_GetResultExtensionW(DWORD dwIndex)
{
	return _Everything_GetResultRequestStringW(dwIndex,EVERYTHING_REQUEST_EXTENSION);
}

LPCSTR EVERYTHINGAPI Everything_GetResultExtensionA(DWORD dwIndex)
{
	return _Everything_GetResultRequestStringA(dwIndex,EVERYTHING_REQUEST_EXTENSION);
}

BOOL EVERYTHINGAPI Everything_GetResultSize(DWORD dwIndex,LARGE_INTEGER *lpSize)
{
	return _Everything_GetResultRequestData(dwIndex,EVERYTHING_REQUEST_SIZE,lpSize,sizeof(LARGE_INTEGER));
}

BOOL EVERYTHINGAPI Everything_GetResultDateCreated(DWORD dwIndex,FILETIME *lpDateCreated)
{
	return _Everything_GetResultRequestData(dwIndex,EVERYTHING_REQUEST_DATE_CREATED,lpDateCreated,sizeof(FILETIME));
}

BOOL EVERYTHINGAPI Everything_GetResultDateModified(DWORD dwIndex,FILETIME *lpDateModified)
{
	return _Everything_GetResultRequestData(dwIndex,EVERYTHING_REQUEST_DATE_MODIFIED,lpDateModified,sizeof(FILETIME));
}

BOOL EVERYTHINGAPI Everything_GetResultDateAccessed(DWORD dwIndex,FILETIME *lpDateAccessed)
{
	return _Everything_GetResultRequestData(dwIndex,EVERYTHING_REQUEST_DATE_ACCESSED,lpDateAccessed,sizeof(FILETIME));
}

DWORD EVERYTHINGAPI Everything_GetResultAttributes(DWORD dwIndex)
{
	DWORD dwAttributes;
	
	if (_Everything_GetResultRequestData(dwIndex,EVERYTHING_REQUEST_ATTRIBUTES,&dwAttributes,sizeof(DWORD)))
	{
		return dwAttributes;
	}

	return INVALID_FILE_ATTRIBUTES;
}

LPCWSTR EVERYTHINGAPI Everything_GetResultFileListFileNameW(DWORD dwIndex)
{
	return _Everything_GetResultRequestStringW(dwIndex,EVERYTHING_REQUEST_FILE_LIST_FILE_NAME);
}

LPCSTR EVERYTHINGAPI Everything_GetResultFileListFileNameA(DWORD dwIndex)
{
	return _Everything_GetResultRequestStringA(dwIndex,EVERYTHING_REQUEST_FILE_LIST_FILE_NAME);
}

DWORD EVERYTHINGAPI Everything_GetResultRunCount(DWORD dwIndex)
{
	DWORD dwRunCount;
	
	if (_Everything_GetResultRequestData(dwIndex,EVERYTHING_REQUEST_RUN_COUNT,&dwRunCount,sizeof(DWORD)))
	{
		return dwRunCount;
	}

	return 0;	
}

BOOL EVERYTHINGAPI Everything_GetResultDateRun(DWORD dwIndex,FILETIME *lpDateRun)
{
	return _Everything_GetResultRequestData(dwIndex,EVERYTHING_REQUEST_DATE_RUN,lpDateRun,sizeof(FILETIME));
}

BOOL EVERYTHINGAPI Everything_GetResultDateRecentlyChanged(DWORD dwIndex,FILETIME *lpDateRecentlyChanged)
{
	return _Everything_GetResultRequestData(dwIndex,EVERYTHING_REQUEST_DATE_RECENTLY_CHANGED,lpDateRecentlyChanged,sizeof(FILETIME));
}

LPCWSTR EVERYTHINGAPI Everything_GetResultHighlightedFileNameW(DWORD dwIndex)
{
	return _Everything_GetResultRequestStringW(dwIndex,EVERYTHING_REQUEST_HIGHLIGHTED_FILE_NAME);
}

LPCSTR EVERYTHINGAPI Everything_GetResultHighlightedFileNameA(DWORD dwIndex)
{
	return _Everything_GetResultRequestStringA(dwIndex,EVERYTHING_REQUEST_HIGHLIGHTED_FILE_NAME);
}

LPCWSTR EVERYTHINGAPI Everything_GetResultHighlightedPathW(DWORD dwIndex)
{
	return _Everything_GetResultRequestStringW(dwIndex,EVERYTHING_REQUEST_HIGHLIGHTED_PATH);
}

LPCSTR EVERYTHINGAPI Everything_GetResultHighlightedPathA(DWORD dwIndex)
{
	return _Everything_GetResultRequestStringA(dwIndex,EVERYTHING_REQUEST_HIGHLIGHTED_PATH);
}

LPCWSTR EVERYTHINGAPI Everything_GetResultHighlightedFullPathAndFileNameW(DWORD dwIndex)
{
	return _Everything_GetResultRequestStringW(dwIndex,EVERYTHING_REQUEST_HIGHLIGHTED_FULL_PATH_AND_FILE_NAME);
}

LPCSTR EVERYTHINGAPI Everything_GetResultHighlightedFullPathAndFileNameA(DWORD dwIndex)
{
	return _Everything_GetResultRequestStringA(dwIndex,EVERYTHING_REQUEST_HIGHLIGHTED_FULL_PATH_AND_FILE_NAME);
}

static BOOL _Everything_SendAPIBoolCommand(int command,LPARAM lParam)
{
	HWND everything_hwnd;
	
	everything_hwnd = es_find_instance_window();
	if (everything_hwnd)
	{
		_Everything_LastError = 0;
			
		if (SendMessage(everything_hwnd,EVERYTHING_WM_IPC,command,lParam))
		{
			return TRUE;
		}
		else
		{
			return FALSE;
		}
	}
	else
	{
		// the everything window was not found.
		// we can optionally RegisterWindowMessage("EVERYTHING_IPC_CREATED") and 
		// wait for Everything to post this message to all top level windows when its up and running.
		_Everything_LastError = EVERYTHING_ERROR_IPC;
		
		return FALSE;
	}
}

static DWORD _Everything_SendAPIDwordCommand(int command,LPARAM lParam)
{
	HWND everything_hwnd;
	
	everything_hwnd = es_find_instance_window();
	if (everything_hwnd)
	{
		_Everything_LastError = 0;
		
		return (DWORD)SendMessage(everything_hwnd,EVERYTHING_WM_IPC,command,lParam);
	}
	else
	{
		// the everything window was not found.
		// we can optionally RegisterWindowMessage("EVERYTHING_IPC_CREATED") and 
		// wait for Everything to post this message to all top level windows when its up and running.
		_Everything_LastError = EVERYTHING_ERROR_IPC;
		
		return 0;
	}
}

BOOL EVERYTHINGAPI Everything_IsDBLoaded(void)
{
	return _Everything_SendAPIBoolCommand(EVERYTHING_IPC_IS_DB_LOADED,0);
}

BOOL EVERYTHINGAPI Everything_IsAdmin(void)
{
	return _Everything_SendAPIBoolCommand(EVERYTHING_IPC_IS_ADMIN,0);
}

BOOL EVERYTHINGAPI Everything_IsAppData(void)
{
	return _Everything_SendAPIBoolCommand(EVERYTHING_IPC_IS_APPDATA,0);
}

BOOL EVERYTHINGAPI Everything_RebuildDB(void)
{
	return _Everything_SendAPIBoolCommand(EVERYTHING_IPC_REBUILD_DB,0);
}

BOOL EVERYTHINGAPI Everything_UpdateAllFolderIndexes(void)
{
	return _Everything_SendAPIBoolCommand(EVERYTHING_IPC_UPDATE_ALL_FOLDER_INDEXES,0);
}

BOOL EVERYTHINGAPI Everything_SaveDB(void)
{
	return _Everything_SendAPIBoolCommand(EVERYTHING_IPC_SAVE_DB,0);
}

BOOL EVERYTHINGAPI Everything_SaveRunHistory(void)
{
	return _Everything_SendAPIBoolCommand(EVERYTHING_IPC_SAVE_RUN_HISTORY,0);
}

BOOL EVERYTHINGAPI Everything_DeleteRunHistory(void)
{
	return _Everything_SendAPIBoolCommand(EVERYTHING_IPC_DELETE_RUN_HISTORY,0);
}

DWORD EVERYTHINGAPI Everything_GetMajorVersion(void)
{
	return _Everything_SendAPIDwordCommand(EVERYTHING_IPC_GET_MAJOR_VERSION,0);
}

DWORD EVERYTHINGAPI Everything_GetMinorVersion(void)
{
	return _Everything_SendAPIDwordCommand(EVERYTHING_IPC_GET_MINOR_VERSION,0);
}

DWORD EVERYTHINGAPI Everything_GetRevision(void)
{
	return _Everything_SendAPIDwordCommand(EVERYTHING_IPC_GET_REVISION,0);
}

DWORD EVERYTHINGAPI Everything_GetBuildNumber(void)
{
	return _Everything_SendAPIDwordCommand(EVERYTHING_IPC_GET_BUILD_NUMBER,0);
}

DWORD EVERYTHINGAPI Everything_GetTargetMachine(void)
{
	return _Everything_SendAPIDwordCommand(EVERYTHING_IPC_GET_TARGET_MACHINE,0);
}

BOOL EVERYTHINGAPI Everything_Exit(void)
{
	return _Everything_SendAPIBoolCommand(EVERYTHING_IPC_EXIT,0);
}

BOOL EVERYTHINGAPI Everything_IsFastSort(DWORD sortType)
{
	return _Everything_SendAPIBoolCommand(EVERYTHING_IPC_IS_FAST_SORT,(LPARAM)sortType);
}

BOOL EVERYTHINGAPI Everything_IsFileInfoIndexed(DWORD fileInfoType)
{
	return _Everything_SendAPIBoolCommand(EVERYTHING_IPC_IS_FILE_INFO_INDEXED,(LPARAM)fileInfoType);
}

static LRESULT _Everything_SendCopyData(int command,const void *data,int size)
{
	HWND everything_hwnd;
	
	everything_hwnd = es_find_instance_window();
	if (everything_hwnd)
	{
		COPYDATASTRUCT cds;

		cds.cbData = size;
		cds.dwData = command;
		cds.lpData = (void *)data;

		return SendMessage(everything_hwnd,WM_COPYDATA,0,(LPARAM)&cds);
	}
	else
	{
		// the everything window was not found.
		// we can optionally RegisterWindowMessage("EVERYTHING_IPC_CREATED") and 
		// wait for Everything to post this message to all top level windows when its up and running.
		_Everything_LastError = EVERYTHING_ERROR_IPC;
		
		return FALSE;
	}
}

DWORD EVERYTHINGAPI Everything_GetRunCountFromFileNameW(LPCWSTR lpFileName)
{
	return (DWORD)_Everything_SendCopyData(EVERYTHING_IPC_COPYDATA_GET_RUN_COUNTW,lpFileName,(_Everything_StringLengthW(lpFileName) + 1) * sizeof(WCHAR));
}

DWORD EVERYTHINGAPI Everything_GetRunCountFromFileNameA(LPCSTR lpFileName)
{
	return (DWORD)_Everything_SendCopyData(EVERYTHING_IPC_COPYDATA_GET_RUN_COUNTA,lpFileName,_Everything_StringLengthA(lpFileName) + 1);
}

BOOL EVERYTHINGAPI Everything_SetRunCountFromFileNameW(LPCWSTR lpFileName,DWORD dwRunCount)
{
	EVERYTHING_IPC_RUN_HISTORY *run_history;
	DWORD len;
	BOOL ret;
	
	len = _Everything_StringLengthW(lpFileName);
	
	run_history = _Everything_Alloc(sizeof(EVERYTHING_IPC_RUN_HISTORY) + ((len + 1) * sizeof(WCHAR)));
	
	if (run_history)
	{
		run_history->run_count = dwRunCount;
		CopyMemory(run_history + 1,lpFileName,((len + 1) * sizeof(WCHAR)));
	
		if (_Everything_SendCopyData(EVERYTHING_IPC_COPYDATA_SET_RUN_COUNTW,run_history,sizeof(EVERYTHING_IPC_RUN_HISTORY) + ((len + 1) * sizeof(WCHAR))))
		{
			ret = TRUE;
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;
			
			ret = FALSE;
		}
		
		_Everything_Free(run_history);
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_MEMORY;
	
		ret = FALSE;
	}	
	
	return ret;
}

BOOL EVERYTHINGAPI Everything_SetRunCountFromFileNameA(LPCSTR lpFileName,DWORD dwRunCount)
{
	EVERYTHING_IPC_RUN_HISTORY *run_history;
	DWORD len;
	BOOL ret;
	
	len = _Everything_StringLengthA(lpFileName);
	
	run_history = _Everything_Alloc(sizeof(EVERYTHING_IPC_RUN_HISTORY) + (len + 1));
	
	if (run_history)
	{
		run_history->run_count = dwRunCount;
		CopyMemory(run_history + 1,lpFileName,(len + 1));
	
		if (_Everything_SendCopyData(EVERYTHING_IPC_COPYDATA_SET_RUN_COUNTA,run_history,sizeof(EVERYTHING_IPC_RUN_HISTORY) + (len + 1)))
		{
			ret = TRUE;
		}
		else
		{
			_Everything_LastError = EVERYTHING_ERROR_INVALIDCALL;
			
			ret = FALSE;
		}
		
		_Everything_Free(run_history);
	}
	else
	{
		_Everything_LastError = EVERYTHING_ERROR_MEMORY;
	
		ret = FALSE;
	}	
	
	return ret;
}

DWORD EVERYTHINGAPI Everything_IncRunCountFromFileNameW(LPCWSTR lpFileName)
{
	return (DWORD)_Everything_SendCopyData(EVERYTHING_IPC_COPYDATA_INC_RUN_COUNTW,lpFileName,(_Everything_StringLengthW(lpFileName) + 1) * sizeof(WCHAR));
}

DWORD EVERYTHINGAPI Everything_IncRunCountFromFileNameA(LPCSTR lpFileName)
{
	return (DWORD)_Everything_SendCopyData(EVERYTHING_IPC_COPYDATA_INC_RUN_COUNTA,lpFileName,_Everything_StringLengthA(lpFileName) + 1);
}



================================================
FILE: EverythingSDK/src/Everything64.def
================================================
LIBRARY Everything64

EXPORTS

	Everything_GetLastError

	Everything_SetSearchA
	Everything_SetSearchW
	Everything_SetMatchPath
	Everything_SetMatchCase
	Everything_SetMatchWholeWord
	Everything_SetRegex
	Everything_SetMax
	Everything_SetOffset
	Everything_SetReplyID
	Everything_SetReplyWindow

	Everything_GetSearchA
	Everything_GetSearchW
	Everything_GetMatchPath
	Everything_GetMatchCase
	Everything_GetMatchWholeWord
	Everything_GetRegex
	Everything_GetMax
	Everything_GetOffset
	Everything_GetReplyID
	Everything_GetReplyWindow

	Everything_QueryA
	Everything_QueryW
	
	Everything_IsQueryReply

	Everything_SortResultsByPath
	
	Everything_GetNumFileResults
	Everything_GetNumFolderResults
	Everything_GetNumResults
	Everything_GetTotFileResults
	Everything_GetTotFolderResults
	Everything_GetTotResults
	
	Everything_IsVolumeResult
	Everything_IsFolderResult
	Everything_IsFileResult

	Everything_GetResultFileNameA
	Everything_GetResultFileNameW
	Everything_GetResultPathA
	Everything_GetResultPathW
	Everything_GetResultFullPathNameA
	Everything_GetResultFullPathNameW
	
	Everything_Reset
	Everything_CleanUp
	
	Everything_SetSort
	Everything_SetRequestFlags
	Everything_GetSort
	Everything_GetRequestFlags
	Everything_GetResultListSort
	Everything_GetResultListRequestFlags
	Everything_GetResultExtensionW
	Everything_GetResultExtensionA
	Everything_GetResultSize
	Everything_GetResultDateCreated
	Everything_GetResultDateModified
	Everything_GetResultDateAccessed
	Everything_GetResultAttributes
	Everything_GetResultFileListFileNameW
	Everything_GetResultFileListFileNameA
	Everything_GetResultRunCount
	Everything_GetResultDateRun
	Everything_GetResultDateRecentlyChanged
	Everything_GetResultHighlightedFileNameW
	Everything_GetResultHighlightedFileNameA
	Everything_GetResultHighlightedPathW
	Everything_GetResultHighlightedPathA
	Everything_GetResultHighlightedFullPathAndFileNameW
	Everything_GetResultHighlightedFullPathAndFileNameA
	Everything_GetMajorVersion
	Everything_GetMinorVersion
	Everything_GetRevision
	Everything_GetBuildNumber
	Everything_Exit
	Everything_IsDBLoaded
	Everything_IsAdmin
	Everything_IsAppData
	Everything_RebuildDB
	Everything_UpdateAllFolderIndexes
	Everything_SaveDB
	Everything_SaveRunHistory
	Everything_DeleteRunHistory
	Everything_GetTargetMachine
	Everything_IsFastSort
	Everything_IsFileInfoIndexed
	Everything_GetRunCountFromFileNameW
	Everything_GetRunCountFromFileNameA
	Everything_SetRunCountFromFileNameW
	Everything_SetRunCountFromFileNameA
	Everything_IncRunCountFromFileNameW
	Everything_IncRunCountFromFileNameA
	Everything_SetInstanceName


================================================
FILE: EverythingToolbar/Behaviors/FlowDirectionAwareness.cs
================================================
using System.Globalization;
using System.Windows;
using Microsoft.Xaml.Behaviors;

namespace EverythingToolbar.Behaviors
{
    public class FlowDirectionAwareness : Behavior<Window>
    {
        protected override void OnAttached()
        {
            base.OnAttached();

            UpdateFlowDirection();
        }

        private void UpdateFlowDirection()
        {
            if (CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft)
            {
                AssociatedObject.FlowDirection = FlowDirection.RightToLeft;
            }
            else
            {
                AssociatedObject.FlowDirection = FlowDirection.LeftToRight;
            }
        }
    }
}


================================================
FILE: EverythingToolbar/Behaviors/ThemeAwareness.cs
================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Reflection;
using System.Windows;
using System.Windows.Media;
using EverythingToolbar.Helpers;
using Microsoft.Xaml.Behaviors;
using NLog;
using Windows.UI.ViewManagement;
using Color = Windows.UI.Color;

namespace EverythingToolbar.Behaviors
{
    public enum Theme
    {
        Dark,
        Light,
    }

    public class ResourcesChangedEventArgs : EventArgs
    {
        public Theme NewTheme { get; set; }
    }

    public class ThemeAwareness : Behavior<FrameworkElement>
    {
        public static event EventHandler<ResourcesChangedEventArgs> ResourceChanged;

        private readonly List<ResourceDictionary> _addedDictionaries = new();
        private UISettings _settings;
        private static readonly RegistryEntry SystemThemeRegistryEntry = new(
            "HKEY_CURRENT_USER",
            @"Software\Microsoft\Windows\CurrentVersion\Themes\Personalize",
            "SystemUsesLightTheme"
        );
        private static readonly ILogger Logger = ToolbarLogger.GetLogger<ThemeAwareness>();

        protected override void OnAttached()
        {
            base.OnAttached();
            if (AssociatedObject.IsLoaded)
            {
                AutoApplyTheme();
            }
            else
            {
                AssociatedObject.Loaded += (_, _) =>
                {
                    AutoApplyTheme();
                };
            }
        }

        public ThemeAwareness()
        {
            var systemThemeWatcher = new RegistryWatcher(SystemThemeRegistryEntry);
            systemThemeWatcher.OnChangeValue += newValue =>
            {
                Dispatcher.Invoke(() =>
                {
                    var theme = GetThemeFromRegistryValue((int)newValue);
                    ApplyTheme(theme);
                });
            };

            try
            {
                _settings = new UISettings();
                _settings.ColorValuesChanged += (sender, args) =>
                {
                    Dispatcher.Invoke(AutoApplyTheme);
                };
            }
            catch
            {
                Logger.Info("Could not apply accent color automatically.");
            }

            ToolbarSettings.User.PropertyChanged += OnSettingsChanged;
        }

        private void OnSettingsChanged(object sender, PropertyChangedEventArgs e)
        {
            if (
                e.PropertyName
                is nameof(ToolbarSettings.User.ItemTemplate)
                    or nameof(ToolbarSettings.User.ThemeOverride)
                    or nameof(ToolbarSettings.User.ForceWin10Behavior)
            )
            {
                AutoApplyTheme();
            }
        }

        private Theme GetThemeFromRegistryValue(int registryValue)
        {
            if (ToolbarSettings.User.ThemeOverride.ToLower() == "light")
            {
                return Theme.Light;
            }

            if (ToolbarSettings.User.ThemeOverride.ToLower() == "dark")
            {
                return Theme.Dark;
            }

            return registryValue == 1 ? Theme.Light : Theme.Dark;
        }

        private void AutoApplyTheme()
        {
            var themeValue = (int)SystemThemeRegistryEntry.GetValue(0);
            var theme = GetThemeFromRegistryValue(themeValue);
            ApplyTheme(theme);
        }

        private void ApplyTheme(Theme theme)
        {
            foreach (var dict in _addedDictionaries)
            {
                AssociatedObject.Resources.MergedDictionaries.Remove(dict);
            }
            _addedDictionaries.Clear();

            var assemblyLocation = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            var themeLocation = assemblyLocation;
            if (Utils.GetWindowsVersion() >= Utils.WindowsVersion.Windows11)
                themeLocation = Path.Combine(themeLocation, "Themes", "Win11");
            else
                themeLocation = Path.Combine(themeLocation, "Themes", "Win10");

            // Apply all control styles contained in "Controls" subdirectory
            var controlsLocation = new DirectoryInfo(Path.Combine(themeLocation, "Controls"));
            foreach (var file in controlsLocation.GetFiles("*.xaml"))
                AddResource(file.FullName);

            // Apply color scheme according to Windows theme
            var themeFileName = theme == Theme.Light ? "Light.xaml" : "Dark.xaml";
            AddResource(Path.Combine(themeLocation, themeFileName));

            // Apply ItemTemplate style
            var dataTemplateLocation = Path.Combine(
                assemblyLocation,
                "ItemTemplates",
                ToolbarSettings.User.ItemTemplate + ".xaml"
            );
            AddResource(
                dataTemplateLocation,
                fallbackPath: Path.Combine(assemblyLocation, "ItemTemplates", "Normal.xaml")
            );

            // Apply accent color
            if (_settings != null)
            {
                if (theme == Theme.Light)
                    SetAccentColor(GetBrush(_settings.GetColorValue(UIColorType.AccentDark1)));
                else
                    SetAccentColor(GetBrush(_settings.GetColorValue(UIColorType.AccentLight2)));
            }
            else
            {
                SetAccentColor(new SolidColorBrush(Colors.DimGray));
            }

            // Notify resource change
            ResourceChanged?.Invoke(this, new ResourcesChangedEventArgs { NewTheme = theme });
        }

        private void AddResource(string path, string fallbackPath = null)
        {
            if (!File.Exists(path))
            {
                Logger.Error("Could not find resource file " + path);

                if (fallbackPath != null)
                    AddResource(fallbackPath);

                return;
            }

            var resDict = new ResourceDictionary { Source = new Uri(path) };
            AssociatedObject.Resources.MergedDictionaries.Add(resDict);
            _addedDictionaries.Add(resDict);
        }

        private void SetAccentColor(SolidColorBrush brush)
        {
            var resDict = new ResourceDictionary();
            resDict.Add("AccentColor", brush);
            AssociatedObject.Resources.MergedDictionaries.Add(resDict);
            _addedDictionaries.Add(resDict);
        }

        private static SolidColorBrush GetBrush(Color color)
        {
            return new SolidColorBrush(System.Windows.Media.Color.FromArgb(color.A, color.R, color.G, color.B));
        }
    }
}


================================================
FILE: EverythingToolbar/Behaviors/WpfUiBehavior.cs
================================================
using System.Windows;
using EverythingToolbar.Helpers;
using Microsoft.Xaml.Behaviors;
using Wpf.Ui.Appearance;

namespace EverythingToolbar.Behaviors
{
    public class WpfUiBehavior : Behavior<FrameworkElement>
    {
        private static readonly RegistryEntry SystemThemeRegistryEntry = new(
            "HKEY_CURRENT_USER",
            @"Software\Microsoft\Windows\CurrentVersion\Themes\Personalize",
            "AppsUseLightTheme"
        );

        protected override void OnAttached()
        {
            base.OnAttached();

            if (AssociatedObject.IsLoaded)
                AutoApplyTheme();
            else
                AssociatedObject.Loaded += (_, _) =>
                {
                    AutoApplyTheme();
                };
        }

        private void ApplyTheme(Theme theme)
        {
            ApplicationThemeManager.Apply(theme == Theme.Light ? ApplicationTheme.Light : ApplicationTheme.Dark);
            ApplicationThemeManager.Apply(AssociatedObject);
        }

        private void AutoApplyTheme()
        {
            var themeValue = SystemThemeRegistryEntry.GetValue(0) as int? ?? 0;
            var theme = GetThemeFromRegistryValue(themeValue);
            ApplyTheme(theme);
        }

        private Theme GetThemeFromRegistryValue(int registryValue)
        {
            if (ToolbarSettings.User.ThemeOverride.ToLower() == "light")
            {
                return Theme.Light;
            }

            if (ToolbarSettings.User.ThemeOverride.ToLower() == "dark")
            {
                return Theme.Dark;
            }

            return registryValue == 1 ? Theme.Light : Theme.Dark;
        }
    }
}


================================================
FILE: EverythingToolbar/Controls/AcrylicWindow.cs
================================================
using System;
using System.Runtime.InteropServices;
using System.Windows;
using System.Windows.Interop;
using System.Windows.Media;
using System.Windows.Shell;
using EverythingToolbar.Behaviors;
using EverythingToolbar.Helpers;

namespace EverythingToolbar.Controls
{
    public class AcrylicWindow : Window
    {
        [DllImport("DWMAPI")]
        private static extern IntPtr DwmExtendFrameIntoClientArea(IntPtr hwnd, ref Margins margins);

        [DllImport("DWMAPI")]
        private static extern IntPtr DwmSetWindowAttribute(
            IntPtr hwnd,
            DwmWindowAttribute attribute,
            ref int value,
            uint dataSize
        );

        [DllImport("User32")]
        private static extern bool SetWindowCompositionAttribute(IntPtr hwnd, ref WindowCompositionAttributeData data);

        [DllImport("User32")]
        private static extern bool SetWindowPos(
            IntPtr hwnd,
            IntPtr hwndInsertAfter,
            int x,
            int y,
            int width,
            int height,
            SetWindowPosFlags flags
        );

        [StructLayout(LayoutKind.Sequential)]
        private struct WindowCompositionAttributeData
        {
            public WindowCompositionAttribute Attribute;
            public IntPtr DataPointer;
            public uint DataSize;
        }

        [StructLayout(LayoutKind.Sequential)]
        private struct AccentPolicy
        {
            public AccentState AccentState;
            public AccentFlags AccentFlags;
            public int GradientColor;
            public int AnimationId;
        }

        [StructLayout(LayoutKind.Sequential)]
        private struct Margins
        {
            public int LeftWidth;
            public int RightWidth;
            public int TopHeight;
            public int BottomHeight;
        }

        private enum AccentState
        {
            Disabled,
            EnableGradient = 1,
            EnableTransparent = 2,
            EnableBlurBehind = 3,
            EnableAcrylicBlurBehind = 4,
            EnableHostBackdrop = 5,
            InvalidState = 6,
        }

        [Flags]
        private enum AccentFlags
        {
            None = 0,
            ExtendSize = 0x4,
            LeftBorder = 0x20,
            TopBorder = 0x40,
            RightBorder = 0x80,
            BottomBorder = 0x100,
            AllBorder = LeftBorder | TopBorder | RightBorder | BottomBorder,
        }

        private enum WindowCompositionAttribute
        {
            WcaAccentPolicy = 19,
        }

        private enum DwmWindowAttribute
        {
            WINDOW_CORNER_PREFERENCE = 33,
        }

        private enum WindowCorner
        {
            Default = 0,
            DoNotRound = 1,
            Round = 2,
            RoundSmall = 3,
        }

        [Flags]
        private enum SetWindowPosFlags
        {
            ASYNCWINDOWPOS = 16384,
            DEFERERASE = 8192,
            DRAWFRAME = 32,
            FRAMECHANGED = 32,
            HIDEWINDOW = 128,
            NOACTIVATE = 16,
            NOCOPYBITS = 256,
            NOMOVE = 2,
            NOOWNERZORDER = 512,
            NOREDRAW = 8,
            NOREPOSITION = 512,
            NOSENDCHANGING = 1024,
            NOSIZE = 1,
            NOZORDER = 4,
            SHOWWINDOW = 64,
        }

        public bool IsAcrylicEnabled
        {
            get => (bool)GetValue(IsAcrylicEnabledProperty);
            set => SetValue(IsAcrylicEnabledProperty, value);
        }

        public static readonly DependencyProperty IsAcrylicEnabledProperty = DependencyProperty.Register(
            nameof(IsAcrylicEnabled),
            typeof(bool),
            typeof(AcrylicWindow),
            new PropertyMetadata(true, OnAcrylicPropertyChanged)
        );

        public Color AcrylicGradientColor
        {
            get => (Color)GetValue(AcrylicGradientColorProperty);
            set => SetValue(AcrylicGradientColorProperty, value);
        }

        public static readonly DependencyProperty AcrylicGradientColorProperty = DependencyProperty.Register(
            nameof(AcrylicGradientColor),
            typeof(Color),
            typeof(AcrylicWindow),
            new PropertyMetadata(Colors.Transparent, OnAcrylicPropertyChanged)
        );

        public bool ShowAccentBorder
        {
            get => (bool)GetValue(ShowAccentBorderProperty);
            set => SetValue(ShowAccentBorderProperty, value);
        }

        public static readonly DependencyProperty ShowAccentBorderProperty = DependencyProperty.Register(
            nameof(ShowAccentBorder),
            typeof(bool),
            typeof(AcrylicWindow),
            new PropertyMetadata(false, OnAcrylicPropertyChanged)
        );

        protected AcrylicWindow()
        {
            // Use layered window when Windows transparency is disabled to prevent white flash on open
            if (!Utils.IsWindowsTransparencyEnabled())
            {
                WindowStyle = WindowStyle.None;
                AllowsTransparency = true;
            }

            WindowChrome.SetWindowChrome(
                this,
                new WindowChrome
                {
                    GlassFrameThickness = new Thickness(0),
                    CaptionHeight = 0,
                    ResizeBorderThickness = new Thickness(5),
                    CornerRadius = new CornerRadius(0),
                }
            );

            Background = Brushes.Transparent;

            Loaded += OnWindowLoaded;
            SourceInitialized += OnSourceInitialized;

            ThemeAwareness.ResourceChanged += OnThemeChanged;
        }

        private void OnThemeChanged(object? sender, ResourcesChangedEventArgs e)
        {
            if (!Utils.IsWindowsTransparencyEnabled())
                UpdateBackgroundColor();
        }

        private void UpdateBackgroundColor()
        {
            var hwndSource = PresentationSource.FromVisual(this) as HwndSource;
            if (hwndSource?.CompositionTarget != null)
            {
                hwndSource.CompositionTarget.BackgroundColor = GetThemeBackgroundColor();
            }
        }

        private void OnWindowLoaded(object sender, RoutedEventArgs e)
        {
            ApplyAcrylicEffect();
        }

        private void OnSourceInitialized(object? sender, EventArgs e)
        {
            ApplyAcrylicEffect();
            ApplyWindowCorner();

            // Reject Direct Manipulation to ensure precision touchpad scroll
            // generates WM_MOUSEWHEEL instead of being consumed by the DM infrastructure.
            // When WPF runs inside Explorer's process (deskband), WPF's DM conflicts with
            // Explorer's own DM manager, causing touchpad scroll events to be silently lost.
            if (PresentationSource.FromVisual(this) is HwndSource hwndSource)
            {
                hwndSource.AddHook(RejectDirectManipulation);
            }
        }

        private static IntPtr RejectDirectManipulation(
            IntPtr hwnd,
            int msg,
            IntPtr wParam,
            IntPtr lParam,
            ref bool handled
        )
        {
            const int DM_POINTERHITTEST = 0x0250;
            if (msg == DM_POINTERHITTEST)
            {
                handled = true;
                return IntPtr.Zero;
            }

            return IntPtr.Zero;
        }

        private static Color GetThemeBackgroundColor()
        {
            var isLightTheme = Utils.IsLightTheme();
            var isWindows11 = Utils.GetWindowsVersion() >= Utils.WindowsVersion.Windows11;

            if (isWindows11)
                return isLightTheme ? Color.FromRgb(0xf0, 0xf0, 0xf0) : Color.FromRgb(0x25, 0x25, 0x25);
            else
                return isLightTheme ? Color.FromRgb(0xee, 0xee, 0xee) : Color.FromRgb(0x22, 0x22, 0x22);
        }

        private static void OnAcrylicPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            if (d is AcrylicWindow { IsLoaded: true } window)
            {
                window.ApplyAcrylicEffect();
            }
        }

        private void ApplyAcrylicEffect()
        {
            if (!IsAcrylicEnabled)
                return;

            var hwndSource = PresentationSource.FromVisual(this) as HwndSource;
            if (hwndSource?.Handle == IntPtr.Zero)
                return;

            var handle = hwndSource!.Handle;

            var accentPolicy = new AccentPolicy
            {
                AccentState = AccentState.EnableAcrylicBlurBehind,
                AccentFlags = ShowAccentBorder ? AccentFlags.AllBorder : AccentFlags.None,
                GradientColor = CreateColorInteger(AcrylicGradientColor),
                AnimationId = 0,
            };

            var accentPolicyPtr = Marshal.AllocHGlobal(Marshal.SizeOf<AccentPolicy>());
            try
            {
                Marshal.StructureToPtr(accentPolicy, accentPolicyPtr, false);

                var windowCompositionAttributeData = new WindowCompositionAttributeData
                {
                    Attribute = WindowCompositionAttribute.WcaAccentPolicy,
                    DataPointer = accentPolicyPtr,
                    DataSize = (uint)Marshal.SizeOf<AccentPolicy>(),
                };

                hwndSource.CompositionTarget!.BackgroundColor = Utils.IsWindowsTransparencyEnabled()
                    ? Colors.Transparent
                    : GetThemeBackgroundColor();

                var margins = new Margins
                {
                    LeftWidth = 0,
                    RightWidth = 0,
                    TopHeight = 0,
                    BottomHeight = 0,
                };

                DwmExtendFrameIntoClientArea(handle, ref margins);
                SetWindowCompositionAttribute(handle, ref windowCompositionAttributeData);

                SetWindowPos(
                    handle,
                    IntPtr.Zero,
                    0,
                    0,
                    0,
                    0,
                    SetWindowPosFlags.DRAWFRAME
                        | SetWindowPosFlags.NOACTIVATE
                        | SetWindowPosFlags.NOMOVE
                        | SetWindowPosFlags.NOOWNERZORDER
                        | SetWindowPosFlags.NOSIZE
                        | SetWindowPosFlags.NOZORDER
                );
            }
            finally
            {
                Marshal.FreeHGlobal(accentPolicyPtr);
            }
        }

        private void ApplyWindowCorner()
        {
            var hwndSource = PresentationSource.FromVisual(this) as HwndSource;
            if (hwndSource?.Handle == IntPtr.Zero)
                return;

            var handle = hwndSource!.Handle;

            // Determine corner style based on Windows version
            var windowsVersion = Utils.GetWindowsVersion();
            var cornerStyle =
                windowsVersion >= Utils.WindowsVersion.Windows11 ? WindowCorner.Round : WindowCorner.RoundSmall;

            var corner = (int)cornerStyle;

            DwmSetWindowAttribute(handle, DwmWindowAttribute.WINDOW_CORNER_PREFERENCE, ref corner, sizeof(int));
        }

        private static int CreateColorInteger(Color color)
        {
            return color.R << 0 | color.G << 8 | color.B << 16 | color.A << 24;
        }
    }
}


================================================
FILE: EverythingToolbar/Controls/FilterSelector.xaml
================================================
<UserControl x:Class="EverythingToolbar.Controls.FilterSelector"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:helpers="clr-namespace:EverythingToolbar.Helpers"
             xmlns:converters="clr-namespace:EverythingToolbar.Converters"
             xmlns:local="clr-namespace:EverythingToolbar"
             x:Name="Root"
             Background="Transparent"
             DataContext="{Binding Source={x:Static helpers:FilterLoader.Instance}}">
    <UserControl.OpacityMask>
        <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
            <GradientStop Color="Black" Offset="0"/>
            <GradientStop Color="Black" Offset="0.94"/>
            <GradientStop Color="Transparent" Offset="1"/>
        </LinearGradientBrush>
    </UserControl.OpacityMask>
    <StackPanel Orientation="Horizontal">
        <TabControl x:Name="TabControl"
                    SelectedIndex="-1"
                    SelectionChanged="OnTabItemSelected"
                    FocusVisualStyle="{x:Null}">
            <TabControl.ItemsSource>
                <MultiBinding Converter="{converters:TakeItemsMultiConverter}">
                    <Binding Path="Filters" />
                    <Binding Source="{x:Static local:ToolbarSettings.User}" Path="MaxTabItems" Mode="TwoWay" />
                </MultiBinding>
            </TabControl.ItemsSource>
        </TabControl>

        <ComboBox Name="ComboBox"
                  DisplayMemberPath="Name"
                  SelectedIndex="-1"
                  SelectionChanged="OnComboBoxItemSelected"
                  FocusVisualStyle="{x:Null}">
            <ComboBox.ItemsSource>
                <MultiBinding Converter="{converters:SkipItemsMultiConverter}">
                    <Binding Path="Filters" />
                    <Binding Source="{x:Static local:ToolbarSettings.User}" Path="MaxTabItems" Mode="TwoWay" />
                </MultiBinding>
            </ComboBox.ItemsSource>
        </ComboBox>
    </StackPanel>
</UserControl>


================================================
FILE: EverythingToolbar/Controls/FilterSelector.xaml.cs
================================================
using System.Windows;
using System.Windows.Controls;
using EverythingToolbar.Data;
using EverythingToolbar.Helpers;

namespace EverythingToolbar.Controls
{
    public partial class FilterSelector
    {
        public static readonly DependencyProperty SelectedFilterProperty = DependencyProperty.Register(
            nameof(SelectedFilter),
            typeof(Filter),
            typeof(FilterSelector),
            new FrameworkPropertyMetadata(
                null,
                FrameworkPropertyMetadataOptions.BindsTwoWayByDefault,
                OnSelectedFilterChanged
            )
        );

        private static void OnSelectedFilterChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var control = (FilterSelector)d;
            control.UpdateSelectedItems();
        }

        public Filter? SelectedFilter
        {
            get => (Filter)GetValue(SelectedFilterProperty);
            set => SetValue(SelectedFilterProperty, value);
        }

        public FilterSelector()
        {
            InitializeComponent();

            Loaded += (_, _) => UpdateSelectedItems();
        }

        private void UpdateSelectedItems()
        {
            if (SelectedFilter == null)
                return;

            TabControl.SelectionChanged -= OnTabItemSelected;
            ComboBox.SelectionChanged -= OnComboBoxItemSelected;

            int filterIndex = FilterLoader.Instance.Filters.IndexOf(SelectedFilter);
            int maxTabItems = ToolbarSettings.User.MaxTabItems;

            TabControl.SelectedIndex = filterIndex < maxTabItems ? filterIndex : -1;
            ComboBox.SelectedIndex = filterIndex >= maxTabItems ? filterIndex - maxTabItems : -1;

            TabControl.SelectionChanged += OnTabItemSelected;
            ComboBox.SelectionChanged += OnComboBoxItemSelected;
        }

        private void OnTabItemSelected(object sender, SelectionChangedEventArgs e)
        {
            if (TabControl.SelectedIndex < 0)
                return;

            if (!TabControl.IsFocused && !TabControl.IsMouseOver)
            {
                TabControl.SelectedIndex = -1;
                return;
            }

            if (TabControl.SelectedItem is Filter selectedFilter)
                SelectedFilter = selectedFilter;
        }

        private void OnComboBoxItemSelected(object sender, SelectionChangedEventArgs e)
        {
            if (ComboBox.SelectedIndex < 0)
                return;

            if (!ComboBox.IsFocused && !ComboBox.IsMouseOver)
            {
                ComboBox.SelectedIndex = -1;
                return;
            }

            if (ComboBox.SelectedItem is Filter selectedFilter)
                SelectedFilter = selectedFilter;
        }
    }
}


================================================
FILE: EverythingToolbar/Controls/FluentMessageBox.cs
================================================
using System.Windows;
using System.Windows.Controls;
using Wpf.Ui.Appearance;
using Wpf.Ui.Controls;
using MessageBox = Wpf.Ui.Controls.MessageBox;
using TextBlock = System.Windows.Controls.TextBlock;

namespace EverythingToolbar.Controls
{
    public static class FluentMessageBox
    {
        private static MessageBox CreateBase(string title)
        {
            var messageBox = new MessageBox()
            {
                Title = title,
                IsCloseButtonEnabled = true,
                MinWidth = 300,
            };

            // We need to apply resources before setting the content on the base message box
            ApplicationThemeManager.Apply(
                SystemThemeManager.GetCachedSystemTheme() == SystemTheme.Light
                    ? ApplicationTheme.Light
                    : ApplicationTheme.Dark
            );
            ApplicationThemeManager.Apply(messageBox);

            return messageBox;
        }

        private static TextBlock CreateTextBlock(string text)
        {
            return new TextBlock
            {
                Text = text,
                FontSize = 14,
                Margin = new Thickness(20),
                TextWrapping = TextWrapping.Wrap,
                VerticalAlignment = VerticalAlignment.Center,
                HorizontalAlignment = HorizontalAlignment.Stretch,
            };
        }

        public static MessageBox CreateRegular(string content, string title)
        {
            var messageBox = CreateBase(title);

            messageBox.Content = CreateTextBlock(content);

            return messageBox;
        }

        public static MessageBox CreateYesNo(string content, string title)
        {
            var messageBox = CreateRegular(content, title);

            messageBox.PrimaryButtonText = "Yes";
            messageBox.SecondaryButtonText = "No";
            messageBox.IsCloseButtonEnabled = false;

            return messageBox;
        }

        public static MessageBox CreateError(string content, string title)
        {
            var messageBox = CreateBase(title);

            messageBox.IsPrimaryButtonEnabled = false;

            var symbolIcon = new SymbolIcon
            {
                Symbol = SymbolRegular.Warning28,
                FontSize = 32,
                VerticalAlignment = VerticalAlignment.Center,
                Margin = new Thickness(0, 0, 20, 0),
            };
            Grid.SetColumn(symbolIcon, 0);

            var textBlock = new TextBlock
            {
                Text = content,
                FontSize = 14,
                TextWrapping = TextWrapping.Wrap,
                VerticalAlignment = VerticalAlignment.Center,
                HorizontalAlignment = HorizontalAlignment.Stretch,
            };
            Grid.SetColumn(textBlock, 1);

            messageBox.Content = new Grid
            {
                Margin = new Thickness(20, 0, 20, 0),
                ColumnDefinitions =
                {
                    new ColumnDefinition { Width = GridLength.Auto },
                    new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) },
                },
                Children = { symbolIcon, textBlock },
            };
            return messageBox;
        }
    }
}


================================================
FILE: EverythingToolbar/Controls/GenericBanner.xaml
================================================
<UserControl x:Class="EverythingToolbar.Controls.GenericBanner"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             Background="Transparent"
             FontSize="13">
    <UserControl.Resources>
        <Style x:Key="BannerButtonStyle" TargetType="Button">
            <Setter Property="Background" Value="Transparent" />
            <Setter Property="BorderBrush" Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type UserControl}}, Path=ButtonBorderBrush}" />
            <Setter Property="BorderThickness" Value="1" />
            <Setter Property="Padding" Value="12, 6" />
            <Setter Property="MinWidth" Value="60" />
            <Setter Property="VerticalAlignment" Value="Center" />
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Border Background="{TemplateBinding Background}"
                                BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}"
                                CornerRadius="4"
                                Padding="{TemplateBinding Padding}">
                            <ContentPresenter HorizontalAlignment="Center" 
                                            VerticalAlignment="Center" />
                        </Borde
Download .txt
gitextract_f0fongak/

├── .config/
│   └── dotnet-tools.json
├── .editorconfig
├── .github/
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.yml
│   │   ├── config.yml
│   │   └── feature_request.yml
│   └── workflows/
│       ├── build.yml
│       ├── csharpier.yml
│       ├── release.yml
│       └── winget-release.yml
├── .gitignore
├── Directory.Build.props
├── EverythingSDK/
│   ├── EverythingSDK.vcxproj
│   ├── EverythingSDK.vcxproj.filters
│   ├── include/
│   │   ├── Everything.h
│   │   └── Everything_IPC.h
│   └── src/
│       ├── Everything.c
│       └── Everything64.def
├── EverythingToolbar/
│   ├── Behaviors/
│   │   ├── FlowDirectionAwareness.cs
│   │   ├── ThemeAwareness.cs
│   │   └── WpfUiBehavior.cs
│   ├── Controls/
│   │   ├── AcrylicWindow.cs
│   │   ├── FilterSelector.xaml
│   │   ├── FilterSelector.xaml.cs
│   │   ├── FluentMessageBox.cs
│   │   ├── GenericBanner.xaml
│   │   ├── GenericBanner.xaml.cs
│   │   ├── SearchBox.xaml
│   │   ├── SearchBox.xaml.cs
│   │   ├── SearchButton.xaml
│   │   ├── SearchButton.xaml.cs
│   │   ├── SearchResultPreviewPane.xaml
│   │   ├── SearchResultPreviewPane.xaml.cs
│   │   ├── SearchResultsView.xaml
│   │   ├── SearchResultsView.xaml.cs
│   │   ├── SettingItem.xaml
│   │   ├── SettingItem.xaml.cs
│   │   ├── SettingsControl.xaml
│   │   ├── SettingsControl.xaml.cs
│   │   ├── UpdateBanner.xaml
│   │   ├── UpdateBanner.xaml.cs
│   │   ├── UpdateSuccessfulBanner.xaml
│   │   └── UpdateSuccessfulBanner.xaml.cs
│   ├── Converters/
│   │   ├── BoolToVisibilityConverter.cs
│   │   ├── HighlightedTextConverter.cs
│   │   ├── NotConverter.cs
│   │   ├── NullToVisibilityConverter.cs
│   │   ├── PreviewPaneToggleIconConverter.cs
│   │   ├── SearchResultsCountConverter.cs
│   │   ├── SkipItemsConverter.cs
│   │   ├── TakeItemsConverter.cs
│   │   └── WindowsVersionToVisibilityConverter.cs
│   ├── Data/
│   │   ├── Filter.cs
│   │   ├── FocusBehavior.cs
│   │   ├── Rule.cs
│   │   └── SearchResult.cs
│   ├── EverythingToolbar.csproj
│   ├── Helpers/
│   │   ├── CultureHelper.cs
│   │   ├── DefaultFilterLoader.cs
│   │   ├── EventDispatcher.cs
│   │   ├── EverythingFilterLoader.cs
│   │   ├── FilterLoader.cs
│   │   ├── HistoryManager.cs
│   │   ├── IconProvider.cs
│   │   ├── NativeMethods.cs
│   │   ├── RegistryWatcher.cs
│   │   ├── ShellContextMenu.cs
│   │   ├── ShellUtils.cs
│   │   ├── ShortcutManager.cs
│   │   ├── StartMenuIntegration.cs
│   │   ├── TaskbarStateManager.cs
│   │   ├── ToolbarLogger.cs
│   │   └── Utils.cs
│   ├── Images/
│   │   └── WinUIGallery/
│   │       └── LICENSE
│   ├── ItemTemplates/
│   │   ├── Compact.xaml
│   │   ├── CompactDetailed.xaml
│   │   ├── Normal.xaml
│   │   └── NormalDetailed.xaml
│   ├── Properties/
│   │   ├── Resources.Designer.cs
│   │   ├── Resources.af.Designer.cs
│   │   ├── Resources.af.resx
│   │   ├── Resources.ar.Designer.cs
│   │   ├── Resources.ar.resx
│   │   ├── Resources.ca.Designer.cs
│   │   ├── Resources.ca.resx
│   │   ├── Resources.cs.Designer.cs
│   │   ├── Resources.cs.resx
│   │   ├── Resources.da.Designer.cs
│   │   ├── Resources.da.resx
│   │   ├── Resources.de.Designer.cs
│   │   ├── Resources.de.resx
│   │   ├── Resources.el.Designer.cs
│   │   ├── Resources.el.resx
│   │   ├── Resources.es.Designer.cs
│   │   ├── Resources.es.resx
│   │   ├── Resources.fa.resx
│   │   ├── Resources.fi.Designer.cs
│   │   ├── Resources.fi.resx
│   │   ├── Resources.fr.Designer.cs
│   │   ├── Resources.fr.resx
│   │   ├── Resources.he.Designer.cs
│   │   ├── Resources.he.resx
│   │   ├── Resources.hu.Designer.cs
│   │   ├── Resources.hu.resx
│   │   ├── Resources.it.Designer.cs
│   │   ├── Resources.it.resx
│   │   ├── Resources.ja.Designer.cs
│   │   ├── Resources.ja.resx
│   │   ├── Resources.ko-KR.Designer.cs
│   │   ├── Resources.ko-KR.resx
│   │   ├── Resources.nl.Designer.cs
│   │   ├── Resources.nl.resx
│   │   ├── Resources.no.Designer.cs
│   │   ├── Resources.no.resx
│   │   ├── Resources.pl.Designer.cs
│   │   ├── Resources.pl.resx
│   │   ├── Resources.pt-BR.Designer.cs
│   │   ├── Resources.pt-BR.resx
│   │   ├── Resources.pt.resx
│   │   ├── Resources.resx
│   │   ├── Resources.ro.Designer.cs
│   │   ├── Resources.ro.resx
│   │   ├── Resources.ru.Designer.cs
│   │   ├── Resources.ru.resx
│   │   ├── Resources.sr.Designer.cs
│   │   ├── Resources.sr.resx
│   │   ├── Resources.sv.Designer.cs
│   │   ├── Resources.sv.resx
│   │   ├── Resources.tr.Designer.cs
│   │   ├── Resources.tr.resx
│   │   ├── Resources.ug.resx
│   │   ├── Resources.uk.Designer.cs
│   │   ├── Resources.uk.resx
│   │   ├── Resources.uz.resx
│   │   ├── Resources.vi.Designer.cs
│   │   ├── Resources.vi.resx
│   │   ├── Resources.zh-Hans.Designer.cs
│   │   ├── Resources.zh-Hans.resx
│   │   ├── Resources.zh.resx
│   │   └── app.manifest
│   ├── Search/
│   │   ├── IItemsProvider.cs
│   │   ├── SearchResultProvider.cs
│   │   ├── SearchState.cs
│   │   ├── SynchronizationContextTaskScheduler.cs
│   │   └── VirtualizingCollection.cs
│   ├── SearchWindow.xaml
│   ├── SearchWindow.xaml.cs
│   ├── Settings/
│   │   ├── About.xaml
│   │   ├── About.xaml.cs
│   │   ├── Advanced.xaml
│   │   ├── Advanced.xaml.cs
│   │   ├── CustomActions.xaml
│   │   ├── CustomActions.xaml.cs
│   │   ├── Filters.xaml
│   │   ├── Filters.xaml.cs
│   │   ├── Search.xaml
│   │   ├── Search.xaml.cs
│   │   ├── SettingsWindow.xaml
│   │   ├── SettingsWindow.xaml.cs
│   │   ├── Shortcuts.xaml
│   │   ├── Shortcuts.xaml.cs
│   │   ├── UserInterface.xaml
│   │   └── UserInterface.xaml.cs
│   ├── Styles/
│   │   ├── ContextMenu.xaml
│   │   ├── PillComboBox.xaml
│   │   ├── PillTabControl.xaml
│   │   ├── PreviewActionButton.xaml
│   │   ├── QuickSettingsToggle.xaml
│   │   ├── Scrollbar.xaml
│   │   ├── TabBarButton.xaml
│   │   ├── TabComboBox.xaml
│   │   ├── TabControl.xaml
│   │   ├── TextBox.xaml
│   │   └── UpdateBannerButton.xaml
│   ├── Themes/
│   │   ├── Win10/
│   │   │   ├── Controls/
│   │   │   │   ├── ContextMenu.xaml
│   │   │   │   ├── FilterSelector.xaml
│   │   │   │   ├── ListViewItem.xaml
│   │   │   │   ├── QuickSettingsToggle.xaml
│   │   │   │   ├── Scrollbar.xaml
│   │   │   │   ├── SearchBox.xaml
│   │   │   │   ├── SearchResultPreviewPane.xaml
│   │   │   │   ├── SearchWindow.xaml
│   │   │   │   ├── TabBarButton.xaml
│   │   │   │   ├── TextBox.xaml
│   │   │   │   └── UpdateBanner.xaml
│   │   │   ├── DARK.xaml
│   │   │   └── LIGHT.xaml
│   │   └── Win11/
│   │       ├── Controls/
│   │       │   ├── ContextMenu.xaml
│   │       │   ├── FilterSelector.xaml
│   │       │   ├── ListViewItem.xaml
│   │       │   ├── QuickSettingsToggle.xaml
│   │       │   ├── Scrollbar.xaml
│   │       │   ├── SearchBox.xaml
│   │       │   ├── SearchResultPreviewPane.xaml
│   │       │   ├── SearchWindow.xaml
│   │       │   ├── TabBarButton.xaml
│   │       │   ├── TextBox.xaml
│   │       │   └── UpdateBanner.xaml
│   │       ├── DARK.xaml
│   │       └── LIGHT.xaml
│   └── ToolbarSettings.cs
├── EverythingToolbar.Deskband/
│   ├── CSDeskBand.cs
│   ├── Converters/
│   │   └── SearchControlVisibilityConverter.cs
│   ├── EverythingToolbar.Deskband.csproj
│   ├── Server.cs
│   ├── ToolbarControl.xaml
│   ├── ToolbarControl.xaml.cs
│   └── WindowPlacement.cs
├── EverythingToolbar.Launcher/
│   ├── EverythingToolbar.Launcher.csproj
│   ├── Launcher.cs
│   ├── Properties/
│   │   ├── Resources.Designer.cs
│   │   ├── Resources.af.resx
│   │   ├── Resources.ar.resx
│   │   ├── Resources.ca.resx
│   │   ├── Resources.cs.resx
│   │   ├── Resources.da.resx
│   │   ├── Resources.de.resx
│   │   ├── Resources.el.resx
│   │   ├── Resources.es.resx
│   │   ├── Resources.fa.resx
│   │   ├── Resources.fi.resx
│   │   ├── Resources.fr.resx
│   │   ├── Resources.he.resx
│   │   ├── Resources.hu.resx
│   │   ├── Resources.it.resx
│   │   ├── Resources.ja.resx
│   │   ├── Resources.ko-KR.resx
│   │   ├── Resources.nl.resx
│   │   ├── Resources.no.resx
│   │   ├── Resources.pl.resx
│   │   ├── Resources.pt-BR.resx
│   │   ├── Resources.pt.resx
│   │   ├── Resources.resx
│   │   ├── Resources.ro.resx
│   │   ├── Resources.ru.resx
│   │   ├── Resources.sr.resx
│   │   ├── Resources.sv.resx
│   │   ├── Resources.tr.resx
│   │   ├── Resources.ug.resx
│   │   ├── Resources.uk.resx
│   │   ├── Resources.uz.resx
│   │   ├── Resources.vi.resx
│   │   ├── Resources.zh-Hans.resx
│   │   ├── Resources.zh.resx
│   │   └── app.manifest
│   ├── SetupAssistant.xaml
│   ├── SetupAssistant.xaml.cs
│   ├── Utils.cs
│   └── WindowPlacement.cs
├── EverythingToolbar.sln
├── FAQ.md
├── Installer/
│   ├── DotNetInstaller.iss
│   ├── InnoDependencyInstaller/
│   │   ├── CodeDependencies.iss
│   │   └── LICENSE.md
│   ├── Installer-arm64.iss
│   ├── Installer-x64.iss
│   ├── SharedInstaller.iss
│   └── WixUninstaller.iss
├── LICENSE
├── README.md
├── README.zh-CN.md
├── crowdin.yml
└── tools/
    ├── clean_solution.cmd
    ├── install_deskband.cmd
    └── uninstall_deskband.cmd
Download .txt
SYMBOL INDEX (1179 symbols across 72 files)

FILE: EverythingSDK/include/Everything_IPC.h
  type EVERYTHING_IPC_COMMAND_LINE (line 439) | typedef struct EVERYTHING_IPC_COMMAND_LINE
  type EVERYTHING_IPC_QUERYW (line 493) | typedef struct EVERYTHING_IPC_QUERYW
  type EVERYTHING_IPC_QUERYA (line 521) | typedef struct EVERYTHING_IPC_QUERYA
  type EVERYTHING_IPC_ITEMW (line 561) | typedef struct EVERYTHING_IPC_ITEMW
  type EVERYTHING_IPC_ITEMA (line 576) | typedef struct EVERYTHING_IPC_ITEMA
  type EVERYTHING_IPC_LISTW (line 591) | typedef struct EVERYTHING_IPC_LISTW
  type EVERYTHING_IPC_LISTA (line 620) | typedef struct EVERYTHING_IPC_LISTA
  type EVERYTHING_IPC_QUERY2 (line 755) | typedef struct EVERYTHING_IPC_QUERY2
  type EVERYTHING_IPC_ITEM2 (line 791) | typedef struct EVERYTHING_IPC_ITEM2
  type EVERYTHING_IPC_LIST2 (line 820) | typedef struct EVERYTHING_IPC_LIST2
  type EVERYTHING_IPC_RUN_HISTORY (line 860) | typedef struct EVERYTHING_IPC_RUN_HISTORY

FILE: EverythingSDK/src/Everything.c
  type _EVERYTHING_CHANGEFILTERSTRUCT (line 47) | typedef struct _EVERYTHING_tagCHANGEFILTERSTRUCT
  function es_wbuf_cat (line 105) | void es_wbuf_cat(wchar_t* buf, int max, const wchar_t* s)
  function es_wstring_cat (line 134) | void es_wstring_cat(wchar_t* buf, const wchar_t* s)
  function HWND (line 139) | static HWND es_find_instance_window()
  function _Everything_Initialize (line 168) | static void _Everything_Initialize(void)
  function _Everything_Lock (line 187) | static void _Everything_Lock(void)
  function _Everything_Unlock (line 194) | static void _Everything_Unlock(void)
  function DWORD (line 200) | static DWORD _Everything_StringLengthA(LPCSTR start)
  function DWORD (line 214) | static DWORD _Everything_StringLengthW(LPCWSTR start)
  function Everything_SetSearchW (line 228) | void EVERYTHINGAPI Everything_SetSearchW(LPCWSTR lpString)
  function Everything_SetSearchA (line 256) | void EVERYTHINGAPI Everything_SetSearchA(LPCSTR lpString)
  function Everything_GetSearchA (line 284) | Everything_GetSearchA(void)
  function Everything_GetSearchW (line 313) | Everything_GetSearchW(void)
  function Everything_SetMatchPath (line 342) | void EVERYTHINGAPI Everything_SetMatchPath(BOOL bEnable)
  function Everything_SetMatchCase (line 351) | void EVERYTHINGAPI Everything_SetMatchCase(BOOL bEnable)
  function Everything_SetMatchWholeWord (line 360) | void EVERYTHINGAPI Everything_SetMatchWholeWord(BOOL bEnable)
  function Everything_SetRegex (line 369) | void EVERYTHINGAPI Everything_SetRegex(BOOL bEnable)
  function Everything_SetMax (line 378) | void EVERYTHINGAPI Everything_SetMax(DWORD dwMax)
  function Everything_SetOffset (line 387) | void EVERYTHINGAPI Everything_SetOffset(DWORD dwOffset)
  function Everything_SetSort (line 396) | void EVERYTHINGAPI Everything_SetSort(DWORD dwSort)
  function EVERYTHINGAPI (line 405) | EVERYTHINGAPI Everything_SetRequestFlags(DWORD dwRequestFlags)
  function Everything_SetReplyWindow (line 414) | void EVERYTHINGAPI Everything_SetReplyWindow(HWND hWnd)
  function Everything_SetReplyID (line 423) | void EVERYTHINGAPI Everything_SetReplyID(DWORD dwId)
  function Everything_GetMatchPath (line 432) | Everything_GetMatchPath(void)
  function Everything_GetMatchCase (line 445) | Everything_GetMatchCase(void)
  function Everything_GetMatchWholeWord (line 458) | Everything_GetMatchWholeWord(void)
  function Everything_GetRegex (line 471) | Everything_GetRegex(void)
  function Everything_GetMax (line 484) | Everything_GetMax(void)
  function Everything_GetOffset (line 497) | Everything_GetOffset(void)
  function Everything_GetSort (line 510) | Everything_GetSort(void)
  function EVERYTHINGAPI (line 523) | EVERYTHINGAPI Everything_GetRequestFlags(void)
  function Everything_GetReplyWindow (line 536) | Everything_GetReplyWindow(void)
  function Everything_GetReplyID (line 549) | Everything_GetReplyID(void)
  function LRESULT (line 563) | static LRESULT WINAPI _Everything_window_proc(HWND hwnd,UINT msg,WPARAM ...
  function DWORD (line 624) | static DWORD _Everything_GetSearchLengthW(void)
  function DWORD (line 642) | static DWORD _Everything_GetSearchLengthA(void)
  function _Everything_GetSearchTextW (line 660) | static void _Everything_GetSearchTextW(LPWSTR wbuf)
  function _Everything_GetSearchTextA (line 686) | static void _Everything_GetSearchTextA(LPSTR buf)
  function Everything_SetInstanceName (line 711) | void EVERYTHINGAPI Everything_SetInstanceName(LPCWSTR name)
  function DWORD (line 726) | static DWORD EVERYTHINGAPI _Everything_query_thread_proc(void *param)
  function _Everything_Query (line 816) | _Everything_Query(void)
  function BOOL (line 840) | static BOOL _Everything_SendIPCQuery2(HWND everything_hwnd)
  function BOOL (line 913) | static BOOL _Everything_ShouldUseVersion2(void)
  function BOOL (line 929) | static BOOL _Everything_SendIPCQuery(void)
  function BOOL (line 1037) | BOOL EVERYTHINGAPI Everything_QueryA(BOOL bWait)
  function BOOL (line 1059) | BOOL EVERYTHINGAPI Everything_QueryW(BOOL bWait)
  function _Everything_CompareA (line 1081) | static int __cdecl _Everything_CompareA(const void *a,const void *b)
  function _Everything_CompareW (line 1102) | static int __cdecl _Everything_CompareW(const void *a,const void *b)
  function Everything_SortResultsByPath (line 1123) | Everything_SortResultsByPath(void)
  function Everything_GetLastError (line 1148) | Everything_GetLastError(void)
  function Everything_GetNumFileResults (line 1161) | Everything_GetNumFileResults(void)
  function Everything_GetNumFolderResults (line 1190) | Everything_GetNumFolderResults(void)
  function Everything_GetNumResults (line 1219) | Everything_GetNumResults(void)
  function Everything_GetTotFileResults (line 1253) | Everything_GetTotFileResults(void)
  function Everything_GetTotFolderResults (line 1282) | Everything_GetTotFolderResults(void)
  function Everything_GetTotResults (line 1311) | Everything_GetTotResults(void)
  function BOOL (line 1345) | BOOL EVERYTHINGAPI Everything_IsVolumeResult(DWORD dwIndex)
  function BOOL (line 1397) | BOOL EVERYTHINGAPI Everything_IsFolderResult(DWORD dwIndex)
  function BOOL (line 1449) | BOOL EVERYTHINGAPI Everything_IsFileResult(DWORD dwIndex)
  function LPCWSTR (line 1501) | LPCWSTR EVERYTHINGAPI Everything_GetResultFileNameW(DWORD dwIndex)
  function LPCSTR (line 1556) | LPCSTR EVERYTHINGAPI Everything_GetResultFileNameA(DWORD dwIndex)
  function LPCWSTR (line 1611) | LPCWSTR EVERYTHINGAPI Everything_GetResultPathW(DWORD dwIndex)
  function LPCSTR (line 1666) | LPCSTR EVERYTHINGAPI Everything_GetResultPathA(DWORD dwIndex)
  function DWORD (line 1722) | static DWORD _Everything_CopyW(LPWSTR buf,DWORD bufmax,DWORD catlen,LPCW...
  function DWORD (line 1756) | static DWORD _Everything_CopyA(LPSTR buf,DWORD max,DWORD catlen,LPCSTR s)
  function DWORD (line 1792) | static DWORD _Everything_CopyWFromA(LPWSTR buf,DWORD bufmax,DWORD catlen...
  function DWORD (line 1826) | static DWORD _Everything_CopyAFromW(LPSTR buf,DWORD max,DWORD catlen,LPC...
  function DWORD (line 1861) | DWORD EVERYTHINGAPI Everything_GetResultFullPathNameW(DWORD dwIndex,LPWS...
  function DWORD (line 2014) | DWORD EVERYTHINGAPI Everything_GetResultFullPathNameA(DWORD dwIndex,LPST...
  function BOOL (line 2157) | BOOL EVERYTHINGAPI Everything_IsQueryReply(UINT message,WPARAM wParam,LP...
  function Everything_Reset (line 2235) | Everything_Reset(void)
  function Everything_CleanUp (line 2264) | Everything_CleanUp(void)
  function _Everything_Free (line 2276) | static void _Everything_Free(void *ptr)
  function EVERYTHINGAPI (line 2281) | EVERYTHINGAPI Everything_GetResultListSort(void)
  function EVERYTHINGAPI (line 2299) | EVERYTHINGAPI Everything_GetResultListRequestFlags(void)
  function _Everything_FreeLists (line 2317) | static void _Everything_FreeLists(void)
  function BOOL (line 2334) | static BOOL _Everything_IsValidResultIndex(DWORD dwIndex)
  function BOOL (line 2618) | static BOOL _Everything_IsSchemeNameW(LPCWSTR s)
  function BOOL (line 2644) | static BOOL _Everything_IsSchemeNameA(LPCSTR s)
  function _Everything_ChangeWindowMessageFilter (line 2670) | static void _Everything_ChangeWindowMessageFilter(HWND hwnd)
  function LPCWSTR (line 2694) | static LPCWSTR _Everything_GetResultRequestStringW(DWORD dwIndex,DWORD d...
  function LPCSTR (line 2734) | static LPCSTR _Everything_GetResultRequestStringA(DWORD dwIndex,DWORD dw...
  function BOOL (line 2774) | static BOOL _Everything_GetResultRequestData(DWORD dwIndex,DWORD dwReque...
  function LPCWSTR (line 2819) | LPCWSTR EVERYTHINGAPI Everything_GetResultExtensionW(DWORD dwIndex)
  function LPCSTR (line 2824) | LPCSTR EVERYTHINGAPI Everything_GetResultExtensionA(DWORD dwIndex)
  function BOOL (line 2829) | BOOL EVERYTHINGAPI Everything_GetResultSize(DWORD dwIndex,LARGE_INTEGER ...
  function BOOL (line 2834) | BOOL EVERYTHINGAPI Everything_GetResultDateCreated(DWORD dwIndex,FILETIM...
  function BOOL (line 2839) | BOOL EVERYTHINGAPI Everything_GetResultDateModified(DWORD dwIndex,FILETI...
  function BOOL (line 2844) | BOOL EVERYTHINGAPI Everything_GetResultDateAccessed(DWORD dwIndex,FILETI...
  function DWORD (line 2849) | DWORD EVERYTHINGAPI Everything_GetResultAttributes(DWORD dwIndex)
  function LPCWSTR (line 2861) | LPCWSTR EVERYTHINGAPI Everything_GetResultFileListFileNameW(DWORD dwIndex)
  function LPCSTR (line 2866) | LPCSTR EVERYTHINGAPI Everything_GetResultFileListFileNameA(DWORD dwIndex)
  function DWORD (line 2871) | DWORD EVERYTHINGAPI Everything_GetResultRunCount(DWORD dwIndex)
  function BOOL (line 2883) | BOOL EVERYTHINGAPI Everything_GetResultDateRun(DWORD dwIndex,FILETIME *l...
  function BOOL (line 2888) | BOOL EVERYTHINGAPI Everything_GetResultDateRecentlyChanged(DWORD dwIndex...
  function LPCWSTR (line 2893) | LPCWSTR EVERYTHINGAPI Everything_GetResultHighlightedFileNameW(DWORD dwI...
  function LPCSTR (line 2898) | LPCSTR EVERYTHINGAPI Everything_GetResultHighlightedFileNameA(DWORD dwIn...
  function LPCWSTR (line 2903) | LPCWSTR EVERYTHINGAPI Everything_GetResultHighlightedPathW(DWORD dwIndex)
  function LPCSTR (line 2908) | LPCSTR EVERYTHINGAPI Everything_GetResultHighlightedPathA(DWORD dwIndex)
  function LPCWSTR (line 2913) | LPCWSTR EVERYTHINGAPI Everything_GetResultHighlightedFullPathAndFileName...
  function LPCSTR (line 2918) | LPCSTR EVERYTHINGAPI Everything_GetResultHighlightedFullPathAndFileNameA...
  function BOOL (line 2923) | static BOOL _Everything_SendAPIBoolCommand(int command,LPARAM lParam)
  function DWORD (line 2952) | static DWORD _Everything_SendAPIDwordCommand(int command,LPARAM lParam)
  function Everything_IsDBLoaded (line 2974) | Everything_IsDBLoaded(void)
  function Everything_IsAdmin (line 2979) | Everything_IsAdmin(void)
  function Everything_IsAppData (line 2984) | Everything_IsAppData(void)
  function Everything_RebuildDB (line 2989) | Everything_RebuildDB(void)
  function Everything_UpdateAllFolderIndexes (line 2994) | Everything_UpdateAllFolderIndexes(void)
  function Everything_SaveDB (line 2999) | Everything_SaveDB(void)
  function Everything_SaveRunHistory (line 3004) | Everything_SaveRunHistory(void)
  function Everything_DeleteRunHistory (line 3009) | Everything_DeleteRunHistory(void)
  function Everything_GetMajorVersion (line 3014) | Everything_GetMajorVersion(void)
  function Everything_GetMinorVersion (line 3019) | Everything_GetMinorVersion(void)
  function Everything_GetRevision (line 3024) | Everything_GetRevision(void)
  function Everything_GetBuildNumber (line 3029) | Everything_GetBuildNumber(void)
  function Everything_GetTargetMachine (line 3034) | Everything_GetTargetMachine(void)
  function Everything_Exit (line 3039) | Everything_Exit(void)
  function BOOL (line 3044) | BOOL EVERYTHINGAPI Everything_IsFastSort(DWORD sortType)
  function BOOL (line 3049) | BOOL EVERYTHINGAPI Everything_IsFileInfoIndexed(DWORD fileInfoType)
  function LRESULT (line 3054) | static LRESULT _Everything_SendCopyData(int command,const void *data,int...
  function DWORD (line 3080) | DWORD EVERYTHINGAPI Everything_GetRunCountFromFileNameW(LPCWSTR lpFileName)
  function DWORD (line 3085) | DWORD EVERYTHINGAPI Everything_GetRunCountFromFileNameA(LPCSTR lpFileName)
  function BOOL (line 3090) | BOOL EVERYTHINGAPI Everything_SetRunCountFromFileNameW(LPCWSTR lpFileNam...
  function BOOL (line 3128) | BOOL EVERYTHINGAPI Everything_SetRunCountFromFileNameA(LPCSTR lpFileName...
  function DWORD (line 3166) | DWORD EVERYTHINGAPI Everything_IncRunCountFromFileNameW(LPCWSTR lpFileName)
  function DWORD (line 3171) | DWORD EVERYTHINGAPI Everything_IncRunCountFromFileNameA(LPCSTR lpFileName)

FILE: EverythingToolbar.Deskband/CSDeskBand.cs
  class CSDeskBandImpl (line 26) | internal sealed class CSDeskBandImpl : ICSDeskBand
    method CSDeskBandImpl (line 40) | public CSDeskBandImpl(IDeskBandProvider provider)
    method GetWindow (line 63) | public int GetWindow(out IntPtr phwnd)
    method ContextSensitiveHelp (line 70) | public int ContextSensitiveHelp(bool fEnterMode)
    method ShowDW (line 76) | public int ShowDW([In] bool fShow)
    method CloseDW (line 82) | public int CloseDW([In] uint dwReserved)
    method ResizeBorderDW (line 89) | public int ResizeBorderDW(RECT prcBorder, [In, MarshalAs(UnmanagedType...
    method GetBandInfo (line 96) | public int GetBandInfo(uint dwBandID, DESKBANDINFO.DBIF dwViewMode, re...
    method CanRenderComposited (line 174) | public int CanRenderComposited(out bool pfCanRenderComposited)
    method SetCompositionState (line 181) | public int SetCompositionState(bool fCompositionEnabled)
    method GetCompositionState (line 187) | public int GetCompositionState(out bool pfCompositionEnabled)
    method SetSite (line 194) | public int SetSite([In, MarshalAs(UnmanagedType.IUnknown)] object pUnk...
    method GetSite (line 222) | public int GetSite(ref Guid riid, [MarshalAs(UnmanagedType.IUnknown)] ...
    method QueryContextMenu (line 234) | public int QueryContextMenu(IntPtr hMenu, uint indexMenu, uint idCmdFi...
    method InvokeCommand (line 251) | public int InvokeCommand(IntPtr pici)
    method GetCommandString (line 290) | public int GetCommandString(ref uint idcmd, uint uflags, ref uint pwRe...
    method HandleMenuMsg (line 297) | public int HandleMenuMsg(uint uMsg, IntPtr wParam, IntPtr lParam)
    method HandleMenuMsg2 (line 303) | public int HandleMenuMsg2(uint uMsg, IntPtr wParam, IntPtr lParam, out...
    method GetClassID (line 310) | public int GetClassID(out Guid pClassID)
    method GetSizeMax (line 317) | public int GetSizeMax(out ulong pcbSize)
    method IsDirty (line 324) | public int IsDirty()
    method Load (line 330) | public int Load(object pStm)
    method Save (line 336) | public int Save(IntPtr pStm, bool fClearDirty)
    method CloseDeskBand (line 344) | public void CloseDeskBand()
    method UIActivateIO (line 351) | public int UIActivateIO(int fActivate, ref MSG msg)
    method HasFocusIO (line 359) | public int HasFocusIO()
    method TranslateAcceleratorIO (line 365) | public int TranslateAcceleratorIO(ref MSG msg)
    method UpdateFocus (line 375) | public void UpdateFocus(bool focused)
    method Options_PropertyChanged (line 380) | private void Options_PropertyChanged(object sender, PropertyChangedEve...
  class CSDeskBandOptions (line 398) | public sealed class CSDeskBandOptions : INotifyPropertyChanged
    method CSDeskBandOptions (line 438) | public CSDeskBandOptions()
    method OnPropertyChanged (line 743) | private void OnPropertyChanged([CallerMemberName] string propertyName ...
  class CSDeskBandRegistrationAttribute (line 752) | [AttributeUsage(AttributeTargets.Class)]
  class CSDeskBandWin (line 785) | public abstract class CSDeskBandWin : ICSDeskBand, IDeskBandProvider
    method CSDeskBandWin (line 792) | public CSDeskBandWin()
    method Register (line 800) | [ComRegisterFunction]
    method Unregister (line 806) | [ComUnregisterFunction]
    method UpdateFocus (line 854) | public void UpdateFocus(bool focused)
    method DeskbandOnClosed (line 862) | protected virtual void DeskbandOnClosed()
    method GetWindow (line 866) | public int GetWindow(out IntPtr phwnd)
    method ContextSensitiveHelp (line 871) | public int ContextSensitiveHelp(bool fEnterMode)
    method ShowDW (line 876) | public int ShowDW([In] bool fShow)
    method CloseDW (line 881) | public int CloseDW([In] uint dwReserved)
    method ResizeBorderDW (line 886) | public int ResizeBorderDW(RECT prcBorder, [In, MarshalAs(UnmanagedType...
    method GetBandInfo (line 891) | public int GetBandInfo(uint dwBandID, DESKBANDINFO.DBIF dwViewMode, re...
    method CanRenderComposited (line 896) | public int CanRenderComposited(out bool pfCanRenderComposited)
    method SetCompositionState (line 901) | public int SetCompositionState(bool fCompositionEnabled)
    method GetCompositionState (line 906) | public int GetCompositionState(out bool pfCompositionEnabled)
    method SetSite (line 911) | public int SetSite([In, MarshalAs(UnmanagedType.IUnknown)] object pUnk...
    method GetSite (line 916) | public int GetSite(ref Guid riid, [MarshalAs(UnmanagedType.IUnknown)] ...
    method QueryContextMenu (line 921) | public int QueryContextMenu(IntPtr hMenu, uint indexMenu, uint idCmdFi...
    method InvokeCommand (line 926) | public int InvokeCommand(IntPtr pici)
    method GetCommandString (line 931) | public int GetCommandString(ref uint idcmd, uint uflags, ref uint pwRe...
    method HandleMenuMsg (line 936) | public int HandleMenuMsg(uint uMsg, IntPtr wParam, IntPtr lParam)
    method HandleMenuMsg2 (line 941) | public int HandleMenuMsg2(uint uMsg, IntPtr wParam, IntPtr lParam, out...
    method GetClassID (line 946) | public int GetClassID(out Guid pClassID)
    method GetSizeMax (line 951) | public int GetSizeMax(out ulong pcbSize)
    method IsDirty (line 956) | public int IsDirty()
    method Load (line 961) | public int Load(object pStm)
    method Save (line 966) | public int Save(IntPtr pStm, bool fClearDirty)
    method UIActivateIO (line 971) | public int UIActivateIO(int fActivate, ref MSG msg)
    method HasFocusIO (line 976) | public int HasFocusIO()
    method TranslateAcceleratorIO (line 981) | public int TranslateAcceleratorIO(ref MSG msg)
  class CSDeskBandWpf (line 994) | public abstract class CSDeskBandWpf : ICSDeskBand, IDeskBandProvider
    method CSDeskBandWpf (line 1004) | public CSDeskBandWpf()
    method HwndSourceHook (line 1038) | protected virtual IntPtr HwndSourceHook(IntPtr hwnd, int msg, IntPtr w...
    method LowWord (line 1074) | protected static int LowWord(IntPtr value)
    method HighWord (line 1079) | protected static int HighWord(IntPtr value)
    method UpdateFocus (line 1142) | public void UpdateFocus(bool focused)
    method DeskbandOnClosed (line 1150) | protected virtual void DeskbandOnClosed()
    method GetWindow (line 1154) | public int GetWindow(out IntPtr phwnd)
    method ContextSensitiveHelp (line 1159) | public int ContextSensitiveHelp(bool fEnterMode)
    method ShowDW (line 1164) | public int ShowDW([In] bool fShow)
    method CloseDW (line 1169) | public int CloseDW([In] uint dwReserved)
    method ResizeBorderDW (line 1174) | public int ResizeBorderDW(RECT prcBorder, [In, MarshalAs(UnmanagedType...
    method GetBandInfo (line 1179) | public int GetBandInfo(uint dwBandID, DESKBANDINFO.DBIF dwViewMode, re...
    method CanRenderComposited (line 1184) | public int CanRenderComposited(out bool pfCanRenderComposited)
    method SetCompositionState (line 1189) | public int SetCompositionState(bool fCompositionEnabled)
    method GetCompositionState (line 1194) | public int GetCompositionState(out bool pfCompositionEnabled)
    method SetSite (line 1199) | public int SetSite([In, MarshalAs(UnmanagedType.IUnknown)] object pUnk...
    method GetSite (line 1204) | public int GetSite(ref Guid riid, [MarshalAs(UnmanagedType.IUnknown)] ...
    method QueryContextMenu (line 1209) | public int QueryContextMenu(IntPtr hMenu, uint indexMenu, uint idCmdFi...
    method InvokeCommand (line 1214) | public int InvokeCommand(IntPtr pici)
    method GetCommandString (line 1219) | public int GetCommandString(ref uint idcmd, uint uflags, ref uint pwRe...
    method HandleMenuMsg (line 1224) | public int HandleMenuMsg(uint uMsg, IntPtr wParam, IntPtr lParam)
    method HandleMenuMsg2 (line 1229) | public int HandleMenuMsg2(uint uMsg, IntPtr wParam, IntPtr lParam, out...
    method GetClassID (line 1234) | public int GetClassID(out Guid pClassID)
    method GetSizeMax (line 1239) | public int GetSizeMax(out ulong pcbSize)
    method IsDirty (line 1244) | public int IsDirty()
    method Load (line 1249) | public int Load(object pStm)
    method Save (line 1254) | public int Save(IntPtr pStm, bool fClearDirty)
    method UIActivateIO (line 1259) | public int UIActivateIO(int fActivate, ref MSG msg)
    method HasFocusIO (line 1264) | public int HasFocusIO()
    method TranslateAcceleratorIO (line 1269) | public int TranslateAcceleratorIO(ref MSG msg)
    method Register (line 1274) | [ComRegisterFunction]
    method Unregister (line 1280) | [ComUnregisterFunction]
  class DeskBandSize (line 1291) | public sealed class DeskBandSize : INotifyPropertyChanged
    method DeskBandSize (line 1301) | public DeskBandSize(int width, int height)
    method OnPropertyChanged (line 1346) | private void OnPropertyChanged([CallerMemberName] string propertyName ...
  type ICSDeskBand (line 1395) | public interface ICSDeskBand : IDeskBand2, IObjectWithSite, IContextMenu...
  type IDeskBandProvider (line 1399) | internal interface IDeskBandProvider
  class RegistrationHelper (line 1410) | internal static class RegistrationHelper
    method Register (line 1416) | [ComRegisterFunction]
    method Unregister (line 1483) | [ComUnregisterFunction]
    method GetToolbarName (line 1509) | internal static string GetToolbarName(Type t)
    method GetToolbarRequestToShow (line 1519) | internal static bool GetToolbarRequestToShow(Type t)
  type TaskbarOrientation (line 1528) | public enum TaskbarOrientation
  type Edge (line 1544) | public enum Edge : uint
  class TaskbarInfo (line 1570) | public sealed class TaskbarInfo
    method TaskbarInfo (line 1579) | internal TaskbarInfo()
    method UpdateInfo (line 1665) | internal void UpdateInfo()
  class TaskbarOrientationChangedEventArgs (line 1684) | public sealed class TaskbarOrientationChangedEventArgs : EventArgs
    method TaskbarOrientationChangedEventArgs (line 1691) | public TaskbarOrientationChangedEventArgs(TaskbarOrientation orientation)
  class TaskbarSizeChangedEventArgs (line 1705) | public sealed class TaskbarSizeChangedEventArgs : EventArgs
    method TaskbarSizeChangedEventArgs (line 1712) | public TaskbarSizeChangedEventArgs(DeskBandSize size)
  class TaskbarEdgeChangedEventArgs (line 1726) | public sealed class TaskbarEdgeChangedEventArgs : EventArgs
    method TaskbarEdgeChangedEventArgs (line 1733) | public TaskbarEdgeChangedEventArgs(Edge edge)
  type IBandSite (line 1747) | [ComImport]
    method AddBand (line 1752) | [PreserveSig]
    method EnumBands (line 1755) | [PreserveSig]
    method QueryBand (line 1758) | [PreserveSig]
    method SetBandState (line 1761) | [PreserveSig]
    method RemoveBand (line 1764) | [PreserveSig]
    method GetBandObject (line 1767) | [PreserveSig]
    method SetBandSiteInfo (line 1770) | [PreserveSig]
    method GetBandSiteInfo (line 1773) | [PreserveSig]
  type IDockingWindow (line 1777) | [ComImport]
    method GetWindow (line 1782) | [PreserveSig]
    method ContextSensitiveHelp (line 1785) | [PreserveSig]
    method ShowDW (line 1788) | [PreserveSig]
    method CloseDW (line 1791) | [PreserveSig]
    method ResizeBorderDW (line 1794) | [PreserveSig]
  type IDeskBand (line 1798) | [ComImport]
    method GetWindow (line 1803) | [PreserveSig]
    method ContextSensitiveHelp (line 1806) | [PreserveSig]
    method ShowDW (line 1809) | [PreserveSig]
    method CloseDW (line 1812) | [PreserveSig]
    method ResizeBorderDW (line 1815) | [PreserveSig]
    method GetBandInfo (line 1818) | [PreserveSig]
  type IDeskBand2 (line 1822) | [ComImport]
    method GetWindow (line 1827) | [PreserveSig]
    method ContextSensitiveHelp (line 1830) | [PreserveSig]
    method ShowDW (line 1833) | [PreserveSig]
    method CloseDW (line 1836) | [PreserveSig]
    method ResizeBorderDW (line 1839) | [PreserveSig]
    method GetBandInfo (line 1842) | [PreserveSig]
    method CanRenderComposited (line 1845) | [PreserveSig]
    method SetCompositionState (line 1848) | [PreserveSig]
    method GetCompositionState (line 1851) | [PreserveSig]
  type IContextMenu (line 1855) | [ComImport]
    method QueryContextMenu (line 1860) | [PreserveSig]
    method InvokeCommand (line 1863) | [PreserveSig]
    method GetCommandString (line 1866) | [PreserveSig]
  type IContextMenu2 (line 1870) | [ComImport]
    method QueryContextMenu (line 1875) | [PreserveSig]
    method InvokeCommand (line 1878) | [PreserveSig]
    method GetCommandString (line 1881) | [PreserveSig]
    method HandleMenuMsg (line 1884) | [PreserveSig]
  type IContextMenu3 (line 1888) | [ComImport]
    method QueryContextMenu (line 1893) | [PreserveSig]
    method InvokeCommand (line 1896) | [PreserveSig]
    method GetCommandString (line 1899) | [PreserveSig]
    method HandleMenuMsg (line 1902) | [PreserveSig]
    method HandleMenuMsg2 (line 1905) | [PreserveSig]
  type IInputObject (line 1909) | [ComImport]
    method UIActivateIO (line 1914) | [PreserveSig]
    method HasFocusIO (line 1917) | [PreserveSig]
    method TranslateAcceleratorIO (line 1920) | [PreserveSig]
  type IInputObjectSite (line 1925) | [ComImport]
    method OnFocusChangeIS (line 1930) | [PreserveSig]
  type IObjectWithSite (line 1935) | [ComImport]
    method SetSite (line 1940) | [PreserveSig]
    method GetSite (line 1943) | [PreserveSig]
  type IOleCommandTarget (line 1948) | [ComImport]
    method QueryStatus (line 1953) | [PreserveSig]
    method Exec (line 1956) | [PreserveSig]
  type IOleWindow (line 1961) | [ComImport]
    method GetWindow (line 1966) | [PreserveSig]
    method ContextSensitiveHelp (line 1969) | [PreserveSig]
  type IPersist (line 1973) | [ComImport]
    method GetClassID (line 1978) | [PreserveSig]
  type IPersistStream (line 1982) | [ComImport]
    method GetClassID (line 1987) | [PreserveSig]
    method GetSizeMax (line 1990) | [PreserveSig]
    method IsDirty (line 1993) | [PreserveSig]
    method Load (line 1996) | [PreserveSig]
    method Save (line 1999) | [PreserveSig]
  type ITrayDeskband (line 2003) | [ComImport, Guid("6D67E846-5B9C-4db8-9CBC-DDE12F4254F1"), InterfaceType(...
    method ShowDeskBand (line 2006) | [PreserveSig]
    method HideDeskBand (line 2008) | [PreserveSig]
    method IsDeskBandShown (line 2010) | [PreserveSig]
    method DeskBandRegistrationChanged (line 2012) | [PreserveSig]
  class User32 (line 2016) | internal class User32
    method SetParent (line 2018) | [DllImport("user32.dll", SetLastError = true)]
    method InsertMenuItem (line 2021) | [DllImport("user32.dll")]
    method CreateMenu (line 2024) | [DllImport("user32.dll")]
    method DestroyMenu (line 2027) | [DllImport("user32.dll")]
    method CreatePopupMenu (line 2030) | [DllImport("user32.dll")]
    method TranslateMessage (line 2033) | [DllImport("user32.dll")]
    method DispatchMessage (line 2036) | [DllImport("user32.dll")]
    method HiWord (line 2039) | public static int HiWord(int val)
    method LoWord (line 2044) | public static int LoWord(int val)
  class Shell32 (line 2050) | internal class Shell32
    method SHAppBarMessage (line 2052) | [DllImport("shell32.dll")]
  type tagDESKBANDCID (line 2056) | internal enum tagDESKBANDCID
  type RECT (line 2064) | [StructLayout(LayoutKind.Sequential)]
    method RECT (line 2072) | public RECT(int left, int top, int right, int bottom)
  type QueryContextMenuFlags (line 2081) | [Flags]
  type POINT (line 2101) | [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
  type OLECMDTEXT (line 2108) | [StructLayout(LayoutKind.Sequential)]
  type OLECMD (line 2118) | [StructLayout(LayoutKind.Sequential)]
  type MSG (line 2125) | [StructLayout(LayoutKind.Sequential)]
  type MENUITEMINFO (line 2136) | [StructLayout(LayoutKind.Sequential)]
    type MIIM (line 2152) | [Flags]
    type MFT (line 2166) | [Flags]
    type MFS (line 2180) | [Flags]
  class HRESULT (line 2194) | internal class HRESULT
    method MakeHResult (line 2201) | public static int MakeHResult(uint sev, uint facility, uint errorNo)
  type DESKBANDINFO (line 2208) | [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
    type DBIF (line 2220) | [Flags]
    type DBIM (line 2229) | [Flags]
    type DBIMF (line 2241) | [Flags]
  type COLORREF (line 2261) | [StructLayout(LayoutKind.Sequential)]
  type CMINVOKECOMMANDINFOEX (line 2269) | [StructLayout(LayoutKind.Sequential)]
    type CMIC (line 2288) | [Flags]
  class CMINVOKECOMMANDINFO (line 2306) | [StructLayout(LayoutKind.Sequential)]
    type CMIC (line 2319) | [Flags]
  class CATEGORYINFO (line 2335) | [StructLayout(LayoutKind.Sequential)]
  type BANDSITEINFO (line 2343) | [StructLayout(LayoutKind.Sequential)]
    type BSIM (line 2350) | [Flags]
    type BSSF (line 2357) | [Flags]
    type BSIS (line 2365) | [Flags]
  type APPBARMESSAGE (line 2383) | internal enum APPBARMESSAGE : uint
  type APPBARDATA (line 2400) | [StructLayout(LayoutKind.Sequential)]
  class ComponentCategoryManager (line 2411) | internal class ComponentCategoryManager
    method ComponentCategoryManager (line 2419) | static ComponentCategoryManager()
    method ComponentCategoryManager (line 2424) | private ComponentCategoryManager(Guid classId)
    method For (line 2429) | public static ComponentCategoryManager For(Guid classId)
    method RegisterCategories (line 2434) | public void RegisterCategories(Guid[] categoryIds)
    method UnRegisterCategories (line 2439) | public void UnRegisterCategories(Guid[] categoryIds)
  type ICatRegister (line 2445) | [ComImport]
    method RegisterCategories (line 2450) | [PreserveSig]
    method RegisterClassImplCategories (line 2453) | [PreserveSig]
    method RegisterClassReqCategories (line 2456) | [PreserveSig]
    method UnRegisterCategories (line 2459) | [PreserveSig]
    method UnRegisterClassImplCategories (line 2462) | [PreserveSig]
    method UnRegisterClassReqCategories (line 2465) | [PreserveSig]
  type WindowStyles (line 2469) | [Flags]
  type WindowMessages (line 2496) | internal enum WindowMessages
  type HitTestMessageResults (line 2502) | internal enum HitTestMessageResults
  class DeskBandMenuItem (line 2513) | public abstract class DeskBandMenuItem
    method AddToMenu (line 2522) | internal abstract void AddToMenu(IntPtr menu, uint itemPosition, ref u...
  class DeskBandMenuSeparator (line 2528) | internal sealed class DeskBandMenuSeparator : DeskBandMenuItem
    method AddToMenu (line 2533) | internal override void AddToMenu(IntPtr menu, uint itemPosition, ref u...
  class DeskBandMenuAction (line 2549) | internal sealed class DeskBandMenuAction : DeskBandMenuItem
    method DeskBandMenuAction (line 2558) | public DeskBandMenuAction(string text)
    method DoAction (line 2597) | internal void DoAction()
    method AddToMenu (line 2603) | internal override void AddToMenu(IntPtr menu, uint itemPosition, ref u...
  class DeskBandMenu (line 2627) | internal sealed class DeskBandMenu : DeskBandMenuItem
    method DeskBandMenu (line 2637) | public DeskBandMenu(string text)
    method DeskBandMenu (line 2646) | public DeskBandMenu(string text, IEnumerable<DeskBandMenuItem> items)
    method AddToMenu (line 2690) | internal override void AddToMenu(IntPtr menu, uint itemPosition, ref u...
    method ClearMenu (line 2715) | private void ClearMenu()

FILE: EverythingToolbar.Deskband/Converters/SearchControlVisibilityConverter.cs
  class SearchControlVisibilityConverter (line 10) | public class SearchControlVisibilityConverter : MarkupExtension, IValueC...
    method SearchControlVisibilityConverter (line 17) | public SearchControlVisibilityConverter()
    method SetTaskbarAutoHideState (line 23) | private void SetTaskbarAutoHideState()
    method Convert (line 34) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 47) | public object ConvertBack(object value, Type targetType, object parame...
    method ProvideValue (line 52) | public override object ProvideValue(IServiceProvider serviceProvider)

FILE: EverythingToolbar.Deskband/Server.cs
  type IServer (line 11) | [ComVisible(true)]
    method Dummy (line 16) | void Dummy();
  class Server (line 19) | [ComVisible(true)]
    method Server (line 28) | public Server()
    method Dummy (line 64) | public void Dummy() { }
    method OnUnfocusRequested (line 66) | private void OnUnfocusRequested(object? sender, EventArgs e)
    method OnFocusRequested (line 71) | private void OnFocusRequested(object? sender, EventArgs e)
    method OnTaskbarEdgeChanged (line 76) | private void OnTaskbarEdgeChanged(object? sender, TaskbarEdgeChangedEv...
    method OnTaskbarSizeChanged (line 81) | private void OnTaskbarSizeChanged(object? sender, TaskbarSizeChangedEv...
    method DeskbandOnClosed (line 86) | protected override void DeskbandOnClosed()

FILE: EverythingToolbar.Deskband/ToolbarControl.xaml.cs
  class ToolbarControl (line 10) | public partial class ToolbarControl
    method ToolbarControl (line 12) | public ToolbarControl()
    method OnSearchWindowHiding (line 26) | private void OnSearchWindowHiding(object? sender, EventArgs e)
    method OnSearchBoxLostKeyboardFocus (line 31) | private void OnSearchBoxLostKeyboardFocus(object sender, KeyboardFocus...
    method OnSearchBoxGotKeyboardFocus (line 43) | private void OnSearchBoxGotKeyboardFocus(object sender, KeyboardFocusC...
    method FocusSearchBox (line 48) | private void FocusSearchBox(object? sender, HotkeyEventArgs e)
    method OnKeyDown (line 64) | private void OnKeyDown(object sender, KeyEventArgs e)
    method OnGotFocus (line 73) | private void OnGotFocus(object sender, RoutedEventArgs e)

FILE: EverythingToolbar.Deskband/WindowPlacement.cs
  class SearchWindowPlacement (line 13) | internal class SearchWindowPlacement : Behavior<SearchWindow>
    method OnAttached (line 21) | protected override void OnAttached()
    method OnPlacementTargetLoaded (line 34) | private void OnPlacementTargetLoaded(object sender, RoutedEventArgs e)
    method OnHiding (line 39) | private void OnHiding(object? sender, EventArgs e)
    method OnShowing (line 44) | private void OnShowing(object? sender, EventArgs e)
    method CalculatePosition (line 56) | private Rect CalculatePosition()
    method GetTargetWindowSize (line 130) | private Size GetTargetWindowSize()
    method GetScalingFactor (line 138) | private double GetScalingFactor()
    method GetMargin (line 149) | private int GetMargin()
    method GetDpiForWindow (line 157) | [DllImport("user32")]
    method GetWindowRect (line 160) | [DllImport("user32.dll")]
    type Rect (line 164) | [StructLayout(LayoutKind.Sequential)]

FILE: EverythingToolbar.Launcher/Launcher.cs
  class Launcher (line 19) | internal static class Launcher
    class LauncherWindow (line 28) | private class LauncherWindow : Window
      method LauncherWindow (line 30) | public LauncherWindow(NotifyIcon icon)
      method SetupJumpList (line 103) | private void SetupJumpList()
      method OnSearchWindowHiding (line 118) | private static void OnSearchWindowHiding(object? sender, EventArgs e)
      method FocusSearchBox (line 124) | private static void FocusSearchBox(object? sender, HotkeyEventArgs e)
      method StartToggleListener (line 129) | private void StartToggleListener()
      method ToggleWindow (line 151) | private void ToggleWindow()
      method OpenSetupAssistant (line 163) | private void OpenSetupAssistant()
    method Main (line 173) | [STAThread]

FILE: EverythingToolbar.Launcher/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: EverythingToolbar.Launcher/SetupAssistant.xaml.cs
  class SetupAssistant (line 18) | public partial class SetupAssistant : INotifyPropertyChanged
    method SetupAssistant (line 62) | public SetupAssistant(NotifyIcon icon)
    method FlashTaskbarIcon (line 87) | private void FlashTaskbarIcon()
    method SetAppIcon (line 92) | private void SetAppIcon()
    method CreateFileWatcher (line 106) | private void CreateFileWatcher(string taskbarShortcutPath)
    method OnSecondStepClicked (line 152) | private void OnSecondStepClicked(object sender, MouseButtonEventArgs e)
    method OnClosing (line 163) | private async void OnClosing(object sender, CancelEventArgs e)
    method Close (line 191) | private void Close(object sender, RoutedEventArgs e)
    method OnClosed (line 196) | private void OnClosed(object sender, EventArgs e)
    method OnPropertyChanged (line 207) | private void OnPropertyChanged([CallerMemberName] string? propertyName...

FILE: EverythingToolbar.Launcher/Utils.cs
  class Utils (line 13) | internal class Utils
    method IsTaskbarPinned (line 17) | public static bool IsTaskbarPinned()
    method GetTaskbarShortcutPath (line 23) | public static string GetTaskbarShortcutPath()
    method IsTaskbarCenterAligned (line 60) | public static bool IsTaskbarCenterAligned()
    method GetAutostartState (line 76) | public static bool GetAutostartState()
    method SetAutostartState (line 87) | public static void SetAutostartState(bool enabled)
    method ChangeTaskbarPinIcon (line 111) | public static void ChangeTaskbarPinIcon(string iconName, bool restartE...
    method GetThemedAppIconPath (line 134) | public static string GetThemedAppIconPath(bool absolute = false)
    method GetExecutablePath (line 163) | private static string? GetExecutablePath()

FILE: EverythingToolbar.Launcher/WindowPlacement.cs
  class SearchWindowPlacement (line 15) | internal class SearchWindowPlacement : Behavior<SearchWindow>
    method OnAttached (line 19) | protected override void OnAttached()
    method OnHiding (line 29) | private void OnHiding(object? sender, EventArgs e)
    method OnShowing (line 34) | private void OnShowing(object? sender, EventArgs e)
    method CalculatePosition (line 47) | private Rect CalculatePosition(double scalingFactor)
    method GetTargetWindowSize (line 106) | private Size GetTargetWindowSize(double scalingFactor)
    method SetHorizontalPosition (line 114) | private Rect SetHorizontalPosition(
    method FindDockedTaskBar (line 151) | private TaskbarLocation FindDockedTaskBar(Screen screen)
    method GetScalingFactor (line 210) | private double GetScalingFactor()
    method GetMargin (line 221) | private int GetMargin()
    method GetDpiForWindow (line 226) | [DllImport("user32")]
    type TaskbarLocation (line 229) | private struct TaskbarLocation
    type Rect (line 235) | [StructLayout(LayoutKind.Sequential)]

FILE: EverythingToolbar/Behaviors/FlowDirectionAwareness.cs
  class FlowDirectionAwareness (line 7) | public class FlowDirectionAwareness : Behavior<Window>
    method OnAttached (line 9) | protected override void OnAttached()
    method UpdateFlowDirection (line 16) | private void UpdateFlowDirection()

FILE: EverythingToolbar/Behaviors/ThemeAwareness.cs
  type Theme (line 16) | public enum Theme
  class ResourcesChangedEventArgs (line 22) | public class ResourcesChangedEventArgs : EventArgs
  class ThemeAwareness (line 27) | public class ThemeAwareness : Behavior<FrameworkElement>
    method OnAttached (line 40) | protected override void OnAttached()
    method ThemeAwareness (line 56) | public ThemeAwareness()
    method OnSettingsChanged (line 84) | private void OnSettingsChanged(object sender, PropertyChangedEventArgs e)
    method GetThemeFromRegistryValue (line 97) | private Theme GetThemeFromRegistryValue(int registryValue)
    method AutoApplyTheme (line 112) | private void AutoApplyTheme()
    method ApplyTheme (line 119) | private void ApplyTheme(Theme theme)
    method AddResource (line 172) | private void AddResource(string path, string fallbackPath = null)
    method SetAccentColor (line 189) | private void SetAccentColor(SolidColorBrush brush)
    method GetBrush (line 197) | private static SolidColorBrush GetBrush(Color color)

FILE: EverythingToolbar/Behaviors/WpfUiBehavior.cs
  class WpfUiBehavior (line 8) | public class WpfUiBehavior : Behavior<FrameworkElement>
    method OnAttached (line 16) | protected override void OnAttached()
    method ApplyTheme (line 29) | private void ApplyTheme(Theme theme)
    method AutoApplyTheme (line 35) | private void AutoApplyTheme()
    method GetThemeFromRegistryValue (line 42) | private Theme GetThemeFromRegistryValue(int registryValue)

FILE: EverythingToolbar/Controls/AcrylicWindow.cs
  class AcrylicWindow (line 12) | public class AcrylicWindow : Window
    method DwmExtendFrameIntoClientArea (line 14) | [DllImport("DWMAPI")]
    method DwmSetWindowAttribute (line 17) | [DllImport("DWMAPI")]
    method SetWindowCompositionAttribute (line 25) | [DllImport("User32")]
    method SetWindowPos (line 28) | [DllImport("User32")]
    type WindowCompositionAttributeData (line 39) | [StructLayout(LayoutKind.Sequential)]
    type AccentPolicy (line 47) | [StructLayout(LayoutKind.Sequential)]
    type Margins (line 56) | [StructLayout(LayoutKind.Sequential)]
    type AccentState (line 65) | private enum AccentState
    type AccentFlags (line 76) | [Flags]
    type WindowCompositionAttribute (line 88) | private enum WindowCompositionAttribute
    type DwmWindowAttribute (line 93) | private enum DwmWindowAttribute
    type WindowCorner (line 98) | private enum WindowCorner
    type SetWindowPosFlags (line 106) | [Flags]
    method AcrylicWindow (line 165) | protected AcrylicWindow()
    method OnThemeChanged (line 193) | private void OnThemeChanged(object? sender, ResourcesChangedEventArgs e)
    method UpdateBackgroundColor (line 199) | private void UpdateBackgroundColor()
    method OnWindowLoaded (line 208) | private void OnWindowLoaded(object sender, RoutedEventArgs e)
    method OnSourceInitialized (line 213) | private void OnSourceInitialized(object? sender, EventArgs e)
    method RejectDirectManipulation (line 228) | private static IntPtr RejectDirectManipulation(
    method GetThemeBackgroundColor (line 246) | private static Color GetThemeBackgroundColor()
    method OnAcrylicPropertyChanged (line 257) | private static void OnAcrylicPropertyChanged(DependencyObject d, Depen...
    method ApplyAcrylicEffect (line 265) | private void ApplyAcrylicEffect()
    method ApplyWindowCorner (line 332) | private void ApplyWindowCorner()
    method CreateColorInteger (line 350) | private static int CreateColorInteger(Color color)

FILE: EverythingToolbar/Controls/FilterSelector.xaml.cs
  class FilterSelector (line 8) | public partial class FilterSelector
    method OnSelectedFilterChanged (line 21) | private static void OnSelectedFilterChanged(DependencyObject d, Depend...
    method FilterSelector (line 33) | public FilterSelector()
    method UpdateSelectedItems (line 40) | private void UpdateSelectedItems()
    method OnTabItemSelected (line 58) | private void OnTabItemSelected(object sender, SelectionChangedEventArg...
    method OnComboBoxItemSelected (line 73) | private void OnComboBoxItemSelected(object sender, SelectionChangedEve...

FILE: EverythingToolbar/Controls/FluentMessageBox.cs
  class FluentMessageBox (line 10) | public static class FluentMessageBox
    method CreateBase (line 12) | private static MessageBox CreateBase(string title)
    method CreateTextBlock (line 32) | private static TextBlock CreateTextBlock(string text)
    method CreateRegular (line 45) | public static MessageBox CreateRegular(string content, string title)
    method CreateYesNo (line 54) | public static MessageBox CreateYesNo(string content, string title)
    method CreateError (line 65) | public static MessageBox CreateError(string content, string title)

FILE: EverythingToolbar/Controls/GenericBanner.xaml.cs
  class GenericBanner (line 7) | public partial class GenericBanner
    method GenericBanner (line 90) | public GenericBanner()
    method OnPrimaryButtonClicked (line 95) | private void OnPrimaryButtonClicked(object sender, RoutedEventArgs e)
    method OnSecondaryButtonClicked (line 100) | private void OnSecondaryButtonClicked(object sender, RoutedEventArgs e)

FILE: EverythingToolbar/Controls/SearchBox.xaml.cs
  class SearchBox (line 12) | public partial class SearchBox
    method OnSearchTermPropertyChanged (line 31) | private static void OnSearchTermPropertyChanged(DependencyObject d, De...
    method SearchBox (line 45) | public SearchBox()
    method OnTextChanged (line 55) | private void OnTextChanged(object sender, TextChangedEventArgs e)
    method OnFocusRequested (line 66) | private void OnFocusRequested(object? sender, EventArgs e)
    method OnPreviewKeyDown (line 73) | private void OnPreviewKeyDown(object? sender, KeyEventArgs e)
    method OnPreviewKeyUp (line 121) | private void OnPreviewKeyUp(object sender, KeyEventArgs e)
    method UpdateSearchTerm (line 131) | private void UpdateSearchTerm(string newSearchTerm)
    method OnSettingsChanged (line 140) | private void OnSettingsChanged(object? sender, PropertyChangedEventArg...
    method OnSizeChanged (line 146) | private void OnSizeChanged(object? sender, SizeChangedEventArgs e)
    method UpdateQuickTogglesVisibility (line 151) | private void UpdateQuickTogglesVisibility()
    method Focus (line 165) | public new void Focus()
    method OnGotKeyboardFocus (line 176) | private void OnGotKeyboardFocus(object sender, KeyboardFocusChangedEve...
    method OnLostKeyboardFocus (line 182) | private void OnLostKeyboardFocus(object sender, KeyboardFocusChangedEv...
    method SelectivelyIgnoreMouseButton (line 190) | private void SelectivelyIgnoreMouseButton(object sender, MouseButtonEv...
    method OnPasteClicked (line 199) | private void OnPasteClicked(object sender, RoutedEventArgs args)
    method OnCopyClicked (line 204) | private void OnCopyClicked(object sender, RoutedEventArgs args)
    method OnCutClicked (line 209) | private void OnCutClicked(object sender, RoutedEventArgs args)

FILE: EverythingToolbar/Controls/SearchButton.xaml.cs
  class SearchButton (line 10) | public partial class SearchButton
    method SearchButton (line 12) | public SearchButton()
    method OnSearchWindowDeactivated (line 22) | private void OnSearchWindowDeactivated(object? sender, EventArgs e)
    method OnSearchWindowActivated (line 30) | private void OnSearchWindowActivated(object? sender, EventArgs e)
    method UpdateTheme (line 38) | private void UpdateTheme(Theme newTheme)
    method UpdateTheme (line 55) | private void UpdateTheme(object? sender, ResourcesChangedEventArgs e)
    method OnClick (line 66) | private void OnClick(object? sender, RoutedEventArgs e)
    method OnIsVisibleChanged (line 71) | private void OnIsVisibleChanged(object? sender, DependencyPropertyChan...

FILE: EverythingToolbar/Controls/SearchResultPreviewPane.xaml.cs
  class SearchResultPreviewPane (line 11) | public partial class SearchResultPreviewPane
    class PreviewActionItem (line 13) | public sealed class PreviewActionItem
    method SearchResultPreviewPane (line 87) | public SearchResultPreviewPane()
    method OnSelectedResultChanged (line 94) | private static void OnSelectedResultChanged(DependencyObject d, Depend...
    method OnUnloaded (line 100) | private void OnUnloaded(object sender, RoutedEventArgs e)
    method OnToolbarSettingsPropertyChanged (line 106) | private void OnToolbarSettingsPropertyChanged(object? sender, Property...
    method RefreshActions (line 112) | private void RefreshActions()
    method UpdateFileInfoVisibility (line 142) | private void UpdateFileInfoVisibility()
    method AddAction (line 154) | private void AddAction(string label, string glyph, Action<SearchResult...
    method OnActionButtonClick (line 166) | private void OnActionButtonClick(object sender, RoutedEventArgs e)

FILE: EverythingToolbar/Controls/SearchResultsView.xaml.cs
  class SearchResultsView (line 21) | public partial class SearchResultsView
    method SearchResultsView (line 59) | public SearchResultsView()
    method OnLoaded (line 75) | private void OnLoaded(object sender, RoutedEventArgs e)
    method UpdateSearchResultsProvider (line 85) | private void UpdateSearchResultsProvider(SearchState searchState)
    method OnCollectionIsBusyChanged (line 128) | private void OnCollectionIsBusyChanged()
    method BusyIndicatorTimerElapsed (line 145) | private void BusyIndicatorTimerElapsed(object? sender, EventArgs e)
    method AttachToScrollViewer (line 156) | private void AttachToScrollViewer()
    method ScrollBar_PreviewMouseLeftButtonDown (line 176) | private void ScrollBar_PreviewMouseLeftButtonDown(object sender, Mouse...
    method ScrollBar_PreviewMouseLeftButtonUp (line 185) | private void ScrollBar_PreviewMouseLeftButtonUp(object sender, MouseBu...
    method ScrollBar_MouseLeave (line 190) | private void ScrollBar_MouseLeave(object sender, MouseEventArgs e)
    method ResetScrollBarDragging (line 195) | private void ResetScrollBarDragging()
    method FindVisualChild (line 204) | private static T? FindVisualChild<T>(DependencyObject parent, Func<T, ...
    method OnPreviewLeftMouseButtonDown (line 220) | private void OnPreviewLeftMouseButtonDown(object sender, MouseButtonEv...
    method OnKeyPressed (line 234) | private void OnKeyPressed(object? sender, KeyEventArgs e)
    method AutoSelectFirstResult (line 324) | private void AutoSelectFirstResult()
    method SelectNextSearchResult (line 332) | private void SelectNextSearchResult()
    method SelectPreviousSearchResult (line 337) | private void SelectPreviousSearchResult()
    method SelectNthSearchResult (line 342) | private void SelectNthSearchResult(int n)
    method JumpToEnd (line 355) | private void JumpToEnd()
    method FocusSearchBox (line 363) | private void FocusSearchBox()
    method HandleUpNavigation (line 369) | private void HandleUpNavigation()
    method HandleDownNavigation (line 399) | private void HandleDownNavigation()
    method ForwardKeyPressToControl (line 422) | private bool ForwardKeyPressToControl(
    method OpenSelectedSearchResult (line 461) | private void OpenSelectedSearchResult()
    method OpenFilePath (line 472) | private void OpenFilePath(object sender, RoutedEventArgs e)
    method PreviewSelectedFile (line 478) | private void PreviewSelectedFile()
    method CopyPathToClipBoard (line 484) | private void CopyPathToClipBoard(object sender, RoutedEventArgs e)
    method OpenWith (line 489) | private void OpenWith(object sender, RoutedEventArgs e)
    method ShowInEverything (line 495) | private void ShowInEverything(object sender, RoutedEventArgs e)
    method CopyFile (line 501) | private void CopyFile(object sender, RoutedEventArgs e)
    method SingleClickSearchResult (line 506) | private void SingleClickSearchResult(object sender, MouseEventArgs e)
    method DoubleClickSearchResult (line 512) | private void DoubleClickSearchResult(object sender, MouseEventArgs e)
    method Open (line 518) | private void Open(object sender, RoutedEventArgs e)
    method OpenWithMouseClick (line 523) | private void OpenWithMouseClick()
    method RunAsAdmin (line 546) | private void RunAsAdmin(object sender, RoutedEventArgs e)
    method ShowFileProperties (line 552) | private void ShowFileProperties(object sender, RoutedEventArgs e)
    method ShowFileWindowsContextMenu (line 558) | private void ShowFileWindowsContextMenu(object sender, RoutedEventArgs e)
    method OnOpenWithMenuLoaded (line 563) | private void OnOpenWithMenuLoaded(object sender, RoutedEventArgs e)
    method OpenWithCustomAction (line 602) | private void OpenWithCustomAction(object sender, RoutedEventArgs e)
    method OnListViewItemMouseDown (line 612) | private void OnListViewItemMouseDown(object sender, MouseButtonEventAr...
    method OnListViewItemMouseMove (line 617) | private void OnListViewItemMouseMove(object sender, MouseEventArgs e)
    method OnListViewItemTouchDown (line 625) | private void OnListViewItemTouchDown(object sender, TouchEventArgs e)
    method OnListViewItemTouchMove (line 631) | private void OnListViewItemTouchMove(object sender, TouchEventArgs e)
    method OnListViewItemTouchUp (line 640) | private void OnListViewItemTouchUp(object sender, TouchEventArgs e)
    method TryStartDragDrop (line 646) | private bool TryStartDragDrop(Point currentPosition)
    method OnContextMenuOpening (line 666) | private void OnContextMenuOpening(object sender, ContextMenuEventArgs e)
    method OnContextMenuOpened (line 678) | private void OnContextMenuOpened(object sender, RoutedEventArgs e)
    method FocusSelectedItem (line 695) | private void FocusSelectedItem()

FILE: EverythingToolbar/Controls/SettingItem.xaml.cs
  class SettingItem (line 5) | public partial class SettingItem
    method SettingItem (line 7) | public SettingItem()

FILE: EverythingToolbar/Controls/SettingsControl.xaml.cs
  class SettingsControl (line 10) | public partial class SettingsControl
    method SettingsControl (line 12) | public SettingsControl()
    method OpenSettingsWindow (line 19) | private void OpenSettingsWindow(object sender, RoutedEventArgs e)
    method OnSortByClicked (line 26) | private void OnSortByClicked(object sender, RoutedEventArgs e)
    method OnSortAscendingClicked (line 54) | private void OnSortAscendingClicked(object sender, RoutedEventArgs e)
    method OnSortDescendingClicked (line 60) | private void OnSortDescendingClicked(object sender, RoutedEventArgs e)
    method SelectSortType (line 66) | private void SelectSortType()
    method OpenButtonContextMenu (line 83) | private void OpenButtonContextMenu(object sender, RoutedEventArgs e)
    method TogglePreviewPane (line 96) | private void TogglePreviewPane(object sender, RoutedEventArgs e)

FILE: EverythingToolbar/Controls/UpdateBanner.xaml.cs
  class UpdateBanner (line 17) | public partial class UpdateBanner
    method UpdateBanner (line 24) | public UpdateBanner()
    method GetLatestStableReleaseVersion (line 29) | private static async Task<Version?> GetLatestStableReleaseVersion()
    method OnLoaded (line 59) | private async void OnLoaded(object sender, RoutedEventArgs e)
    method TryGetSkippedUpdate (line 84) | private static Version? TryGetSkippedUpdate()
    method OnDownloadClicked (line 96) | private void OnDownloadClicked(object sender, EventArgs e)
    method OnSkipUpdateClicked (line 101) | private void OnSkipUpdateClicked(object sender, EventArgs e)
    method CheckForUpdateAsync (line 110) | public static async Task<Version?> CheckForUpdateAsync()
    class Release (line 123) | [DataContract]

FILE: EverythingToolbar/Controls/UpdateSuccessfulBanner.xaml.cs
  class UpdateSuccessfulBanner (line 8) | public partial class UpdateSuccessfulBanner
    method UpdateSuccessfulBanner (line 13) | public UpdateSuccessfulBanner()
    method GetCurrentVersion (line 18) | private static string GetCurrentVersion()
    method ShouldShowUpdateNotification (line 25) | private static bool ShouldShowUpdateNotification()
    method OnLoaded (line 43) | private void OnLoaded(object sender, RoutedEventArgs e)
    method OnDonateClicked (line 53) | private void OnDonateClicked(object sender, EventArgs e)
    method OnDismissClicked (line 58) | private void OnDismissClicked(object sender, EventArgs e)

FILE: EverythingToolbar/Converters/BoolToVisibilityConverter.cs
  class BoolToVisibilityConverter (line 9) | public class BoolToVisibilityConverter : MarkupExtension, IValueConverter
    method Convert (line 11) | public object Convert(object? value, Type targetType, object? paramete...
    method ConvertBack (line 24) | public object ConvertBack(object? value, Type targetType, object? para...
    method ProvideValue (line 29) | public override object ProvideValue(IServiceProvider serviceProvider)

FILE: EverythingToolbar/Converters/HighlightedTextConverter.cs
  class HighlightedTextConverter (line 11) | public class HighlightedTextConverter : MarkupExtension, IValueConverter
    method Convert (line 13) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 42) | public object ConvertBack(object? value, Type targetType, object? para...
    method ProvideValue (line 47) | public override object ProvideValue(IServiceProvider serviceProvider)

FILE: EverythingToolbar/Converters/NotConverter.cs
  class NotConverter (line 8) | public class NotConverter : MarkupExtension, IValueConverter
    method Convert (line 10) | public object Convert(object? value, Type targetType, object? paramete...
    method ConvertBack (line 17) | public object ConvertBack(object? value, Type targetType, object? para...
    method ProvideValue (line 22) | public override object ProvideValue(IServiceProvider serviceProvider)

FILE: EverythingToolbar/Converters/NullToVisibilityConverter.cs
  class NullToVisibilityConverter (line 9) | public class NullToVisibilityConverter : MarkupExtension, IValueConverter
    method Convert (line 11) | public object Convert(object? value, Type targetType, object? paramete...
    method ConvertBack (line 16) | public object ConvertBack(object? value, Type targetType, object? para...
    method ProvideValue (line 21) | public override object ProvideValue(IServiceProvider serviceProvider)

FILE: EverythingToolbar/Converters/PreviewPaneToggleIconConverter.cs
  class PreviewPaneToggleIconConverter (line 8) | public class PreviewPaneToggleIconConverter : MarkupExtension, IValueCon...
    method Convert (line 10) | public object Convert(object? value, Type targetType, object? paramete...
    method ConvertBack (line 15) | public object ConvertBack(object? value, Type targetType, object? para...
    method ProvideValue (line 20) | public override object ProvideValue(IServiceProvider serviceProvider)

FILE: EverythingToolbar/Converters/SearchResultsCountConverter.cs
  class SearchResultsCountConverter (line 9) | public class SearchResultsCountConverter : MarkupExtension, IValueConverter
    method Convert (line 11) | public object Convert(object? value, Type targetType, object? paramete...
    method ConvertBack (line 22) | public object ConvertBack(object? value, Type targetType, object? para...
    method ProvideValue (line 27) | public override object ProvideValue(IServiceProvider serviceProvider)

FILE: EverythingToolbar/Converters/SkipItemsConverter.cs
  class SkipItemsMultiConverter (line 10) | public class SkipItemsMultiConverter : MarkupExtension, IMultiValueConve...
    method Convert (line 12) | public object Convert(object[] values, Type targetType, object paramet...
    method ConvertBack (line 20) | public object[] ConvertBack(object value, Type[] targetTypes, object p...
    method ProvideValue (line 25) | public override object ProvideValue(IServiceProvider serviceProvider)

FILE: EverythingToolbar/Converters/TakeItemsConverter.cs
  class TakeItemsMultiConverter (line 10) | public class TakeItemsMultiConverter : MarkupExtension, IMultiValueConve...
    method Convert (line 12) | public object Convert(object[] values, Type targetType, object paramet...
    method ConvertBack (line 20) | public object[] ConvertBack(object value, Type[] targetTypes, object p...
    method ProvideValue (line 25) | public override object ProvideValue(IServiceProvider serviceProvider)

FILE: EverythingToolbar/Converters/WindowsVersionToVisibilityConverter.cs
  class WindowsVersionToVisibilityConverter (line 9) | public class WindowsVersionToVisibilityConverter : MarkupExtension, IVal...
    method Convert (line 11) | public object Convert(object? value, Type targetType, object? paramete...
    method ConvertBack (line 31) | public object ConvertBack(object? value, Type targetType, object? para...
    method ParseVersionParameter (line 36) | private (Version targetVersion, ComparisonOperation operation)? ParseV...
    method CompareVersions (line 71) | private bool CompareVersions(Version currentVersion, Version targetVer...
    type ComparisonOperation (line 86) | private enum ComparisonOperation
    method ProvideValue (line 95) | public override object ProvideValue(IServiceProvider serviceProvider)

FILE: EverythingToolbar/Data/Filter.cs
  class Filter (line 3) | public class Filter
    method Equals (line 14) | public override bool Equals(object? obj)
    method GetHashCode (line 22) | public override int GetHashCode()
    method Reset (line 27) | public void Reset()
    method GetSearchPrefix (line 37) | public string GetSearchPrefix()

FILE: EverythingToolbar/Data/FocusBehavior.cs
  type FocusBehavior (line 3) | public enum FocusBehavior

FILE: EverythingToolbar/Data/Rule.cs
  type FileType (line 12) | public enum FileType
  class Rule (line 19) | [Serializable]
    method NotifyPropertyChanged (line 25) | protected void NotifyPropertyChanged([CallerMemberName] string? proper...
    method GetExecutableFromCommandLine (line 150) | public static string GetExecutableFromCommandLine(string commandLine)
    method FindExecutablePath (line 167) | public static string? FindExecutablePath(string exeName)

FILE: EverythingToolbar/Data/SearchResult.cs
  class SearchResult (line 27) | public class SearchResult : INotifyPropertyChanged
    method Open (line 178) | public void Open()
    method RunAsAdmin (line 201) | public void RunAsAdmin()
    method OpenPath (line 217) | public void OpenPath()
    method OpenWith (line 233) | public void OpenWith()
    method CopyToClipboard (line 248) | public void CopyToClipboard()
    method CopyPathToClipboard (line 265) | public void CopyPathToClipboard()
    method ShowProperties (line 282) | public void ShowProperties()
    method ShowWindowsContextMenu (line 287) | public void ShowWindowsContextMenu()
    method ShowInEverything (line 295) | public void ShowInEverything()
    method PreviewInQuickLook (line 300) | public void PreviewInQuickLook()
    method PreviewInSeer (line 328) | public void PreviewInSeer()
    method OnPropertyChanged (line 359) | private void OnPropertyChanged([CallerMemberName] string? propertyName...

FILE: EverythingToolbar/Helpers/CultureHelper.cs
  class CultureHelper (line 10) | public static class CultureHelper
    method GetSupportedLanguageCodes (line 15) | private static string[] GetSupportedLanguageCodes()
    method GetAvailableLanguages (line 55) | public static List<KeyValuePair<string, string>> GetAvailableLanguages()
    method GetCultureInfo (line 101) | public static CultureInfo? GetCultureInfo(string languageCode)
    method ApplyUILanguage (line 122) | public static void ApplyUILanguage(string? languageCode)

FILE: EverythingToolbar/Helpers/DefaultFilterLoader.cs
  class DefaultFilterLoader (line 10) | internal class DefaultFilterLoader : INotifyPropertyChanged
    method DefaultFilterLoader (line 94) | private DefaultFilterLoader()
    method OnSettingsChanged (line 99) | private void OnSettingsChanged(object? sender, PropertyChangedEventArg...
    method GetReorderedFilters (line 107) | private ObservableCollection<Filter> GetReorderedFilters()
    method GetValidFilterOrder (line 114) | public int[] GetValidFilterOrder()
    method NotifyPropertyChanged (line 134) | private void NotifyPropertyChanged([CallerMemberName] string? property...

FILE: EverythingToolbar/Helpers/EventDispatcher.cs
  class EventDispatcher (line 6) | public class EventDispatcher
    method InvokeFocusRequested (line 12) | public void InvokeFocusRequested(object sender, EventArgs e)
    method InvokeUnfocusRequested (line 19) | public void InvokeUnfocusRequested(object sender, EventArgs e)
    method InvokeSearchBoxFocused (line 26) | public void InvokeSearchBoxFocused(object sender, EventArgs e)
    method InvokeSearchBoxFocusedNotification (line 33) | public void InvokeSearchBoxFocusedNotification(object sender, EventArg...
    method InvokeGlobalKeyEvent (line 40) | public void InvokeGlobalKeyEvent(object sender, KeyEventArgs e)

FILE: EverythingToolbar/Helpers/EverythingFilterLoader.cs
  class EverythingFilterLoader (line 17) | internal class EverythingFilterLoader : INotifyPropertyChanged
    method EverythingFilterLoader (line 26) | private EverythingFilterLoader()
    method OnSettingsChanged (line 34) | private void OnSettingsChanged(object? sender, PropertyChangedEventArg...
    method ResetFilters (line 58) | private void ResetFilters()
    method LoadFilters (line 64) | private ObservableCollection<Filter>? LoadFilters()
    method ParseFilterFromDict (line 141) | private Filter ParseFilterFromDict(Dictionary<string, string> dict)
    method StopFileWatcher (line 155) | private void StopFileWatcher()
    method CreateFileWatcher (line 165) | private void CreateFileWatcher()
    method OnFileRenamed (line 187) | private void OnFileRenamed(object sender, RenamedEventArgs e)
    method OnFileChanged (line 192) | private void OnFileChanged(object source, FileSystemEventArgs e)
    method NotifyPropertyChanged (line 199) | private void NotifyPropertyChanged([CallerMemberName] string? property...

FILE: EverythingToolbar/Helpers/FilterLoader.cs
  class FilterLoader (line 8) | internal class FilterLoader : INotifyPropertyChanged
    method FilterLoader (line 26) | private FilterLoader()
    method OnDefaultFiltersChanged (line 33) | private void OnDefaultFiltersChanged(object? sender, PropertyChangedEv...
    method OnEverythingFiltersChanged (line 41) | private void OnEverythingFiltersChanged(object? sender, PropertyChange...
    method OnSettingsChanged (line 49) | private void OnSettingsChanged(object? sender, PropertyChangedEventArg...
    method GetInitialFilter (line 60) | public Filter GetInitialFilter()
    method NotifyPropertyChanged (line 76) | private void NotifyPropertyChanged([CallerMemberName] string? property...

FILE: EverythingToolbar/Helpers/HistoryManager.cs
  class HistoryManager (line 12) | public class HistoryManager
    method HistoryManager (line 29) | private HistoryManager()
    method OnSettingChanged (line 37) | private void OnSettingChanged(object? sender, PropertyChangedEventArgs e)
    method LoadHistory (line 53) | private List<string> LoadHistory()
    method SaveHistory (line 72) | private void SaveHistory()
    method ClearHistory (line 89) | public void ClearHistory()
    method AddToHistory (line 96) | public void AddToHistory(string searchTerm)
    method GetPreviousItem (line 112) | public string GetPreviousItem()
    method GetNextItem (line 121) | public string GetNextItem()

FILE: EverythingToolbar/Helpers/IconProvider.cs
  class ImageScalingHelper (line 13) | internal static class ImageScalingHelper
    method GetScaledSize (line 15) | public static int GetScaledSize(int logicalSize)
    method SetLogicalSize (line 23) | public static BitmapSource SetLogicalSize(BitmapSource source, int log...
    method GetDpiForSystem (line 63) | [DllImport("user32.dll")]
  class ThumbnailProvider (line 67) | public static class ThumbnailProvider
    method SHCreateItemFromParsingName (line 69) | [DllImport("shell32.dll", CharSet = CharSet.Unicode, PreserveSig = fal...
    type IShellItemImageFactory (line 77) | [ComImport]
      method GetImage (line 82) | void GetImage([In] Size size, [In] int flags, [Out] out IntPtr phbm);
    type Size (line 85) | [StructLayout(LayoutKind.Sequential)]
    method GetImage (line 94) | public static ImageSource? GetImage(string filePath, int imageSize, bo...
    method DeleteObject (line 134) | [DllImport("gdi32.dll")]
  class IconProvider (line 138) | public static class IconProvider
    method IconProvider (line 145) | static IconProvider()
    type Shfileinfo (line 150) | [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
    method SHGetFileInfo (line 164) | [DllImport("shell32.dll", CharSet = CharSet.Auto)]
    method DestroyIcon (line 173) | [DllImport("user32.dll")]
    method GetImage (line 182) | public static ImageSource? GetImage(
    method GetIconIndex (line 238) | private static int GetIconIndex(string path, IconIndexType indexType)
    type IconIndexType (line 257) | enum IconIndexType
    method GetIconFromSystemImageList (line 270) | private static ImageSource? GetIconFromSystemImageList(int iconIndex, ...
    method GetImageListType (line 313) | private static int GetImageListType(int iconSize)
    method SHGetImageList (line 324) | [DllImport("shell32.dll", PreserveSig = true)]
    type IImageList (line 331) | [ComImport]
      method Add (line 336) | [PreserveSig]
      method ReplaceIcon (line 339) | [PreserveSig]
      method SetOverlayImage (line 342) | [PreserveSig]
      method Replace (line 345) | [PreserveSig]
      method AddMasked (line 348) | [PreserveSig]
      method Draw (line 351) | [PreserveSig]
      method Remove (line 354) | [PreserveSig]
      method GetIcon (line 357) | [PreserveSig]

FILE: EverythingToolbar/Helpers/NativeMethods.cs
  class NativeMethods (line 7) | public class NativeMethods
    method FindTaskbarHandle (line 11) | public static IntPtr FindTaskbarHandle()
    method FocusTaskbarWindow (line 16) | public static void FocusTaskbarWindow()
    method ForciblySetForegroundWindow (line 25) | public static void ForciblySetForegroundWindow(IntPtr handle)
    method FlashWindow (line 55) | [DllImport("user32.dll")]
    method GetForegroundWindow (line 58) | [DllImport("user32.dll")]
    method SetForegroundWindow (line 61) | [DllImport("user32.dll")]
    method BringWindowToTop (line 65) | [DllImport("user32.dll")]
    method SetActiveWindow (line 68) | [DllImport("user32.dll")]
    method FindWindowEx (line 71) | [DllImport("user32.dll", CharSet = CharSet.Auto)]
    method FindWindow (line 79) | [DllImport("user32.dll")]
    method SendMessage (line 82) | [DllImport("user32.dll")]
    method GetWindowThreadProcessId (line 85) | [DllImport("user32.dll")]
    method AttachThreadInput (line 88) | [DllImport("user32.dll")]
    method SetWindowPos (line 91) | [DllImport("user32.dll", SetLastError = true)]
    method DwmFlush (line 103) | [DllImport("dwmapi.dll")]
    type Copydatastruct (line 106) | [StructLayout(LayoutKind.Sequential)]
    method CreateWindowEx (line 114) | [DllImport("user32.dll", SetLastError = true)]
    method SetWindowLongPtr (line 130) | [DllImport("user32.dll", EntryPoint = "SetWindowLongPtr")]
    method DefWindowProc (line 133) | [DllImport("user32.dll")]

FILE: EverythingToolbar/Helpers/RegistryWatcher.cs
  class RegistryEntry (line 12) | internal class RegistryEntry(string hive, string keyPath, string valueName)
    method GetValue (line 18) | public object? GetValue(object? defaultValue = null)
  class RegistryWatcher (line 24) | internal class RegistryWatcher
    method RegistryWatcher (line 33) | public RegistryWatcher(RegistryEntry target)
    method Start (line 48) | private void Start()
    method Stop (line 60) | public void Stop()
    method EscapeBackticks (line 65) | private static string EscapeBackticks(string unescaped)
    method CreateWatcher (line 70) | private ManagementEventWatcher CreateWatcher()
    method GetValue (line 89) | private object? GetValue(object? defaultValue = null)
    method OnEventArrived (line 94) | private void OnEventArrived(object sender, EventArrivedEventArgs e)

FILE: EverythingToolbar/Helpers/ShellContextMenu.cs
  class ShellContextMenu (line 37) | public class ShellContextMenu : NativeWindow
    method ShellContextMenu (line 41) | public ShellContextMenu()
    method GetContextMenuInterfaces (line 62) | private bool GetContextMenuInterfaces(IShellFolder oParentFolder, IntP...
    method WndProc (line 95) | protected override void WndProc(ref Message m)
    method InvokeCommand (line 126) | private void InvokeCommand(IContextMenu oContextMenu, uint nCmd, strin...
    method ReleaseAll (line 152) | private void ReleaseAll()
    method GetDesktopFolder (line 192) | private IShellFolder GetDesktopFolder()
    method GetParentFolder (line 216) | private IShellFolder GetParentFolder(string folderName)
    method GetPIDLs (line 277) | protected IntPtr[] GetPIDLs(FileInfo[] arrFI)
    method GetPIDLs (line 323) | protected IntPtr[] GetPIDLs(DirectoryInfo[] arrFI)
    method FreePIDLs (line 370) | protected void FreePIDLs(IntPtr[] arrPIDLs)
    method ShowContextMenu (line 393) | public void ShowContextMenu(FileInfo[] files, Point pointScreen)
    method ShowContextMenu (line 406) | public void ShowContextMenu(DirectoryInfo[] dirs, Point pointScreen)
    method ShowContextMenu (line 419) | private void ShowContextMenu(Point pointScreen)
    method SHGetDesktopFolder (line 524) | [DllImport("shell32.dll")]
    method StrRetToBuf (line 528) | [DllImport(
    method TrackPopupMenuEx (line 538) | [DllImport("user32.dll", ExactSpelling = true, CharSet = CharSet.Auto)]
    method CreatePopupMenu (line 542) | [DllImport("user32", SetLastError = true, CharSet = CharSet.Auto)]
    method DestroyMenu (line 546) | [DllImport("user32", SetLastError = true, CharSet = CharSet.Auto)]
    method SetPreferredAppMode (line 553) | [DllImport("uxtheme.dll", EntryPoint = "#135", SetLastError = true, Ch...
    method FlushMenuThemes (line 556) | [DllImport("uxtheme.dll", EntryPoint = "#136", SetLastError = true, Ch...
    method AllowDarkModeForWindow (line 559) | [DllImport("uxtheme.dll", EntryPoint = "#133", SetLastError = true, Ch...
    method SetWindowTheme (line 562) | [DllImport("uxtheme.dll", SetLastError = true, CharSet = CharSet.Unico...
    type PreferredAppMode (line 565) | private enum PreferredAppMode
    method InitializeDarkModeSupport (line 581) | public static void InitializeDarkModeSupport()
    method ShouldUseDarkMode (line 604) | private static bool ShouldUseDarkMode()
    method ApplyDarkModeToWindow (line 612) | private void ApplyDarkModeToWindow()
    type CWPSTRUCT (line 647) | [StructLayout(LayoutKind.Sequential)]
    type CMINVOKECOMMANDINFOEX (line 657) | [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
    type MENUITEMINFO (line 690) | [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
      method MENUITEMINFO (line 693) | public MENUITEMINFO(string text)
    type STGMEDIUM (line 727) | [StructLayout(LayoutKind.Sequential)]
    type POINT (line 742) | [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
      method POINT (line 745) | public POINT(int x, int y)
    type SHGNO (line 761) | [Flags]
    type SFGAO (line 772) | [Flags]
    type SHCONTF (line 812) | [Flags]
    type CMF (line 825) | [Flags]
    type GCS (line 841) | [Flags]
    type TPM (line 853) | [Flags]
    type CMD_CUSTOM (line 878) | private enum CMD_CUSTOM
    type CMIC (line 884) | [Flags]
    type SW (line 901) | [Flags]
    type WM (line 920) | [Flags]
    type MFT (line 1135) | [Flags]
    type MFS (line 1154) | [Flags]
    type MIIM (line 1168) | [Flags]
    type TYMED (line 1183) | [Flags]
    type IShellFolder (line 1199) | [ComImport]
      method ParseDisplayName (line 1206) | [PreserveSig]
      method EnumObjects (line 1219) | [PreserveSig]
      method BindToObject (line 1224) | [PreserveSig]
      method BindToStorage (line 1229) | [PreserveSig]
      method CompareIDs (line 1242) | [PreserveSig]
      method CreateViewObject (line 1248) | [PreserveSig]
      method GetAttributesOf (line 1253) | [PreserveSig]
      method GetUIObjectOf (line 1259) | [PreserveSig]
      method GetDisplayNameOf (line 1271) | [PreserveSig]
      method SetNameOf (line 1277) | [PreserveSig]
    type IContextMenu (line 1289) | [ComImport]
      method QueryContextMenu (line 1295) | [PreserveSig]
      method InvokeCommand (line 1299) | [PreserveSig]
      method GetCommandString (line 1305) | [PreserveSig]
    type IContextMenu2 (line 1315) | [ComImport, Guid("000214f4-0000-0000-c000-000000000046")]
      method QueryContextMenu (line 1320) | [PreserveSig]
      method InvokeCommand (line 1324) | [PreserveSig]
      method GetCommandString (line 1330) | [PreserveSig]
      method HandleMenuMsg (line 1341) | [PreserveSig]
    type IContextMenu3 (line 1345) | [ComImport, Guid("bcfce0a0-ec17-11d0-8d10-00a0c90f2719")]
      method QueryContextMenu (line 1350) | [PreserveSig]
      method InvokeCommand (line 1354) | [PreserveSig]
      method GetCommandString (line 1360) | [PreserveSig]
      method HandleMenuMsg (line 1371) | [PreserveSig]
      method HandleMenuMsg2 (line 1376) | [PreserveSig]
  class ShellContextMenuException (line 1383) | public class ShellContextMenuException : Exception
    method ShellContextMenuException (line 1386) | public ShellContextMenuException() { }
    method ShellContextMenuException (line 1390) | public ShellContextMenuException(string message)
  class HookEventArgs (line 1396) | public class HookEventArgs : EventArgs
  type HookType (line 1406) | public enum HookType
  class LocalWindowsHook (line 1427) | public class LocalWindowsHook
    method OnHookInvoked (line 1453) | protected void OnHookInvoked(HookEventArgs e)
    method LocalWindowsHook (line 1462) | public LocalWindowsHook(HookType hook)
    method LocalWindowsHook (line 1468) | public LocalWindowsHook(HookType hook, HookProc func)
    method CoreHookProc (line 1478) | protected int CoreHookProc(int code, IntPtr wParam, IntPtr lParam)
    method Install (line 1500) | public void Install()
    method Uninstall (line 1509) | public void Uninstall()
    method SetWindowsHookEx (line 1519) | [DllImport("user32.dll")]
    method UnhookWindowsHookEx (line 1526) | [DllImport("user32.dll")]
    method CallNextHookEx (line 1533) | [DllImport("user32.dll")]

FILE: EverythingToolbar/Helpers/ShellUtils.cs
  class ShellUtils (line 8) | internal abstract class ShellUtils
    method ShellUtils (line 10) | private ShellUtils() { }
    method ShellExecuteEx (line 12) | [DllImport("shell32.dll", CharSet = CharSet.Auto)]
    type ShellExecuteInfo (line 15) | [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
    method ShowFileProperties (line 45) | public static void ShowFileProperties(string path)
    type StartupInfo (line 56) | [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
    type ProcessInformation (line 79) | [StructLayout(LayoutKind.Sequential)]
    method CreateProcess (line 88) | [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
    method CreateProcessFromCommandLine (line 102) | public static void CreateProcessFromCommandLine(string commandLine, st...
    method OpenWithDialog (line 120) | public static void OpenWithDialog(string path)
    method SHOpenFolderAndSelectItems (line 127) | [DllImport("shell32.dll", SetLastError = true)]
    method SHParseDisplayName (line 135) | [DllImport("shell32.dll", SetLastError = true)]
    method OpenParentFolderAndSelect (line 144) | public static void OpenParentFolderAndSelect(string path)

FILE: EverythingToolbar/Helpers/ShortcutManager.cs
  class ShortcutManager (line 11) | public class ShortcutManager
    method Initialize (line 17) | public static void Initialize(EventHandler<HotkeyEventArgs> handler)
    method TrySetShortcut (line 30) | public static void TrySetShortcut(Key key, ModifierKeys modifiers)
    method UpdateSettings (line 48) | public static void UpdateSettings(Key key, ModifierKeys mods)

FILE: EverythingToolbar/Helpers/StartMenuIntegration.cs
  class StartMenuIntegration (line 12) | public class StartMenuIntegration
    method StartMenuIntegration (line 35) | private StartMenuIntegration()
    method Initialize (line 41) | public void Initialize()
    method OnSettingsChanged (line 47) | private void OnSettingsChanged(object? sender, PropertyChangedEventArg...
    method Enable (line 58) | public void Enable()
    method Disable (line 67) | public void Disable()
    method OnFocusedWindowChanged (line 74) | private void OnFocusedWindowChanged(
    method StartMenuKeyboardHookCallback (line 123) | private IntPtr StartMenuKeyboardHookCallback(int nCode, IntPtr wParam,...
    method OnAnySearchBoxGotKeyboardFocus (line 168) | private void OnAnySearchBoxGotKeyboardFocus(object? sender, EventArgs e)
    method StartCleanupTimer (line 183) | private void StartCleanupTimer()
    method CancelCleanupTimer (line 189) | private void CancelCleanupTimer()
    method OnCleanupTimerElapsed (line 194) | private void OnCleanupTimerElapsed(object? sender, EventArgs e)
    method TriggerSearchWindow (line 200) | private void TriggerSearchWindow()
    method ReplayRecordedInputs (line 214) | private void ReplayRecordedInputs()
    method CloseStartMenu (line 223) | private void CloseStartMenu()
    method ResetHandoverState (line 233) | private void ResetHandoverState()
    method HookStartMenuInput (line 244) | private void HookStartMenuInput()
    method UnhookStartMenuInput (line 251) | private void UnhookStartMenuInput()
    method GetForegroundWindowAndProcess (line 257) | private static void GetForegroundWindowAndProcess(out IntPtr foregroun...
    method OpenProcess (line 280) | [DllImport("kernel32.dll")]
    method CloseHandle (line 283) | [DllImport("kernel32.dll")]
    method SetWindowsHookEx (line 286) | [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    method UnhookWindowsHookEx (line 289) | [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    method CallNextHookEx (line 293) | [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    method GetForegroundWindow (line 296) | [DllImport("user32.dll")]
    method GetWindowThreadProcessId (line 299) | [DllImport("user32.dll")]
    method SetWinEventHook (line 302) | [DllImport("user32.dll")]
    method UnhookWinEvent (line 313) | [DllImport("user32.dll")]
    method PostMessage (line 316) | [DllImport("user32.Dll")]
    method GetModuleFileNameEx (line 319) | [DllImport("psapi.dll")]
    method keybd_event (line 322) | [DllImport("user32.dll", SetLastError = true)]
    type Input (line 325) | [StructLayout(LayoutKind.Sequential)]
    type InputUnion (line 332) | [StructLayout(LayoutKind.Explicit)]
    type KeybdInput (line 339) | [StructLayout(LayoutKind.Sequential)]

FILE: EverythingToolbar/Helpers/TaskbarStateManager.cs
  type Edge (line 7) | public enum Edge : uint
  class TaskbarStateManager (line 15) | public class TaskbarStateManager : INotifyPropertyChanged
    method TaskbarStateManager (line 19) | private TaskbarStateManager() { }
    method NotifyPropertyChanged (line 56) | private void NotifyPropertyChanged([CallerMemberName] string? property...

FILE: EverythingToolbar/Helpers/ToolbarLogger.cs
  class ToolbarLogger (line 11) | public static class ToolbarLogger
    method GetLogger (line 16) | public static ILogger GetLogger(string name)
    method GetLogger (line 21) | public static ILogger GetLogger<T>()
    method GetLogLevel (line 26) | private static LogLevel GetLogLevel()
    method LogVersionInformation (line 31) | private static void LogVersionInformation(ILogger logger)
    method InitializeExceptionLoggers (line 42) | private static void InitializeExceptionLoggers(ILogger logger)
    method ConfigureLogger (line 63) | private static void ConfigureLogger()
    method Initialize (line 82) | public static void Initialize(string name)

FILE: EverythingToolbar/Helpers/Utils.cs
  class Utils (line 10) | public static class Utils
    method GetConfigDirectory (line 14) | public static string GetConfigDirectory()
    method GetWindowsSearchEnabledState (line 22) | public static bool GetWindowsSearchEnabledState()
    method SetWindowsSearchEnabledState (line 29) | public static void SetWindowsSearchEnabledState(bool enabled)
    method GetWindowsVersion (line 45) | public static Version GetWindowsVersion()
    class WindowsVersion (line 53) | public static class WindowsVersion
    method GetHumanReadableFileSize (line 60) | public static string GetHumanReadableFileSize(long length)
    method IsWindowsTransparencyEnabled (line 112) | public static bool IsWindowsTransparencyEnabled()
    method IsLightTheme (line 128) | public static bool IsLightTheme()
    method GetSystemAnimationsEnabled (line 153) | public static bool GetSystemAnimationsEnabled()
    method SetSystemAnimationsEnabled (line 159) | public static void SetSystemAnimationsEnabled(bool enabled)
    method SystemParametersInfo (line 164) | [DllImport("user32.dll", SetLastError = true)]
    method SystemParametersInfo (line 168) | [DllImport("user32.dll", SetLastError = true)]

FILE: EverythingToolbar/Properties/Resources.Designer.cs
  class Resources (line 21) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 30) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: EverythingToolbar/Search/IItemsProvider.cs
  type IItemsProvider (line 7) | public interface IItemsProvider<T> : INotifyPropertyChanged
    method FetchCount (line 11) | Task<int> FetchCount(int pageSize, bool isAsync);
    method FetchRange (line 13) | Task<IList<T>> FetchRange(int startIndex, int pageSize, bool isAsync);

FILE: EverythingToolbar/Search/SearchResultProvider.cs
  class SearchResultProvider (line 21) | public class SearchResultProvider : IItemsProvider<SearchResult>
    class QueryQueueItem (line 23) | private class QueryQueueItem
      method QueryQueueItem (line 30) | public QueryQueueItem(TaskCompletionSource<int> completionSource)
      method QueryQueueItem (line 36) | public QueryQueueItem(TaskCompletionSource<IList<SearchResult>> comp...
      method Cancel (line 43) | public void Cancel()
    method SearchResultProvider (line 76) | public SearchResultProvider(SearchState searchState, SynchronizationCo...
    method InitializeAsyncResponseWindow (line 85) | private static void InitializeAsyncResponseWindow()
    method ClearQueryQueue (line 126) | private void ClearQueryQueue()
    method ProcessNextQuery (line 140) | private static void ProcessNextQuery()
    method HandleWindowMessage (line 176) | private static IntPtr HandleWindowMessage(IntPtr hWnd, uint msg, IntPt...
    method GetResultsFromEverythingQuery (line 222) | private static IList<SearchResult> GetResultsFromEverythingQuery()
    method FetchCount (line 249) | public Task<int> FetchCount(int pageSize, bool isAsync)
    method FetchRange (line 302) | public Task<IList<SearchResult>> FetchRange(int startIndex, int pageSi...
    method Query (line 341) | private static bool Query(bool isAsync)
    method LogLastError (line 357) | private static void LogLastError()
    method Initialize (line 397) | private static bool Initialize()
    method GetEverythingVersion (line 434) | public static Version GetEverythingVersion()
    method SetInstanceName (line 442) | public static void SetInstanceName(string name)
    type Flags (line 450) | [Flags]
    type ErrorCode (line 460) | [Flags]
    method IncrementRunCount (line 473) | public static void IncrementRunCount(string path)
    method CalculateEverythingSortType (line 478) | private static uint CalculateEverythingSortType(int sortBy, bool desce...
    method SetSortType (line 485) | private static void SetSortType(int sortBy, bool descending)
    method GetIsFastSort (line 491) | public static bool GetIsFastSort(int sortBy, bool descending)
    method OpenSearchInEverything (line 497) | public static void OpenSearchInEverything(SearchState searchState, str...
    method OnPropertyChanged (line 563) | private void OnPropertyChanged(string propertyName)
    type QueryType (line 568) | private enum QueryType : uint
    method Everything_SetSearchW (line 574) | [DllImport("Everything64.dll", CharSet = CharSet.Unicode)]
    method Everything_SetInstanceName (line 577) | [DllImport("Everything64.dll", CharSet = CharSet.Unicode)]
    method Everything_SetMatchPath (line 580) | [DllImport("Everything64.dll")]
    method Everything_SetMatchCase (line 583) | [DllImport("Everything64.dll")]
    method Everything_SetMatchWholeWord (line 586) | [DllImport("Everything64.dll")]
    method Everything_SetRegex (line 589) | [DllImport("Everything64.dll")]
    method Everything_SetMax (line 592) | [DllImport("Everything64.dll")]
    method Everything_SetOffset (line 595) | [DllImport("Everything64.dll")]
    method Everything_QueryW (line 598) | [DllImport("Everything64.dll")]
    method Everything_GetNumResults (line 601) | [DllImport("Everything64.dll")]
    method Everything_GetTotResults (line 604) | [DllImport("Everything64.dll")]
    method Everything_GetResultFullPathNameW (line 607) | [DllImport("Everything64.dll", CharSet = CharSet.Unicode)]
    method Everything_SetSort (line 614) | [DllImport("Everything64.dll")]
    method Everything_SetRequestFlags (line 617) | [DllImport("Everything64.dll")]
    method Everything_GetResultHighlightedFileName (line 620) | [DllImport("Everything64.dll", CharSet = CharSet.Unicode)]
    method Everything_IncRunCountFromFileName (line 623) | [DllImport("Everything64.dll")]
    method Everything_GetResultHighlightedPath (line 626) | [DllImport("Everything64.dll", CharSet = CharSet.Unicode)]
    method Everything_IsFileResult (line 629) | [DllImport("Everything64.dll")]
    method Everything_GetLastError (line 632) | [DllImport("Everything64.dll")]
    method Everything_GetMajorVersion (line 635) | [DllImport("Everything64.dll")]
    method Everything_GetMinorVersion (line 638) | [DllImport("Everything64.dll")]
    method Everything_GetRevision (line 641) | [DllImport("Everything64.dll")]
    method Everything_IsFastSort (line 644) | [DllImport("Everything64.dll")]
    method Everything_GetResultSize (line 647) | [DllImport("Everything64.dll")]
    method Everything_GetResultDateModified (line 650) | [DllImport("Everything64.dll")]
    method Everything_SetReplyWindow (line 653) | [DllImport("Everything64.dll")]
    method Everything_SetReplyID (line 656) | [DllImport("Everything64.dll")]
    method Everything_IsQueryReply (line 659) | [DllImport("Everything64.dll")]

FILE: EverythingToolbar/Search/SearchState.cs
  class SearchState (line 9) | public sealed class SearchState : INotifyPropertyChanged
    method SearchState (line 126) | private SearchState()
    method Reset (line 131) | public void Reset()
    method CycleFilters (line 141) | public void CycleFilters(int offset = 1)
    method SelectFilterFromIndex (line 149) | public void SelectFilterFromIndex(int index)
    method ApplyMacros (line 157) | private string ApplyMacros(string searchTerm)
    method BuildSearchTerm (line 183) | public string BuildSearchTerm()
    method OnSettingsChanged (line 190) | private void OnSettingsChanged(object? sender, PropertyChangedEventArg...
    method OnPropertyChanged (line 221) | private void OnPropertyChanged([CallerMemberName] string? propertyName...

FILE: EverythingToolbar/Search/SynchronizationContextTaskScheduler.cs
  class SynchronizationContextTaskScheduler (line 7) | public class SynchronizationContextTaskScheduler(SynchronizationContext?...
    method QueueTask (line 9) | protected override void QueueTask(Task task)
    method TryExecuteTaskInline (line 22) | protected override bool TryExecuteTaskInline(Task task, bool taskWasPr...
    method GetScheduledTasks (line 27) | protected override IEnumerable<Task> GetScheduledTasks()

FILE: EverythingToolbar/Search/VirtualizingCollection.cs
  class VirtualizingCollection (line 13) | public sealed class VirtualizingCollection<T> : IList<T>, IList, INotify...
    method VirtualizingCollection (line 15) | public VirtualizingCollection(
    method UpdateProvider (line 63) | public void UpdateProvider(IItemsProvider<T> newProvider)
    method OnItemsProviderPropertyChanged (line 79) | private void OnItemsProviderPropertyChanged(object? sender, PropertyCh...
    method OnPropertyChanged (line 89) | private void OnPropertyChanged([CallerMemberName] string? propertyName...
    method OnCollectionChanged (line 96) | private void OnCollectionChanged(NotifyCollectionChangedEventArgs e)
    method LoadCount (line 101) | private void LoadCount()
    method LoadPage (line 128) | private List<T> LoadPage(int index)
    method LoadPageAsync (line 135) | private void LoadPageAsync(int index)
    method GetItemAtIndex (line 202) | private T GetItemAtIndex(int index)
    method GetEnumerator (line 254) | public IEnumerator<T> GetEnumerator()
    method GetEnumerator (line 260) | IEnumerator IEnumerable.GetEnumerator()
    method Add (line 265) | public void Add(T item)
    method Add (line 270) | int IList.Add(object? value)
    method Contains (line 275) | bool IList.Contains(object? value)
    method Contains (line 280) | public bool Contains(T item)
    method Clear (line 285) | public void Clear()
    method IndexOf (line 290) | int IList.IndexOf(object? value)
    method IndexOf (line 295) | public int IndexOf(T item)
    method Insert (line 302) | public void Insert(int index, T item)
    method Insert (line 307) | void IList.Insert(int index, object? value)
    method RemoveAt (line 312) | public void RemoveAt(int index)
    method Remove (line 317) | void IList.Remove(object? value)
    method Remove (line 322) | public bool Remove(T item)
    method CopyTo (line 327) | public void CopyTo(T[] array, int arrayIndex)
    method CopyTo (line 332) | void ICollection.CopyTo(Array array, int index)

FILE: EverythingToolbar/SearchWindow.xaml.cs
  class SearchWindow (line 13) | public partial class SearchWindow
    method SearchWindow (line 22) | private SearchWindow()
    method OnActivated (line 30) | private void OnActivated(object? sender, EventArgs e)
    method OnPreviewKeyDown (line 38) | private void OnPreviewKeyDown(object? sender, KeyEventArgs e)
    method OnLostKeyboardFocus (line 56) | private void OnLostKeyboardFocus(object? sender, KeyboardFocusChangedE...
    method OpenSearchInEverything (line 64) | private void OpenSearchInEverything(object? sender, RoutedEventArgs e)
    method Hide (line 69) | public new void Hide()
    method OnHidden (line 77) | private void OnHidden(object? sender, EventArgs e)
    method Show (line 97) | public new void Show()
    method ActivateAndBringToFront (line 136) | private void ActivateAndBringToFront()
    method Toggle (line 144) | public void Toggle()
    method ClearAnimations (line 152) | private void ClearAnimations()
    method AnimateShow (line 160) | public void AnimateShow(double left, double top, double width, double ...
    method AnimateShowWin10 (line 184) | private void AnimateShowWin10(double left, double top, Edge taskbarEdge)
    method AnimateShowWin11 (line 270) | private void AnimateShowWin11(double left, double top, double width, d...
    method AnimateHideWin10 (line 345) | private void AnimateHideWin10(Edge taskbarEdge)
    method AnimateHideWin11 (line 389) | private void AnimateHideWin11(Edge taskbarEdge)
    method AnimateHide (line 435) | public void AnimateHide(Edge taskbarEdge)
    method OnCompositionTargetRendering (line 445) | private void OnCompositionTargetRendering(object? sender, EventArgs e)
    method SetTopmostBelowTaskbar (line 451) | private void SetTopmostBelowTaskbar()

FILE: EverythingToolbar/Settings/About.xaml.cs
  class About (line 9) | public partial class About
    method About (line 11) | public About()
    method OnSearchSettingsClicked (line 26) | private void OnSearchSettingsClicked(object sender, RoutedEventArgs e)
    method OnCustomActionsClicked (line 31) | private void OnCustomActionsClicked(object sender, RoutedEventArgs e)
    method OnUserInterfaceSettingsClicked (line 36) | private void OnUserInterfaceSettingsClicked(object sender, RoutedEvent...
    method NavigateToPage (line 41) | private void NavigateToPage(Type pageType)
    method FindNavigationView (line 49) | private static NavigationView? FindNavigationView(DependencyObject par...

FILE: EverythingToolbar/Settings/Advanced.xaml.cs
  class Advanced (line 12) | public partial class Advanced : INotifyPropertyChanged
    method Advanced (line 74) | public Advanced()
    method OnUnloaded (line 80) | private void OnUnloaded(object sender, RoutedEventArgs e)
    method OnCheckForUpdatesClicked (line 85) | private async void OnCheckForUpdatesClicked(object sender, RoutedEvent...
    method OnDownloadUpdateClicked (line 114) | private void OnDownloadUpdateClicked(object sender, RoutedEventArgs e)
    method OnPropertyChanged (line 122) | private void OnPropertyChanged([CallerMemberName] string? name = null)

FILE: EverythingToolbar/Settings/CustomActions.xaml.cs
  class CustomActions (line 16) | public partial class CustomActions
    method CustomActions (line 21) | public CustomActions()
    method OnLoaded (line 26) | private void OnLoaded(object sender, RoutedEventArgs e)
    method OnUnloaded (line 34) | private void OnUnloaded(object sender, RoutedEventArgs e)
    method LoadCustomActions (line 43) | public static List<Rule> LoadCustomActions()
    method SaveCustomActions (line 60) | private static bool SaveCustomActions(List<Rule> newActions, bool isAu...
    method AddItem (line 90) | private void AddItem(object sender, RoutedEventArgs e)
    method DeleteSelected (line 106) | private void DeleteSelected(object sender, RoutedEventArgs e)
    method MoveDownSelected (line 121) | private void MoveDownSelected(object sender, RoutedEventArgs e)
    method MoveUpSelected (line 126) | private void MoveUpSelected(object sender, RoutedEventArgs e)
    method MoveItem (line 131) | private void MoveItem(int delta)
    method OnGridSelectionChanged (line 143) | private void OnGridSelectionChanged(object sender, SelectionChangedEve...
    method RefreshList (line 148) | private void RefreshList()
    method UpdateUi (line 154) | private void UpdateUi()
    method CheckBox_Click (line 178) | private void CheckBox_Click(object sender, RoutedEventArgs e)
    method HandleAction (line 183) | public static bool HandleAction(SearchResult? searchResult, string com...

FILE: EverythingToolbar/Settings/Filters.xaml.cs
  class FilterOrderItem (line 14) | public class FilterOrderItem
  class Filters (line 20) | public partial class Filters : INotifyPropertyChanged
    method Filters (line 36) | public Filters()
    method LoadFilterOrder (line 44) | private void LoadFilterOrder()
    method SaveOrder (line 56) | private void SaveOrder()
    method OnOrderListItemMouseDown (line 62) | private void OnOrderListItemMouseDown(object sender, MouseButtonEventA...
    method OnOrderListItemMouseMove (line 67) | private void OnOrderListItemMouseMove(object sender, MouseEventArgs e)
    method OnOrderListDragOver (line 91) | private void OnOrderListDragOver(object sender, DragEventArgs e)
    method OnOrderListDrop (line 96) | private void OnOrderListDrop(object sender, DragEventArgs e)
    method GetDropIndex (line 116) | private int GetDropIndex(ListBox listBox, Point dropPosition)
    method OnPropertyChanged (line 137) | private void OnPropertyChanged([CallerMemberName] string? propertyName...

FILE: EverythingToolbar/Settings/Search.xaml.cs
  class Search (line 9) | public partial class Search
    method Search (line 11) | public Search()
    method OnClearHistoryClicked (line 17) | private void OnClearHistoryClicked(object sender, RoutedEventArgs e)
  class SearchViewModel (line 23) | public class SearchViewModel

FILE: EverythingToolbar/Settings/SettingsWindow.xaml.cs
  class SettingsWindow (line 10) | public partial class SettingsWindow
    method SettingsWindow (line 12) | public SettingsWindow()
    method OnReportABugClicked (line 19) | private void OnReportABugClicked(object sender, RoutedEventArgs e)

FILE: EverythingToolbar/Settings/Shortcuts.xaml.cs
  class Shortcuts (line 13) | public partial class Shortcuts
    method Shortcuts (line 30) | public Shortcuts()
    method OnKeyPressedReleased (line 35) | private void OnKeyPressedReleased(object? sender, WinKeyEventArgs e)
    method KeyboardHookCallback (line 71) | private static IntPtr KeyboardHookCallback(int nCode, IntPtr wParam, I...
    method CaptureKeyboard (line 110) | private static void CaptureKeyboard(EventHandler<WinKeyEventArgs> call...
    method ReleaseKeyboard (line 118) | private static void ReleaseKeyboard()
    method OnGotKeyboardFocus (line 124) | private void OnGotKeyboardFocus(object sender, KeyboardFocusChangedEve...
    method OnLostKeyboardFocus (line 129) | private void OnLostKeyboardFocus(object sender, KeyboardFocusChangedEv...
    method UpdateTextBox (line 134) | private void UpdateTextBox()
    method OnLoaded (line 169) | private void OnLoaded(object sender, RoutedEventArgs e)
    method OnUnloaded (line 183) | private void OnUnloaded(object sender, RoutedEventArgs e)
    method ApplyShortcut (line 195) | private void ApplyShortcut()
    class WinKeyEventArgs (line 214) | public class WinKeyEventArgs(bool isDown, Key key) : EventArgs
    method SetWindowsHookEx (line 220) | [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    method UnhookWindowsHookEx (line 228) | [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    method CallNextHookEx (line 232) | [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]

FILE: EverythingToolbar/Settings/UserInterface.xaml.cs
  class UserInterface (line 17) | public partial class UserInterface
    method UserInterface (line 19) | public UserInterface()
  class IconItem (line 26) | public class IconItem
  class UserInterfaceViewModel (line 33) | public class UserInterfaceViewModel : INotifyPropertyChanged
    method UserInterfaceViewModel (line 97) | public UserInterfaceViewModel()
    method DateTimeToFileTime (line 117) | private static FILETIME DateTimeToFileTime(DateTime dateTime)
    method OnUILanguageChanged (line 127) | private async void OnUILanguageChanged()
    method OnPropertyChanged (line 164) | private void OnPropertyChanged([CallerMemberName] string? propertyName...

FILE: EverythingToolbar/ToolbarSettings.cs
  type IToolbarSettings (line 10) | public interface IToolbarSettings
  class ToolbarSettingsWrapper (line 142) | public sealed class ToolbarSettingsWrapper(IToolbarSettings settings) : ...
    method OnPropertyChanged (line 146) | private void OnPropertyChanged([CallerMemberName] string? propertyName...
  class ToolbarSettings (line 708) | public abstract class ToolbarSettings
Condensed preview — 265 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,412K chars).
[
  {
    "path": ".config/dotnet-tools.json",
    "chars": 181,
    "preview": "{\n  \"version\": 1,\n  \"isRoot\": true,\n  \"tools\": {\n    \"csharpier\": {\n      \"version\": \"1.0.3\",\n      \"commands\": [\n      "
  },
  {
    "path": ".editorconfig",
    "chars": 9470,
    "preview": "# Remove the line below if you want to inherit .editorconfig settings from higher directories\nroot = true\n\n# C# files\n[*"
  },
  {
    "path": ".github/FUNDING.yml",
    "chars": 59,
    "preview": "ko_fi: stephanrwi\ncustom: ['https://paypal.me/rumswinkel']\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.yml",
    "chars": 3540,
    "preview": "name: Bug report\ndescription: Create a bug report\nbody:\n- type: checkboxes\n  attributes:\n    label: Preflight Checklist\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 209,
    "preview": "blank_issues_enabled: false\ncontact_links:\n  - name: Check the FAQ\n    url: https://github.com/srwi/EverythingToolbar/bl"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.yml",
    "chars": 1137,
    "preview": "name: Feature request\ndescription: Suggest an idea for this project\nbody:\n  - type: checkboxes\n    attributes:\n      lab"
  },
  {
    "path": ".github/workflows/build.yml",
    "chars": 1244,
    "preview": "name: Build solution\n\non: [push, pull_request, workflow_dispatch]\n\njobs:\n  build:\n    runs-on: ${{ matrix.runner }}\n    "
  },
  {
    "path": ".github/workflows/csharpier.yml",
    "chars": 254,
    "preview": "name: CSharpier check\n\non: [push, pull_request]\n\njobs:\n  check_formatting:\n    runs-on: windows-2025\n    name: Check Fo"
  },
  {
    "path": ".github/workflows/release.yml",
    "chars": 2222,
    "preview": "name: Publish release\n\non:\n  push:\n    tags:\n      - '*'\n\njobs:\n  build-release:\n    runs-on: ${{ matrix.runner }}\n    s"
  },
  {
    "path": ".github/workflows/winget-release.yml",
    "chars": 1426,
    "preview": "name: Publish to WinGet\n\non:\n  release:\n    types: [released]\n  workflow_dispatch: \n      inputs:\n        version_tag:\n "
  },
  {
    "path": ".gitignore",
    "chars": 4339,
    "preview": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# User"
  },
  {
    "path": "Directory.Build.props",
    "chars": 307,
    "preview": "<Project>\n  <PropertyGroup>\n    <FileVersion>2.3.0.0</FileVersion>\n    <AssemblyVersion>2.3.0.0</AssemblyVersion>\n    <S"
  },
  {
    "path": "EverythingSDK/EverythingSDK.vcxproj",
    "chars": 9550,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"Current\" xmlns=\"http://schemas.micr"
  },
  {
    "path": "EverythingSDK/EverythingSDK.vcxproj.filters",
    "chars": 603,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
  },
  {
    "path": "EverythingSDK/include/Everything.h",
    "chars": 14668,
    "preview": "\n//\n// Copyright (C) 2016 David Carpenter\n// \n// Permission is hereby granted, free of charge, \n// to any person obtaini"
  },
  {
    "path": "EverythingSDK/include/Everything_IPC.h",
    "chars": 49768,
    "preview": "\n// Everything IPC\n\n#ifndef _EVERYTHING_IPC_H_\n#define _EVERYTHING_IPC_H_\n\n// C\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n"
  },
  {
    "path": "EverythingSDK/src/Everything.c",
    "chars": 64626,
    "preview": "\n//\n// Copyright (C) 2016 David Carpenter\n// \n// Permission is hereby granted, free of charge, \n// to any person obtaini"
  },
  {
    "path": "EverythingSDK/src/Everything64.def",
    "chars": 2603,
    "preview": "LIBRARY Everything64\n\nEXPORTS\n\n\tEverything_GetLastError\n\n\tEverything_SetSearchA\n\tEverything_SetSearchW\n\tEverything_SetMa"
  },
  {
    "path": "EverythingToolbar/Behaviors/FlowDirectionAwareness.cs",
    "chars": 687,
    "preview": "using System.Globalization;\nusing System.Windows;\nusing Microsoft.Xaml.Behaviors;\n\nnamespace EverythingToolbar.Behavior"
  },
  {
    "path": "EverythingToolbar/Behaviors/ThemeAwareness.cs",
    "chars": 6653,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.IO;\nusing System.Reflection;\nu"
  },
  {
    "path": "EverythingToolbar/Behaviors/WpfUiBehavior.cs",
    "chars": 1680,
    "preview": "using System.Windows;\nusing EverythingToolbar.Helpers;\nusing Microsoft.Xaml.Behaviors;\nusing Wpf.Ui.Appearance;\n\nnamespa"
  },
  {
    "path": "EverythingToolbar/Controls/AcrylicWindow.cs",
    "chars": 11426,
    "preview": "using System;\nusing System.Runtime.InteropServices;\nusing System.Windows;\nusing System.Windows.Interop;\nusing System.Wi"
  },
  {
    "path": "EverythingToolbar/Controls/FilterSelector.xaml",
    "chars": 2101,
    "preview": "<UserControl x:Class=\"EverythingToolbar.Controls.FilterSelector\"\n             xmlns=\"http://schemas.microsoft.com/winfx"
  },
  {
    "path": "EverythingToolbar/Controls/FilterSelector.xaml.cs",
    "chars": 2784,
    "preview": "using System.Windows;\nusing System.Windows.Controls;\nusing EverythingToolbar.Data;\nusing EverythingToolbar.Helpers;\n\nna"
  },
  {
    "path": "EverythingToolbar/Controls/FluentMessageBox.cs",
    "chars": 3289,
    "preview": "using System.Windows;\nusing System.Windows.Controls;\nusing Wpf.Ui.Appearance;\nusing Wpf.Ui.Controls;\nusing MessageBox ="
  },
  {
    "path": "EverythingToolbar/Controls/GenericBanner.xaml",
    "chars": 5283,
    "preview": "<UserControl x:Class=\"EverythingToolbar.Controls.GenericBanner\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2"
  },
  {
    "path": "EverythingToolbar/Controls/GenericBanner.xaml.cs",
    "chars": 3364,
    "preview": "using System;\nusing System.Windows;\nusing System.Windows.Media;\n\nnamespace EverythingToolbar.Controls\n{\n    public parti"
  },
  {
    "path": "EverythingToolbar/Controls/SearchBox.xaml",
    "chars": 5612,
    "preview": "<UserControl x:Class=\"EverythingToolbar.Controls.SearchBox\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006"
  },
  {
    "path": "EverythingToolbar/Controls/SearchBox.xaml.cs",
    "chars": 7025,
    "preview": "using System;\nusing System.ComponentModel;\nusing System.Windows;\nusing System.Windows.Controls;\nusing System.Windows.In"
  },
  {
    "path": "EverythingToolbar/Controls/SearchButton.xaml",
    "chars": 3932,
    "preview": "<Button x:Class=\"EverythingToolbar.Controls.SearchButton\"\n        xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/p"
  },
  {
    "path": "EverythingToolbar/Controls/SearchButton.xaml.cs",
    "chars": 2219,
    "preview": "using System;\nusing System.Windows;\nusing System.Windows.Controls;\nusing System.Windows.Media;\nusing EverythingToolbar."
  },
  {
    "path": "EverythingToolbar/Controls/SearchResultPreviewPane.xaml",
    "chars": 8186,
    "preview": "<UserControl x:Class=\"EverythingToolbar.Controls.SearchResultPreviewPane\"\n             xmlns=\"http://schemas.microsoft.c"
  },
  {
    "path": "EverythingToolbar/Controls/SearchResultPreviewPane.xaml.cs",
    "chars": 6064,
    "preview": "using System;\nusing System.Collections.ObjectModel;\nusing System.ComponentModel;\nusing System.Windows;\nusing System.Wind"
  },
  {
    "path": "EverythingToolbar/Controls/SearchResultsView.xaml",
    "chars": 10324,
    "preview": "<UserControl x:Class=\"EverythingToolbar.Controls.SearchResultsView\"\n             xmlns=\"http://schemas.microsoft.com/win"
  },
  {
    "path": "EverythingToolbar/Controls/SearchResultsView.xaml.cs",
    "chars": 24708,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Collections.Specialized;\nusing System.Linq;\nusing System.Th"
  },
  {
    "path": "EverythingToolbar/Controls/SettingItem.xaml",
    "chars": 1629,
    "preview": "<UserControl x:Class=\"EverythingToolbar.Controls.SettingItem\"\n             xmlns=\"http://schemas.microsoft.com/winfx/20"
  },
  {
    "path": "EverythingToolbar/Controls/SettingItem.xaml.cs",
    "chars": 1424,
    "preview": "using System.Windows;\n\nnamespace EverythingToolbar.Controls\n{\n    public partial class SettingItem\n    {\n        public"
  },
  {
    "path": "EverythingToolbar/Controls/SettingsControl.xaml",
    "chars": 6781,
    "preview": "<Grid x:Class=\"EverythingToolbar.Controls.SettingsControl\"\n      xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pr"
  },
  {
    "path": "EverythingToolbar/Controls/SettingsControl.xaml.cs",
    "chars": 3081,
    "preview": "using System.Linq;\nusing System.Windows;\nusing System.Windows.Controls;\nusing System.Windows.Controls.Primitives;\nusing"
  },
  {
    "path": "EverythingToolbar/Controls/UpdateBanner.xaml",
    "chars": 907,
    "preview": "<UserControl x:Class=\"EverythingToolbar.Controls.UpdateBanner\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2"
  },
  {
    "path": "EverythingToolbar/Controls/UpdateBanner.xaml.cs",
    "chars": 4454,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Linq;\nusing System.Net;\nusing Sy"
  },
  {
    "path": "EverythingToolbar/Controls/UpdateSuccessfulBanner.xaml",
    "chars": 1093,
    "preview": "<UserControl x:Class=\"EverythingToolbar.Controls.UpdateSuccessfulBanner\"\n             xmlns=\"http://schemas.microsoft.c"
  },
  {
    "path": "EverythingToolbar/Controls/UpdateSuccessfulBanner.xaml.cs",
    "chars": 1925,
    "preview": "using System;\nusing System.Diagnostics;\nusing System.Reflection;\nusing System.Windows;\n\nnamespace EverythingToolbar.Con"
  },
  {
    "path": "EverythingToolbar/Converters/BoolToVisibilityConverter.cs",
    "chars": 1073,
    "preview": "using System;\nusing System.Globalization;\nusing System.Windows;\nusing System.Windows.Data;\nusing System.Windows.Markup;"
  },
  {
    "path": "EverythingToolbar/Converters/HighlightedTextConverter.cs",
    "chars": 1651,
    "preview": "using System;\nusing System.Globalization;\nusing System.Windows;\nusing System.Windows.Controls;\nusing System.Windows.Dat"
  },
  {
    "path": "EverythingToolbar/Converters/NotConverter.cs",
    "chars": 779,
    "preview": "using System;\nusing System.Globalization;\nusing System.Windows.Data;\nusing System.Windows.Markup;\n\nnamespace Everything"
  },
  {
    "path": "EverythingToolbar/Converters/NullToVisibilityConverter.cs",
    "chars": 801,
    "preview": "using System;\nusing System.Globalization;\nusing System.Windows;\nusing System.Windows.Data;\nusing System.Windows.Markup;"
  },
  {
    "path": "EverythingToolbar/Converters/PreviewPaneToggleIconConverter.cs",
    "chars": 764,
    "preview": "using System;\nusing System.Globalization;\nusing System.Windows.Data;\nusing System.Windows.Markup;\n\nnamespace EverythingT"
  },
  {
    "path": "EverythingToolbar/Converters/SearchResultsCountConverter.cs",
    "chars": 1015,
    "preview": "using System;\nusing System.Globalization;\nusing System.Windows.Data;\nusing System.Windows.Markup;\nusing EverythingToolb"
  },
  {
    "path": "EverythingToolbar/Converters/SkipItemsConverter.cs",
    "chars": 925,
    "preview": "using System;\nusing System.Collections;\nusing System.Globalization;\nusing System.Linq;\nusing System.Windows.Data;\nusing"
  },
  {
    "path": "EverythingToolbar/Converters/TakeItemsConverter.cs",
    "chars": 925,
    "preview": "using System;\nusing System.Collections;\nusing System.Globalization;\nusing System.Linq;\nusing System.Windows.Data;\nusing"
  },
  {
    "path": "EverythingToolbar/Converters/WindowsVersionToVisibilityConverter.cs",
    "chars": 3494,
    "preview": "using System;\nusing System.Globalization;\nusing System.Windows;\nusing System.Windows.Data;\nusing System.Windows.Markup;\n"
  },
  {
    "path": "EverythingToolbar/Data/Filter.cs",
    "chars": 1813,
    "preview": "namespace EverythingToolbar.Data\n{\n    public class Filter\n    {\n        public string Name { get; set; }\n        public"
  },
  {
    "path": "EverythingToolbar/Data/FocusBehavior.cs",
    "chars": 136,
    "preview": "namespace EverythingToolbar.Data\n{\n    public enum FocusBehavior\n    {\n        Clamp,\n        Repeat,\n        RepeatWith"
  },
  {
    "path": "EverythingToolbar/Data/Rule.cs",
    "chars": 5130,
    "preview": "using System;\nusing System.ComponentModel;\nusing System.IO;\nusing System.Runtime.CompilerServices;\nusing System.Text.Reg"
  },
  {
    "path": "EverythingToolbar/Data/SearchResult.cs",
    "chars": 12127,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Collections.Specialized;\nusing System.ComponentModel;\nusin"
  },
  {
    "path": "EverythingToolbar/EverythingToolbar.csproj",
    "chars": 11266,
    "preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>net8.0-windows10.0.17763.0</TargetFramework>\n "
  },
  {
    "path": "EverythingToolbar/Helpers/CultureHelper.cs",
    "chars": 4737,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Globalization;\nusing System.IO;\nusing System.Linq;\nusing Sy"
  },
  {
    "path": "EverythingToolbar/Helpers/DefaultFilterLoader.cs",
    "chars": 5673,
    "preview": "using System.Collections.ObjectModel;\nusing System.ComponentModel;\nusing System.Linq;\nusing System.Runtime.CompilerServ"
  },
  {
    "path": "EverythingToolbar/Helpers/EventDispatcher.cs",
    "chars": 1244,
    "preview": "using System;\nusing System.Windows.Input;\n\nnamespace EverythingToolbar.Helpers\n{\n    public class EventDispatcher\n    {"
  },
  {
    "path": "EverythingToolbar/Helpers/EverythingFilterLoader.cs",
    "chars": 7234,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Collections.ObjectModel;\nusing System.ComponentModel;\nusin"
  },
  {
    "path": "EverythingToolbar/Helpers/FilterLoader.cs",
    "chars": 2697,
    "preview": "using System.Collections.ObjectModel;\nusing System.ComponentModel;\nusing System.Runtime.CompilerServices;\nusing Everyth"
  },
  {
    "path": "EverythingToolbar/Helpers/HistoryManager.cs",
    "chars": 3924,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.IO;\nusing System.Linq;\nusing "
  },
  {
    "path": "EverythingToolbar/Helpers/IconProvider.cs",
    "chars": 12376,
    "preview": "using System;\nusing System.Collections.Concurrent;\nusing System.IO;\nusing System.Runtime.InteropServices;\nusing System."
  },
  {
    "path": "EverythingToolbar/Helpers/NativeMethods.cs",
    "chars": 4517,
    "preview": "using System;\nusing System.Runtime.InteropServices;\nusing NLog;\n\nnamespace EverythingToolbar.Helpers\n{\n    public class"
  },
  {
    "path": "EverythingToolbar/Helpers/RegistryWatcher.cs",
    "chars": 2965,
    "preview": "using System;\nusing System.Management;\nusing System.Security.Principal;\nusing Microsoft.Win32;\nusing NLog;\n\nnamespace E"
  },
  {
    "path": "EverythingToolbar/Helpers/ShellContextMenu.cs",
    "chars": 52402,
    "preview": "using System;\nusing System.Drawing;\nusing System.IO;\nusing System.Runtime.InteropServices;\nusing System.Text;\nusing Syst"
  },
  {
    "path": "EverythingToolbar/Helpers/ShellUtils.cs",
    "chars": 5401,
    "preview": "using System;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Runtime.InteropServices;\n\nnamespace EverythingToo"
  },
  {
    "path": "EverythingToolbar/Helpers/ShortcutManager.cs",
    "chars": 1847,
    "preview": "using System;\nusing System.Windows.Input;\nusing EverythingToolbar.Controls;\nusing EverythingToolbar.Properties;\nusing NH"
  },
  {
    "path": "EverythingToolbar/Helpers/StartMenuIntegration.cs",
    "chars": 12337,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Runtime.InteropServices;\nusin"
  },
  {
    "path": "EverythingToolbar/Helpers/TaskbarStateManager.cs",
    "chars": 1430,
    "preview": "using System.ComponentModel;\nusing System.Runtime.CompilerServices;\nusing System.Windows;\n\nnamespace EverythingToolbar."
  },
  {
    "path": "EverythingToolbar/Helpers/ToolbarLogger.cs",
    "chars": 3090,
    "preview": "using System;\nusing System.IO;\nusing System.Reflection;\nusing System.Windows;\nusing NLog;\nusing NLog.Config;\nusing NLog"
  },
  {
    "path": "EverythingToolbar/Helpers/Utils.cs",
    "chars": 5597,
    "preview": "using System;\nusing System.IO;\nusing System.Runtime.InteropServices;\nusing Microsoft.Win32;\nusing NLog;\nusing Wpf.Ui.Ap"
  },
  {
    "path": "EverythingToolbar/Images/WinUIGallery/LICENSE",
    "chars": 1162,
    "preview": "    MIT License\n\n    Copyright (c) Microsoft Corporation. All rights reserved.\n\n    Permission is hereby granted, free o"
  },
  {
    "path": "EverythingToolbar/ItemTemplates/Compact.xaml",
    "chars": 1390,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/ItemTemplates/CompactDetailed.xaml",
    "chars": 2146,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/ItemTemplates/Normal.xaml",
    "chars": 1559,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/ItemTemplates/NormalDetailed.xaml",
    "chars": 2664,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.Designer.cs",
    "chars": 63313,
    "preview": "//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code wa"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.af.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.af.resx",
    "chars": 26263,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.ar.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.ar.resx",
    "chars": 26108,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.ca.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.ca.resx",
    "chars": 26263,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.cs.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.cs.resx",
    "chars": 26679,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.da.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.da.resx",
    "chars": 26263,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.de.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.de.resx",
    "chars": 27126,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.el.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.el.resx",
    "chars": 27283,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.es.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.es.resx",
    "chars": 26649,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.fa.resx",
    "chars": 26501,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.fi.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.fi.resx",
    "chars": 26263,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.fr.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.fr.resx",
    "chars": 27691,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.he.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.he.resx",
    "chars": 25810,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.hu.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.hu.resx",
    "chars": 26554,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.it.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.it.resx",
    "chars": 27245,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.ja.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.ja.resx",
    "chars": 24602,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.ko-KR.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.ko-KR.resx",
    "chars": 25576,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.nl.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.nl.resx",
    "chars": 26540,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.no.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.no.resx",
    "chars": 26294,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.pl.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.pl.resx",
    "chars": 27070,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.pt-BR.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.pt-BR.resx",
    "chars": 26937,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.pt.resx",
    "chars": 26459,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.resx",
    "chars": 26927,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prima"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.ro.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.ro.resx",
    "chars": 26499,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.ru.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.ru.resx",
    "chars": 26728,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.sr.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.sr.resx",
    "chars": 26263,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.sv.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.sv.resx",
    "chars": 26390,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.tr.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.tr.resx",
    "chars": 26656,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.ug.resx",
    "chars": 26405,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.uk.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.uk.resx",
    "chars": 26898,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.uz.resx",
    "chars": 26263,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.vi.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.vi.resx",
    "chars": 26467,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.zh-Hans.Designer.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "EverythingToolbar/Properties/Resources.zh-Hans.resx",
    "chars": 23709,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/Resources.zh.resx",
    "chars": 23917,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "EverythingToolbar/Properties/app.manifest",
    "chars": 2005,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<assembly manifestVersion=\"1.0\" xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n  <ass"
  },
  {
    "path": "EverythingToolbar/Search/IItemsProvider.cs",
    "chars": 378,
    "preview": "using System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Threading.Tasks;\n\nnamespace EverythingToolb"
  },
  {
    "path": "EverythingToolbar/Search/SearchResultProvider.cs",
    "chars": 24633,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Diagnostics;\nusing System.IO;"
  },
  {
    "path": "EverythingToolbar/Search/SearchState.cs",
    "chars": 7018,
    "preview": "using System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Runtime.CompilerServices;\nusing EverythingT"
  },
  {
    "path": "EverythingToolbar/Search/SynchronizationContextTaskScheduler.cs",
    "chars": 982,
    "preview": "using System.Collections.Generic;\nusing System.Threading;\nusing System.Threading.Tasks;\n\nnamespace EverythingToolbar.Se"
  },
  {
    "path": "EverythingToolbar/Search/VirtualizingCollection.cs",
    "chars": 10487,
    "preview": "using System;\nusing System.Collections;\nusing System.Collections.Generic;\nusing System.Collections.Specialized;\nusing S"
  },
  {
    "path": "EverythingToolbar/SearchWindow.xaml",
    "chars": 6240,
    "preview": "<controls:AcrylicWindow x:Class=\"EverythingToolbar.SearchWindow\"\n        xmlns=\"http://schemas.microsoft.com/winfx/2006"
  },
  {
    "path": "EverythingToolbar/SearchWindow.xaml.cs",
    "chars": 15517,
    "preview": "using System;\nusing System.Windows;\nusing System.Windows.Input;\nusing System.Windows.Interop;\nusing System.Windows.Medi"
  },
  {
    "path": "EverythingToolbar/Settings/About.xaml",
    "chars": 8852,
    "preview": "<Page x:Class=\"EverythingToolbar.Settings.About\"\n      xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  },
  {
    "path": "EverythingToolbar/Settings/About.xaml.cs",
    "chars": 2010,
    "preview": "using System;\nusing System.Reflection;\nusing System.Windows;\nusing System.Windows.Media;\nusing Wpf.Ui.Controls;\n\nnamesp"
  },
  {
    "path": "EverythingToolbar/Settings/Advanced.xaml",
    "chars": 9132,
    "preview": "<Page x:Class=\"EverythingToolbar.Settings.Advanced\"\n      xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentat"
  },
  {
    "path": "EverythingToolbar/Settings/Advanced.xaml.cs",
    "chars": 3961,
    "preview": "using System;\nusing System.ComponentModel;\nusing System.Diagnostics;\nusing System.Runtime.CompilerServices;\nusing System"
  },
  {
    "path": "EverythingToolbar/Settings/CustomActions.xaml",
    "chars": 11051,
    "preview": "<Page x:Class=\"EverythingToolbar.Settings.CustomActions\"\n      xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pres"
  },
  {
    "path": "EverythingToolbar/Settings/CustomActions.xaml.cs",
    "chars": 7689,
    "preview": "using System.Collections.Generic;\nusing System.ComponentModel;\nusing System.IO;\nusing System.Linq;\nusing System.Text.Re"
  },
  {
    "path": "EverythingToolbar/Settings/Filters.xaml",
    "chars": 7953,
    "preview": "<Page x:Class=\"EverythingToolbar.Settings.Filters\"\n      xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentati"
  },
  {
    "path": "EverythingToolbar/Settings/Filters.xaml.cs",
    "chars": 4660,
    "preview": "using System;\nusing System.Collections.ObjectModel;\nusing System.ComponentModel;\nusing System.Linq;\nusing System.Runtime"
  },
  {
    "path": "EverythingToolbar/Settings/Search.xaml",
    "chars": 7813,
    "preview": "<Page x:Class=\"EverythingToolbar.Settings.Search\"\n      xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentatio"
  },
  {
    "path": "EverythingToolbar/Settings/Search.xaml.cs",
    "chars": 921,
    "preview": "using System.Collections.Generic;\nusing System.Windows;\nusing EverythingToolbar.Data;\nusing EverythingToolbar.Helpers;\nu"
  },
  {
    "path": "EverythingToolbar/Settings/SettingsWindow.xaml",
    "chars": 4197,
    "preview": "<ui:FluentWindow x:Class=\"EverythingToolbar.Settings.SettingsWindow\"\n        xmlns=\"http://schemas.microsoft.com/winfx/"
  },
  {
    "path": "EverythingToolbar/Settings/SettingsWindow.xaml.cs",
    "chars": 1208,
    "preview": "using System;\nusing System.Diagnostics;\nusing System.Reflection;\nusing System.Web;\nusing System.Windows;\nusing Everythi"
  },
  {
    "path": "EverythingToolbar/Settings/Shortcuts.xaml",
    "chars": 14466,
    "preview": "<Page x:Class=\"EverythingToolbar.Settings.Shortcuts\"\n      xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presenta"
  },
  {
    "path": "EverythingToolbar/Settings/Shortcuts.xaml.cs",
    "chars": 8448,
    "preview": "using System;\nusing System.Diagnostics;\nusing System.Runtime.InteropServices;\nusing System.Text;\nusing System.Windows;\n"
  },
  {
    "path": "EverythingToolbar/Settings/UserInterface.xaml",
    "chars": 10121,
    "preview": "<Page x:Class=\"EverythingToolbar.Settings.UserInterface\"\n      xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/prese"
  },
  {
    "path": "EverythingToolbar/Settings/UserInterface.xaml.cs",
    "chars": 5968,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Linq;\nusing System.Runtime.Com"
  },
  {
    "path": "EverythingToolbar/Styles/ContextMenu.xaml",
    "chars": 14574,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Styles/PillComboBox.xaml",
    "chars": 12263,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Styles/PillTabControl.xaml",
    "chars": 4961,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Styles/PreviewActionButton.xaml",
    "chars": 2122,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http:"
  },
  {
    "path": "EverythingToolbar/Styles/QuickSettingsToggle.xaml",
    "chars": 3004,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Styles/Scrollbar.xaml",
    "chars": 8616,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Styles/TabBarButton.xaml",
    "chars": 2352,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Styles/TabComboBox.xaml",
    "chars": 9895,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Styles/TabControl.xaml",
    "chars": 3637,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Styles/TextBox.xaml",
    "chars": 5019,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Styles/UpdateBannerButton.xaml",
    "chars": 3774,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win10/Controls/ContextMenu.xaml",
    "chars": 707,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win10/Controls/FilterSelector.xaml",
    "chars": 345,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\">\n\n    <ResourceDictionary.MergedD"
  },
  {
    "path": "EverythingToolbar/Themes/Win10/Controls/ListViewItem.xaml",
    "chars": 285,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win10/Controls/QuickSettingsToggle.xaml",
    "chars": 534,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win10/Controls/Scrollbar.xaml",
    "chars": 1115,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win10/Controls/SearchBox.xaml",
    "chars": 1295,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win10/Controls/SearchResultPreviewPane.xaml",
    "chars": 539,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http:"
  },
  {
    "path": "EverythingToolbar/Themes/Win10/Controls/SearchWindow.xaml",
    "chars": 816,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win10/Controls/TabBarButton.xaml",
    "chars": 532,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win10/Controls/TextBox.xaml",
    "chars": 551,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win10/Controls/UpdateBanner.xaml",
    "chars": 869,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win10/DARK.xaml",
    "chars": 4820,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http:"
  },
  {
    "path": "EverythingToolbar/Themes/Win10/LIGHT.xaml",
    "chars": 4816,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http:"
  },
  {
    "path": "EverythingToolbar/Themes/Win11/Controls/ContextMenu.xaml",
    "chars": 1115,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win11/Controls/FilterSelector.xaml",
    "chars": 350,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\">\n\n    <ResourceDictionary.MergedD"
  },
  {
    "path": "EverythingToolbar/Themes/Win11/Controls/ListViewItem.xaml",
    "chars": 513,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win11/Controls/QuickSettingsToggle.xaml",
    "chars": 552,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win11/Controls/Scrollbar.xaml",
    "chars": 1494,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win11/Controls/SearchBox.xaml",
    "chars": 1327,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win11/Controls/SearchResultPreviewPane.xaml",
    "chars": 895,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http:"
  },
  {
    "path": "EverythingToolbar/Themes/Win11/Controls/SearchWindow.xaml",
    "chars": 1008,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win11/Controls/TabBarButton.xaml",
    "chars": 532,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win11/Controls/TextBox.xaml",
    "chars": 811,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win11/Controls/UpdateBanner.xaml",
    "chars": 872,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http"
  },
  {
    "path": "EverythingToolbar/Themes/Win11/DARK.xaml",
    "chars": 4850,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http:"
  },
  {
    "path": "EverythingToolbar/Themes/Win11/LIGHT.xaml",
    "chars": 4848,
    "preview": "<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n                    xmlns:x=\"http:"
  }
]

// ... and 65 more files (download for full content)

About this extraction

This page contains the full source code of the srwi/EverythingToolbar GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 265 files (2.2 MB), approximately 583.1k tokens, and a symbol index with 1179 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!