Bem, não tenho certeza se esse bug está ocorrendo apenas na minha máquina ou se é mais comum. Eu poderia estar errado, mas eu estou supondo que isso é provavelmente devido a alguma restrição de segurança que impede que os aplicativos se concentrem em janelas já abertas (tanto quanto eu sei que o gerenciador de janelas deve manipular essas coisas agora e não o servidor de exibição como no X ). Eu estou supondo que este é um problema de transição e que o gnome eventualmente dará ao gedit a capacidade de focar novas abas.
Enquanto aguardo esta correção, criei uma correção parcial que enviará uma notificação quando uma nova guia for aberta no gedit. Isso não corrige o problema de autofoco, mas pelo menos lhe dá uma espécie de sugestão para que você não fique parado por 2 ou 3 segundos imaginando por que sua janela ainda não abriu.
Em um terminal não-root, insira:
gedit admin:///usr/bin/gedit-notify
Em gedit-notify , cole o seguinte script:
#!/bin/bash
# purpose of this script: gedit under gnome Wayland has pretty messed up focusing and activation problems. First document/tab opened will focus normally but all the following ones open in the background without the traditional notification: "Your window is now read, click to focus". Its very distracting behavior because for the first 2 seconds you're wondering if your click was registered or not, if the app opened or not, etc. This script sends a notification every time you open a text file in the background.
skip_list=true # you get notified but your notification list doesn't get spammed.
gedit_inst=$(ps ax|grep " gedit "|wc -l) #total number gedit windows + 1
gedit_inst=$(expr $gedit_inst - 1) #remove one from the count to account for the grep " gedit " process
gedit_s=$(ps ax|grep " gedit -s"|wc -l) # -s switch represents signle / independent instance for gedit.
# gedit_s represents the number of gedit windows running as
# independent instances + 1
gedit_s=$(expr $gedit_s - 1) # same logic as before
gedit_inst=$(expr $gedit_inst - $gedit_s) #substracts the # of windows running in independent instances
#from total cound - because they don't affect the focus behavior.
if [ "$skip_list" = true ]; then
n_arg0="--hint";n_arg1="int:transient:1"
else
n_arg0="-u";n_arg1="low"
fi
if [ "$gedit_inst" = 0 ]; then notify=false;fi
n=0
while true; do
n=$(expr $n + 1)
file=$(eval echo \$$n)
if ! [ -z "$file" ]; then
gedit "$file" &
if [ -z "$err" -o "$err" = 0 ]; then
err="$?"
fi
else
count=$(expr $n - 1)
if [ $count = 0 ]; then
if [ "$notify" != false ]; then notify-send $n_arg0 $n_arg1 "TEXT EDITOR is ready. Activate it manually.";fi
gedit
fi
break;
fi
done
if [ "$err" = 0 -a "$notify" != false ]; then
if [ $count -gt 1 ]; then
notify-send $n_arg0 $n_arg1 "TEXT EDITOR is ready. Activate it manually." "$count files were opened."
elif [ $count = 1 ]; then
notify-send $n_arg0 $n_arg1 "TEXT EDITOR is ready. Activate it manually." "file: \"$1\""
fi
elif [ "$err" != 0 ]; then
notify-send -i error "TEXT EDITOR: I ran into some error(s) while opening your file(s)."
fi
salve gedit-notify e digite:
cd /usr/bin
sudo chmod +x gedit-notify; sudo touch gedit-notify
gedit admin:///usr/share/applications/gedit-notify.desktop
em gedit-notify.desktop , cole o seguinte código:
[Desktop Entry]
Name=Text Editor (Notify)
Comment=Edit text files
Exec=gedit-notify %U
Terminal=false
Type=Application
StartupNotify=true
Icon=gedit
Categories=GNOME;GTK;Utility;TextEditor;
X-GNOME-DocPath=gedit/gedit.xml
X-GNOME-FullName=Text Editor
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gedit
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=3.22.1
X-GNOME-Bugzilla-ExtraInfoScript=/usr/share/gedit/gedit-bugreport.sh
Actions=new-window;new-document;
Keywords=Text;Editor;Plaintext;Write;
X-Ubuntu-Gettext-Domain=gedit
X-AppStream-Ignore=true
[Desktop Action new-window]
Name=New Window
Exec=gedit --new-window
[Desktop Action new-document]
Name=New Document
Exec=gedit --new-document
Isso criará um atalho na área de trabalho que será exibido como Editor de texto (notificar) em seu painel e no menu Abrir com. No nautilus, navegue, localize um arquivo de texto, clique com o botão direito nele, selecione Propriedades, clique na aba Abrir com, selecione "Editor de Texto (Notificar)", definido como padrão. Haverá 4 ou 5 tipos diferentes de arquivos de texto que precisam ter esse processo repetido. Enxague e repita.