scratch extesion: clipboard by rssaromeo

none

  1. // ==UserScript==
  2. // @name scratch extesion: clipboard by rssaromeo
  3. // @version 4
  4. // @description none
  5. // @run-at document-start
  6. // @author rssaromeo
  7. // @license GPLv3
  8. // @match *://*/*
  9. // @include *
  10. // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAgMAAADXB5lNAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAxQTFRFAAAA1LIZh3EQ//7+4yuyIQAAAAR0Uk5TAP///7MtQIgAAAFXSURBVHictZM9coQwDIWtgiP4NGnYInUo7NPlCPbO0KeA+/gILsh7shGQzSZpwuww6w/pSdaPOD5+xGvL/Ct8DZPiOu9ADboJgQTXnrI2AA8J/Ewfgqg2JEkBTioCB/yEHj1Koo8whn8lqe8r3ACihJZYyjASSAxTbC4JIgIJf2uJlI+5zgIJ+FA+lCVvGeAWJCSmU9ZEgO8GgISaw6SgQqIIY9ptCRBkjP22kKiiQez6aRME6Vfh9XfAyiARSCwSGSapAcIg9Yiob7nV/oWpPwI/ngBS/x7cA5N4BqI7AZeeABP9N/C3u/wMfq8YinwAFFnbcFR9eewLWnnt3DFRqNGCZn/pftGBucyH0+Z2CY6UO8ZDRXQsDegUmkQTITiNFEcbRwurw4+jRWnr4cfuU9a2QPiuJjjZzqlK0j3kVjJs5NfT3u5R+qrHvRzuuvutbs5M1MB9Akq0BTbMKt+oAAAAAElFTkSuQmCC
  11. // @grant none
  12. // @tag lib
  13. // @namespace https://greasyfork.org/users/1184528
  14. // ==/UserScript==
  15. ;(async () => {
  16. await loadlib("libloader").waitforlib("scratchextesnsionmanager")
  17. // debugger
  18. const { newext, newmenu, newblock, bt, inp, gettarget, totype } =
  19. loadlib("scratchextesnsionmanager")
  20.  
  21. newext(
  22. "clipboard",
  23. "rssaromeo",
  24. class {
  25. setclipcmd({ a: text }) {
  26. navigator.clipboard.writeText(text)
  27. }
  28. async setclipbool({ a: text }) {
  29. try {
  30. await navigator.clipboard.writeText(text)
  31. return true
  32. } catch (error) {
  33. return false
  34. }
  35. }
  36. async getclip() {
  37. return await navigator.clipboard.readText()
  38. }
  39. },
  40. [
  41. newblock(bt.cmd, "setclipcmd", "try to set the clipboard [a]", [
  42. [inp.str, "new clipboard text"],
  43. ]),
  44. newblock(bt.bool, "setclipbool", "set the clipboard [a]", [
  45. [inp.str, "new clipboard text"],
  46. ]),
  47. newblock(bt.ret, "getclip", "clip"),
  48. ],
  49. "bb9e16",
  50. "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAgMAAADXB5lNAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAxQTFRFAAAA1LIZh3EQ//7+4yuyIQAAAAR0Uk5TAP///7MtQIgAAAFXSURBVHictZM9coQwDIWtgiP4NGnYInUo7NPlCPbO0KeA+/gILsh7shGQzSZpwuww6w/pSdaPOD5+xGvL/Ct8DZPiOu9ADboJgQTXnrI2AA8J/Ewfgqg2JEkBTioCB/yEHj1Koo8whn8lqe8r3ACihJZYyjASSAxTbC4JIgIJf2uJlI+5zgIJ+FA+lCVvGeAWJCSmU9ZEgO8GgISaw6SgQqIIY9ptCRBkjP22kKiiQez6aRME6Vfh9XfAyiARSCwSGSapAcIg9Yiob7nV/oWpPwI/ngBS/x7cA5N4BqI7AZeeABP9N/C3u/wMfq8YinwAFFnbcFR9eewLWnnt3DFRqNGCZn/pftGBucyH0+Z2CY6UO8ZDRXQsDegUmkQTITiNFEcbRwurw4+jRWnr4cfuU9a2QPiuJjjZzqlK0j3kVjJs5NfT3u5R+qrHvRzuuvutbs5M1MB9Akq0BTbMKt+oAAAAAElFTkSuQmCC"
  51. )
  52. })()