@consint Oh yeah, that would be cool 😉️ As I understand their response, they are currently afraid of the effort and fear that the market is too small to justify it. Personally, I think it takes some idealism and a bit of good will to offer #audio#plugins for #linux as a #windows / #macos vendor. But I find it strange when vendors do not have at least some sympathy for Linux, #opensource and the #linuxaudio community in general. Which is not to say that I think the latter applies to d16.
Presenting: Quick send, a Misskey (and forks) plugin! (Tested in Sharkey)
This plugin lets you quickly send notes to select users! :blobcat_spin:
It works by adding users to a send list. Simply click the 3 dots on their profile (either on their profile page, or in the on hover preview), and at the very bottom you'll see an option to add them (or remove them).
Then, on any note, click on the 3 dots, and at the bottom you'll have a button for each user you've added. :neocat_bongo_down:
There are also options for clearing the list, and in the plugin's settings you can tell it to ask for confirmation, or to show a success dialog box.
To install go to settings > plugins > install and paste the source code:
/// @0.18.0
// This is licensed under MIT
### {
name: "Quick send"
version: "1.0.1"
author: "@linuxenjoyer@blahaj.zone"
description: "Send a note to your besties quickly"
permissions: [ "write:notes" ]
config: {
show_success: {
type: "boolean"
label: "Show success dialog"
description: "Makes a dialog pop up saying that it was sent. I'm not exactly sure how to do error handling, this is more to make sure the plugin didn't randomly crash."
default: false
}
ask_confirmation: {
type: "boolean"
label: "Ask for confirmation"
description: "Asks you if your really want to send the post."
default: false
}
}
}
@save(obj) {
Mk:save("user_send_list", obj)
}
@load() {
var ls = Mk:load("user_send_list")
if (ls == null) {
save({})
ls = {}
}
ls
}
// Simple function to format a username
@formatUsername(user) {
var username = `@{user.username}`
if (user.host != null) {
username = `{username}@{user.host}`
}
username
}
@sendNote(note, userId) {
// This is based on blahaj.zone's api-doc (sharkey)
let res = Mk:api("notes/create" {
visibility: "specified"
renoteId: note.id
visibleUserIds: [ userId ]
})
// TODO: Figure out error handling
true
}
@getAction(username, userId) {
@(note) {
var should_send = !Plugin:config.ask_confirmation
if (!should_send) {
should_send = Mk:confirm(`Send post to {user}?` "" "question")
}
if (should_send) {
let ok = sendNote(note, userId)
// This is a little ugly but idrk how to tidy it up
if (ok) {
if (Plugin:config.show_success) {
Mk:dialog(`Sent note to {username}`, "", "success")
}
} else {
Mk:dialog(`There was an error sending the note to {username}`, "", "error")
}
}
}
}
// Underscores bc it's in global scope
let __ls = load()
each (let usr, Obj:keys(__ls)) {
Plugin:register_note_action(`Send to {usr}`, getAction(usr, __ls[usr]))
}
Plugin:register_user_action("Add user to send list", @(user) {
let username = formatUsername(user)
let ls = load()
if (ls[username] != null) {
Mk:dialog(`{username} is already on the send list`, "", "error")
} else {
ls[username] = user.id
save(ls)
Mk:dialog(`Added {username} to the send list!`, "You might have to refresh to see the changes", "success")
}
})
Plugin:register_user_action("Remove user from send list" @(user) {
let username = formatUsername(user)
let ls = load()
if (ls[username] == null) {
Mk:dialog(`{username} is not on the send list`, "", "error")
} else {
ls[username] = null
save(ls)
Mk:dialog(`Removed {username} from the send list!`, "You might have to refresh to see the changes", "success")
}
})
Plugin:register_note_action("Clear user send list" @(note){
if (Mk:confirm("Are you sure you want to clear the list?", "There's no way to undo this", "warning")) {
save({})
Mk:dialog("List cleared", "You might have to refresh to see the changes", "success")
}
})
Plugin:register_user_action("Clear user send list" @(user){
if (Mk:confirm("Are you sure you want to clear the list?", "There's no way to undo this", "warning")) {
save({})
Mk:dialog("List cleared", "You might have to refresh to see the changes", "success")
}
})
It'll ask for permissions to create notes (it needs this to be able to send stuff) :blobcat_code:
If you found it useful or have feature ideas/patches let me know :neocat_melt_reach:
THE ELKA PANTHER ORGAN (Elka Panthera pardus organum) HAS NOW BEEN TAMED AND PUT ON A LEASH AS A VST/AU PLUG-IN FOR BOTH WINDOWS AND MAC PLATFORMS. THIS BIG ..
Damn, I'm not rich enough to buy all those new #linuxaudio#plugins, even though I'd really like to (in most cases). And if only to support the vendors in going the #linux way. 😝️
On a scale of 1 to 4, how satisfied are you with the #software available for #linux in your particular area of interest? For me it would be somewhere between 2 and 3. #linuxaudio#apps#plugins
@Bebef Oh, mostly #plugins for #musicproduction. But I can't complain, I already have enough toys. 😝️ I would like to see Acon Digital's Acoustica come to Linux, as I could never get used to Audacity. Otherwise, I took the plunge and found an #opensource alternative for everything I used to use on macOS. And I can't stress enough how happy I am now with my setup. I had to learn a lot, which was great too. I am super thankful for Linux and the entire open source community. 😊️
WordPress folks: how do you find new plugins? Do you search Google? Search on Wordpress.org? Search from within wp-admin? Recommendations? Something else?
I work on the plugin directory, and I’d like to hear your thoughts.
Oh look it works again, thought when it wanted to access #X anonymously it didn't work anymore. Apparently it now works again like on #Twitter and you can distribute its anonym here in the #Fediverse over a #Nitter instance. It's more convenient to avoid the data collection frenzy of this #web recording for your #privacy.
I like to build websites using WordPress mostly because of the abundance of useful plugins available. But why can't the plugin developers recognise that they are part of an ecosystem and they don't have to bundle every single feature into their own plugin.
So many are trying to do EVERYTHING. It's like being in a room of screaming toddlers all trying to get your attention. #wordpress#plugins
Jeśli ktoś dużo pisze, polecam narzędzie https://languagetool.org/pl
Świetnie radzi sobie z korygowaniem błędów. Można wprowadzić również własne zasady (ja tak odsiewam słowa, które mam w zwyczaju nadużywać). Podwójne kliknięcie wyrazu rozwija propozycję synonimów. W wersji dla tekstu angielskiego można użyć również AI do przebudowania konstrukcji zdania, nadając mu np. inny ton. Również w postaci wtyczek do podstawowych edytorów tekstów czy przeglądarek. Dyszka za miesiąc.
@m0bi13 co do samych przeglądarek, to wolę #opera Bardzo przypadła mi ta przeglądarka do gustu. Ostatecznie dziś większość #plugins można zainstalować praktycznie w każdej przeglądarce. Niedawno LT wprowadziło statystyki, zgłaszałem im błąd — źle liczy mi dokumenty google. Najprawdopodobniej to właśnie wina opery. Swoją drogą to nie pierwszy raz jak piszę do supportu LT i zawsze szybko odpowiadają i działają. :)
@m0bi13 to dopytam, bo z #mastodon zaczynam przygodę dopiero, a nie rozglądałem się na dobre... Jakieś polecane #plugins pod przeglądarki (laptop) i #aplikacja na #android do przeglądania i pisania?
Obecnie na telefonie zrobiłem sobie skrót do strony pol.social przez przeglądarke na pulpicie.
ELKA PANTHER VST/AU instrument demo made by Soundion & Martinic. (www.youtube.com)
THE ELKA PANTHER ORGAN (Elka Panthera pardus organum) HAS NOW BEEN TAMED AND PUT ON A LEASH AS A VST/AU PLUG-IN FOR BOTH WINDOWS AND MAC PLATFORMS. THIS BIG ..