Why (at least some) Linux sucks

After the so-many-improvements-in-Cinnamon-5.4-that-it-fell-on-its-ass fiasco I decided it might be time for me to look for a different distro, something definitely NOT spiced. So yesterday afternoon I started to look for other distros, something fairly new but still holding onto the old ways or at least heavily customizable.

In the process an additional idea came to my mind: to search for uncommon, less known distros, and while at that also stumbled into some less known to me desktop environments (DEs). One of these drew my attention: Trinity.
So I decided I’d download whatever available that provides the Trinity DE by default but still downloaded a plethora of other different distros too.

The download operation took place in two stages since I had to take a nap in the mean time. Second stage was today, starting at about 1 PM. Downloads were started from the notebook – as I also was checking my mail while waiting for downloads to finish – but files were being saved to the shared folder on the other machine. No, I couldn’t make use of the torrent links where available because in 2022 Linux cannot map networked drives as Windows used to do since 95 (or 98), and the torrent applications just can’t deal with shared network folders so they simply pretend those don’t exist. Yay Linux! sick Anyway, after all planned downloads finished I thought it might be a good idea to check for updates on both machines before anything else.

Started with the notebook. Everything went fine except for Firefox 103 which failed on the local mirror. Installed the others then attempted to check the mirrors and if needed switch to a working one. However the dialog refused to show the lists. During update there had been a few messages about certain libraries not being symbolic links, which I kinda knew because it was me to install them (long story) so after a couple retries I let it be figuring I’d see about that later on. So I moved the USB modem to the desktop machine (because I, and most likely Linux itself, don’t know a way to bridge two local networks in order to share the Internet connection) and performed the latest updates there. Then obviously started the installation of VirtualBox in order to test each downloaded distro, live if possible otherwise install/test/wipe/next.

And here it started the daisy-chained bad luck. No, VBox 6.1 – latest available freshly downloaded earlier – installed just fine in the week-old Mint 21 Cinnamon. Extension Pack also installed without a hitch. Things were looking up. But when trying to create a virtual disk for Gobolinux I was puzzled by the strange option of 32bit-only OS types. After a few seconds I ignored it, and finishing the setup I tried to start the virtual machine. That’s when it barfed the error that VT-x was not available. Didn’t know exactly what that meant, assumed it could be some problem with VBox so abandoned it and tried to install some recent version of VMWare Player I had around.

But what the hell is a .bundle file and how to install it?!? There was a “how to” text file containing some instructions in French – which I mostly understand – but they were incomplete. Didn’t work. A quick web search brought the correct procedure… or almost, as even there people had slightly different opinions. Tried both until it worked. It was strange seeing "sudo [...] command not found" with first “solution”. Who ever comes up with these stupidly out-of-context error messages anyway…

Nevermind. Made the VMWare package executable with chmod a+x [filename], ran it with sudo sh [filename] and it started installing. Shortly after it hit the breaks and told me the same story: VT-x unavailable, should I continue installation [just for kicks as it wouldn’t work anyway]? This time I got it and said no. Definitely there was something missing.

Another web search provided the necessary hint: VT-x was a CPU virtualization capability. Checking my Intel Core2 Duo E7200 on the Intel site returned the confirmation: it was not implemented. I needed an alternative. And here’s when it got thicker: based on certain reports on the web I decided to try installing the latest 5.2 version of VBox which they said didn’t require VT-x as it does some kind of translation. Already had it at hand, but its compatibility stopped at Ubuntu 20-something. Never was afraid of doing uncommon things so what the hell – tried installing it in Mint 21.

If only it was that easy! GDebi started complaining about missing dependencies. First libssl1.1; not available in Mint 21 so downloaded and installed libssl1.1_1.1.1f-ubuntu2.16_amd64.deb from Ubuntu 20. Then libvpx5, so downloaded and installed libvpx5_1.7.0-3ubuntu0.18.04.1_amd64.deb from Ubuntu 18. Then GDebi got pissed off and stopped telling me what was missing – orange/red in the face just stood there quietly. Knew I should take a different approach so opened the Terminal and launched the VBox 5.2 package through sudo dpkg -i [filename].

