1
0

Add Vivaldi

This commit is contained in:
2025-12-26 11:52:01 +01:00
parent 2865c8196a
commit 5bdcdedb04
140 changed files with 10199 additions and 0 deletions

View File

@@ -0,0 +1 @@
{"options":{"check_for_updates":false,"comment":"","compat_foreach":false,"compat_metadata":false,"compat_powerful_this":null,"compat_wrappedjsobject":false,"compatopts_for_requires":true,"noframes":null,"override":{"merge_connects":true,"merge_excludes":true,"merge_includes":false,"merge_matches":false,"orig_connects":[],"orig_excludes":[],"orig_includes":[],"orig_matches":["*://*/*"],"orig_noframes":null,"orig_run_at":"document-idle","use_blockers":[],"use_connects":[],"use_excludes":[],"use_includes":[],"use_matches":["*://*.discord.com/*","*://*.spotify.com/*","*://*.discogs.com/*"],"orig_run_in":[]},"run_at":null,"sandbox":null,"tab_types":null,"unwrap":null,"user_modified":null,"run_in":null,"tags":[]},"settings":{"enabled":true,"position":2},"meta":{"name":"Absolute Enable Right Click & Copy","uuid":"3ded8744-62b8-45b2-afdc-2daa3f6313af","modified":1713629150494,"file_url":"https://greasyfork.org/scripts/23772-absolute-enable-right-click-copy/code/Absolute%20Enable%20Right%20Click%20%20Copy.user.js"}}

View File

@@ -0,0 +1 @@
{"ts":1654514671397,"data":{}}

View File

@@ -0,0 +1,187 @@
// ==UserScript==
// @name Absolute Enable Right Click & Copy
// @namespace Absolute Right Click
// @description Force Enable Right Click & Copy & Highlight
// @shortcutKeys [Ctrl + `] Activate Absolute Right Click Mode To Force Remove Any Type Of Protection
// @author Absolute
// @version 1.8.9
// @match *://*/*
// @icon https://i.imgur.com/AC7SyUr.png
// @compatible Chrome Google Chrome + Tampermonkey
// @grant GM_registerMenuCommand
// @license BSD
// @copyright Absolute, 2016-Oct-06
// ==/UserScript==
(function() {
'use strict';
var css = document.createElement('style');
var head = document.head;
css.type = 'text/css';
css.innerText = `* {
-webkit-user-select: text !important;
-moz-user-select: text !important;
-ms-user-select: text !important;
user-select: text !important;
}`;
function main() {
var doc = document;
var body = document.body;
var docEvents = [
doc.oncontextmenu = null,
doc.onselectstart = null,
doc.ondragstart = null,
doc.onmousedown = null
];
var bodyEvents = [
body.oncontextmenu = null,
body.onselectstart = null,
body.ondragstart = null,
body.onmousedown = null,
body.oncut = null,
body.oncopy = null,
body.onpaste = null
];
[].forEach.call(
['copy', 'cut', 'paste', 'select', 'selectstart'],
function(event) {
document.addEventListener(event, function(e) { e.stopPropagation(); }, true);
}
);
alwaysAbsoluteMode();
enableCommandMenu();
head.appendChild(css);
document.addEventListener('keydown', keyPress);
}
function keyPress(event) {
if (event.ctrlKey && event.keyCode == 190) {
return confirm('Activate Absolute Right Click Mode!') == true ? absoluteMode() : null;
}
}
function absoluteMode() {
[].forEach.call(
['contextmenu', 'copy', 'cut', 'paste', 'mouseup', 'mousedown', 'keyup', 'keydown', 'drag', 'dragstart', 'select', 'selectstart'],
function(event) {
document.addEventListener(event, function(e) { e.stopPropagation(); }, true);
}
);
}
function alwaysAbsoluteMode() {
let sites = ['example.com','www.example.com'];
const list = RegExp(sites.join('|')).exec(location.hostname);
return list ? absoluteMode() : null;
}
function enableCommandMenu() {
var commandMenu = true;
try {
if (typeof(GM_registerMenuCommand) == undefined) {
return;
} else {
if (commandMenu == true ) {
GM_registerMenuCommand('Enable Absolute Right Click Mode', function() {
return confirm('Activate Absolute Right Click Mode!') == true ? absoluteMode() : null;
});
}
}
}
catch(err) {
console.log(err);
}
}
var blackList = [
'youtube.com','.google.','.google.com','greasyfork.org','twitter.com','instagram.com','facebook.com','translate.google.com','.amazon.','.ebay.','github.','stackoverflow.com',
'bing.com','live.com','.microsoft.com','dropbox.com','pcloud.com','box.com','sync.com','onedrive.com','mail.ru','deviantart.com','pastebin.com',
'dailymotion.com','twitch.tv','spotify.com','steam.com','steampowered.com','gitlab.com','.reddit.com'
]
var enabled = false;
var url = window.location.hostname;
var match = RegExp(blackList.join('|')).exec(url);
if (window && typeof window != undefined && head != undefined) {
if (!match && enabled != true) {
main();
enabled = true
//console.log(location.hostname);
window.addEventListener('contextmenu', function contextmenu(event) {
event.stopPropagation();
event.stopImmediatePropagation();
var handler = new eventHandler(event);
window.removeEventListener(event.type, contextmenu, true);
var eventsCallBack = new eventsCall(function() {});
handler.fire();
window.addEventListener(event.type, contextmenu, true);
if (handler.isCanceled && (eventsCallBack.isCalled)) {
event.preventDefault();
}
}, true);
}
function eventsCall() {
this.events = ['DOMAttrModified', 'DOMNodeInserted', 'DOMNodeRemoved', 'DOMCharacterDataModified', 'DOMSubtreeModified'];
this.bind();
}
eventsCall.prototype.bind = function() {
this.events.forEach(function (event) {
document.addEventListener(event, this, true);
}.bind(this));
};
eventsCall.prototype.handleEvent = function() {
this.isCalled = true;
};
eventsCall.prototype.unbind = function() {
this.events.forEach(function (event) {}.bind(this));
};
function eventHandler(event) {
this.event = event;
this.contextmenuEvent = this.createEvent(this.event.type);
}
eventHandler.prototype.createEvent = function(type) {
var target = this.event.target;
var event = target.ownerDocument.createEvent('MouseEvents');
event.initMouseEvent(
type, this.event.bubbles, this.event.cancelable,
target.ownerDocument.defaultView, this.event.detail,
this.event.screenX, this.event.screenY, this.event.clientX, this.event.clientY,
this.event.ctrlKey, this.event.altKey, this.event.shiftKey, this.event.metaKey,
this.event.button, this.event.relatedTarget
);
return event;
};
eventHandler.prototype.fire = function() {
var target = this.event.target;
var contextmenuHandler = function(event) {
event.preventDefault();
}.bind(this);
target.dispatchEvent(this.contextmenuEvent);
this.isCanceled = this.contextmenuEvent.defaultPrevented;
};
}
})();

