Làm cách nào để sửa lỗi ứng dụng Java bù chuột trong Awesome WM?


15

Cách sao chép trong Awesome WM v3.5.2 đến 3.5.5 (cho đến nay):

  1. Cài đặt OpenJDK hoặc Oracle Java 7 . Lỗi này đã được quan sát với cả hai.
  2. Bắt đầu một phiên Awesome WM mới với cấu hình mặc định .
  3. Bắt đầu hoặc jEdit hoặc PyCharm . Lỗi này đã được quan sát với cả hai.
    • Di chuyển con trỏ chuột xung quanh và quan sát cách nó thay đổi dựa trên việc bạn đang di chuột qua mã, tệp dự án hoặc menu. Điều này sẽ làm việc bình thường.
    • Nhấp và phát hành trên menu Tệp , nhập một trong các menu phụ và quan sát cách mục trực tiếp dưới con trỏ chuột được tập trung mọi lúc.
  4. Nhấn Mod4+ Spacenhiều lần cho đến khi bố trí nổi được kích hoạt (ứng dụng sẽ gần như toàn màn hình) hoặc mở một ứng dụng khác trong cùng một thẻ.

Tại thời điểm này, tôi sẽ mong đợi con chuột hoạt động giống như với các ứng dụng "bình thường". Thay vào đó tôi quan sát như sau:

  • Khi nhấp và điều hướng các menu bằng chuột, con trỏ chuột và mục menu tập trung sẽ được bù theo chiều dọc với nhau, dường như có cùng số pixel với chiều cao của thanh trạng thái.
  • Khi di chuột qua các mục linh tinh như trước đây, biểu tượng con trỏ sẽ được đặt như thể con trỏ chuột cao hơn trên màn hình. Ví dụ: di chuột qua dòng văn bản trên cùng, bạn sẽ không thấy con trỏ văn bản.

Như thể có gì đó không phát hiện ra rằng tọa độ cửa sổ đã thay đổi.

Một lỗi tương tự nhưng khó chịu hơn nhiều xảy ra khi bạn mở một ứng dụng khác trong cùng một thẻ - hành vi của chuột giống như cửa sổ đã không di chuyển chút nào.

Khi bạn chuyển một thẻ khác đã mở ứng dụng - "màn hình chuột ảo" được di chuyển lên phía trên bên trái của màn hình chính .

Vì các lỗi này đã được quan sát trong cả OpenJDK và Oracle Java, với các ứng dụng Java khác nhau, có vẻ như rất có khả năng lỗi đó là trong Awesome WM.

Câu hỏi liên quan , bài viết . Tôi đã thử _JAVA_AWT_WM_NONREPARENTINGwmnamesửa, nhưng không đi.


Tôi nghĩ rằng Awesome mới nhất là một bản sửa lỗi WM nên không cần tùy chọn NONREPARENTING.
biết

Câu trả lời:


1

Theo kinh nghiệm của tôi, bạn cần thêm các định nghĩa đặc biệt vào nguồn cho trình quản lý cửa sổ.

Tôi đã có điều này xảy ra với tôi một vài năm trước đây trong trình marcoquản lý cửa sổ của máy tính để bàn MATE ; 'sửa chữa' là làm cho marco giả vờ là dự án mẹ của nó, độ bền, để sử dụng các bản sửa lỗi tích hợp của JDK cho độ bền.

từ src/core/display.c:

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

Điều này khắc phục những gì đã xảy ra với chuỗi tác nhân người dùng trong thế giới trình duyệt web, nhưng nó đã làm việc với tôi.

Ngoài ra, wiki vòm thậm chí còn đề cập đến Awesome WM trong phần mạo danh người quản lý cửa sổ khác, nơi nó khuyến nghị wmname:
https://wiki.archlinux.org/index.php/Java#Impersonate_another_window_manager

Bạn có thể sử dụng wmname từ mút.org để làm cho JVM tin rằng bạn đang chạy một trình quản lý cửa sổ khác. Điều này có thể giải quyết vấn đề kết xuất GUI Java xảy ra trong các trình quản lý cửa sổ như Awesome hoặc Dwm hoặc Ratpoison.

$ wmname LG3D

Bạn phải khởi động lại ứng dụng được đề cập sau khi ban hành lệnh wmname.

Điều này hoạt động vì JVM chứa một danh sách mã hóa cứng của các trình quản lý cửa sổ không được cha mẹ biết lại. Để trớ trêu tối đa, một số người dùng thích mạo danh LG3D, trình quản lý cửa sổ không tái tạo cha mẹ được viết bởi Sun, bằng Java.


-2

Đây dường như là lỗi liên quan đến Java trên Linux: https://netbeans.org/ormszilla/show_orms.cgi?id=227754

Trên URL ở trên, bạn có thể tìm thấy cách giải quyết cho NetBeans IDE, cách giải quyết khác cho ứng dụng Java tôi sử dụng là KHÔNG tối đa hóa ứng dụng Java bằng cách nhấn nút tối đa hóa, nhưng để thay đổi kích thước cửa sổ theo cách thủ công theo kích thước bạn muốn. Hãy chia sẻ thông tin nếu điều này giúp bạn, cảm ơn!


Không có nút để tối đa hóa trong Awesome WM. Việc sử dụng bố cục nổi làm cho nó thậm chí còn tệ hơn (toàn bộ cửa sổ có màu xám cho đến khi tôi thay đổi bố cục) và "Mở" JDK thực thi đăng ký ngay cả để xem xét các lỗi.
l0b0

Trên thực tế, có vẻ như openjdk.java.net yêu cầu người dùng in, ký, quét và gửi email Thỏa thuận cộng tác viên của Oracle để trở thành "người đóng góp", có lẽ cần phải xem cơ sở dữ liệu lỗi của họ. Đoán nội dung phải khá kinh khủng.
l0b0

Và thiết lập DESKTOP_SESSIONkhông hoạt động. Đã thử với một số giá trị được đề xuất.
l0b0
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.