Gnome

Bannière

Ressources et références

Titre
How the Linux desktop has grown
Auteurs
  • Jim HALL
Éditeur
opensource.com
Date

Configurations

Configurations générales

org.gnome.settings-daemon.plugins.media-keys max-screencast-length
Pour changer la durée par défaut du srcenncast de Gnome (30s).

Changer les raccourcis clavier

  • "changer de fenêtre" : Alt + Tabulation
  • "Changer d'application" : Super + Tabulation
  • org.gnome.shell.window-switcher: current-workspace-only true

Désactiver Gnome-software

Je n'utilise quasiment jamais cette interface graphique pour installer des logiciels. Le logiciel peut par contre être très envahissant et pénible, surtout quand on a une connexion internet faible car il se permet de télécharher et de mettre à jour sa base de données régulièrement.

org.gnome.software:
    download-updates : false
Pour interdire la mise à jour automatique
X-GNOME-Autostart-enabled=false
Copier /etc/xdg/autostart/gnome-software-service.desktop dans ~/.config/autostart/ et y ajouter cette ligne.
systemctl mask packagekit.service
Désactiver le service PackageKit dont se sert Gnome-software (rend inutilisable Gnome-Software)

Dconf

dconf reset -f "/path/to/the/key"
Supprimer une clé
dconf reset -f "/path/to/the/path/"
Supprimer un chemin

Dossiers d'applications

La perte d'un outil simple de gestion des dossiers d'applications est l'une des plus grosses conneries qui a marqué l'arrivée de Gnome 3 et presque dix ans plus tard, on n'en a toujours pas retrouvé un.

const Gio = imports.gi.Gio;

/**
 * @typedef Folder
 * @property {String} name
 * @property {String[]} [categories]
 * @property {String[]} [exclude]
 * @property {String[]} [apps]
 */

// --------------------------------------------------------
// Customize
// --------------------------------------------------------

// ref: <https://developer.gnome.org/menu-spec/#main-category-registry>

/** @type {Object<String, Folder>} */
const FOLDERS = {
    AudioVideo: {
        name: 'Audio et Vidéo',
        categories: [
            'AudioVideo', 'Audio', 'Video', 'Mixer', 'Sequencer',
            'Tuner', 'TV', 'AudioVideoEditing', 'Player', 'Recorder',
            'DiscBurning', 'Music'
        ]
    },
    Development: {
        name: 'Développement',
        categories: [
            'Development', 'Building', 'Debugger', 'IDE',
            'GUIDesigner', 'Profiling', 'RevisionControl',
            'Translation', 'Database', 'WebDevelopment', 'Java'
        ]
    },
    Game: {
        name: 'Jeux',
        categories: [
            'Game', 'ActionGame', 'AdventureGame', 'ArcadeGame',
            'BoardGame', 'BlocksGame', 'CardGame', 'KidsGame',
            'LogicGame', 'RolePlaying', 'Shooter', 'Simulation',
            'SportsGame', 'StrategyGame'
        ]
    },
    Graphics: {
        name: 'Graphisme',
        categories: [
            'Graphics', '2DGraphics', 'VectorGraphics',
            'RasterGraphics', '3DGraphics', 'Scanning', 'OCR',
            'Photography'
        ],
        apps: [
            'org.gnome.Screenshot.desktop'
        ]
    },
    Network: {
        name: 'Réseaux',
        categories: [
            'Network', 'Email', 'InstantMessaging', 'Chat', 'IRCClient',
            'Feed', 'FileTransfer', 'News', 'RemoteAccess',
            'VideoConference', 'WebBrowser'
        ]
    },
    Office: {
        name: 'Bureautique',
        categories: [
            'Office', 'Calendar', 'ContactManagement', 'Dictionary',
            'Chart', 'Finance', 'FlowChart', 'ProjectManagement',
            'Presentation', 'Spreadsheet', 'WordProcessor',
            'Publishing', 'TextTools'
        ],
        apps: [
            'org.gnome.Notes.desktop', 'xpad.desktop', 'zim.desktop',
            'org.gnome.Documents.desktop', 
            'org.gnome.Characters.desktop',
            'org.gnome.gedit.desktop'
        ]
    },
    Science: {
        name: 'Sciences',
        categories: [
            'Science', 'Astronomy', 'Biology', 'Chemistry',
            'ComputerScience', 'DataVisualization', 'Electricity',
            'Geography', 'Geology','Geoscience', 'History', 'Humanities',
            'Literature', 'Maps', 'Math', 'NumericalAnalysis',
            'MedicalSoftware', 'Physics', 'Robotics', 'Electronics',
            'Calculator'
        ],
        apps: [
            'org.gnome.Maps.desktop'
        ]
    },
    Settings: {
        name: 'Settings',
        categories: [
            'Settings', 'Printing', 'PackageManager', 'Security',
            'Accessibility'
        ],
        apps: [
            'org.gnome.tweaks.desktop'
        ]
    },
    System: {
        name: 'Système',
        categories: [
            'System', 'FileTools', 'FileManager', 'TerminalEmulator',
            'Filesystem', 'Monitor'
        ],
        apps: [
            'yelp.desktop'
        ]
    }
};