View File

@@ -0,0 +1 @@
{"options":{"check_for_updates":true,"comment":null,"compat_foreach":false,"compat_metadata":false,"compat_powerful_this":null,"compat_prototypes":false,"compat_wrappedjsobject":false,"compatopts_for_requires":true,"noframes":null,"override":{"merge_connects":true,"merge_excludes":true,"merge_includes":true,"merge_matches":false,"orig_connects":[],"orig_excludes":[],"orig_includes":[],"orig_matches":["*://*/*"],"orig_noframes":null,"orig_run_at":"document-start","use_blockers":[],"use_connects":[],"use_excludes":[],"use_includes":[],"use_matches":["*://music.youtube.com/*"],"orig_run_in":[]},"run_at":null,"tab_types":null,"user_modified":null,"run_in":null,"tags":[]},"settings":{"enabled":true,"position":4},"meta":{"name":"Disable page close confirmation","uuid":"29b5aaa7-8ef4-41a9-b589-583bc41a5779","modified":1642196588804,"file_url":"https://greasyfork.org/scripts/4279-disable-page-close-confirmation/code/Disable%20page%20close%20confirmation.user.js"}}

View File

@@ -0,0 +1 @@
{"ts":1642196591002,"data":{}}

View File

@@ -0,0 +1,32 @@
// ==UserScript==
// @name Disable page close confirmation
// @description Disable page close confirmation (onBeforeUnload)
// @namespace http://nags.must.die
// @version 2.0
// @grant none
// @run-at document-start
// @match *://*/*
// ==/UserScript==
(function () {
var spoofer = {
enumerable: true,
configurable: false,
get: () => null,
set: fn => fn,
};
Object.defineProperties(window, {
onbeforeunload: spoofer,
onunload: spoofer,
});
var originalAdd = EventTarget.prototype.addEventListener;
EventTarget.prototype.addEventListener = function (type) {
var tl;
if (this !== window ||
typeof type !== 'string' ||
(tl = type.toLowerCase()) !== 'beforeunload' && tl !== 'unload') {
originalAdd.apply(this, arguments);
}
};
})();

View File

@@ -0,0 +1 @@
{"options":{"check_for_updates":false,"comment":null,"compat_foreach":false,"compat_metadata":false,"compat_powerful_this":null,"compat_wrappedjsobject":false,"compatopts_for_requires":true,"noframes":null,"override":{"merge_connects":true,"merge_excludes":true,"merge_includes":true,"merge_matches":true,"orig_connects":[],"orig_excludes":[],"orig_includes":["https://www.google.com/url?*q=*"],"orig_matches":[],"orig_noframes":null,"orig_run_at":"document-start","use_blockers":[],"use_connects":[],"use_excludes":[],"use_includes":[],"use_matches":[],"orig_run_in":[]},"run_at":null,"sandbox":null,"tab_types":null,"unwrap":null,"user_modified":null,"run_in":null,"tags":[]},"settings":{"enabled":true,"position":5},"meta":{"name":"Google I'm Feeling Lucky Redirect","uuid":"e8841671-f77e-4ce0-a44b-9d78f8618a39","modified":1672495936618,"file_url":"https://greasyfork.org/scripts/422086-google-i-m-feeling-lucky-redirect/code/Google%20I'm%20Feeling%20Lucky%20Redirect.user.js"}}

View File

@@ -0,0 +1 @@
{"ts":1645628827820,"data":{}}

View File

@@ -0,0 +1,21 @@
// ==UserScript==
// @name Google I'm Feeling Lucky Redirect
// @namespace https://snomiao.com/
// @version 0.3.0
// @description Immediately redirects when google prompts 'redirection notice'. Used to circumvent google pestering you when querying with I'm Feeling Lucky feature.
// @author snomiao
// @include https://www.google.com/url?*q=*
// @icon https://icons.duckduckgo.com/ip2/google.com.ico
// @run-at document-start
// @github https://github.com/snomiao/userscript.js/blob/master/GoogleImFeelingLuckyRedirect.user.js
// ==/UserScript==
// ref: [Workaround for Google I'm Feeling Lucky Redirect]( https://greasyfork.org/en/scripts/390770-workaround-for-google-i-m-feeling-lucky-redirect )
const url = Object.fromEntries(
location.search
.slice(1)
.split('&')
.map((e) => e.split('='))
).q;
if (url) location = url;

View File

@@ -0,0 +1 @@
{"options":{"check_for_updates":true,"comment":null,"compat_foreach":false,"compat_metadata":false,"compat_powerful_this":null,"compat_wrappedjsobject":false,"compatopts_for_requires":true,"noframes":null,"override":{"merge_connects":true,"merge_excludes":true,"merge_includes":true,"merge_matches":true,"orig_connects":[],"orig_excludes":["https://bugs.vivaldi.com/secure/attachment/*"],"orig_includes":[],"orig_matches":["https://bugs.vivaldi.com/*"],"orig_noframes":null,"orig_run_at":"document-start","use_blockers":[],"use_connects":[],"use_excludes":[],"use_includes":[],"use_matches":[],"orig_run_in":[]},"run_at":null,"sandbox":null,"tab_types":null,"unwrap":null,"user_modified":null,"run_in":null,"tags":[]},"settings":{"enabled":false,"position":7},"meta":{"name":"Jira Night","uuid":"543f6de3-f114-4b10-b22a-3b35ffd18a72","modified":1686258920618}}

View File

@@ -0,0 +1 @@
{"ts":1686258920625,"data":{}}

View File

