mirror of
https://github.com/Zaarrg/stremio-community-v5.git
synced 2026-01-11 20:10:31 +00:00
Added F5 as page refresh option and disabled all webview keybinds
- Disabled all webview keybind - Added own F5 refresh logic and CTRL+F5 for hard refresh. - Added default config that is shipped with app to git. Can be found in utils/mpv/anime4k/portable_config
This commit is contained in:
parent
fa57f11d41
commit
41beecc4eb
3 changed files with 66 additions and 0 deletions
48
src/main.cpp
48
src/main.cpp
|
|
@ -198,6 +198,7 @@ static void AppendToCrashLog(const std::wstring& message);
|
|||
static void AppendToCrashLog(const std::string& message);
|
||||
bool FileExists(const std::wstring& path);
|
||||
bool DirectoryExists(const std::wstring& dirPath);
|
||||
static void refreshWeb(bool refreshAll);
|
||||
|
||||
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
|
||||
|
||||
|
|
@ -211,6 +212,23 @@ static const wchar_t* INIT_SHELL_SCRIPT = LR"JS_CODE(
|
|||
}
|
||||
})();
|
||||
)JS_CODE";
|
||||
// Inject F5 Refresh
|
||||
const wchar_t* INJECTED_KEYDOWN_SCRIPT = LR"JS(
|
||||
(function() {
|
||||
window.addEventListener('keydown', function(event) {
|
||||
if (event.code === 'F5') {
|
||||
event.preventDefault();
|
||||
const ctrlPressed = event.ctrlKey || event.metaKey;
|
||||
const msg = {
|
||||
id: 888,
|
||||
event: 'refresh',
|
||||
args: [ctrlPressed ? 'all' : 'no'],
|
||||
};
|
||||
window.chrome.webview.postMessage(JSON.stringify(msg));
|
||||
}
|
||||
});
|
||||
})();
|
||||
)JS";
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Single-instance
|
||||
|
|
@ -916,6 +934,8 @@ static void HandleInboundJSON(const std::string &msg)
|
|||
"clear"
|
||||
};
|
||||
HandleMpvCommand(cmdArgs);
|
||||
} else if (ev == "refresh") {
|
||||
refreshWeb(argVec[0] == "all" ? TRUE : FALSE);
|
||||
} else {
|
||||
std::cout<<"Unknown event="<<ev<<"\n";
|
||||
}
|
||||
|
|
@ -1880,6 +1900,32 @@ static ComPtr<ICoreWebView2EnvironmentOptions> setupEnvironment() {
|
|||
return options;
|
||||
}
|
||||
|
||||
static void refreshWeb(const bool refreshAll) {
|
||||
if (g_webviewProfile && refreshAll)
|
||||
{
|
||||
HRESULT hr = g_webviewProfile->ClearBrowsingData(
|
||||
COREWEBVIEW2_BROWSING_DATA_KINDS_DISK_CACHE |
|
||||
COREWEBVIEW2_BROWSING_DATA_KINDS_CACHE_STORAGE |
|
||||
COREWEBVIEW2_BROWSING_DATA_KINDS_SERVICE_WORKERS |
|
||||
COREWEBVIEW2_BROWSING_DATA_KINDS_FILE_SYSTEMS |
|
||||
COREWEBVIEW2_BROWSING_DATA_KINDS_WEB_SQL |
|
||||
COREWEBVIEW2_BROWSING_DATA_KINDS_INDEXED_DB,
|
||||
Callback<ICoreWebView2ClearBrowsingDataCompletedHandler>(
|
||||
[](HRESULT result) -> HRESULT {
|
||||
std::cout << "[BROWSER]: Cleared browser cache successfully" << std::endl;
|
||||
return S_OK;
|
||||
}
|
||||
).Get()
|
||||
);
|
||||
if (FAILED(hr)) {
|
||||
std::cout << "[BROWSER]: Could not clear browser cache" << std::endl;
|
||||
}
|
||||
}
|
||||
if (g_webview) {
|
||||
g_webview->Reload();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void InitWebView2(HWND hWnd)
|
||||
|
|
@ -1936,6 +1982,7 @@ static void InitWebView2(HWND hWnd)
|
|||
settings->put_AreDevToolsEnabled(FALSE);
|
||||
#endif
|
||||
settings->put_IsStatusBarEnabled(FALSE);
|
||||
settings->put_AreBrowserAcceleratorKeysEnabled(FALSE);
|
||||
std::wstring customUserAgent = L"StremioShell/" + Utf8ToWstring(APP_VERSION);
|
||||
settings->put_UserAgent(customUserAgent.c_str());
|
||||
if (!g_allowZoom) {
|
||||
|
|
@ -1955,6 +2002,7 @@ static void InitWebView2(HWND hWnd)
|
|||
g_webviewController->put_Bounds(rc);
|
||||
|
||||
g_webview->AddScriptToExecuteOnDocumentCreated(INIT_SHELL_SCRIPT,nullptr);
|
||||
g_webview->AddScriptToExecuteOnDocumentCreated(INJECTED_KEYDOWN_SCRIPT, nullptr);
|
||||
|
||||
SetupExtensions();
|
||||
SetupWebMessageHandler();
|
||||
|
|
|
|||
13
utils/mpv/anime4k/portable_config/input.conf
Normal file
13
utils/mpv/anime4k/portable_config/input.conf
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# Optimized shaders for higher-end GPU
|
||||
CTRL+1 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Restore_CNN_VL.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl;~~/shaders/Anime4K_AutoDownscalePre_x2.glsl;~~/shaders/Anime4K_AutoDownscalePre_x4.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A (HQ)"
|
||||
CTRL+2 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl;~~/shaders/Anime4K_AutoDownscalePre_x2.glsl;~~/shaders/Anime4K_AutoDownscalePre_x4.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B (HQ)"
|
||||
CTRL+3 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl;~~/shaders/Anime4K_AutoDownscalePre_x2.glsl;~~/shaders/Anime4K_AutoDownscalePre_x4.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C (HQ)"
|
||||
CTRL+4 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Restore_CNN_VL.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl;~~/shaders/Anime4K_Restore_CNN_M.glsl;~~/shaders/Anime4K_AutoDownscalePre_x2.glsl;~~/shaders/Anime4K_AutoDownscalePre_x4.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A+A (HQ)"
|
||||
CTRL+5 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl;~~/shaders/Anime4K_AutoDownscalePre_x2.glsl;~~/shaders/Anime4K_AutoDownscalePre_x4.glsl;~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B+B (HQ)"
|
||||
CTRL+6 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl;~~/shaders/Anime4K_AutoDownscalePre_x2.glsl;~~/shaders/Anime4K_AutoDownscalePre_x4.glsl;~~/shaders/Anime4K_Restore_CNN_M.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C+A (HQ)"
|
||||
|
||||
CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared"
|
||||
# Audio Normalization
|
||||
F1 af toggle "lavfi=[loudnorm=I=-22:TP=-1.5:LRA=2]" ; show-text "Audio Normalization is now: ${af}"
|
||||
# Cycle Levels of subtitle modification
|
||||
F2 cycle-values sub-ass-override "force" "strip" "no"; show-text "sub-ass-override=${sub-ass-override}"
|
||||
5
utils/mpv/anime4k/portable_config/mpv.conf
Normal file
5
utils/mpv/anime4k/portable_config/mpv.conf
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# Optimized shaders for higher-end GPU: Mode A (HQ)
|
||||
# glsl-shaders="~~/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Restore_CNN_VL.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl;~~/shaders/Anime4K_AutoDownscalePre_x2.glsl;~~/shaders/Anime4K_AutoDownscalePre_x4.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"
|
||||
|
||||
# Offsets Text from the top
|
||||
osd-margin-y=50
|
||||
Loading…
Reference in a new issue