That’s when the truth came to light:
dragos@HPdc7800:~/Downloads$ sudo dpkg -i ./virtualbox-5.2_5.2.44-139111~Ubuntu~bionic_amd64.deb
Selecting previously unselected package virtualbox-5.2.
(Reading database ... 356119 files and directories currently installed.)
Preparing to unpack .../virtualbox-5.2_5.2.44-139111~Ubuntu~bionic_amd64.deb ...
Unpacking virtualbox-5.2 (5.2.44-139111~Ubuntu~bionic) ...
dpkg: dependency problems prevent configuration of virtualbox-5.2:
virtualbox-5.2 depends on libqt5opengl5 (>= 5.0.2); however:
Package libqt5opengl5 is not installed.
virtualbox-5.2 depends on libqt5printsupport5 (>= 5.0.2); however:
Package libqt5printsupport5 is not installed.
virtualbox-5.2 depends on libqt5x11extras5 (>= 5.6.0); however:
Package libqt5x11extras5 is not installed.
virtualbox-5.2 depends on libsdl1.2debian (>= 1.2.11); however:
Package libsdl1.2debian is not installed.
virtualbox-5.2 depends on python (<= 2.7); however:
Package python is not installed.
virtualbox-5.2 depends on python:any (>= 2.6.6-7~).

dpkg: error processing package virtualbox-5.2 (--install):
dependency problems - leaving unconfigured

Now I remembered it also wanted the Qt5 files earlier when installing VBox 6.1 and installed them, but automaticall uninstalled them while uninstalling VBox. Stupid OS! Most times additional libraries remain installed bloating the system, and when I do need them to stay installed it wipes them out. And why didn’t that son of a bitch GDebi automatically pull those in just as it did previously with v6.1?! Fuck! thumbs down

Anyway, fired up Synaptic, marked the libqt5 files for installation together with the python 2.7 ones but there was no 64bit libsdl1.2 available – only the 32bit. WTF?!? So back to the web, download the right file (libsdl1.2debian_1.2.15+dfsg2-6_amd64.deb) and install it through GDebi right from browser’s download bar. Oh wait – the highlander install police rolling eyes says there can be only one. Either GDebi or Synaptic. Developers just can’t multitask in their brains so why should software do it. So close GDebi, go ahead with the marked items in Synaptic – which takes its sweet time everytime – then close Synaptic and start installing libsdl through GDebi again. Because fuck command line, my brains are already mush, can’t remember all that convoluted syntax for each and every distinct operation.

Attempted installing VBox again just to be stubbornly told there was no python[2] installed. Whadda fuck?!? I had just installed it!!! OK, started Synaptic – again! – to double-check the Python2 files, maybe there was something missing. Found a python-all, marked it and installed it. Attempted VBox install again, with the same negative result. Thought I should check who exactly replies when calling for python so ran python --version in Terminal. Result:

dragos@HPdc7800:~/Downloads$ python --version
Command 'python' not found, did you mean:
command 'python3' from deb python3
command 'python' from deb python-is-python3

Uhm, thank you for the hint. So there is no python command per se, but also do not want python-is-python3 because the application specifically requests Python2, which leaves me “shopping” for python-is-python2:

dragos@HPdc7800:~/Downloads$ sudo apt-get install python-is-python2
E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 14581 (synaptic)
N: Be aware that removing the lock file is not a solution and may break your system.
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

Fuck me dead! Again the attack of the single-tasking brains! Close Synaptic, retry the command line. Finally the insignificant thing installed. Attempted installing VBox for the Nth time. No more python missing error, no other dependency error but… yeah, can’t build some kernel modules whatever. Some undefined flag.

Checked the web, again. Known issue in the past. Supposedly an unnecessary header file was still included, and in the newer version it didn’t define that flag (something with _IOCTL). Found an old header on the web, copied the flag (actually two, kinda similar) and pasted into the new header. Obviously by opening a second session of the file manager as root in order to edit a system file, because I’m not the master of the computer but precisely the other way around. not worthy Another attempt at installing VBox took it a bit further but, again, another error stopped it in its tracks. This time it wasn’t a trivial copy/paste or such, so after definitive documentation on the subject somewhere on the Oracle site – along the lines of “we don’t give a flyin’ fuck, 5.2 is out of support so get over it” – I understood it was time to give up trying to check other Linux distros and just call it a day.

But that was not to be the end of it. When bringing back the USB modem (K4607-Z from ZTE) to the notebook the fucker wouldn’t recognize it properly anymore! Just like the last time, in same circumstances, instead of the usual enp0s29u1u2u1 – whoever allows these internal names to penetrate outside to the user should be shot in the head! – it insisted on calling it usb0, which doesn’t actually match anything, and the connection will never ever get through, more so when it picks up any possible local IP except for the unique one that the hardware usually assigns to it (since it works as some kind of a virtual LAN).

