this post was submitted on 18 Jun 2023
7 points (100.0% liked)

Fediverse

17710 readers
4 users here now

A community dedicated to fediverse news and discussion.

Fediverse is a portmanteau of "federation" and "universe".

Getting started on Fediverse;

founded 5 years ago
MODERATORS
 

Right now I'm using the Lemmy Modern UI extension from the Firefox WebStore. What are some others I should get as well?

you are viewing a single comment's thread
view the rest of the comments
[–] giddy@beehaw.org 1 points 1 year ago* (last edited 1 year ago) (2 children)

I use a custom script to open all post and external links on the front page in a new tab. Based on a script I found online but customised to beehaw specifically.

// ==UserScript==
// @name         beehaw - Open links in new tab
// @description  Open links in new tab. Ctrl-click or Middle-click loads it in background
// @match      http*://*beehaw.org/home*
// @match      http*://*beehaw.org
// @version      0.0.1
// @grant        GM_openInTab
// @run-at       document-start
// ==/UserScript==

var suppressing, clickedElement;

window.addEventListener('mousedown', function (e) {
  clickedElement = e.target;
}, true);

window.addEventListener('mouseup', function (e) {
  if (e.button > 1 || e.altKey || e.target != clickedElement) {
    return;
  }
  var link = e.target.closest('a');

  if (!link || !link.href) {
      return;
  }

  if (link.getAttributeNode('aria-label') && link.getAttributeNode('aria-label').value == 'Expand here') {
      return;
  }

  if (link.href.startsWith('https://beehaw.org') && !link.href.startsWith('https://beehaw.org/post/')) {
    return;
  }

  GM_openInTab(link.href, {
    active: !e.button && !e.ctrlKey,
    setParent: true,
    insert: true,
  });
  suppressing = true;
  setTimeout(function () {
    window.dispatchEvent(new MouseEvent('mouseup', {bubbles: true}));
  });
  prevent(e);
}, true);

window.addEventListener('click', prevent, true);
window.addEventListener('auxclick', prevent, true);

function prevent(e) {
  if (!suppressing) {
    return;
  }
  e.preventDefault();
  e.stopPropagation();
  e.stopImmediatePropagation();
  setTimeout(function () {
    suppressing = false;
  }, 100);
}

[–] Limeey@beehaw.org 1 points 1 year ago (1 children)

I really appreciated this script. I did some modifications so it works on any Lemmy instance and updated it for GM 4.0+

I created a GreasyFork install here, you're the OG author to me, but if you find who you took it from initially let me know and I'll add them to the authorship.

Thanks again!

[–] boomboxnation@beehaw.org 1 points 1 year ago

Thank you. This really should be a user profile option. Here's hoping.