@@ -0,0 +1,76 @@
// ==UserScript==
// @name Jira Night
// @namespace https://gist.github.com/luetage/e73c132e079fb3d62675de3f4a6c29e4
// @updateURL https://gist.github.com/luetage/e73c132e079fb3d62675de3f4a6c29e4/raw
// @description Dark color scheme for Jira.
// @version 2022.9.0
// @author luetage
// @match https://bugs.vivaldi.com/*
// @exclude https://bugs.vivaldi.com/secure/attachment/*
// @run-at document-start
// ==/UserScript==
(function () {
"use strict";
const css = `
html {
filter: invert(86%) hue-rotate(180deg) brightness(105%) contrast(105%);
}
img, span[role="img"], svg, #cp-header {
filter: invert(114%) hue-rotate(180deg) brightness(105%) contrast(105%);
}
#header>.aui-header.aui-dropdown2-trigger-group {
--aui-button-primary-bg-color: hsl(168, 76%, 42%);
--aui-button-primary-hover-bg-color: hsl(168, 76%, 37%);
border-bottom: 1px solid hsla(229, 35%, 75%, 0.4);
}
#header>.aui-header.aui-dropdown2-trigger-group .aui-nav>li>a {
--aui-appheader-item-focus-bg-color: hsl(168, 76%, 42%);
--aui-appheader-item-active-bg-color: hsl(168, 76%, 42%);
}
.aui-dropdown2 .aui-dropdown2-checkbox:not(.aui-dropdown2-disabled):hover,
.aui-dropdown2 .aui-dropdown2-radio:not(.aui-dropdown2-disabled):hover,
.aui-dropdown2 a:not(.aui-dropdown2-disabled):hover,
.aui-dropdown2 button:not(.aui-dropdown2-disabled):hover,
form#issue-filter .check-list-item.active,
form.aui .check-list-item.active,
.check-list-item.active,
.check-list-group-footer.active
.aui-list a.active,
.aui-list .aui-list-item.active>a {
background: hsl(168, 76%, 42%) !important;
color: hsl(229, 35%, 100%) !important;
}
.aui-header .aui-quicksearch input,
.aui-header .aui-quicksearch input:focus,
.aui-header .aui-quicksearch:focus-within:before {
background: hsla(229, 35%, 75%, 0.5);
color: hsl(235, 19%, 26%);
}
#header>.aui-header.aui-dropdown2-trigger-group .aui-dropdown2-in-header,
.aui-dropdown2.aui-layer,
.aui-dropdown-content {
border: 1px solid hsla(235, 19%, 13%, 0.3);
}
`;
function _async() {
return new Promise((resolve) => {
requestAnimationFrame(resolve);
});
}
async function _wait() {
while (!document.body) {
await _async();
}
return true;
}
function inject() {
_wait().then(() => {
const style = document.createElement("style");
style.id = "usrjs-jira-night";
style.innerHTML = css;
document.getElementsByTagName("head")[0].appendChild(style);
});
}
inject();
})();

View File

@@ -0,0 +1 @@
{"options":{"check_for_updates":false,"comment":null,"compat_foreach":false,"compat_metadata":false,"compat_powerful_this":null,"compat_wrappedjsobject":false,"compatopts_for_requires":true,"noframes":null,"override":{"merge_connects":true,"merge_excludes":true,"merge_includes":true,"merge_matches":true,"orig_connects":[],"orig_excludes":[],"orig_includes":[],"orig_matches":["*://*.rockpapershotgun.com/*"],"orig_noframes":null,"orig_run_at":"document-start","orig_run_in":[],"orig_tags":[],"use_blockers":[],"use_connects":[],"use_excludes":[],"use_includes":[],"use_matches":[]},"run_at":null,"run_in":null,"sandbox":null,"tags":[],"unwrap":null,"user_modified":1748343415908},"settings":{"enabled":true,"position":6},"meta":{"name":"RPS Night Mode","uuid":"0eb7141b-a77c-4f7d-b774-2599bfee0027","modified":1748343415907,"file_url":"https://greasyfork.org/scripts/370482-rps-night-mode/code/RPS%20Night%20Mode.user.js"}}

View File

@@ -0,0 +1 @@
{"ts":1665846673062,"data":{}}

View File

@@ -0,0 +1,57 @@
// ==UserScript==
// @name RPS Night Mode
// @namespace https://greasyfork.org/en/users/197428-pathduck
// @license MIT
// @version 0.58
// @description Night mode for site "Rock, Paper, Shotgun"
// @author Pathduck
// @supportURL https://greasyfork.org/en/scripts/370482-rps-night-mode
// @updateURL https://greasyfork.org/scripts/370482-rps-night-mode/code/RPS%20Night%20Mode.user.js
// @downloadURL https://greasyfork.org/scripts/370482-rps-night-mode/code/RPS%20Night%20Mode.user.js
// @match *://*.rockpapershotgun.com/*
// @icon https://icons.duckduckgo.com/ip2/rockpapershotgun.com.ico
// @grant GM_addStyle
// @run-at document-start
// ==/UserScript==
GM_addStyle(`
figcaption {color: #00b893 !important;}
input {color: #eee !important;}
#page_wrapper {color: #eee !important; background: black !important;}
#content {background: #393939 !important; border-radius: 16px;}
#comments form textarea, #comments .toolbar, #comments .preview {color: white; background: #222;}
#comments form textarea::placeholder {color: #767676;}
#comments .toolbar button, #comments .actions-overflow-inner {color: #00b38f; background: #333 !important;}
#comments .container .post.highlight .markdown {background: #222; !important; border-radius: 5px;}
.article[data-article-type], .summary[data-article-type] {--color: #e94989 !important;--strap-color: #e94989 !important;}
.article[data-premium=true], .summary[data-premium=true] {--color: #9763ff !important; --strap-color: #9763ff !important;}
.article[data-paywalled=true] .article_body_content:after {background-image: linear-gradient(180deg, hsla(0, 0%, 100%, 0), #393939)}
.article_body_content blockquote {background: #222 !important; border-radius: 10px; padding: 10px;}
.app_header, .app_footer {background: black !important; border: none !important;}
.app_footer a, .app_footer button {color: #eee !important;}
.article p a, .article_header a {color: #00b893 !important;}
.article-styling h2 {color: #00b893 !important;}
.archive_by_date a {color: #eee;}
.archive h2 a {color: #00b893 !important;}
.archive__item[data-premium=true] {--archive-kicker-color: #a282e3;}
.jumplinks_group {background-image: unset !important;}
.nav_primary a, .nav_secondary a {color: #eee !important;}
.notifications .table-row:not(.table-headers):hover {background-color: #222 !important;}
.notifications .table-row.table-headers .table-cell {color: white !important;}
.profile-comments a {color: #00b893 !important;}
.poll_wrapper .poll_container {--poll-border-color: lightgray;}
.poll_wrapper .poll_container * {color: #cbcbcb !important; background: unset !important;}
.recommendation, .recommendation__badge {background: #222; border-radius: 10px;}
.recommendation__title {color: #00b893;}
.recommendation__strapline {color: #eee;}
.section_title, .page_title, .label {color: #00b893 !important;}
.summary .button {color: #fff !important;}
.supporters_shelf .section_title {color: #9763ff !important;}
.strapline, .disclaimer, .alert {color: #eee !important;}
.tabbed_nav {background: #393939 !important; background-image: unset !important;}
.tabbed_nav .tabbed_buttons .tabbed_button {color: #eee !important;}
.title, .title a, .summary a {color: #00b893 !important;}
.thumbnail:after {content: unset !important;}
.video_player .playlist_item {background: #222 !important;}
.username .name {color: white !important;}
`);