So I unplugged and plugged it again a few times, to no avail. Deleted network connections and created new ones. Manually set the necessary fixed IP (that it usually was given automatically without user intervention). No budge – it wouldn’t connect.

Went Windows sheep user – or plain bovine cow, all the same – and rebooted the machine (with the “thing” connected). No change, still as usb0, still wrong IP, still no connection. Hey Mint Team: any hiccups earlier this evening…? whistling
Unplugged the damn thing again and rebooted a second time, without it, then plugged it back right after the POST screen. This time it connected during boot as it usually does… but not as the usual enp0s29u1u2u1 – it’s now enp0s29u1u2u2. What the hell happened and how to fix it?! Fuck me if I know! This kind of shit never happened in Windows[1] but it already happened a few times in Linux. Mint. And obviously won’t be fixed and backported to 19.2, because.

So fuck it. I need a new computer and a new operating system. No, actually I need another life altogether. sigh By the way… I had (and still have) a very old AMD Duron machine, a CPU that doesn’t even have SSE (!!!) not to mention VT-x or other “modern” mumbo-jumbo; that machine ran XP Pro and had some version of VirtualPC where I used to test Windows 95 and 98 (not enough RAM for higher guest versions). Guess ultimately progress bites everybody in the ass. I’d rather have it kiss me in the ass though…

(2022.08.10, 00:13)

P.S. Forgot to say I even considered temporarily downgrading the kernel to something less than 5.8 (which is where issues with VBox began) so that I could at least review those distros, but why should such option be present in a “modern” Linux. “Progress” at any cost (for the sucker user). And no, if there somehow is such option in a manual way (such as force-installing through Terminal) I don’t know it and wouldn’t remember it anyway by tomorrow.

P.P.S. Also forgot to say that after all this ordeal that took all in all about seven hours somebody “up there” decided to give the whole neighborhood a break. So… suddenly lights out for about half an hour. And right now at the time of typing this the relays in the – unfortunately useless already – UPSes started ticking again, meaning there is serious voltage fluctuation in the power network and there may be another blackout soon. Reminds me of the good ol’ times in the 80s when blackouts were the standard…

[1] Actually it does, Windows increases the ID of the detected device when plugged into a different port but handles this internally in a seamless way so the user has no idea and things just work. Or at least they used to, when Windows still was “normal”.

New useless but funny applet: Cinn’r eyes

Dunno how and why I remembered but I did. Why now? No idea.
It’s something that seems so old. Maybe as old as Windows 98. Or maybe not.
It’s a gimmick. A pair of eyeballs that appear to follow the mouse pointer.
Not Big Brother – just a funny brother at best. Useless too. Or not so much since v0.2.0.0.

This was initially a Gnome extension. Similar enough to Cinnamon x-lets. One would’ve thought it has already been ported. Apparently not. Or I missed it. Or it was and later on became obsolete. Don’t know, don’t care.

Today (June 17, 2022) got bored, found the extension and started porting it to Cinnamon. It all went pretty fast. At least for my very slow mind. And I did check out the license too – that’s how bored I was! yawn GPL v3, good enough.

As such there it is the first version of the ported extension: Cinn’r eyes (read sinner eyes).
Original one – or at least the one I adapted – was Glasa, made by Markus Pawellek AKA lyrahgames.

Changes from the original:
– moved some constants to settings for a flexible configuration
– fixed a slight out of bounds issue at certain icon sizes
– colorized the eyes
– added ability to change iris color, icon/image size, and other aspects of the graphics
– added ability to stop/start eye movement (doesn’t quite work correctly)
– changed tooltip message

– added hardcoded limits for icon size
– added ability to show Expo and Overview (click / Ctrl+click)
– added ability to switch workplaces (Ctrl + mouse scroll)
– added tooltip info when changing icon size or switching workspaces
– added ‘spooky’ mode

v0.2.0.1 (bugfix)
– fixed accidentally duplicated timer name

v0.2.0.2 (bugfix)
– attempted fix at wrong spooky mode behavior in panels other than top-sided

– refactored the Settings window
– added option to show workspace name in tooltip (only when workspace switching is enabled)
– added a ‘panic button’ that resets all drawing (icon) values to default

– fixed a cairo bug littering the xsession-errors log

