Category: tagged

  • KDE Plasma sunrise (bright) & sunset (dark) theme automatic switch

    Under System Settings > Appearance & Style > Colours & Themes > Night Light in KDE Plasma there is the expected option to automatically switch at specific times between cool and warm colour temperature for the screen. I marked my location on the map and selected Sunset and sunrise at manual location to take care of the switch automatically. This works perfectly!

    For whichever reason, and there is many, KDE Plasma cannot do the same with the bright and dark theme. This is such a miss that one wonders how anything ever gets agreed upon in large open source projects such as KDE in this case. Gnome supports the option as many other.

    As there are more ways than one to skin a cat, I had several choices to work around this missing feature. I was really looking for something quick and dirty, nothing to install and trust, and easy to undo if needed.

    I decided to use the colour temperature as an indicator of when the bright or dark theme was needed. So at 6500 K it was the cool day light temperature and the bright theme should be used. On the contrary anything below this temperature, that is warm night light, should use the dark theme. Then I would simply check for this system value at a set interval and change the theme if it changed. This simple script is placed in the System Settings > System > Autostart section as an Application and it will launch upon boot and run in the background. Copy or download & unzip the below file and remember to make the .sh file executable:

    #!/bin/bash

    current_theme=""

    while true; do
    # Retrieve the current temperature from KWin using dbus-send
    temperature=$(dbus-send --session --dest=org.kde.KWin --type=method_call --print-reply \
    /org/kde/KWin/NightLight org.freedesktop.DBus.Properties.Get string:org.kde.KWin.NightLight string:currentTemperature \
    | grep -oP 'variant\s+uint32\s+\K\d+')

    # Decide the target theme based on the temperature
    if (( temperature == 6500 )); then
    target_theme="org.fedoraproject.fedora.desktop" # Light theme for == 6500
    elif (( temperature < 6500 )); then
    target_theme="org.kde.breezedark.desktop" # Dark theme for < 6500
    fi

    # Switch theme only if it's different from the current one
    if [[ "$target_theme" != "$current_theme" ]]; then
    lookandfeeltool -a "$target_theme"
    # Update the current theme to the new one
    current_theme="$target_theme"
    # KDE notification
    notify-send "Theme Switcher" "Switched to $(basename "$target_theme") theme."
    fi

    # Sleep for 15 minutes (900 seconds)
    sleep 900
    done

  • “Unable to load stream. Please make sure port 7446 is open on your NVR.”

    In case you are seeing the error message “Unable to load stream. Please make sure port 7446 is open on your NVR.” when trying to watch the live camera stream on your Unifi Video NVR system from Ubiquiti, then the solution is rather simple.

    The error is caused by the self-issued certificate that comes by default with the Unifi NVR. As Mozilla Firefox has strict SSL (HTTPS) rules making sure that one does not connect to the wrong or fake website as could happen in e.g. a phishing attempt. I have not tried myself but from what I have read apparently Google Chrome does not enforce this in the same manner making the stream work out of the box in Chrome.

    The solution is to open the URL to the video stream directly in a separate tab or window so that you can accept the self-signed certificate for the session:

    https://NVR_IP_address:7446

    The page itself will return an error after the certificate is accepted but that is fine, it is simply to accept the certificate. After that simply reload the NVR interface and the HTTPS video stream will work fine

    Please note that if you are accessing the NVR from an external network you may have a firewall instance blocking the actual port. This instead would require port forwarding to be set up and that is a different story.

  • Running several Firefox versions simultaneously

    Ever been in the need of running more than one instance of Mozilla Firefox? Well, I have. Multiple times.

    I use Firefox for my browsing and development. Combining both in the same profile has been a pain many times especially when ones development is intensive leading to high memory and CPU consumption unfortunately ending with a browser crash.

    Some time ago I starting using Firefox Beta since it included the Sync feature built-in. At some point I wanted to revert back to the release version again as the add-ons needed to be ready for Beta as well and it could take the add-on authors some time to update leaving them disabled till then.

    The easiest thing is to run two or more versions simultaneously of Firefox which provides you with increased flexibility, especially if you do web development of any type.

    To proceed simply download another version of Firefox and install selecting the custom choice. Make sure you install it in a different path than your current Firefox installation.

    The key to get more than one instance of Firefox running is to use multiple profiles. To create an additional profile for your next version open the command prompt (if on Windows) and type the following:

    "C:\Program Files\Mozilla Firefox" -profilemanager -no-remote

    Obviously change the path to match your own system if needed.

     

     

    Now the profile manager should be open and you can simply create a new profile and call it something else like e.g. “BETA”. Then click “Exit” afterwards to quit the profile manager.

     

     

    Next you need to edit the launcher of your newest installation of Firefox, by right-clicking its icon in the Start menu and selecting Properties. At the first text box add the following to the path:

    -P yournewprofilename -no-remote

    So it looks something like this:

    "C:\Program Files\Mozilla Firefox Beta\firefox.exe" -P BETA -no-remote

     

    Save and launch your second instance of Firefox by clicking on the same icon. You should now see two different “Firefox.exe” processes in your task manager.

     

     

    In that same screen you were before you can also change the title and icon itself so that it is easier to distinguish which version is which.

     

  • Google+ integration

    I wanted a tighter integration with my blog and my Google+ stream to avoid having to visit two places.

    I have added a little widget which will display the latest posts.

  • Lightbox 2 and XHTML 1.1 validation

    I recently started using the Lightbox 2 WordPress plugin on my Marbella news site to automatically add the zooming overlay effect to certain images. It is really plug & play and works out of the box.

    I did encounter however that my pages stopped validating as XHTML 1.1 which is the standard doctype on all sites I develop.

    The error in question is due to the square brackets (“[” and “]”) being used to link individual images in one single post together as a gallery under the “rel” attribute. The square brackets are not permitted characters and therefore the W3 Validator spits out the following error message:

    character "[" is not allowed in the value of attribute "rel"
    It is possible that you violated the naming convention for this attribute. For example, id and name attributes must begin with a letter, not a digit.

    To avoid this XHTML 1.1 validation problem simply edit the following line in the Lightbox 2 plugin file named lightbox2.php under the “autoexpand_rel_wlightbox” function:

    from:

    $replacement    = '$1 rel="lightbox['.$post->ID.']">';

    to:

    $replacement    = '$1 rel="lightbox_'.$post->ID.'">';
    

    You should now be able to validate that plugin’s output as XHTML 1.1 with no issues.