View File

@@ -0,0 +1 @@
{"options":{"check_for_updates":false,"comment":null,"compat_foreach":false,"compat_metadata":false,"compat_powerful_this":null,"compat_wrappedjsobject":false,"compatopts_for_requires":true,"noframes":null,"override":{"merge_connects":true,"merge_excludes":true,"merge_includes":true,"merge_matches":true,"orig_connects":[],"orig_excludes":[],"orig_includes":[],"orig_matches":["*://*/*"],"orig_noframes":true,"orig_run_at":"document-start","orig_run_in":[],"use_blockers":[],"use_connects":[],"use_excludes":[],"use_includes":[],"use_matches":[]},"run_at":null,"run_in":null,"sandbox":null,"tab_types":null,"tags":[],"unwrap":null,"user_modified":null},"settings":{"enabled":false,"position":1},"meta":{"name":"Unobtrusive Scrollbar","uuid":"7fd505c6-316b-45a3-a7ed-45f9d0306982","modified":1721211753789}}

View File

@@ -0,0 +1 @@
{"ts":1687465723517,"data":{}}

View File

@@ -0,0 +1,19 @@
// ==UserScript==
// @name Unobtrusive Scrollbar
// @namespace http://tampermonkey.net/
// @version 0.1
// @description A better scrollbar
// @author You
// @match *://*/*
// @grant GM_addStyle
// @run-at document-start
// @noframes
// ==/UserScript==
GM_addStyle(`
::-webkit-scrollbar{width:7px;height:7px}
::-webkit-scrollbar-track-piece,::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}
::-webkit-scrollbar-thumb{height:50px;background-color:#888;border-radius:5px;--outline:1px solid rgba(0,0,0,0);--outline-offset:-1px}
::-webkit-scrollbar-thumb:hover{background-color:#666}
`);

View File

@@ -0,0 +1 @@
{"options":{"check_for_updates":false,"comment":null,"compat_foreach":false,"compat_metadata":false,"compat_powerful_this":null,"compat_wrappedjsobject":false,"compatopts_for_requires":true,"noframes":null,"override":{"merge_connects":true,"merge_excludes":true,"merge_includes":true,"merge_matches":true,"orig_connects":[],"orig_excludes":["https://forum.vivaldi.net/assets/*"],"orig_includes":[],"orig_matches":["https://forum.vivaldi.net/*"],"orig_noframes":null,"orig_run_at":"document-start","orig_run_in":[],"orig_tags":[],"use_blockers":[],"use_connects":[],"use_excludes":[],"use_includes":[],"use_matches":[]},"run_at":null,"run_in":null,"sandbox":null,"tags":[],"unwrap":null,"user_modified":1748693223214},"settings":{"enabled":true,"position":8},"meta":{"name":"Vivaldi Forum Tweaks","uuid":"dc2c3f6f-cd4f-45f7-99c9-e941105651a6","modified":1748693223213,"file_url":"https://greasyfork.org/scripts/457399-vivaldi-forum-tweaks/code/Vivaldi%20Forum%20Tweaks.user.js"}}

View File

@@ -0,0 +1 @@
{"ts":1692186589338,"data":{}}

View File

