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:
v0.1.0.0
– 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

v0.2.0.0
– 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

v0.3.0.0
– 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

v0.3.0.1
– fixed a cairo bug littering the xsession-errors log

v0.3.0.2
– 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.

Screenshot:

Spooky mode:

Settings window:

Direct download link: Cinn’r eyes 0.3.0.2

Old versions:
Cinn’r eyes 0.3.0.1
Cinn’r eyes 0.3.0.0
Cinn’r eyes 0.2.0.2
Cinn’r eyes 0.2.0.1
Cinn’r eyes 0.2.0.0
Cinn’r eyes 0.1.0.0

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 0.3.4.1, 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=”0.3.4.1-signed.1-signed” and replace the version number with something slightly higher; personally I used 0.3.4.2 (so it would look like version=”0.3.4.2″). Remember there is a higher version available (0.3.5.1) 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; };
break;


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.

tooltips

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

notification

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.

sliders

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.

context

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!

settings

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 0.0.6.7) is here.

Older versions:
0.0.6.6
0.0.6.4
0.0.6.2
0.0.4.3

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.