2010-09-03 4 views
11

Emacsclient çalıştırıldıktan sonra sürekli olarak pencere odağını nasıl kontrol edebilirim?emacsclient window focus

Halihazırda, bir emacs sunucusunun çalışmakta olup olmadığına bağlı olarak odaklanmakta. Emacsclient alternatif bir editörü çağırdığında, odak yeni emacs penceresine kaydırılır. Emacsclient mevcut bir emacs sunucusuna bağlandığında, odak kaydırılmaz (yani, macun istemcimde kalır).

Sürekli olarak bir dosya açtıktan sonra emacs'a gittiğim için sürekli olarak emacs penceresine odaklanmak isterim.

Herhangi bir yardım büyük takdir!

# a wrapper is needed to sandwich multiple command line arguments in bash 
# 2>/dev/null hides 
# "emacsclient: can't find socket; have you started the server?" 
emacs_wrapper() { 
    if [ 0 -eq $# ] 
    then 
    emacsclient -n -a emacs ~/notes.txt 2>/dev/null & 
    else 
    emacsclient -n -a emacs $* & 
    fi 
} 
alias x="emacs_wrapper" 

Ayrıca benim .bash_profile ait

Notlar

Sürüm Bilgisi

emacs: 21.4.1 
emacsclient: 21.4 
client os: Windows XP Service Pack 3 
x server: Exceed 11.0.0.0 

İlgili bölüm, benim .emacs sonunda ben

(server-start) 
var

Bulunduğum geçici çözüm Bir yan not olarak benim aşar ilk pencereye

^+x:: 
If WinExist("ahk_class EXCEEDW:MWCLIENT0") 
    WinActivate 
return 

odaklanan basit bir autohotkey komut dosyası vardır,/dev/null benim yönlendirme sözdizimi-vurgulayıcı :(

+0

Bu size yardımcı olmayabilir, ancak odak 23.2.2 ve Ubuntu kullanırken mevcut emacs penceresine geçiyor gibi görünüyor. –

+0

Windows üzerinde X sunucunuzun kullanımı ile karmaşık hale geldiğinden şüpheleniyorum. Windows için emacs kullanmayı düşündünüz mü? 23.2 önceden derlenmiş kullanılabilir: http://ftp.gnu.org/gnu/emacs/windows/ – Chadwick

+0

Ben aslında yüklü emacsw32 var. Ancak, CIFS hisseleri ile agonizmasiz bir sekilde calisiyor :( – vlee

cevap

-3

Bilinmeyen bir nedenden dolayı, sorun kendini düzeltmiştir. Dosyaları açma şimdi sürekli olarak ilgili dosyayı içeren odağı emacs çerçevesine değiştirir. Davranışları neyin değiştirdiğinden emin değilim ama mutluyum.

Yorum ve önerilerinden dolayı herkese teşekkürler!

0

karıştı görünüyor Emacsclient için "- create frame" seçeneği sizin için çalışır mı? Bu şekilde açtığınız her dosya için yeni bir çerçeve alacaksınız, ama en azından odaklanmış olacaktır (bence).

+0

Öneriniz için tesekkurler! Ancak, sorun kendini onardi (cevaba bkz. 2010-10-12). Bir yan not olarak, bir ton karesi olusturacagim. Bu yaklaşımı kullanırsam – vlee

5

ne dersiniz: yararlı olabilir (lower-frame) unfocus için Emacs'ta 23.1

benim için

emacsclient -e "(select-frame-set-input-focus (selected-frame))" 

eser.

+0

Öneriniz için teşekkürler Doğru düzeltmeyi sergileyen bu düzeltmeyi denedim.Ne yazık ki, bu düzeltme olmadan sorun bulunmadığından maalesef bu özniteliğe kesin bir öznitelik atamıyorum. – vlee