@@ -0,0 +1,107 @@
// ==UserScript==
// @name Vivaldi Forum Tweaks
// @namespace https://greasyfork.org/en/users/197428-pathduck
// @license MIT
// @version 2.11
// @description CSS tweaks for Vivaldi Forums
// @author Pathduck
// @supportURL https://greasyfork.org/en/scripts/457399-vivaldi-forum-tweaks
// @match https://forum.vivaldi.net/*
// @exclude https://forum.vivaldi.net/assets/*
// @icon https://icons.duckduckgo.com/ip2/vivaldi.net.ico
// @grant GM_addStyle
// @run-at document-start
// ==/UserScript==
GM_addStyle(`
@media (min-width: 960px) {body {padding-top: 60px;}}
hr {margin: 5px;}
ul#logged-in-menu {margin: 3px 0; padding-bottom: 0;}
#content .breadcrumb {padding-top: 0; margin-bottom: 0;}
#content .posts>li {padding: 10px 0 0;}
#content {margin-top: 0; padding-top: 0 !important;}
#menucontent>.row {height: 40px;}
#search-button {display: none;}
#search-fields, #search-form {margin-top: 0px;}
#search-form #search-fields.hidden {max-width: unset; width: 300px;}
#search-form .btn-outline-secondary {border: none;}
#vivaldi-header.header {height: 40px !important;}
.alert {margin: 0 2px !important;}
.account .account-stats, .account hr, .account .profile {margin: 0 auto 5px;}
.button:focus, .form-control:focus, .dropdown-toggle:focus, .btn:focus-visible {outline: solid !important;}
.categories .description {padding: 0;}
.categories ul, .categories li {padding: 0 !important; margin: 0 0 5px !important;}
.categories-list li.unread .title a, .topics-list li.unread .title a {font-weight: unset !important;}
.categories-title {margin: 0 !important;}
.categories>li .content, .category>ul>li .content {padding: 0;}
.chat-modal .modal-content.ui-resizable {width: 50vw; height: 80vh; right: 75%;}
.header .chat-list .text-sm, .header .notification-list .text-sm {font-size: .9rem !important;}
.header .chat-list, .header .notification-list {width: 500px !important; max-height: 85vh;}
.header .chat-list .main-avatar {margin-top: 0;}
.navbar.navbar-vivaldi>div {min-height: unset;height: 35px;}
.tag-list h5 {margin: 5px 10px !important;}
.topic h1 {line-height: 1.1;}
.topic .post-header + br {display: none; }
.topic .post-signature p {margin: 0;}
.topic .post-signature {margin-top: 5px; margin-bottom: 0;}
.topic .post-tools>a, .topic .moderator-tools>a {padding: 0 10px;}
.topic .posts .content {min-height: 45px !important;}
.topic .posts .content .img-fluid {max-width: 50vw; max-height: 40vh;}
.topic .posts .content blockquote {font-style: unset; font-size: 14px; margin: 5px; padding: 10px;}
.topic .posts .content p {margin-top: 0; margin-bottom: .5rem;}
.topic .posts .content pre.markdown-highlight {padding: 3px; border-radius: 5px;}
.topic .posts .threaded-replies {margin-top: 5px; padding: 0;}
.topic .posts.timeline .timeline-event {text-align: center !important; justify-content: center !important; font-weight: bold;}
.topic .topic-header > div {gap: unset !important;}
.topic .topic-header {margin-bottom: 0 !important;}
.topic .topic-header .topic-info {padding: 0;}
.topic .topic-header .topic-title {margin: 5px 0 0;}
.topic .topic-header .topic-title > span {font-size: 1.6rem !important;}
.topic-list-header {height: 45px; padding: 5px !important;}
.topic-list-header.sticky-top {top: unset !important;}
.topics-list li.category-item .lastpost .avatar {margin: 0 10px 0 0 !important;}
.topics-list li.category-item .lastpost .permalink {padding-bottom: 2px !important;}
.topics-list li.category-item .lastpost {padding: 0 !important;}
.topics-list li.category-item .title {font-size: 1.2rem !important;}
.topics-list li.category-item {padding: 0 0 20px !important;}
.userinfo #user_label {padding: 0 !important;}
.vivaldi-nav-link {line-height: 33px;}
/* Dark skin fixes */
.skin-dark blockquote {background-color: #333; border-left: 5px solid #4c70f0;}
.skin-dark code, .skin-dark pre {color: white;}
.skin-dark .alert-warning {background-color: darkred;}
.skin-dark .alert-window .alert {background-color: #333;}
.skin-dark .alert-window .alert.alert-info {color: limegreen;}
.skin-dark .badge.unanswered, .skin-dark .badge.answered {filter: unset !important;}
.skin-dark .btn-group button, .skin-dark .btn-primary, .topic-main-buttons button {background: linear-gradient(0deg,#2a3f87 0,#4c70f0 100%);}
.skin-dark .category-children a:hover {color: #4c70f0 !important;}
.skin-dark .chats-full .active .chat-room-btn {background-color: darkslategrey !important;}
.skin-dark .composer .preview a {color: #809cff !important}
.skin-dark .header .notification-list .unread, .skin-dark .header .chat-list .unread {background: darkslategrey;}
.skin-dark .label-success {background-color: green;}
.skin-dark .navbar-vivaldi {background: linear-gradient(0deg,#2a3f87 0,#4c70f0 100%) !important;}
.skin-dark .pagination>.active>a {background-color: #3652b0;}
.skin-dark .post-header a.text-uppercase.badge {color: white !important;}
.skin-dark .status.offline {color: #333;}
.skin-dark .status.online {color: forestgreen;}
.skin-dark .text-muted {color: #DDD !important;}
.skin-dark .textcomplete-dropdown .textcomplete-item.active,
.skin-dark .textcomplete-dropdown .textcomplete-item:hover {outline: solid;}
.skin-dark .textcomplete-dropdown {color: white !important; background-color: darkslategrey;}
.skin-dark .topic .posts .dropdown-menu a {color: white !important}
.skin-dark .topic .posts a {color: #809cff !important;}
.skin-dark .topic-list-header button i {color: white !important;}
.skin-dark .topic-list-header.text-bg-light {background-color: transparent !important;}
.skin-dark .topic-main-buttons button i {color: white !important;}
.skin-dark .topics-list .badge, .skin-dark .topic-info .badge {filter: brightness(150%);}
.skin-dark .topics-list li.category-item {border-top: unset;}
.skin-dark .topics-list li.category-item:not(.unread) h3.title a {opacity: 0.5;}
.skin-dark .topics-list li.category-item:not(.unread) h3.title a:hover {opacity: unset;}
.skin-dark .topics-list li.category-item.unread .lastpost {border-color: #ddd !important;}
.skin-dark .userinfo .nav-item:hover, .skin-dark .btn-link:hover {background-color: #303030 !important;}
/* External link warning */
a[rel^="nofollow"]::after {content:"⚠️";}
a[href*="vivaldi." i]::after {content: unset !important;}
`);

View File

@@ -0,0 +1 @@
{"options":{"check_for_updates":true,"comment":null,"compat_foreach":false,"compat_metadata":false,"compat_powerful_this":null,"compat_wrappedjsobject":false,"compatopts_for_requires":true,"noframes":null,"override":{"merge_connects":true,"merge_excludes":true,"merge_includes":true,"merge_matches":true,"orig_connects":[],"orig_excludes":[],"orig_includes":[],"orig_matches":["https://www.youtube.com/*"],"orig_noframes":true,"orig_run_at":"document-idle","use_blockers":[],"use_connects":[],"use_excludes":[],"use_includes":[],"use_matches":[],"orig_run_in":[]},"run_at":null,"sandbox":null,"tab_types":null,"unwrap":null,"user_modified":null,"run_in":null,"tags":[]},"settings":{"enabled":true,"position":3},"meta":{"name":"YouTube fast fullscreen toggle","uuid":"7cbfb171-b070-4682-a3e4-07918a9e9632","modified":1713561429705,"file_url":"https://raw.githubusercontent.com/ZimbiX/youtube-fast-fullscreen-toggle/master/extension/contentScript.js"}}

View File

@@ -0,0 +1 @@
{"ts":1616100197540,"data":{}}

View File

