Association du Grand Avignon des utilisateurs de Linux / *BSD, et de logiciels libres.

Mot-clé - Xfce

Fil des billets

samedi 6 février 2016

Quelques infos sur la prochaine Linux Mint 18

À la lecture du dernier billet concernant Linux Mint, on apprend que les développeurs sont déjà en train de « plancher » sur la prochaine Linux Mint 18 (nom de code Sarah) [1].

Elle sera basée sur la Ubuntu 16.04 (alias Xenial Xerus). De nombreuses bibliothèques seront mises à jour, notamment GTK+. On va passer d'une version 3.10.x vers 3.18.x. De nouveaux widgets ont été introduit en particulier :

  • GtkHeaderBar
  • GtkActionBar
  • GtkPopover
  • GtkActionBar

D'autres sont obsolètes par conséquent les thèmes pour les bureaux MATE, Xfce et Cinnamon doivent être entièrement revus. C'est pourquoi une attention toute particulière est portée sur un nouveau thème (dans un soucis de rendre les différentes applications uniforme les unes par rapport aux autres).

De plus, Linux Mint embarque actuellement de nombreuses applications en provenance du bureau GNOME, et comme ces dernières dépendent étroitement des nouvelles fonctionnalités introduites dans GTK+ et GNOME Shell, un nouveau projet a été initié, il s'appelle X-Apps. Le but étant d'utiliser pour les besoins courants des applications desktop-agnostic.

[...] For the most part, these desktops present similar needs so it made sense to maintain one generic set of apps which can be used in all of them, and to do so outside of the scope of any of these desktops.

The core ideas for X-Apps are:

* To use GTK3

* To use a traditional UI (titlebars, menubars)

* To be generic, desktop-agnostic and distro-agnostic

* To provide the functionality users already enjoy (or enjoyed in the past for distributions which already lost some functionality)

* To be backward-compatible (hopefully all the way to GTK 3.10)

Les développeurs ne partent pas de zéro, mais se basent sur des applications déjà existantes. Par exemple on peut citer XPlayer basé sur Totem 3.10, ou Xed basé sur Gedit et Pluma.

On voit que le chemin est encore long pour la prochaine sortie, prévue pour mai (voir juin) 2016.

Note

[1] Pour en savoir plus, je vous conseille de lire ce post (en anglais).

dimanche 10 janvier 2016

Linux Mint 17.3 "Rosa" est sortie

Ce 9 janvier 2015, l'équipe en charge du développement de Linux Mint vient de publier une nouvelle version de la série 17.x.

Elle est supportée jusqu'en 2019.

Lire la suite...

samedi 12 septembre 2015

Un logiciel au code source ouvert c'est bien

Certains d'entre vous le savent peut-être, mais je suis un utilisateur heureux du bureau Xfce [1], je suis avec attention tout ce qui touche de près ou de loin à ce projet. Or des développeurs de la distribution Xubuntu ont développé un petit logiciel [2] permettant de sauvegarder la disposition du (ou des) panel(s). Il repose sur Gtk3 (grâce à la couche GObject Introspection) et Python3.

Avec la dernière version (1.0.1), des pré-réglages [3] sont déjà disponibles (je me tâte à les laisser dans le paquet pour FreeBSD), seulement quand on en sélectionne un, et par mégarde on clique sur le bouton de suppression on obtient ceci :

(Cliquez sur l'image pour la voir dans son format original)

xfpanel-switch-error.png

Je trouve que ce n'est pas élégant. J'ai donc proposé un patch qui vérifie si l'utilisateur est le propriétaire de l'archive. Si ce n'est pas le cas, une boîte de dialogue apparaît.

xfpanel-switch-rewrite-error.png

C'est mieux non ?

Notes

[1] Sous FreeBSD bien évidemment.

[2] Xfpanel-switch

[3] Pour Xubuntu et Debian

samedi 31 janvier 2015

Jouons un peu avec la bibliothèque garcon (Xfce)

En ce moment, je découvre la bibliothèque garcon [1] du projet Xfce.

Comme je débute, le premier programme est relativement simple. Il affiche les applications présentes dans le menu. Il va analyser le fichier xfce-applications.menu présent dans $XDG_MENU_PREFIX pour rechercher les fichiers .desktop. Le résultat peut être différent en fonction des logiciels installés sur votre système.

Pour pouvoir l'utiliser il vous faut les fichiers d'en-tête pour GLib et bien évidemment garcon.

La ligne de commande que j'utilise sous FreeBSD (j'utilise encore gcc comme compilateur).

$ gcc -Wall xfce-menu.c -o xfce-menu `pkgconf --cflags --libs glib-2.0 garcon-1` -lc
$ ./xfce-menu

 * xfce4-run.desktop
