Réponse mise à jour:
Depuis 2019, j'ai depuis utilisé le référentiel AUR d'Arch (mais toujours sur mon système Debian ). J'ai également fait cela sur FreeBSD, maintenant, avec un petit patch (quelque peu trivial). Ce n'est PAS une réponse "passer à Arch".
C'était un peu difficile à configurer au début, mais l'essentiel est que vous pouvez en fait compiler le makepkg
programme d'Arch et l'utiliser pour compiler des dépôts AUR sur Debian. Je l'ai fait comme ça (même si j'ai peut-être oublié certaines dépendances):
Mon ancienne réponse est toujours présente après le séparateur près du bas.
1) Bâtiment makepkg
:
sudo apt-get install bsdtar # pacman depends on bsdtar (libarchive) these days
git clone git://projects.archlinux.org/pacman.git
cd pacman
./configure --sysconfdir=/etc --localstatedir=/var --prefix=/opt/arch # Put built program outside of the usual '/usr/local' when installed to avoid conflicts
make
sudo make install # Install pacman/makepkg
# Make a directory pacman expects to exist to dodge makepkg errors
sudo mkdir -p /var/cache/pacman/pkg
2) Préparation à la compilation des sources GTK3:
Maintenant, pour construire et installer gtk3-typeahead
. Pour obtenir toutes les dépendances de construction (debian), qui sont plus ou moins les mêmes que celles d'Arch, vous devez d'abord avoir une deb-src
ligne dans votre sources.list afin de pouvoir apt-get build-dep
récupérer avec succès les informations nécessaires.-dev
paquets .
My sources.list
contient la ligne suivante pour ce faire. Modifiez la ligne en fonction de votre version et du serveur le plus proche.
deb-src http://ftp.us.debian.org/debian/ sid main contrib
3) Bâtiment gtk3-typeahead
:
Ensuite, vous pouvez exécuter ce qui suit pour générer gtk3-typeahead
:
sudo apt-get update
sudo apt-get build-dep 'gtk+3.0' # install gtk3 build dependencies
mkdir /path/to/put/arch/git/repo/into
cd /path/to/put/arch/git/repo/into
git clone https://aur.archlinux.org/gtk3-typeahead.git gtk3-typeahead
cd gtk3-typeahead
# Tack onto configure script arguments so that libraries overwrite the official
# Debian ones in /usr/lib/x86_64-linux-gnu, instead of installing to /usr/lib.
# CHANGE THIS APPROPRIATELY IF RUNNING 32-BIT (or some other architecture like POWER/MIPS)
sed '/\-\-sysconfdir=/a\
--libdir=/usr/lib/x86_64-linux-gnu \\' PKGBUILD > PKGBUILD2
mv PKGBUILD2 PKGBUILD
# temporarily add archlinux programs to PATH so we can use 'makepkg'
PATH="/opt/arch/bin:""$PATH"
# Don't check pacman dependencies, since our dependency libraries weren't
# installed via pacman like makepkg expects!
makepkg --nodeps
Après cela, les binaires seront emballés dans une .tar.gz
archive un niveau au-dessus de l'arbre git. Dans mon exemple, ce serait le into
répertoire.
Pour l'installer:
TARBALLPATH="$(readlink -f gtk3-typeahead-*.tar.gz | sort | tail -n 1)" # get full path to tarball of most recent build, if multiple are available
cd /
bsdtar xf "$TARBALLPATH"
C'est hautement scriptable, et un peu moins finnicky que de traiter mes anciens scripts à mon humble avis. Cela ne dépend plus non plus de Debian.
Réponse originale:
Cela fait un an et cela m'ennuie toujours, car les gens de GTK3 ont décidé de coder en dur ce comportement, sans aucun moyen de le rétablir sans recompiler.
Cependant, typeahead a été corrigé dans gtk3 tel que distribué dans Ubuntu.
Ubuntu a également fait que le sélecteur de fichiers nécessite un double-clic pour choisir un fichier, au lieu de ne nécessiter qu'un seul clic si le fichier a déjà été sélectionné. Si vous êtes d'accord pour patcher le code source de gtk3, j'ai fait un patch qui fonctionne à partir de gtk + 3.22.7 en combinant les patchs ubuntu et en les mettant à jour vers une version plus récente de GTK.
De plus, j'ai créé un script pour mon système Debian qui télécharge automatiquement la source de la dernière version dans le gestionnaire de paquets, la corrige et la compile. Fonctionne correctement sur Debian Sid et devrait également fonctionner correctement pour les autres distributions Debian.