@@ -0,0 +1,146 @@
// ==UserScript==
// @name YouTube fast fullscreen toggle
// @namespace http://tampermonkey.net/
// @version 2.10.0
// @description Avoids the ~3 second lag when entering/exiting fullscreen on a YouTube video - by hiding the heavy fluff while transitioning
// @author Brendan Weibrecht
// @match https://www.youtube.com/*
// @noframes
// @icon https://raw.githubusercontent.com/ZimbiX/youtube-fast-fullscreen-toggle/master/extension/icon-128.png
// @downloadURL https://raw.githubusercontent.com/ZimbiX/youtube-fast-fullscreen-toggle/master/extension/contentScript.js
// @grant none
// ==/UserScript==
(function() {
'use strict';
const isWatchVideoPage = () => window.location.pathname == "/watch"
const fluff = [
// Header
'#masthead-container',
// Right column contents
'#secondary-inner',
'#fixed-secondary',
// Below video
'#below',
'#speedyg',
]
const setFluffDisplay = (value) => {
fluff.forEach(selector => {
document.querySelectorAll(selector).forEach(el => {
el.style.display = value
})
})
}
const hideFluff = () => {
console.log(`[YT-FFT] Hiding fluff`)
setFluffDisplay('none')
}
const showFluff = () => {
console.log(`[YT-FFT] Showing fluff again`)
setFluffDisplay('')
}
const isInFullscreen = () => !!document.fullscreenElement
// Opposite since we will be checking this only after it's changed by YouTube
const checkIfDirectionIsLeavingFullscreen = () => !isInFullscreen()
const playerWidthDiff = (player) => Math.abs(player.clientWidth - window.innerWidth)
const playerHeightDiff = (player) => Math.abs(player.clientHeight - window.innerHeight)
const playerIsFullWidth = (player) => playerWidthDiff(player) <= 2
const playerIsFullHeight = (player) => playerHeightDiff(player) <= 2
const debugPlayerSize = (player) => {
console.log('[YT-FFT] w:', player.clientHeight, window.innerHeight, 'h:', player.clientWidth, window.innerWidth)
}
const playerIsFullscreen = () => {
const player = document.querySelector('ytd-player')
debugPlayerSize(player)
return playerIsFullHeight(player) && playerIsFullWidth(player)
}
const isFinishedLeavingFullscreen = () => !playerIsFullscreen()
const isFinishedEnteringFullscreen = () => playerIsFullscreen()
const transitionIsFinished = (directionIsLeavingFullscreen) => (
directionIsLeavingFullscreen ? isFinishedLeavingFullscreen() : isFinishedEnteringFullscreen()
)
const timedOut = (startedAt) => new Date() - startedAt >= 2000
const showFluffWhenReady = (directionIsLeavingFullscreen, startedAt) => {
if (timedOut(startedAt)) {
console.log(`[YT-FFT] Timed out detecting finish of ${directionIsLeavingFullscreen ? 'leaving' : 'entering'} fullscreen transition`)
showFluff()
} else if (transitionIsFinished(directionIsLeavingFullscreen)) {
console.log(`[YT-FFT] Finished ${directionIsLeavingFullscreen ? 'leaving' : 'entering'} fullscreen transition`)
// Delay a little after entering fullscreen for reliability, since delay before showing the fluff when entering fullscreen is not noticeable
directionIsLeavingFullscreen ? showFluff() : setTimeout(showFluff, 20)
} else {
setTimeout(() => showFluffWhenReady(directionIsLeavingFullscreen, startedAt), 10)
}
}
const fastToggleFullScreen = () => {
hideFluff()
// Wait until YouTube's event handler has executed. This is required since the order of event handler execution is not guaranteed, and we need to be able to reliably detect the transition direction
setTimeout(() => {
const directionIsLeavingFullscreen = checkIfDirectionIsLeavingFullscreen()
console.log(`[YT-FFT] Waiting until ${directionIsLeavingFullscreen ? 'leaving' : 'entering'} fullscreen transition has finished`)
showFluffWhenReady(directionIsLeavingFullscreen, new Date())
}, 10)
}
const isWritingText = (e) => {
const path = e.composedPath()
return (
path[0].tagName == 'INPUT' ||
path[0].id == 'contenteditable-root'
)
}
const delegateEvent = (eventName, elementSelector, handler) => {
document.addEventListener(eventName, (e) => {
// loop parent nodes from the target to the delegation node
for (var target = e.target; target && target != this; target = target.parentNode) {
if (target.matches && target.matches(elementSelector)) {
handler(target, e)
break
}
}
}, false)
}
const addEventListeners = () => {
delegateEvent('click', '.ytp-fullscreen-button', e => {
if (isWatchVideoPage()) {
fastToggleFullScreen()
}
})
delegateEvent('dblclick', 'video', e => {
if (isWatchVideoPage()) {
fastToggleFullScreen()
}
})
document.addEventListener("keydown", e => {
if (isWatchVideoPage() && !e.ctrlKey && e.code == 'KeyF' && !isWritingText(e)) {
console.log(e)
fastToggleFullScreen()
}
})
}
addEventListeners()
console.log(`[YT-FFT] Initialised`)
})();

View File