----
 * exo-terminal-emulator.desktop
 * exo-file-manager.desktop
 * exo-mail-reader.desktop
 * exo-web-browser.desktop
----
Settings
 * xfce-settings-manager.desktop
----
 * xfce4-accessibility-settings.desktop
[...]
System
 * Thunar-bulk-rename.desktop
 * xfce4-taskmanager.desktop
 * Thunar.desktop
 * xterm.desktop
 * xfce4-terminal.desktop
----
 * xfce4-about.desktop
 * xfce4-session-logout.desktop

Si l'on souhaite utiliser la fonction xfce_menu_items2 () la sortie est différente, les fichiers .desktop sont suivis des catégories.

$ ./xfce-menu

xfce4-run.desktop X-Xfce-Toplevel;X-XFCE;Utility;
exo-terminal-emulator.desktop X-Xfce-Toplevel;X-XFCE;Utility;
exo-file-manager.desktop X-Xfce-Toplevel;X-XFCE;Utility;
exo-mail-reader.desktop X-Xfce-Toplevel;X-XFCE;Network;
exo-web-browser.desktop X-Xfce-Toplevel;X-XFCE;Network;
xfce-settings-manager.desktop DesktopSettings;Settings;X-XFCE;
xfce4-accessibility-settings.desktop X-XFCE-SystemSettings;X-XFCE-SettingsDialog;DesktopSettings;Settings;GTK;XFCE;
xfce-ui-settings.desktop X-XFCE-PersonalSettings;X-XFCE-SettingsDialog;DesktopSettings;Settings;GTK;XFCE;
[...]
Thunar.desktop FileManager;FileTools;GTK;Core;Utility;System;
xterm.desktop TerminalEmulator;System;
xfce4-terminal.desktop TerminalEmulator;System;GTK;
xfce4-about.desktop X-Xfce-Toplevel;X-XFCE;Utility;
xfce4-session-logout.desktop X-Xfce-Toplevel;X-XFCE;System;

Maintenant, il nous reste plus qu'à utiliser un GtkTreeView widget pour afficher le tout dans une fenêtre.

Note

[1] C'est un portage des spécifications définit par le consortium Freedesktop.org pour définir l'agencement d'un menu.

jeudi 16 octobre 2014

Se tenir informé des développements qui ont lieu sous FreeBSD

Régulièrement, chaque développeur (si il le souhaite) est encouragé à présenter son travail à la communauté. Le dernier vient d'être publié, il couvre les mois de juin à septembre.

Voici les principaux thèmes abordés :

  • Les amélioration au niveau du noyau
  • Le supports de nouvelles architectures
  • Les ports
  • La documentation

En ce qui me concerne, mon principal travail (en autre) consiste à maintenir Xfce à jour, donc vous pouvez lire mon status report.

J'ai également réalisé une vidéo pour montrer les nouveautés que l'on retrouvera dans la prochaine version stable (4.12) du bureau Xfce.

lundi 3 décembre 2012

Thunar 1.6.0 sous FreeBSD

Vous souhaitez installer la dernière version de Thunar [1] (1.6.0) sous FreeBSD, et bien réjouissez-vous c'est possible.

Note

[1] Il s'agit du gestionnaire de fichiers sous Xfce.

Lire la suite...

samedi 21 avril 2012

ACPI et FreeBSD

logo du système d'exploitation, FreeBSD

En ce moment, je travaille sur l'intégration de la prochaine version stable (4.10) de Xfce sous FreeBSD.

Un des composants, xfce4-session gère l'hibernation et le suspend to RAM (mise en veille). J'ai donc voulu voir, comment cela été pris en charge par FreeBSD.

L'essais a été effectué sur :

olivier@bornem:~ $ uname -rsp                                   
FreeBSD 8.2-RELEASE-p3 i386
olivier@bornem:~ $ 

État des lieux

Il faut savoir, que par défaut l'ACPI est déjà activé [1]. Cependant on doit rechercher les informations concernant les différentes méthodes de mise en veille.

olivier@bornem:~ $ sysctl -a | grep acpi.supported                  
hw.acpi.supported_sleep_state: S3 S4 S5
olivier@bornem:~ $ 

Sur cet ordinateur, on peut voir que trois états (sleep states) sont « pris en charge » par le système.

On peut également voir, si le BIOS est capable de le gérer.

olivier@bornem:~ $ sysctl -a | grep acpi.s4bios                     
hw.acpi.s4bios: 0
olivier@bornem:~ $ 

Dans mon cas, la valeur est à zéro, donc mon BIOS n'a pas ce support.

On peut tester les différents états (il faut être root) avec l'utilitaire acpiconf.

root@bornem:~ # acpiconf -s 3 

