Add Steam - Disable Auto Away
script
#1
32
Steam - Disable Auto Away.user.js
Normal file
32
Steam - Disable Auto Away.user.js
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
// ==UserScript==
|
||||||
|
// @name Steam - Disable automatic 'Away'
|
||||||
|
// @namespace steam
|
||||||
|
// @description Suppresses function to automatically set user as Away in Steam browser chat
|
||||||
|
// @include http://steamcommunity.com/*
|
||||||
|
// @include https://steamcommunity.com/*
|
||||||
|
// @version 1.0
|
||||||
|
// @grant unsafeWindow
|
||||||
|
// @run-at document-start
|
||||||
|
// ==/UserScript==
|
||||||
|
|
||||||
|
function inject() {
|
||||||
|
// Override method which calculates the idle time using `eval`
|
||||||
|
// We've to use eval, since we cannot create new functions in the original window. This would
|
||||||
|
// cause scripts to crash, since they have no access to functions from other windows.
|
||||||
|
unsafeWindow.eval(`window.g_FriendsUIApp.m_IdleTracker.__proto__.GetUserIdleTime = () => 1;`);
|
||||||
|
|
||||||
|
unsafeWindow.console.clear();
|
||||||
|
unsafeWindow.console.log('%c Code injected! ', 'background: green; color: white');
|
||||||
|
}
|
||||||
|
|
||||||
|
// A normal event listener wouldn't do the job here, since the Steam Chat uses a combination
|
||||||
|
// of React and jQuery to dynamically fetch content in the virtual DOM. So we've to do this
|
||||||
|
// terribleness ...
|
||||||
|
function ready() {
|
||||||
|
if (unsafeWindow.g_FriendsUIApp !== undefined && unsafeWindow.g_FriendsUIApp.m_bReadyToRender) {
|
||||||
|
inject();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
setTimeout(ready, 1000);
|
||||||
|
}
|
||||||
|
ready();
|
Loading…
Reference in New Issue
Block a user