@@ -0,0 +1,243 @@
@charset "UTF-8";
/*
Name: Emulate text browser
Version: 1.10
Author: Opera Software ASA
Description: This is a "text browser" style sheet. Tables and forms are kept, but images are
not displayed. Only one font and one size is used, but spacing and bolding is used on headings.
Copyright © 2003 Opera Software ASA.
*/
/* All elements */
* {
position: static !important;
max-height: none !important;
min-height: 0px !important;
height: auto !important;
max-width: none !important;
min-width: 0px !important;
width: auto !important;
border: none !important;
outline: none !important;
background: Blue !important;
color: White !important;
font-family: "Fixedsys", "Courier New", "Courier", monospace !important;
/*
This font may not scale well, so several alternative sizes have been provided.
Please apply the one that best fints your resolution.
1em is the font-size defined in File > Preferences > Fonts > Normal
2em would be twice that and 0.5em would be half that
*/
font-size: 1em !important;
/* font-size: 16px !important; */
/* font-size: 12px !important; */
/* font-size: 10px !important; */
font-weight: normal !important;
font-style: normal !important;
line-height: 1em !important;
text-align: left !important;
text-decoration: none !important;
letter-spacing: 0px !important;
}
/* Form elements */
input, textarea, select {
border-top: 2px solid Black !important;
border-right: 1px solid silver !important;
border-bottom: 1px solid silver !important;
border-left: 2px solid Black !important;
background: White !important;
color: Black !important;
font-weight: normal !important;
}
input[type="text"], input[type="password"] {min-height: 1.2em !important;}
textarea {min-height: 4em !important;}
button, input[type="file"], input[type="submit"], input[type="button"], input[type="reset"], input[type="image"] {
border: medium outset !important;
padding: 2px 3px 2px 3px !important;
min-width: 2em !important;
height: 1.2em !important;
background: Silver !important;
color: Black !important;
text-align: center !important;
}
button:active, input[type="file"]:active, input[type="submit"]:active,
input[type="button"]:active, input[type="reset"]:active, input[type="image"]:active {
border: medium inset !important;
padding: 2px 2px 2px 4px !important;
}
input[type="radio"] {border: none !important;}
/* Headings */
h1, h2, h3, h4, h5, h6, th, caption {
font-weight: bold !important;
margin-top: 2em !important;
}
h1 {text-transform: uppercase !important;}
h1, h2 {letter-spacing: 5px !important;}
h3 {letter-spacing: 3px !important;}
h4 {letter-spacing: 2px !important;}
/* Nested lists */
ol > li {list-style: decimal !important;}
ol ol > li {list-style: upper-alpha !important;}
ol ol ol > li {list-style: lower-alpha !important;}
ol ol ol ol > li {list-style: lower-roman !important;}
ul > li {list-style: square !important;}
ul ul > li {list-style: circle !important;}
/* Links */
a, a[href], a[href]:link, span {font-weight: inherit !important;}
a[href]:visited {text-decoration: line-through !important;}
a[href], a[href]:link, a[href]:hover {text-decoration: underline !important;}
a[href]:active, a[href] img[alt]:active {text-decoration: none !important;}
/* Other */
kbd {
background: White !important;
color: Blue !important;
padding: 0px 2px !important;
}
hr {
height: 0px !important;
border-top: medium dashed White !important;
margin: 4px 0px 4px 0px !important;
}
@media screen, handheld, projection, tv {
/* Display document title on screen */
head, title {display: block !important;}
title {
margin-bottom: 1em !important;
padding: 8px !important;
background-color: White !important;
color: Blue !important;
text-align: center !important;
font-weight: bold !important;
}
body {padding-bottom: 3.5em !important;}
a[target]:before, *[lang]:before,*[lang]:after, img, iframe {
padding: 0px 2px 1px 2px !important;
background: White !important;
color: Blue !important;
font-size: smaller !important;
}
a[target]:before, *[lang]:before, img {margin-right: 4px !important;}
a[target]:before {content: "Win:" !important;}
a[target="_blank"]:before {content: "New:" !important;}
/* Display text language when given */
*[lang]:before {content: "Lng " attr(lang) ":" !important;}
*[lang]:after {
content: attr(lang) !important;
margin-left: 4px !important;
text-decoration: line-through !important;
}
body:after, body[lang]:after {
display: block !important;
clear: both !important;
content: "Navigate: [Z] and [X] — Elements: [Shift+arrow keys] — Shortcuts: [Ctrl+B]" !important;
position: fixed !important;
bottom: 0px !important;
margin-left: auto !important;
margin-right: auto !important;
border-top: thin solid Black !important;
border-left: thin solid Black !important;
border-right: thin solid Black !important;
padding: 2px !important;
width: 100% !important;
height: auto !important;
background: White !important;
color: Blue !important;
text-align: center !important;
font-size: smaller !important;
text-decoration: none !important;
}
img, iframe {
margin-left: 2px !important;
line-height: 1.5em !important;
}
iframe {content: "IFRAME" !important;}
iframe[longdesc] {content: attr(longdesc) !important;}
/* Change images to alternate text */
img {
display: none !important;
content: "IMG" !important;
}
img[alt], a[href] img {display: inline !important;}
input[type="image"] {content: "Submit" !important;}
img[alt], input[type="image"][alt] {content: attr(alt) !important;}
}
@media print {
* {
background: white !important;
color: Black !important;
background: White !important;
color: Black !important;
}
img {
display: none !important;
margin-right: 4px !important;
padding: 0px 2px 1px 2px !important;
outline: thin solid Black !important;
color: Gray !important;
background-color: White !important;
font-size: smaller !important;
}
a[href]:visited {text-decoration: underline !important;}
input[type="image"] {content: "Submit" !important;}
input[type="image"][alt] {content: attr(alt) !important;}
img[alt] {
display: inline !important;
content: attr(alt) !important;
margin-left: 2px !important;
line-height: 1.5em !important;
}
}

View File

@@ -0,0 +1,199 @@
@charset "UTF-8";
/*
Name: Nostalgia
Version: 1.10
Author: Opera Software ASA
Description: This style sheet attempts to simulate surfing the Web with a browser written in the early 1980s.
Copyright © 2003 Opera Software ASA.
*/
* {
font-family: "Fixedsys", "Courier New", "Courier", monospace !important;
font-style: normal !important;
line-height: 1.3em !important;
letter-spacing: 0px !important;
text-decoration: none !important;
text-align: left !important;
border: none !important;
outline: none !important;
}
title, h1 {text-transform: uppercase !important;}
h1, h2, h3, h4, h5, h6, th, caption {margin-top: 2em !important;}
iframe {content: "IFRAME removed" !important;}
iframe[title] {content: attr(title) !important;}
iframe[longdesc] {content: attr(longdesc) !important;}
iframe, img {
display: block;
padding: 0.2em !important;
max-width: 25% !important;
max-height: none !important;
width: auto !important;
height: auto !important;
background: Black !important;
color: White !important;
}
img[title] {content: attr(title) !important;}
img[alt] {content: attr(alt) !important;}
input, textarea, select {
background: White !important;
color: Black !important;
}
input[type="text"], input[type="password"] {min-height: 1.2em !important;}
textarea {min-height: 4em !important;}
button, input[type="file"], input[type="submit"], input[type="button"], input[type="reset"], input[type="image"] {
height: 1.2em !important;
background: Silver !important;
color: Black !important;
text-align: center !important;
padding: 2px 3px 2px 3px !important;
min-width: 2em !important;
}
button:active, input[type="file"]:active, input[type="submit"]:active,
input[type="button"]:active, input[type="reset"]:active, input[type="image"]:active {padding: 2px 2px 2px 4px !important;}
hr {
height: 0px !important;
border-top: medium dashed #6C5EB5 !important;
margin: 4px 0px 4px 0px !important;
}
@media screen, projection {
* {
font-size: 22px !important;
font-weight: bold !important;
white-space: normal !important;
background: #352879 !important; /*Blue*/
color: #6C5EB5 !important; /*Light blue*/
position: static !important;
float: none !important;
max-width: 80vw !important;
min-width: 0px !important;
width: auto !important;
max-height: none !important;
min-height: 0px !important;
height: auto !important;
}
html {
border: 2.5em solid #6C5EB5 !important; /*Light blue*/
width: 100% !important;
margin: 0em !important;
padding: 0em !important;
background: #6C5EB5 !important; /*Light blue*/
color: #352879 !important; /*Blue*/
}
html:after {
display: block !important;
clear: both !important;
margin: 0em !important;
padding: 0em 0em 0em 2px !important;
content: "\2588" !important;
background: #352879 !important; /*Blue*/
color: #6C5EB5 !important; /*Light blue*/
text-decoration: blink !important;
text-align: left !important;
}
head, title {display: block !important;}
head:before, head:after, body:before, body:after {
display: block !important;
clear: both !important;
background: #352879 !important; /*Blue*/
color: #6C5EB5 !important; /*Light blue*/
text-decoration: none !important;
}
head:after, body:before, body:after {text-align: left !important;}
head:before {
margin: 0em !important;
padding: 1em 0em 2em 0em !important;
content: "**** VIVALDI FOR 8-BIT COMPUTERS ****" !important;
text-align: center !important;
}
head:after {
margin: 0em !important;
padding: 0em !important;
content: "READY." !important;
}
body {
margin: 0px !important;
padding: 1em 12px 0.5em 2px !important;
text-align: left !important;
}
body:before {
margin: 0em 0em 1em 0em !important;
padding: 0em !important;
content: "RUN" !important;
}
body:after {
margin: 2em 0em 0em 0em !important;
padding: 0em !important;
content: "READY." !important;
}
title {
margin: 0em !important;
padding: 0px 0px 0px 2px !important;
}
title:before {content: 'LOAD "' !important;}
title:after {content: '",8\ALOADING' !important;}
pre {white-space: -pre-wrap !important;}
input, textarea, select {max-width: 38em !important;}
kbd, em, b, i, strong, u {
padding: 0px 2px 0px 2px !important;
background: #6C5EB5 !important; /*Light blue*/
color: #352879 !important; /*Blue*/
}
a[href], a[href]:link, a[href]:hover, a[href]:active {
color: #FFFFFF !important; /*White*/
text-decoration: none !important;
}
a[href]:visited {
/* color: #6F3D86 !important;*/ /*Purple */
color: #9A6759 !important; /*Light red*/
text-decoration: none !important;
}
}
@media print {
* {
font-size: 12pt !important;
background: White !important;
color: Black !important;
}
}

