Greasy Fork is available in English.

TheWest - No Edge Blink

Stop blinking title on Edge

// ==UserScript==
// @name         TheWest - No Edge Blink
// @namespace    https://greasyfork.org/en/scripts/35587-thewest-no-edge-blink
// @version      0.25
// @description  Stop blinking title on Edge
// @author       Adriano
// @license      LGPLv3
// @include      http*://*.the-west.*/game.php
// @include      http*://*.the-west.*.*/game.php*
// @include      http*://*.tw.innogames.*/game.php*
// @grant        none
// ==/UserScript==

function appendScript(fn) {
	var newScript = document.createElement('script');
	newScript.setAttribute("type", "application/javascript");
	newScript.textContent = '(' + fn + ')();';
	document.body.appendChild(newScript);
	document.body.removeChild(newScript);
}
appendScript(function() {
    //'use strict';
    var VERSION = 0.25;
	var URL_INSTALL = "https://greasyfork.org/en/scripts/35587-thewest-no-edge-blink";
	var URL_CODE = "https://greasyfork.org/scripts/35587-thewest-no-edge-blink/code/TheWest%20-%20No%20Edge%20Blink.user.js";
    var SCRIPT1 = "https://greasyfork.org/scripts/35553-thewest-tamagotchi-pg";
    var SCRIPT2 = "https://greasyfork.org/en/scripts/35587-thewest-no-edge-blink";
	var scriptAuthor = "Adriano";
	var scriptCredits = '<span style="display: inline-block; vertical-align: middle;">Adriano (Tiger54) for this script<br />.</span>';
    var scriptList = '<p style="margin: 8pt;"><b>Adriano\'s Scripts</b>: <span style="display: inline-block; vertical-align: middle;"><a href="' + SCRIPT1 + '">Tamagotchi PG</a><br><a href="' + SCRIPT2 + '">No Edge Blink</a></span></p>';
	var scriptName = "No Tab Blink";
	var scriptObject = "NoEdgeBlink";
	this[scriptObject] = {
        localeManager: {
			localeDefault: 'en_US',
			localeScript: 'en_US',
			getMsg: function(msg) {
				if(undefined !== this.languages[this.localeScript][msg]) return this.languages[this.localeScript][msg];
				if(undefined !== this.languages[this.localeDefault][msg]) return this.languages[this.localeDefault][msg];
				return '';
			},
            checkLanguages: function() {
				var langs = Object.keys(this.languages), messages = Object.keys(this.languages[this.localeDefault]), that = this;
				$.each(messages, function(i, msg) {
					$.each(langs, function(j, lang) {
						if(!that.languages[lang].hasOwnProperty(msg)) console.log('Missing '+lang+'.'+msg);
						else if(typeof that.languages[that.localeDefault][msg] == "object") {
							$.each(Object.keys(that.languages[that.localeDefault][msg]), function(k, msg2) {
								if(!that.languages[lang][msg].hasOwnProperty(msg2)) console.log('Missing '+lang+'.'+msg+'.'+msg2);
							});
						}
					});
				});
				$.each(langs, function(i, lang) {
					$.each(Object.keys(that.languages[lang]), function(j, msg) {
						if(!messages.includes(msg)) console.log('Obsolete message '+lang+'.'+msg);
						else if(typeof that.languages[lang][msg] == "object") {
							$.each(Object.keys(that.languages[lang][msg]), function(j, msg2) {
								if(!that.languages[that.localeDefault][msg].hasOwnProperty(msg2)) console.log('Obsolete message '+lang+'.'+msg+'.'+msg2);
							});
						}
					});
				});
			},
			setLocale: function(localeSelected) {
				this.localeScript = (undefined !== this.languages[localeSelected]) ? localeSelected : this.localeDefault;
			},
            languages: {
				en_US: {
					description: '<h1>The West - No Edge Blink</h1><p style="margin: 8pt;">Under Windows 10, in Edge, the title in the tab will fade on each text change. <br>This can be annoying when you are not playing.</p><p style="margin: 8pt;">With this script, the seconds will be removed from the title, so that it blinks only 1 time each minute (every second if the tab is active).</p><p style="margin: 8pt;"><b>Credits</b>: '+scriptCredits+'</p>' + scriptList,
					version: 'version',
					version_checkFailed: 'Unable to check for updates',
					version_checkManual: 'Check manually',
					version_ok: 'You already have the latest version',
					version_upgrade: 'A new version is available. Do you want to upgrade now?',
					refresh: 'Refresh',
				},
            },
        },
        script: {
			api: null,
			listeningSignal: 'game_config_loaded',
			loaded: false,
			init: function() {
				var that = this;
				if(this.loaded) return false;
				EventHandler.listen(this.listeningSignal, function() {
					that.init();
					return EventHandler.ONE_TIME_EVENT;
				});
				if(!!(Game && Game.loaded)) {
					this.loaded = true;
					NoEdgeBlink.localeManager.setLocale(Game.locale);
					this.api = TheWestApi.register(scriptObject, scriptName, VERSION.toString(), Game.version.toString(), scriptAuthor, URL_INSTALL);
                    NoEdgeBlink.script.api.setGui(NoEdgeBlink.localeManager.getMsg('description'));
                    if(TitleTicker.tick)
                    {
                        TitleTicker.tick = function() {
                            var title,c;
                            c=TaskQueue.timeleft;
                            if(c)
                            {
                                if(TitleTicker.isWindowActive)
                                    title=(c.formatDuration()) + ' - ' + TitleTicker.getSuffix();
                                else
                                    title=(c.formatDuration().substring(0,c.formatDuration().length-3)) + ' - ' + TitleTicker.getSuffix();
                            }
                            else
                            {
                                title=TitleTicker.getSuffix();
                            }
                            if(!TitleTicker.isWindowActive && TitleTicker.notifyMessage)
                            {
                                if(TitleTicker.lastNotify > 0)
                                    title=TitleTicker.notifyMessage;
                                TitleTicker.lastNotify++;
                                if(TitleTicker.lastNotify>TitleTicker.notifyDuration)
                                    TitleTicker.lastNotify=-TitleTicker.notifyDuration;
                            }
                            else
                            {
                                TitleTicker.lastNotify=0;
                            }
                            if(TitleTicker.lasttitle == title)
                                return;
                            TitleTicker.lasttitle=title;
                            document.title=title;
                            TitleTicker.setTime(TitleTicker.time-1);
                        };
                    }
				}
			},
		},
    };
    $(function() { try { NoEdgeBlink.script.init(); } catch(x) { console.trace(x); } });
});