Hide Mouse Idle

Auto hide mouse pointer when idle

  1. // ==UserScript==
  2. // @name Hide Mouse Idle
  3. // @namespace iFantz7E.HideMouseIdle
  4. // @version 0.3
  5. // @description Auto hide mouse pointer when idle
  6. // @icon https://gf.qytechs.cn/assets/blacklogo16-bc64b9f7afdc9be4cbfa58bdd5fc2e5c098ad4bca3ad513a27b15602083fd5bc.png
  7. // @run-at document-start
  8. // @include http*
  9. // @grant none
  10. // @license GPLv3
  11. // @copyright 2020, 7-elephant
  12. // ==/UserScript==
  13.  
  14. // License: GPLv3 - https://www.gnu.org/licenses/gpl-3.0.txt
  15.  
  16. // Since 8 Jan 2020
  17.  
  18. (function ()
  19. {
  20. "use strict";
  21. // jshint multistr:true
  22.  
  23. function attachOnLoad(callback)
  24. {
  25. window.addEventListener("load", function (e)
  26. {
  27. callback();
  28. });
  29. }
  30.  
  31. function attachOnReady(callback)
  32. {
  33. document.addEventListener("DOMContentLoaded", function (e)
  34. {
  35. callback();
  36. });
  37. }
  38.  
  39. var isVisible = (function()
  40. {
  41. var stateKey;
  42. var eventKey;
  43. var keys =
  44. {
  45. hidden: "visibilitychange",
  46. webkitHidden: "webkitvisibilitychange",
  47. mozHidden: "mozvisibilitychange",
  48. msHidden: "msvisibilitychange"
  49. };
  50. for (stateKey in keys)
  51. {
  52. if (stateKey in document)
  53. {
  54. eventKey = keys[stateKey];
  55. break;
  56. }
  57. }
  58. return function(c)
  59. {
  60. if (c)
  61. {
  62. document.addEventListener(eventKey, c);
  63. }
  64. return !document[stateKey];
  65. }
  66. })();
  67.  
  68. function main()
  69. {
  70. var timingHideCursor = 5000; // 5 seconds
  71. var tmMouseMove = 0;
  72. document.body.addEventListener("mousemove", function(ev)
  73. {
  74. document.body.style.removeProperty("cursor");
  75.  
  76. clearTimeout(tmMouseMove);
  77.  
  78. tmMouseMove = setTimeout(function()
  79. {
  80. if (isVisible)
  81. {
  82. document.body.style.setProperty("cursor", "none");
  83. }
  84. }, timingHideCursor);
  85. });
  86. }
  87.  
  88. attachOnReady(main);
  89.  
  90. })();
  91.  
  92. // End

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址