// --------------------------------------------------------
// RUN
// --------------------------------------------------------

print('App Folders creation: START...');

const appFolders = new Gio.Settings({
    schema_id: 'org.gnome.desktop.app-folders'
});

// reset existing
// -----------------------------

appFolders.get_strv('folder-children').forEach((name) => {
    print(`Reseting ${name}...`);
    const schema = new Gio.Settings({
        schema_id: 'org.gnome.desktop.app-folders.folder',
        path: `/org/gnome/desktop/app-folders/folders/${name}/`
    });
    schema.set_string('name', '');
    schema.set_strv('categories', []);
    schema.set_strv('apps', []);
    schema.set_strv('excluded-apps', []);
});

// Create app folders
// ------------------------------

appFolders.set_strv('folder-children', Object.entries(FOLDERS).map((entry) => {
    /** @type {Folder} */
    const folder = entry[1];
    print(`Creating ${folder.name}...`);
    const schema = new Gio.Settings({
        schema_id: 'org.gnome.desktop.app-folders.folder',
        path: `/org/gnome/desktop/app-folders/folders/${entry[0]}/`
    });
    schema.set_string('name', folder.name);
    schema.set_strv('categories', folder.categories || []);
    schema.set_strv('apps', folder.apps || []);
    schema.set_strv('excluded-apps', folder.exclude || []);
        
    return entry[0];
}));

print('App folders creation: DONE.');
Script de création de dossiers d'applications basés sur les catégories

Extensions gnome-shell

Certaines extensions peuvent être installées via les dépôts Fedora, d'autres à partir du site. Installer chrome-gnome-shell pour pouvoir gérer les extensions à partir de Firefox ou Chromium.

Lanceurs d'applications

Dash to Dock

INDISPENSABLE. (gnome-shell-extension-dash-to-dock) Barre de lanceurs d'applications.

Dash to Panel
Barre d'application intégrée à la barre supérieure.

Espaces de travail

Auto Move Windows
(gnome-shell-extension-auto-move-windows) Ouvrir des applications dans un bureau virtuel spécifique.
Top Panel Workspace Scroll
Scroll entre les wrokspaces avec la molette de la souris sur la barre supérieure.
Workspace indicator
(gnome-shell-extension-workspace-indicator) Indicateur d'espace de travail.

Ergonomie

Activities configurator
(gnome-shell-extension-activities-configurator) Configuration du bouton d'activité et d'autres choses dans la barre.
Night Light Slider
Ajuster la température des couleurs en mode nuit. Indispensable car sinon le mode nuit décale trop la lumière vers le rouge. Et ça remplace maintenant plutôt bien redShift.
Random Walls
Changer aléatoirement de fond d'écran.
Removable Drive menu
Icône indiquant les média amovibles.
Tweaks in System Menu
Placer un bouton d'ouverture de Tweaks dans le menu système.

Contrôle audio

Media player indicator
Contrôleur les lecteurs audio depuis le menu principal. Devenue un peu moins pertinente depuis que gnome-shell dispose d'un contrôleur de lecteur audio dans le popu de notification.
Sound Input & Output Device Chooser
Contrôler l'utilisation des entrées / sorties audio. Utile quand on veut passer rapidement du casque aux enceintes par exemple.

