Awesome WM Java uygulamaları fare işaretçi ofset nasıl düzeltilir?


15

Awesome WM v3.5.2 - 3.5.5 (şimdiye kadar) içinde nasıl çoğaltılır:

  1. OpenJDK veya Oracle Java 7'yi yükleyin . Bu hata her ikisinde de gözlenmiştir.
  2. Varsayılan yapılandırmayla yeni bir Başar WM oturumu başlatın .
  3. Ya başlatın jEdit veya pycharm . Bu hata her ikisinde de gözlenmiştir.
    • Fare işaretçisini hareket ettirin ve kodun, proje dosyalarının veya menülerin üzerine gelip gelmediğinize göre nasıl değiştiğini gözlemleyin. Bu normal şekilde çalışmalıdır.
    • Dosya menüsünde tıklayın ve bırakın , alt menüden birini girin ve fare işaretçisinin altındaki öğenin her zaman nasıl odaklandığını gözlemleyin.
  4. Kayan düzen etkinleşene kadar (uygulama neredeyse tam ekran olacak) veya aynı etikette başka bir uygulama açana kadar Mod4+ Spacedüğmesine art arda basın .

Bu noktada, farenin "normal" uygulamalarda olduğu gibi davranmasını beklerdim. Bunun yerine aşağıdakileri gözlemliyorum:

  • Menülere fare ile tıklanırken ve gezinirken, fare işaretçisi ve odaklanmış menü öğesi , görünüşte durum çubuğunun yüksekliği ile aynı miktarda piksel olacak şekilde birbirinden dikey olarak kaydırılır .
  • Daha önce olduğu gibi çeşitli öğelerin üzerine geldiğinizde, imleç simgesi , fare işaretçisi ekranda yukarıdaymış gibi ayarlanacaktır. Örneğin, metnin üst satırının üzerine geldiğinizde bir metin imleci görmezsiniz.

Sanki bir şey pencere koordinatlarının değiştiğini algılamıyor gibi.

Aynı etikette başka bir uygulama açtığınızda benzer ama çok daha can sıkıcı bir hata oluşur - fare davranışı pencere hiç hareket etmemiş gibi.

Ne zaman zaten açık bir uygulamayı barındıran başka bir etiket geçiş - "sanal fare masaüstü" taşınır birincil ekranın sol üst .

Bu hatalar farklı Java uygulamalarıyla hem OpenJDK'da hem de Oracle Java'da gözlemlendiğinden, hatanın Awesome WM'de olması çok muhtemel görünüyor.

İlgili soru , makale . Ben denedim _JAVA_AWT_WM_NONREPARENTINGve wmnamedüzeltmeler, ama gitmek yok.


Bence en son Awesome yeniden işleyen bir WM olduğunu, bu yüzden NONREPARENTING seçeneğine gerek yok.
dknight

Yanıtlar:


1

Deneyimlerime göre pencere yöneticisi kaynağına özel tanımlar eklemeniz gerekiyor.

Bu bana birkaç yıl önce MATE masaüstünün marcopencere yöneticisinde oldu; 'düzeltme', marco'nun ana projesi, metacity gibi davranarak JDK'nın yerleşik metacity düzeltmelerini kullanmasını sağlamaktı.

from src/core/display.c:

meta_prop_set_utf8_string_hint (the_display,
                                the_display->leader_window,
                                the_display->atom__NET_WM_NAME,
                                "Metacity (Marco)");

Bu düzeltme, web tarayıcıları dünyasındaki kullanıcı aracısı dizesine ne olduğunu gösteriyor, ancak benim için çalıştı.

Ayrıca, arch wiki, diğer pencere yöneticilerinin kimliğine bürünme bölümünde önerildiği yerlerde Awesome WM'den bile bahseder wmname:
https://wiki.archlinux.org/index.php/Java#Impersonate_another_window_manager

JVM'yi farklı bir pencere yöneticisi çalıştırdığınıza inandırmak için suckless.org adresinden wmname'i kullanabilirsiniz. Bu, Awesome veya Dwm veya Ratpoison gibi pencere yöneticilerinde meydana gelen Java GUI'lerinin oluşturma sorununu çözebilir.

$ wmname LG3D

Wmname komutunu verdikten sonra söz konusu uygulamayı yeniden başlatmanız gerekir.

JVM bilinen, yeniden ebeveyn olmayan pencere yöneticilerinin sabit kodlu bir listesini içerdiği için bu çalışır. Maksimum ironi için, bazı kullanıcılar Sun tarafından yazılan ebeveyn olmayan pencere yöneticisi LG3D'yi Java'da taklit etmeyi tercih eder.


-2

Linux'ta Java ile ilgili bir hata olduğu biliniyor: https://netbeans.org/bugzilla/show_bug.cgi?id=227754

Yukarıdaki URL'de NetBeans IDE için geçici çözüm bulabilirsiniz, kullandığım Java uygulaması için çalışan geçici çözüm, büyütme düğmesine basarak Java uygulamasını en üst düzeye çıkarmak DEĞİLDİR, ancak tercih ettiğiniz boyuta göre pencereyi manuel olarak yeniden boyutlandırmaktır. Bu size yardımcı olursa lütfen bilgileri paylaşın, teşekkürler!


Awesome WM'de en üst düzeye çıkarmak için düğme yok. Kayan düzeni kullanmak daha da kötüleşti (düzeni değiştirene kadar tüm pencere gridir) ve "Aç" JDK hatalara bakmak için bile kaydı zorunlu kılar.
l0b0

Aslında, openjdk.java.net, kullanıcıların Oracle Veri Tabanı Anlaşmasını, hata veritabanlarını görmek için muhtemelen gerekli olan bir "katılımcı" olarak yazdırmasını, imzalamasını, taramasını ve e-posta ile göndermesini gerektirir. Sanırım içeriği oldukça korkunç olmalı.
l0b0

Ve ayar DESKTOP_SESSIONçalışmıyor. Önerilen değerlerin birçoğuyla denendi.
l0b0
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.