Greasy Fork

Greasy Fork is available in English.

Poe Optimize

This script removes the width and max-width properties from all sections with class PageWithSidebarLayout_mainSection__i1yOg and enlarges the chat input box. It also automatically moves the focus to the chat input box when the user types.

目前为 2023-04-20 提交的版本。查看 最新版本

// ==UserScript==
// @name         Poe Optimize
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  This script removes the width and max-width properties from all sections with class PageWithSidebarLayout_mainSection__i1yOg and enlarges the chat input box. It also automatically moves the focus to the chat input box when the user types.
// @author       Cursor & Mason
// @match        *://poe.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=poe.com
// @grant        none
// @license      MIT
// ==/UserScript==

(function () {
    'use strict';

    // Get all sections with class PageWithSidebarLayout_mainSection__i1yOg
    const sections = document.querySelectorAll('[class^="PageWithSidebarLayout_mainSection"]');
    console.log(sections); // 打印检索到的sections以供调试

    // Loop through each section and remove the width and max-width properties
    sections.forEach(section => {
        console.log('Processing element with class:', section.className);
        // 强制设置,不允许后续有修改
        section.style.setProperty('width', 'unset', 'important');
        section.style.setProperty('max-width', 'unset', 'important');
    });

    // Find the textarea element with class starting with ChatMessageInputView_textInput
    const chatInput = document.querySelector('textarea[class^="ChatMessageInputView_textInput"]');
    console.log(chatInput); // 打印检索到的chatInput以供调试

    // Add an event listener to the document that listens for user input
    document.addEventListener('keypress', event => {
        // If the target of the input event is the chatInput element and it does not have focus, set focus to it
        if (!chatInput.matches(':focus')) {
            chatInput.focus();
        }
    });
})();