– fixed tooltip not displaying correct workspace after being switched by other means
– fixed icon size calculation bug with custom getRange() & rangeCheck() functions

The size of the icon can be changed on-the-fly by mouse scroll over it if overriding default size is enabled in Settings.


Spooky mode:

Settings window:

Direct download link: Cinn’r eyes

Old versions:
Cinn’r eyes
Cinn’r eyes
Cinn’r eyes
Cinn’r eyes
Cinn’r eyes
Cinn’r eyes

It’s been tested in Linux Mint Cinnamon 19.2 and 20.2. Hopefully it works for you too, if you care to try it.
Enjoy! thumbs up

New applet mod for Linux Mint Cinnamon: betterlockPlus

This is the second attempt at improving a Linux Mint Cinnamon applet; a “spice” – as they call it. An applet is nothing more than a sort of a script, or better said a collection of scripts mainly written in javascript with possible Python connections and JSON settings, accessible through one or more icons residing in the Panel (or Taskbar as it’s called in MS Windows).

This one is a multiple indicator for the state of the lock keys on the keyboard: Num Lock, Caps Lock and Scroll Lock. While regular (external) keyboards may still sport LEDs showing these keys’ state, laptops/notebooks and other devices are very scarce with these indicators and in certain models they lack completely. Many people – me included – wasted time and got mad after realizing they’ve been typing a lot of text in Capitals, for example, when Caps Lock got accidentally hit. Or accidentally disabling Num Lock – not to mention in Linux Mint and possibly other distros it is disabled at startup and requires the installation of an additional package (numlockx) that for mysterious reason is not installed and enabled by default – which makes one type numbers and perform calculations only to notice they instead just scroll the page in all directions or whatever effect may have.

Scroll Lock doesn’t even get included in Ubuntu and derivatives’ keyboard layouts! No idea what the reason may be, but it’s possible people may need it in some application. At least on the specific Spices page for this applet there is a request for the implementation of a Scroll Lock notifier, something I saw only after having implemented it. So maybe at least for another person I haven’t worked in vain.
Sure, there is a recent attempt at implementing this, found out also after having done it while looking for some license for the original package to get my ass covered in case anyone cried for rights. No idea how it looks like, didn’t bother to look at the code but I’m fairly sure it’s much simpler than what I did here. Or maybe I’m wrong, dunno. Whatever.

Now what I did to improve over the current code as found in the official Spices repository at the time of starting the changes (few days ago, mid May 2022):
– added Scroll Lock indicator icon
– added individual tooltip (shows only hovered icon’s state)
– added ability to customize icon size (between 12px and 48px)
– added ability to change icons’ colors
– added automatic orientation based on icon size and panel height/width
– added automatic addition/removal of menu items according to enabled indicators

A few details about the above changes.
The addition of the Scroll Lock icon is self-explanatory. It should all be just like it used to be at least on legacy keyboards, regardless of whether the user needs all indicators or not. At any time any of the indicator icons can be disabled (hidden) if the user doesn’t want them, by means of the configuration panel. By the way, I’m inclined to redo that panel more in the way I did with Applet PYE: toggle buttons with icons instead of the dropdown list. I find it to look more elegant that way. We’ll see (what do you think…?).

The individual tooltip is just an ordinary tooltip that displays the state of the currently hovered icon. I’ve seen an attempt at a tooltip that was displaying all states at once; actually it was just Num Lock and Caps Lock. Didn’t like that, wanted it to be strict, so the user would know precisely what the currently hovered icon is for and what its state is, although that should arguably be understood from the appearance of the icon.

The ability to customize icon size could be seen as too fancy, superfluous or even damaging to the aspect of the entire Panel, for some. But the beauty is that anyone can choose the preferred size, so they can make them all look alike to be in line with the other icons in that area, or make them stand out for better visibility – especially people with poor eyesight – or on the contrary make them smaller to only catch a glimpse at them when needed without disturbing other more important notification icons around. It’s everyone’s choice.

Same could be said about the ability to change icons’ colors. Just like the icon size it’s optional; one doesn’t have to do it if they don’t want/need it. Downside is they’re all interconnected, it’s all or none – at least for now. So if one enables customizing they’ll have to both choose an icon size of the available ones and the colors for the on/off icons. They are still symbolic-looking but they get a tint, which may help with certain themes as someone at the same Spices page pointed out.

