Skip Navigation
pub.dev xterm | Flutter Package

xterm.dart is a fast and fully-featured terminal emulator for Flutter applications, with support for mobile and desktop platforms.

This looks super-cool, maybe could be useful to some :)

0

Hey folks! I hope you're having a lovely day. I was using the "Lemmings fix" by @soy@lemmy.world for a while now and have been improving it to tailor my needs.

This one

  • works even when browsing remote instances on remote instances
  • adds the redirect button to the "sidebar"/community card
  • works on mobile, too

Here are a couple of screenshots:

! !

Here's the code (modify localLemmy before using):

```js // ==UserScript== // @name Lemmings Fix // @version 1.1 // @description Redirect to your local Lemmy instance // @author @lemmy.world/u/soy, @lemmy.world/u/fperson // @match https:///c/ // @icon https://join-lemmy.org/static/assets/icons/favicon.svg // ==/UserScript==

(function () { 'use strict';

const localLemmy = 'lemmy.world'; const isLemmy = document.head.querySelector('[name~=Description][content]').content === 'Lemmy';

if (!isLemmy) { return; }

// Get URL info const splitUrl = location.href.split('/'); const instanceUrl = splitUrl[2]; const community = splitUrl[4]; let localizedUrl = https://${localLemmy}/c/${community}; if (!community.includes('@')) { localizedUrl = ${localizedUrl}@${instanceUrl}; }

// Create redirect button if not on local if (instanceUrl !== localLemmy) { var zNode = document.createElement('a'); // create anchor tag zNode.href = localizedUrl; // set the href zNode.textContent = Open in ${localLemmy}; // set the text zNode.id = 'localizeContainer'; // set the id // update styles for a more modern look zNode.style = display: inline-block; cursor: pointer; padding: 5px 20px; background-color: #007BFF; color: #FFF; text-decoration: none; border-radius: 5px; border: none; box-shadow: 0 2px 5px rgba(0,0,0,0.15); font-size: 1rem; font-weight: bold; transition: background-color 0.3s ease; top: 5rem; right: 1rem; z-index: 1000; ; zNode.addEventListener('mouseenter', function () { this.style.backgroundColor = '#0056b3'; }); zNode.addEventListener('mouseleave', function () { this.style.backgroundColor = '#007BFF'; });

function addButtonIfNotPresent(node) { const link = node.querySelector('a[href*="/create_post"]'); if (link && !link.parentNode.querySelector('#localizeContainer')) { var zNode = document.createElement('a'); zNode.href = localizedUrl; zNode.textContent = Open in ${localLemmy}; zNode.id = 'localizeContainer'; zNode.style = display: inline-block; cursor: pointer; padding: 5px 20px; background-color: #007BFF; color: #FFF; text-decoration: none; border-radius: 5px; border: none; box-shadow: 0 2px 5px rgba(0,0,0,0.15); font-size: 1rem; font-weight: bold; transition: background-color 0.3s ease; top: 5rem; right: 1rem; z-index: 1000; ; zNode.addEventListener('mouseenter', function () { this.style.backgroundColor = '#0056b3'; }); zNode.addEventListener('mouseleave', function () { this.style.backgroundColor = '#007BFF'; });

link.parentNode.appendChild(zNode); } }

const observer = new MutationObserver(function (mutationsList, observer) { for (let mutation of mutationsList) { if (mutation.type === 'childList') { mutation.addedNodes.forEach((node) => { if (node.nodeType === 1) { addButtonIfNotPresent(node); } }); } } });

// Options for the observer (which mutations to observe) const config = { childList: true, subtree: true };

// Target node to observe const targetNode = document.body;

// Start observing the target node for configured mutations observer.observe(targetNode, config);

// Run initial check document.querySelectorAll('.card-body').forEach(addButtonIfNotPresent); } })(); ```

0
lemmy.world Dart Programming Language - Lemmy.World

This sublemmy is a place for everything related to the Dart programming language and its tools besides Flutter (use !flutter@programming.dev [/c/flutter@programming.dev] [https://lemmy.world/c/flutter@programming.dev] for that)

Hey folks! I hope you're having a lovely day. I created a sublemmy for Dart; feel free to join at !dartlang@lemmy.world!

Edit: Add relative link

0