Surveillance système

Freon
(gnome-shell-extension-freon) Visualisation de la températures hardware (proc, disques, etc.). Un peu plus pertinent que le moniteur car permet d'afficher plusieurs températures en même temps.
System Monitor
Moniteur système : réseau, mémoire, disques, températures, etc.

Utilitaires

AppFolders Management extension

INDISPENSABLE. Gérer les dossiers d'applications.

Dropdown terminal
Terminal sous forme de fenêtre déroulante depuis la barre principale.
ShutdownTimer
Pour programmer l'arrêt de la machine après un certain temps.
User Themes
Pour installer des thèmes gnome-shell.

Des années qu'on demande aux dev de gnome d'implémenter cette fonction dans le shell [Créer des dossiers pour applications]. apparemment ils sont plus occupés à faire des applications de cuisine.. Merci pour cette bonne extension !

Hilyx, à propos de Appfolders Management extension

Ce commentaire résume à la perfection mes sentiments actuels vis-à-vis de projets comme Gnome mais aussi Firefox...

Développement

Services Systemd

Gérer des services systemd. (mettre en commentaire la ligne 46 dans le fichier extension.js quand intégré dans le menu).

Jenkins CI Server Indicator
Etat de serveurs Jenkins.

Divers

Calendrier républicain
Afficher le jour courant dans le calendrier républicain.
NASA Apod
Utiliser les images de NASA Apod comme fonds d'écran.
GSConnect
Connection avec un téléphone android. Voir KDE Connect sur F-Droid et lire « Connect Fedora to your Android phone with GSConnect ».

Polices de caractères

sudo dnf install gucharmap
Installer gucharmap

Pour remplacer la merde installé par défaut qui ressemble plus à un jouet qu'autre chose et utile uniquement pour ceuses qui cherchent des émoticônes ! Tsss.

# Droid
sudo dnf install google-droid-sans-fonts google-droid-sans-mono-fonts
# Fira sans et Fira Mono
sudo dnf install mozilla-fira-sans-fonts mozilla-fira-mono-fonts
# Liberation Narrow (Les autres sont déjà installées)
sudo dnf install liberation-narrow-fonts
# Lato
sudo dnf install lato-fonts
# Open Sans
sudo dnf install open-sans-fonts
# Roboto
sudo dnf install google-roboto-fonts google-roboto-mono-fonts google-roboto-condensed-fonts google-roboto-fonts google-roboto-slab-fonts
Installation de polices supplémentaires.
wget https://assets.ubuntu.com/v1/fad7939b-ubuntu-font-family-0.83.zip
unzip fad7939b-ubuntu-font-family-0.83.zip
cp ubuntu-font-family-0.83/*.ttf ~/.local/share/fonts
Installation de la police Ubuntu.
Titre
From Monospace to Duospace- In Search of the perfect writing font
Auteurs
  • Oliver REICHENSTEIN
Éditeur
ia.net
Date
Titre
iA Writer has three custom made writing fonts that are available for download
Auteurs
  • Oliver REICHENSTEIN
Éditeur
ia.net
Date

Thèmes

  • Arc (arc-theme)
  • Materia (dnf copr enable tcg/themes puis dnf install materia-theme)
Oomox
Application pour créer ses propres thèmes GTK 3.

Icônes

Raccourcis clavier

Manipuler les fenêtres

  • super + left-click + glisser : Bouger une fenêtre.
  • super + middle-click + glisser : Redimensionner la fenêtre.

Captures d'écrans

  • Prt Scrn : Capture de tout le bureau.
  • Alt + Prt Scrn : Capture de la fenêtre courante.
  • Shift + Prt Scrn : Capture d'une zone de l'écran.

GTK

dnf install devhelp gtranslator glade gtk3-devel-docs
Instation d'outils de développement GTK.

Hello World en plusieurs languages

GTK Inspector

gsettings set org.gtk.Settings.Debug enable-inspector-keybinding true
Activer le debug ( Ctrl Shift D).

GJS