As an aside, this obstinated choice of grey for the major parts of the interface is something I’ll never understand. And the worst thing is that changing colors for the theme elements is reserved only to the very knowledgeable since it’s all CSS (Cascade Style Sheets). In a way the Linux graphical interface is nothing but a glorified web page! Anyone remembers the degree of theme customization in Windows 95/98/ME/2000/XP…? Regular users will never get to do any detailed customization other than changing the theme as a whole, and there is not much to choose there either since all authors seem to be bent on the same dark, flat and minimalist style. Which I find ugly as hell and damaging to the mind in the long run – but who cares about my opinions.

Back to our topic: the automatic orientation. What does that mean? It means that as long as the cumulated icon sizes plus the spacing exceeds the panel height (in horizontal layout) or width (in vertical layout) the icons will be in line with all the surrounding icons. However when that cumulated size is less or equal than panel size (height or width as mentioned above) the icons will have a perpendicular layout.

I wanted that firstly for me, as having so many icons on both sides of the panel leaves very little space for the currently open window “buttons” even when using the – still flawed – multi-line taskbar applet. Having all three icon indicators visible and still taking little space – the chosen width of a single icon in perpendicular layout – is a small but welcome improvement. I keep the panel(s) autohidden so there’s no problem with their large size anyway. Wish the Cinnamon developers had thought about implementing multi-row panels but I guess they were busy with other more useless gimmicks. Even if they did it now it would be too late for me anyway as I won’t leave this Mint 19.2 setup. Too much has been stripped off in later versions.

Last thing is the menu items in the context (right-click) menu. I feel they are somehow superfluous considering the icons are clickable and can change state that way, but while the menu was already there I thought it should also work correctly. So when the user disables any icon/indicator the corresponding menu item is being removed. This is a logical flow as leaving all of them enabled without the corresponding indicators could lead to inadvertently switching of the locks.

When a single icon/indicator is displayed the menu is completely hidden. This seems to have been the desire of the author or one of the contributors so I kept it while reorganizing the menu building process. Therefore if one chooses to display only one of the three icons – be it Num-, Caps- or Scroll Lock – the switches menu will be missing. Choosing a combination of two or all three icons will bring the corresponding menu items back.

And that’s about it folks. If you need it and like it, fine; if you don’t it’s fine all the same. Any suggestions or bug reports are welcome as long as I still breathe and can do something about it. happy

Screenshot (perpendicular layout):

Settings panel in various themes (Mint-Y, Windows Longhorn Aero, Windows Longhorn Plex, Cinnamox-Aubergine, Rose):

betterlockPlus settings panel

Direct download link (Dropbox): betterlockPlus 1.3.1

Old versions:
betterlockPlus 1.3.0
betterlockPlus 1.2.0
betterlockPlus 1.0.1
P.S. If anyone lacks the operation of Scroll Lock and needs to know how to enable it, just say it and I’ll do a post on that. It involves editing the very keyboard layout file(s), so while in itself it’s quite an easy task care must be taken not to bork the file(s).

Linux Mint: Cinnamon

The following was supposed to be a comment to a nerd’s ramblings about “how hard it is to ungroup panel windows in Cinnamon”. For some reason the comment simply dissapeared after being in queue for moderation (I hate that stupid moderation unfeature, by the way!) but I had the inspiration to copy the text before refreshing the page, so here it is.

That’s not in the least the biggest gripe with Cinnamon. It can easily be solved by starting the Welcome Screen in Preferences and choosing First Steps > Desktop Layout > Traditional. Unless I misunderstood the idea.

However, the worst design failure is the lack of multirow ability. Like yourself that nerd I like to have things visible at all times, therefore there are a lot of icons in the right “systray” area. Combined with not-even-enough icons in the left “quicklaunch” area there is only so much free space left for the middle “taskbar buttons” area. Fortunately there is an applet that can stack taskbar buttons on multiple rows (Cinnamon Multi-Line Taskbar) but it has a few bugs/shortcomings and is unmaintained save for minor corrections by random dudes. And there are times when even this applet isn’t enough.

A 50-52px high panel could theoretically hold three rows of icons in the left and right areas, which would greatly increase the center space for taskbar buttons. The panel can be set to auto-hide – something I got used to from back when using Windows 95 with a 640×480-only 12″ monitor – so the actual working space wouldn’t be affected by the large height. Such setup would be ideal for me and probably a heap of other (older or wiser?) users too. But as they say, when you want something done do it yourself. Wish I could. I’ll definitely try to.