View File

@@ -0,0 +1,165 @@
@charset "utf-8";
/* Name: 1490680840
Emulate text browser
Copyright 2006 Opera Software */
* {
font-family: monospace !important;
font-size: 1em !important;
font-weight: normal !important;
font-style: normal !important;
text-align: left !important;
text-decoration: none !important;
letter-spacing: 0px !important;
line-height: 1em !important;
color: white !important;
background: #2A2F47 !important;
border: none !important;
outline: none !important;
width: auto !important;
min-width: 0px !important;
max-width: none !important;
height: auto !important;
min-height: 0px !important;
max-height: none !important;
position: static !important;
}
html::before, html::after, html *::before, html *::after {display: none !important;}
input, textarea, select {
font-weight: normal !important;
color: black !important;
background: white !important;
border-width: 2px 1px 1px 2px !important;
border-style: solid !important;
border-color: black silver silver black !important;
}
input[type="text"], input[type="password"] {min-height: 1.2em !important;}
textarea {min-height: 4em !important;}
button, input[type="file"], input[type="submit"], input[type="button"], input[type="reset"], input[type="image"] {
text-align: center !important;
color: black !important;
background: silver !important;
padding: 2px 3px 2px 3px !important;
border: medium outset !important;
min-width: 2em !important;
height: 1.2em !important;
}
button:active, input[type="file"]:active, input[type="submit"]:active, input[type="button"]:active, input[type="reset"]:active,
input[type="image"]:active {
padding: 2px 2px 2px 4px !important;
border: medium inset !important;
}
input[type="radio"] {border: none !important;}
h1, h2, h3, h4, h5, h6, th, caption {
font-weight: bold !important;
margin-top: 2em !important;
}
h1 {text-transform: uppercase !important;}
h1, h2 {letter-spacing: 5px !important;}
h3 {letter-spacing: 3px !important;}
h4 {letter-spacing: 2px !important;}
ol > li {list-style: decimal !important;}
ol ol > li {list-style: upper-alpha !important;}
ol ol ol > li {list-style: lower-alpha !important;}
ol ol ol ol > li {list-style: lower-roman !important;}
ul > li {list-style: square !important;}
ul ul > li {list-style: circle !important;}
a, a[href], a[href]:link, span {font-weight: inherit !important;}
a[href]:visited {text-decoration: line-through !important;}
a[href], a[href]:link, a[href]:hover {text-decoration: underline !important;}
a[href]:active, a[href] img[alt]:active {text-decoration: none !important;}
kbd {
color: #3366CC !important;
background: white !important;
padding: 0px 2px !important;
}
hr {
margin: 4px 0px 4px 0px !important;
border-top: medium dashed white !important;
height: 0px !important;
}
@media screen, handheld, projection, tv {
head, title {display: block !important;}
title {
font-weight: bold !important;
text-align: center !important;
color: #FFCC00 !important;
background-color: #000114 !important;
padding: 8px !important;
margin-bottom: 1em !important;
}
body {padding: 0 1em 3.5em !important;}
html a[target]:before, html *[lang]:before, html *[lang]:after, img, iframe {
font-size: smaller !important;
color: #FFCC00 !important;
background: #000114 !important;
padding: 0px 2px 1px 2px !important;
display: inline !important;
}
html a[target]:before, html *[lang]:before, img {margin-right: 4px !important;}
html a[target]:before {content: "Win:" !important;}
html a[target="_blank"]:before {content: "New:" !important;}
html *[lang]:before {content: "Lng " attr(lang) ":" !important;}
html *[lang]:after {
content: attr(lang) !important;
text-decoration: line-through !important;
margin-left: 4px !important;
}
html body:after, html body[lang]:after {
content: "Navigate: [Z] and [X] — Elements: [Shift+arrow keys] — Shortcuts: [Ctrl+B]" !important;
font-size: smaller !important;
text-align: center !important;
text-decoration: none !important;
color: #FFCC00 !important;
background: #000114 !important;
padding: 2px 0 !important;
margin-left: auto !important;
margin-right: auto !important;
border-top: thin solid black !important;
border-left: thin solid black !important;
border-right: thin solid black !important;
width: 100% !important;
height: auto !important;
clear: both !important;
position: fixed !important;
left: 0 !important;
bottom: 0px !important;
display: block !important;
}
img, iframe {
margin-left: 2px !important;
line-height: 1.5em !important;
}
iframe {content: "IFRAME" !important;}
iframe[longdesc] {content: attr(longdesc) !important;}
img {
content: "IMG" !important;
display: none !important;
}
img[alt], a[href] img {display: inline !important;}
input[type="image"] {content: "Submit" !important;}
img[alt], input[type="image"][alt] {content: attr(alt) !important;}
}
@media print {
* {
color: black !important;
background: white !important;
}
img {
font-size: smaller !important;
color: Gray !important;
background-color: white !important;
padding: 0px 2px 1px 2px !important;
margin-right: 4px !important;
outline: thin solid black !important;
display: none !important;
}
a[href]:visited {text-decoration: underline !important;}
input[type="image"] {content: "Submit" !important;}
input[type="image"][alt] {content: attr(alt) !important;}
img[alt] {
content: attr(alt) !important;
line-height: 1.5em !important;
margin-left: 2px !important;
display: inline !important;
}
}