L'état S4 (correspondant à l'hibernation) est équivalent à S5, j'en déduis donc que je ne pourrais pas utiliser cette fonctionnalité.

L'état S3 (suspend to RAM) est pleinement fonctionnel.

Intégration avec le gestionnaire de bureau

xfce4-session possède une dépendance, UPower [2], responsable de la gestion de la consommation (en autre).

Pour pouvoir l'employer, il faut autoriser certaines opérations, grâce notamment à polkit.

On va tout d'abord rechercher les actions possibles concernant UPower.

olivier@bornem:~ $ pkaction | grep upower                           
org.freedesktop.upower.hibernate
org.freedesktop.upower.qos.cancel-request
org.freedesktop.upower.qos.request-latency
org.freedesktop.upower.qos.request-latency-persistent
org.freedesktop.upower.qos.set-minimum-latency
org.freedesktop.upower.suspend
olivier@bornem:~ $ 

J'ai uniquement besoin du support de suspend, j'en profite donc pour créer un fichier .pkla (l'extension est primordiale) situé dans /usr/local/etc/polkit-1/localauthority/50-local.d/.

Voici son contenu :

root@bornem:~ # cat /usr/local/etc/polkit-1/localauthority/50-local.d/org.freedesktop.upower.pkla 
[Suspend]
Identity=unix-group:users
Action=org.freedesktop.upower.suspend
ResultAny=yes
ResultInactive=yes
ResultActive=yes
root@bornem:~ # 

Tous les utilisateurs appartenant au groupe users sont autorisés à mettre en veille (en RAM) le système.

Notes

[1] Si l'on démarre avec les paramètres prédéfinis.

[2] Cette bibliothèque n'est pas fonctionnelle sous tous les BSD

mercredi 26 octobre 2011

Configuration de « Music Player Daemon » sous FreeBSD

Ayant vu passer l'annonce d'une mise à jour du client Xfce pour mpd, (Xfmpc), je me suis empressé de le mettre à jour. Or je n'ai jamais utilisé ce démon.

Cette page est donc plus un pense-bête qu'autre chose.

Tout d'abord, on va installer les dépendances nécessaires à Xfmpc :

  • GTK+2
  • Glib2
  • libxfce4ui (sous FreeBSD, ce composant s'appelle libxfce4menu, on le trouve dans l'arborescence à x11/libxfce4menu)
  • libxfce4util
  • libmpd

On peut activer le mode maintainer, il faut pour cela lang/vala.

Sur mon système la dernière bibliothèque (libmpd) est absente, donc je l'installe de cette manière :

root@bornem:/usr/ports/audio/libmpd # make install clean

Cependant il manque le « démon », que l'on devrait trouver dans /usr/local/etc/rc.d/. Il faut pour cela installer audio/musicpd.

root@bornem:/usr/ports/audio/libmpd # cd ../musicpd
root@bornem:/usr/ports/audio/musicpd # make config
root@bornem:/usr/ports/audio/musicpd # make install clean

La commande make config permet d'activer (ou désactiver) certaines options durant la compilation.

Je ne souhaite pas que ce service soit lancé automatiquement au démarrage, donc je ne rajoute rien dans le fichier /etc/rc.conf. Cependant, pour utiliser Xfmpc, il faut le démarrer, nous allons donc copier le fichier de configuration générale (situé dans /usr/local/etc/musicpd.conf) dans le $HOME d'un utilisateur de la machine.

olivier@bornem:~ $ cp /usr/local/etc/musicpd.conf ~/.mpd.conf
olivier@bornem:~ $ ln -sf .mpd.conf .mpdconf

On peut maintenant éditer le fichier de configuration (.mpd.conf). Voici mes modifications :

music_directory   "~/Musique"
playlist_directory    "~/.mpd/playlists"
db_file     "~/.mpd/mpd.db"
log_file      "~/.mpd/mpd.log"
state_file      "~/.mpd/state"
sticker_file      "~/.mpd/sticker.sql"

user        "olivier"

port        "6600"

#
# An example of an OSS output:
# 
audio_output {
  type    "oss"
  name    "ATI IXP 400"
  device    "/dev/dsp"  # optional
##  format    "44100:16:2"  # optional
##  mixer_type      "hardware"  # optional
  mixer_device  "/dev/mixer"  # optional
##  mixer_control "PCM"   # optional
}

La dernière partie correspond à ma carte son, sur cet ordinateur.

On peut maintenant le lancer :

olivier@bornem:~ $ musicpd &

Lorsque l'on lance Xfmpc, il faut sélectionner dans la liste déroulante Base de données (cela correspond aux morceaux situés dans music_directory). Puis cliquer sur l'en deux pour l'ajouter à la liste de lecture.

La lecture se fait en sélectionnant Liste de lecture.

Xfmpc en action