mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 14:13:29 +00:00
Merge branch 'master' of github.com:webmin/webmin
This commit is contained in:
@@ -12,10 +12,7 @@ my $err = sub {
|
||||
print("<tt>Cannot change theme : $_[0]</tt>\n");
|
||||
exit(1);
|
||||
};
|
||||
# Check if in debug mode
|
||||
&$err("Debug mode is not enabled!")
|
||||
if (!$gconfig{'debug_enabled'} &&
|
||||
!$gconfig{'debug_theme_switcher'});
|
||||
|
||||
# Check if allowed to change theme,
|
||||
# otherwise throw an error
|
||||
if (!&foreign_available('theme') &&
|
||||
|
||||
44
ui-lib.pl
44
ui-lib.pl
@@ -2349,11 +2349,45 @@ Hotkeys are:
|
||||
sub ui_switch_theme_javascript
|
||||
{
|
||||
return &theme_ui_switch_theme_javascript(@_) if (defined(&theme_ui_switch_theme_javascript));
|
||||
return "" if (!$gconfig{'debug_enabled'} && !$gconfig{'debug_theme_switcher'});
|
||||
my $switch_script = "<script>const __webmin_webprefix__ = '@{[&get_webprefix()]}';</script>\n";
|
||||
my $webmin_version = &get_webmin_version();
|
||||
$webmin_version =~ s/\.//g;
|
||||
$switch_script .= "<script type=\"text/javascript\" src=\"@{[&get_webprefix()]}/unauthenticated/switch_theme.js?$webmin_version\"></script>\n";
|
||||
my $webprefix = &get_webprefix();
|
||||
my $switch_script .= <<EOF;
|
||||
<script type="text/javascript">
|
||||
(function () {
|
||||
let firstCombinationPressed = false;
|
||||
document.addEventListener("keydown", function (event) {
|
||||
// Check for Ctrl+Alt+T or Control+Option+T
|
||||
if (event.ctrlKey && event.altKey && event.keyCode === 84) {
|
||||
firstCombinationPressed = true;
|
||||
|
||||
// Set a timeout to reset the state after a short period (e.g., 1 seconds)
|
||||
setTimeout(() => {
|
||||
firstCombinationPressed = false;
|
||||
}, 1000);
|
||||
}
|
||||
if (firstCombinationPressed && event.shiftKey &&
|
||||
(event.keyCode === 65 ||
|
||||
event.keyCode === 70 || event.keyCode === 71 ||
|
||||
event.keyCode === 76)) {
|
||||
const theme =
|
||||
// Shift + A : Authentic theme
|
||||
event.keyCode === 65 ? 1 :
|
||||
// Shift + F / Shift + G : Framed theme / Gray theme
|
||||
(event.keyCode === 70 || event.keyCode === 71) ? 2 :
|
||||
// Shift + L : Legacy theme
|
||||
event.keyCode === 76 ? 3 : null;
|
||||
firstCombinationPressed = false;
|
||||
try {
|
||||
top.document.documentElement.style.filter = 'grayscale(100%) blur(0.5px) brightness(0.75) opacity(0.5)';
|
||||
top.document.documentElement.style.cursor = 'wait';
|
||||
top.document.documentElement.style.pointerEvents = 'none';
|
||||
} catch (error) {}
|
||||
top.location.href = "$webprefix/switch_theme.cgi?theme=" + theme + "";
|
||||
}
|
||||
});
|
||||
})();
|
||||
document.currentScript.remove();
|
||||
</script>
|
||||
EOF
|
||||
return $switch_script;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
(function () {
|
||||
let firstCombinationPressed = false;
|
||||
document.addEventListener("keydown", function (event) {
|
||||
// Check for Ctrl+Alt+T or Control+Option+T
|
||||
if (event.ctrlKey && event.altKey && event.keyCode === 84) {
|
||||
firstCombinationPressed = true;
|
||||
|
||||
// Set a timeout to reset the state after a short period (e.g., 1 seconds)
|
||||
setTimeout(() => {
|
||||
firstCombinationPressed = false;
|
||||
}, 1000);
|
||||
}
|
||||
if (firstCombinationPressed && event.shiftKey &&
|
||||
(event.keyCode === 65 || event.keyCode === 71 || event.keyCode === 76)) {
|
||||
const theme =
|
||||
// Shift + A : Authentic theme
|
||||
event.keyCode === 65 ? 1 :
|
||||
// Shift + G : Gray theme
|
||||
event.keyCode === 71 ? 2 :
|
||||
// Shift + L : Legacy theme.
|
||||
event.keyCode === 76 ? 3 : null;
|
||||
firstCombinationPressed = false;
|
||||
try {
|
||||
top.document.documentElement.style.filter = 'grayscale(100%) blur(0.5px) brightness(0.75) opacity(0.5)';
|
||||
top.document.documentElement.style.cursor = 'wait';
|
||||
top.document.documentElement.style.pointerEvents = 'none';
|
||||
} catch (error) {}
|
||||
top.location.href = __webmin_webprefix__ + "/switch_theme.cgi?theme=" + theme + "";
|
||||
}
|
||||
});
|
||||
})();
|
||||
Reference in New Issue
Block a user