VendorString() không hoạt động, luôn là Sun Microsystems, ngay cả khi Xorg được xây dựng cho Solaris.Cách phân biệt Xsun với Xorg, theo lập trình?
Trả lời
Nó có thể là một chút hacky, nhưng nếu bạn nhìn vào danh sách các phần mở rộng được trả về từ Xsun và Xorg bạn sẽ thấy rằng Xorg có thêm một vài phần mở rộng XFree86 có nguồn gốc.
xdpyinfo
có thể được sử dụng để liệt kê các tiện ích mở rộng thông qua dòng lệnh để kiểm tra sự khác biệt; theo lập trình, bạn có thể sử dụng XListExtensions()
hoặc XQueryExtension()
.
(Tôi chưa có máy chủ Xsun X để bàn giao nhưng tôi khá chắc chắn khi tôi đã xem trong quá khứ họ có sự khác biệt khá nhiều).
$ xdpyinfo | grep vendor vendor string: The X.Org Foundation vendor release number: 10601901
Đây là máy chủ xorg 1.6.1 trên Linux. Hy vọng rằng XOrg và XSun trên Solaris sẽ khác nhau ở đây.
Để xuất hai trường này, xdpyinfo
gọi ServerVendor
macro để xác định nhà cung cấp, sau đó phân tích sự trở lại của VendorRelease
macro khác nhau tùy thuộc vào những gì ServerVendor
là.
Nhân tiện, điều gì là VendorString()
? Tôi không có chức năng hoặc macro theo tên đó ...
Cảm ơn bạn! Rất tiếc, chuỗi VendorRelease(). Dù sao, tiếc là chúng tôi không thể đặt cược vào chuỗi này. Nó thay đổi thường xuyên đủ để có một rắc rối, cho Xsun cũng như cho Xorg. Tôi đã tìm thấy một giải pháp làm việc (hy vọng) cho họ và cho các máy chủ khác (có nguồn gốc) như Xvfb, Xnest, vv
Xsun sử dụng giá trị thứ ba trong một mảng các từ khóa cho KP_ (numpad). Xorg sử dụng 1-st hoặc 2-nd. Một sniffer đầu tiên, có được một mã khóa cho một KP_ keysym, ví dụ XK_KP_7, giây, sniff những gì có trong XKeycodeToKeysym (d, keycode, [0-3]). XK_KP_7 của chúng tôi sẽ nằm trên chỉ mục 2 cho Xsun.
Chà, đó là cảm giác như một hack thậm chí xấu hơn giải pháp của Dave, nhưng miễn là nó hoạt động ...! – ephemient
Điều này có vẻ như là một nơi tốt để viết một bài kiểm tra đơn vị! –
- 1. phân tích tệp jar theo lập trình
- 2. Phân biệt giữa các tập lệnh và chức năng theo lập trình
- 3. Lập trình nhãn nhiều dòng theo cách lập trình
- 4. Lập trình ngắt raw_input theo cách có lập trình
- 5. Tắt caps lock theo cách lập trình
- 6. iOS - Cách đặt UISwitch theo lập trình
- 7. Cách tạo NSPopover theo lập trình
- 8. Cách đặt layout_alignParentRight = "false" theo lập trình?
- 9. Cách đọc ImageView margin theo lập trình?
- 10. Điều hướng đến trang cụ thể trong scrollView với phân trang, theo lập trình
- 11. Nút thiết lập theo phong cách phẳng lập trình
- 12. Làm cách nào để phân biệt cuộn bằng chuột khi cuộn theo trình tự trong JavaScript?
- 13. GSON deserialize theo cách phân biệt chữ hoa chữ thường
- 14. Cách đặt "Chạy chương trình này với tư cách quản trị viên" theo lập trình
- 15. Phân tích cú pháp tệp .rst với chỉ thị Sphinx cụ thể theo lập trình
- 16. Tạo gradients theo lập trình?
- 17. Đặt NSIndexPath theo lập trình
- 18. hủy UIAlertView theo lập trình
- 19. tạo proxy bằng cách sử dụng phân tích cú pháp wsdl theo lập trình và wsdl
- 20. Sử dụng GPU theo cách có lập trình
- 21. Thêm người dùng subversion mới theo lập trình với C#
- 22. Kiểm tra theo lập trình mã .NET
- 23. Twitter Bootstrap: Cách đóng chương trình/popover theo lập trình với jQuery
- 24. cách thêm sự kiện bàn giao Xorg vào g_main_loop
- 25. Cách xác định thiết bị Android theo cách lập trình?
- 26. Cách đặt lại biểu mẫu theo cách lập trình?
- 27. Cách tạo biểu mẫu Dojo dijoit theo cách lập trình
- 28. cách lập chỉ mục tên người dùng trong Mongo với phân biệt chữ hoa chữ thường?
- 29. cập nhật tệp app.config theo lập trình với ConfigurationManager.OpenExeConfiguration (ConfigurationUserLevel.None);
Chỉ Xsun mới có Adobe-DPS - Sun không bao gồm điều đó trong cổng Xorg của chúng tôi. – alanc