Anyway, Cinnamon has a lot of design problems besides that. Desktop icons and multi-monitor is another can of worms I stumbled on while working on Applet PYE (featured in a previous article here), which made me postpone the addition of certain settings indefinitely. Nobody likes having their icons dissapear or at least get messed up when connecting/disconnecting additional monitors.

Well, enough for now.

About changes in YARIP: compatibility with Pale Moon 29.x

One user asked me in a private message on the Pale Moon forum what changes have I performed to the YARIP extension by Kim A. Brandt in order to have it work in Pale Moon. Since their PM receipt is was disabled I decided to publish the details here in case the forum admins would have a problem with me publishing those details there.

The version I “hacked” and used for many years is, which is not the latest; at the time it was either the latest available or the latest compatible with my browser version.

OK, let’s roll. First of all the “classic” RDF “hack”- adding the PM GUID. This has to be done in two stages due to the layout of the file. Open install.rdf for editing.
First insert the string in red in the original code:

<em:targetApplication RDF:resource=”rdf:#firefox”/>
<em:targetApplication RDF:resource=”rdf:#palemoon”/>
<em:targetApplication RDF:resource=”rdf:#thunderbird”/>

Then add the following red string somewhere below after the string </RDF:Description> that ends the first block; it’s OK to use the position hinted below:

<RDF:Description RDF:about=”rdf:#firefox” em:id=”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}” em:minVersion=”17.0″ em:maxVersion=”28.0″/>
<RDF:Description RDF:about=”rdf:#palemoon” em:id=”{8de7fcbb-c55c-4fbe-bfc5-fc555c87dbc4}” em:minVersion=”25.0″ em:maxVersion=”29.*”/>
<RDF:Description RDF:about=”rdf:#thunderbird” em:id=”{3550f703-e582-4d05-9a08-453d09bdfdc6}” em:minVersion=”17.0″ em:maxVersion=”28.0″/>

The original RDF has all similar data in a single line separated by spaces as above, which is fine by browser’s standards but not very human-readable, so I had formatted it a bit at the time. Either way is fine.

