๐Ÿ“˜ GNOME#

Overview

gnome

GNOME, an acronym for GNU Network Object Model Environment, is a free and open-source desktop environment for Linux and other Unix-like operating systems, designed to provide a user-friendly and intuitive graphical interface.
It was initiated in 1997 by Miguel de Icaza and Federico Mena as a response to the need for a unified, accessible desktop experience on Linux, particularly as a free alternative to the proprietary KDE desktop environment at the time.
The project is developed by The GNOME Project, with contributions from volunteers and professionals, primarily supported by the GNOME Foundation, a non-profit organization that provides logistical, financial, and legal support.

gnome_screen_01

gnome_screen_02

GSettings#

List schemas.

gsettings list-recursively | grep clock
gsettings list-recursively org.gnome.desktop.interface

Add seconds in the calendar clock.

gsettings get org.gnome.desktop.interface clock-show-seconds
gsettings set org.gnome.desktop.interface clock-show-seconds true

Change desktop background.

gsettings get org.gnome.desktop.background picture-uri
gsettings set org.gnome.desktop.background picture-uri 'file:///home/guillaume/Pictures/futurama.jpg'

Add minimize/maximize icons in windowโ€™s bar.

gsettings list-recursively  | grep org.gnome.desktop.wm.preferences
gsettings get org.gnome.desktop.wm.preferences button-layout
gsettings set org.gnome.desktop.wm.preferences button-layout 'appmenu:minimize,maximize,close'

Create a desktop entry#

Application example#

Create file /usr/local/bin/example.sh.

#!/bin/bash

typeset DATE=$(date +%x)
choosen_date=$(zenity --calendar --text "Pick a day" --title "Choose a date")
[[ "${choosen_date}" != "${DATE}" ]] && DATE="${choosen_date}"
zenity --info --text="You chose ${DATE}"

Desktop files#

Create desktop file ~/.local/share/applications/myapp.desktop.

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=My App
Comment=My App
Exec=/usr/local/bin/example.sh
Icon=/usr/share/icons/Papirus/128x128/apps/gens-gs.svg
Terminal=false
StartupNotify=true
Categories=GNOME;GTK;Utility;Guisam;

Note

For an all users access, use /usr/share/applications/ directory.

Create desktop file ~/.local/share/applications/otpclient.desktop.

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=OTPClient
Comment=OTPClient
Exec=/usr/bin/flatpak run com.github.paolostivanin.OTPClient
Icon=/usr/share/icons/com.github.paolostivanin.OTPClient.webp
Terminal=false
StartupNotify=true
Categories=GNOME;GTK;Utility;Guisam;

Tip

sudo wget \
https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/com.github.paolostivanin.OTPClient.webp \
-P /usr/share/icons/

Ouput#

../_images/guisam_menu.webp

GNOME sub-menu with applications launcher#

Create an animated GIF#

# get image characteristics
identify a.jpg
# resize an image
convert -resize 30% 1.jpg a.jpg
# create diaporama
convert -delay 700 -loop 0 *.jpg dessin_vero.gif
# bulk replace spaces and parentheses
for i in *; do mv -vi $i ${i//[() ]/_};done
# bulk resize images to 25%
for i in *.jpg; do convert -resize 25% $i ${i%%\.jpg}_25.jpg; done
# create diaporama
convert -delay 300 -loop 1 *_25.jpg dordogne_2019.gif