๐ GNOME#
Overview
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.


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#
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