Last (for this file) is changing the version number, which is mostly for visual feedback, so that we know we have the modified version installed instead of the official one.
Look for the text version=”” and replace the version number with something slightly higher; personally I used (so it would look like version=”″). Remember there is a higher version available ( but I have not tried to modify that one and therefore don’t know if the same would work there. It’s best not to confuse the browser with bad version numbers so don’t use anything higher than 0.3.5 for the modified 0.3.4.

Then, the same GUID has to be added to chrome.manifest; personally I added the code between the #Firefox and #Thunderbird sections but it can also be added at the bottom or anywhere after the last resource statement:

# Firefox
overlay chrome://browser/content/browser.xul chrome://yarip/content/overlay.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}

# Palemoon
overlay chrome://browser/content/browser.xul chrome://yarip/content/overlay.xul application={8de7fcbb-c55c-4fbe-bfc5-fc555c87dbc4}

# Thunderbird
overlay chrome://messenger/content/msgHdrViewOverlay.xul chrome://yarip/content/messenger.xul application={3550f703-e582-4d05-9a08-453d09bdfdc6}

The last code change is a tiny bit more challenging since it’s in the middle of a large code file. However a careful person can do it without problems.
Open the file chrome/content/overlay.js for editing. The following block of code has to be inserted immediately below line 613 so it’d be advised to use an editor that can count and display line numbers.
For orientation, the block is to be inserted right before the line: case “{3550f703-e582-4d05-9a08-453d09bdfdc6}”: // Thunderbird

case "{8de7fcbb-c55c-4fbe-bfc5-fc555c87dbc4}": // Palemoon
this.getAppcontent = function() { return document.getElementById("appcontent"); };
this.getBrowser = function() { return gBrowser; };
this.getContextMenuId = function() { return "contentAreaContextMenu"; };
this.getContextMenu = function() { return document.getElementById("contentAreaContextMenu"); };
this.getTabContainer = function() { return gBrowser.tabContainer; };

The very last change required in order for the extension to be accepted for installation is the removal of the entire META-INF folder from the package. That one only contains verification elements for authenticity purpose, which would obviously fail once we modified those files, so we get rid of it completely.

Now all modified files along with the remaining original ones can be repacked in a new zip file which will then have its extension changed to xpi like the original. Installation should be performed as usual, by opening the Add-ons page from menu > Tools > Add-ons and choosing Install from file, or much simpler by drag’n drop of the xpi file onto the browser window.

Good luck! thumbs up

First contribution to the Linux community: Applet PYE

This is all about a tiny applet specifically created for the Cinnamon Desktop Environment used in Linux Mint. It has been built in Mint 19.2 x64 (using Cinnamon 4.2.4) and tested also in Mint 20.1 x64. Well, at least a couple releases were tested in 20.1 since I don’t have enough resources to run a VirtualBox image all day.

What does this applet do? Allows changing display brightness, gamma and color temperature on-the-fly, to day/night fixed values, or automatically and gradually based on sunrise/sunset time – either manually set or automatically retrieved from web services. All that through clicking/scrolling upon a taskbar/panel icon or by dragging a few sliders.

The following was originally posted at the Linux Mint forum board.

Finally an almost working version. Still a few minor bugs and shortcomings but it’s been long enough and my nerves are stretched to the max. Should be good enough for daily usage, I hope, unless someone discovers some huge issue.

Here’s Applet PYE for you. A (hopefully) improved version of cardsurf‘s Brightness and gamma applet.
Not gonna waste much of your time with presentation and whatnot – there’s a readme in the package, also accessible through applet’s context menu after installation. If you already have a Markdown reader configured on your system it’ll automatically show you a nicer version of the text file.

The tooltip, already present in the above improved versions of B & G. Now it can do bold text as well as larger fonts.


The notification popup, also present in above versions. No improvements here other than the option to disable it if so desired.


The main controls AKA the sliders. Two basic versions: symbolic icons with no decorations, or colored icons with decorations. Text size follows icon size, useful for accessibility purposes or when system doesn’t play well with high DPI. Directly connected to tooltip font size.


The context menu (right-click on panel icon) offers a few extra options that may or may not prove useful at times.
Follows the sliders menu in regard to icon and font size.


The settings dialog. May appear overwhelming at first, but usually there’s no need to fiddle with it for too long – just until the closest-to-perfection values and settings are reached, then forget about it. Anyway, it’s better to have choices than no choice at all (it’s such a dangerous act to swim against the current these days). Choose wisely!


One last word: I really really wanted to implement a way to control each monitor separately when in multi-monitor mode, but my machine is acting up very badly with an external monitor enabled – it crashed and locked up Cinnamon and the entire machine merely for changing position of monitor 2, after completely screwing up the icons on the desktop – so I’m afraid such feature may have to wait for quite some time, if I ever get to fix or work around this issue. Sorry about that. blushing

Package can be downloaded from the Linux Mint forum board or below. Forum link here.

Latest version (currently is here.

Older versions:

That’s it. Hopefully nothing bad will happen from using this applet, but either way remember: you’re on your own. angel
Good luck, may you be happy and bring happiness to those around you! cool

P.S. Please remember to disable (or uninstall) any existing version of Brightness and gamma applet (or any other similar applets such as Redshift, qRedshift etc) before installing and enabling this one, otherwise there may be conflicts in the settings and/or issues with Cinnamon.

First and foremost

I’ve been around the virtual world since about 2000 or earlier. Don’t take me for a newbie.
In the beginning things were looking good, future seemed bright.
I was in love. Hopelessly and unfortunately.

At some point in time things changed enough to get noticed. Then it became clear the light at the end of the tunnel was actually the headlight of a bulletproof train moving against us at full speed. Sometime during the life of this rant series I shall be speaking from a netherworld.
That’s how “optimistic” I am.
And who gives a fuck.

In time there were many, many weird situations, sometimes incomprehensible, that made me wanna pull my hair off like this guy here –> at wits' end
There is a point where an honest mistake or sheer stupidity go beyond into ill-willing and that’s where I’m utterly uncomfortable to be driven to. With the recent release of Microsoft’s Windows 10, suddenly something flipped. Slaughterhouse opened its gates, other gates closed behind us. Funny how the words ‘Windows’ and ‘gates’ came back together. Maybe I should’ve hinted a capital G but I’d like for your brains to hit the G-spot of this all.

Here, in this ‘garden’ I indend to remember about things that got me (very) pissed off, if only to keep them from fading away from my so defective memory. And – as a bonus – to let others learn a thing or two, maybe. Have a seat and enjoy the stories or – if you feel like it – join me in sending those that deserve it to go fuck themselves.