Làm cách nào để ghi đè con trỏ chuột tùy chỉnh bằng Xcthon?


8

Khi tôi sử dụng rdesktopđể kết nối với máy chủ Microsoft Windows, con trỏ chuột được đặt thành phiên bản đơn sắc của con trỏ màu thật của Windows. Điều này cuối cùng là một mũi tên trắng không có đường viền, vì vậy rất khó để nhìn thấy nó trên một bề mặt trắng.

Tôi không muốn thay đổi con trỏ trên máy Windows, nhưng sự hiểu biết của tôi về cách Xcthon hoạt động như sau:

Khi bất kỳ con trỏ nào được đặt, nó sẽ được tra cứu theo tên tệp (sử dụng hàm băm của hình ảnh con trỏ) để nếu tìm thấy kết quả khớp, Xcoder đó được sử dụng thay cho đơn sắc ban đầu.

Ý tưởng của tôi là nếu tôi có thể cung cấp tệp này và đặt hình ảnh con trỏ rõ ràng hơn vào nó (như mũi tên mặc định) thì nó sẽ giải quyết vấn đề của tôi bằng cách sử dụng mũi tên mặc định hầu hết thời gian. Thêm vào đó, nó vẫn sẽ cho phép rdesktopthay đổi con trỏ sang một thứ khác (như mũi tên thay đổi kích thước) nếu máy từ xa cần.

  • Làm cách nào tôi có thể tìm ra hàm băm nào để sử dụng cho rdesktophình ảnh con trỏ tôi đang nhận được?
  • Làm cách nào tôi có thể ánh xạ hàm băm đó đến con trỏ mũi tên bình thường trong chủ đề tôi đang sử dụng?

Câu trả lời:


8

Tôi đã tìm ra cách để làm điều này. Trước tiên, bạn phải đặt XCURSOR_DISCOVERbiến môi trường trước khi chạy chương trình đang đặt con trỏ chuột, trong trường hợp của tôi , rdesktop:

$ XCURSOR_DISCOVER=1 rdesktop ...

Điều này sau đó sẽ in ra bitmap và băm của mỗi con trỏ chỉ khi chúng được đặt lần đầu tiên. Đây là những gì nó phát ra khi con trỏ Windows mặc định được đặt, đây là hình ảnh tôi muốn ghi đè:

Cursor image name: 24020000002800000528000084810000
...
Cursor image name: 7bf1cc07d310bf080118007e08fc30ff
...
Cursor hash 24020000002800000528000084810000 returns 0x0

Khi Xcoder tìm kiếm các con trỏ bị thiếu, đường dẫn tìm kiếm bao gồm ~/.icons/default/cursorsvì vậy đây là nơi chúng ta có thể đặt hình ảnh cho các con trỏ bị thiếu.

$ mkdir -p ~/.icons/default/cursors

Bây giờ ở đây bạn chỉ cần trỏ bất kỳ băm vào một hình ảnh hiện có. Khi một ứng dụng cố gắng thiết lập hàm băm, hình ảnh đó sẽ được sử dụng thay thế. Trong trường hợp này, chúng tôi muốn left_ptrhình ảnh được sử dụng (đây là mũi tên mặc định) từ Vanilla-DMZchủ đề:

$ ln -s /usr/share/icons/Vanilla-DMZ/cursors/left_ptr ~/.icons/default/cursors/24020000002800000528000084810000

Đó là nó! Sự thay đổi sẽ được nhìn thấy ngay lập tức.


Kinh ngạc! Làm thế nào bạn đưa ra giải pháp?
zygimantus

1
Tôi có một trí nhớ mơ hồ về cách đặt con trỏ tùy chỉnh từ khi xcursormới ra mắt, vì vậy sau khi tìm kiếm, tôi có thể tìm ra cách bạn phải xử lý thay thế con trỏ không chuẩn bằng hình ảnh xcoder mới mà bạn thích.
Malvineous
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.