From 4141872290ec570d35894cc94b2155df0655515d Mon Sep 17 00:00:00 2001 From: pagedown Date: Sun, 12 Feb 2023 17:28:42 +0800 Subject: [PATCH] When reloading configuration, also reload `mime.types` --- docs/changelog.rst | 2 ++ kitty/boss.py | 2 ++ kitty/guess_mime_type.py | 5 +++++ 3 files changed, 9 insertions(+) diff --git a/docs/changelog.rst b/docs/changelog.rst index 5311dc73c..c2ef929c3 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -50,6 +50,8 @@ Detailed list of changes - Linux: Reduce minimum required OpenGL version from 3.3 to 3.1 + extensions (:iss:`2790`) +- When reloading configuration, also reload custom MIME types from :file:`mime.types` config file (:pull:`6012`) + 0.27.1 [2023-02-07] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/kitty/boss.py b/kitty/boss.py index 1947fde2e..26b218c6e 100644 --- a/kitty/boss.py +++ b/kitty/boss.py @@ -2385,6 +2385,8 @@ class Boss: self.apply_new_options(opts) from .open_actions import clear_caches clear_caches() + from .guess_mime_type import clear_mime_cache + clear_mime_cache() def safe_delete_temp_file(self, path: str) -> None: if is_path_in_temp_dir(path): diff --git a/kitty/guess_mime_type.py b/kitty/guess_mime_type.py index fa3013314..19190c4de 100644 --- a/kitty/guess_mime_type.py +++ b/kitty/guess_mime_type.py @@ -60,6 +60,11 @@ def initialize_mime_database() -> None: init((local_defs,)) +def clear_mime_cache() -> None: + if hasattr(initialize_mime_database, 'inited'): + delattr(initialize_mime_database, 'inited') + + def guess_type(path: str, allow_filesystem_access: bool = False) -> Optional[str]: is_dir = is_exe = False