Adds a new context menu to ebay conversations that adds the ability to maximize it, or export it as a PNG or PDF.

Example of me exporting an abysmal conversation with a seller about a flawed product:

| /* | |
| rgb(from var(--v-card-background-color) calc(r - 75) g b / 50%) | |
| rgb(from var(--v-card-heading-base) calc(r + 40) calc(g + 40) b / 50%) | |
| --v-card-background-color | |
| */ | |
| /* BG Animation */ | |
| :root { |
| // ==UserScript== | |
| // @name Remove all3dp adblocker wall | |
| // @namespace http://tampermonkey.net/ | |
| // @version 0.1 | |
| // @description Remove the irritating modal that All3DP displays until it decides you've disabled addblocker | |
| // @author Justin Hyland | |
| // @match https://all3dp.com/* | |
| // @icon https://www.google.com/s2/favicons?sz=64&domain=all3dp.com | |
| // @require https://gist.githubusercontent.com/jhyland87/b28636effabfc69e316281b004777adf/raw/77699d2539b91a842468b12bf52861f6bf6f4a64/tampermonkey-utilities.js | |
| // @grant none |
| #!/usr/bin/env gawk -f | |
| BEGIN { | |
| n = 0 | |
| reset = "\033[0m" | |
| if (c_line != "") c_line = "\033[" c_line "m" | |
| if (c_label != "") c_label = "\033[" c_label "m" | |
| if (c_time != "") c_time = "\033[" c_time "m" | |
| if (c_axis != "") c_axis = "\033[" c_axis "m" | |
| } | |
| { |
| #include <Arduino.h> | |
| #include <Wire.h> | |
| #include <QMI8658.h> | |
| #include <arduinoFFT.h> | |
| #define SDA_PIN 8 | |
| #define SCL_PIN 9 | |
| // ================= SETTINGS ================= | |
| static constexpr uint16_t N = 256; // FFT size |
| #!/usr/bin/env python3 | |
| """ | |
| Script to replace font sizes in KiCad .kicad_sym files. | |
| Specifically replaces instances where font size is set to 1.27 with a new value. | |
| Usage: | |
| python replace_font_size.py <input_file> <new_size> [output_file] | |
| If output_file is not specified, the input file will be modified in place. | |
| const selectMode = () => { | |
| const selectModeButton = document.querySelector('[data-test="select-mode"]'); | |
| if ( ! selectModeButton ) | |
| throw new Error('No select mode button found') | |
| if ( selectModeButton.textContent === 'Cancel' ) { | |
| console.log('Already in select model') | |
| return; | |
| } |
| /** | |
| * Wait For Element - Creates a MutationObserver to watch for an element to be created. | |
| * | |
| * @param {object|string} selectorObj - The object with the selector and other params; Can also be a string | |
| * value of the selector. | |
| * @property {string} [selectorObj.selector] - The string to use as the querySelector value. | |
| * @property {boolean} [selectorObj.multiple] - Determines if the mutation observer should be removed after | |
| * the first match or not. | |
| * @property {boolean} [selectorObj.verbose] - If true, some debug logs will be output to console. | |
| * @see https://stackoverflow.com/a/61511955/1596569 |
| import requests | |
| import sys | |
| search_string = sys.argv[1] | |
| headers = { | |
| 'accept': 'application/json, text/javascript, */*; q=0.01', | |
| 'referer': 'https://www.laboratoriumdiscounter.nl/en/', | |
| 'x-requested-with': 'XMLHttpRequest', | |
| } |