Có thể thay đổi và cập nhật biểu tượng trạng thái của một applet chỉ báo đang chạy không?


8

Tôi đang cố gắng tạo một chỉ báo ứng dụng đơn giản bắt chước applet tải CPU cho bảng điều khiển gnome.

Tôi hiện đang làm điều này bằng cách cập nhật (ghi đè) biểu tượng trạng thái của chỉ báo với thông tin tải CPU mới và đặt lại biểu tượng trạng thái thành cùng một biểu tượng trên mỗi bản cập nhật (Tôi biết điều này là ngu ngốc, nhưng tôi không biết nếu nó là hiện có thể giải quyết khác).

Thật không may, điều này không hoạt động và tôi luôn thấy trạng thái biểu tượng "đầu tiên", vd.

Biểu tượng chỉ báo không cập nhật, trong khi nội dung của biểu tượng thì có.

Tôi cũng đã cố gắng tạm thời đặt biểu tượng trạng thái thành một cái gì đó khác, ví dụ.

...
update_icon()
indicator.set_icon("indicator-messages")
indicator.set_icon("indicator-cpu-load")
...

nhưng điều đó cũng không hiệu quả.

Có ý kiến ​​gì không?


CẬP NHẬT:

Thực sự có thể làm những gì tôi muốn bằng cách sử dụng một bản hack để khiến chỉ báo này sơn lại biểu tượng của nó (cảm ơn ông Jorge Castro và Ted Gould):

...
update_icon()
indicator.set_status(appindicator.STATUS_ATTENTION)
indicator.set_status(appindicator.STATUS_ACTIVE)
...

Biểu tượng trạng thái chú ý phải giống với biểu tượng trạng thái hoạt động, nếu không sẽ có một số nhấp nháy.

Câu trả lời:


4

Đây thực sự không phải là hành vi dự định của Các chỉ số ứng dụng: chúng có nghĩa là có một hoặc hai biểu tượng và không phải là thứ mà bạn gần như có thể đặt trong một tiện ích.

Dường như có một cái gì đó sai trong bộ nhớ đệm của biểu tượng, vì nó nên cập nhật một biểu tượng đã thay đổi, mặc dù.

Dù sao, bạn có thể muốn sử dụng một cái gì đó như ' libindicator ' để tạo chỉ báo tùy chỉnh của riêng bạn. Bộ sưu tập các chỉ số ứng dụng trên bảng điều khiển của bạn được vẽ bởi một chỉ báo. Bạn có nhiều chức năng hơn khi sử dụng khi viết một chỉ báo tùy chỉnh, so với khi sử dụng API chỉ số ứng dụng hạn chế, được giới hạn một cách có chủ ý để đảm bảo chúng tôi không gặp rắc rối.

Ngoài ra, hãy đảm bảo xem xét gói 'libindicator-tools', trong đó có một số tiện ích tiện dụng để kiểm tra các chỉ số.


Trong khi nó có thể làm những gì tôi muốn (xem cập nhật trong câu hỏi), tôi đồng ý rằng viết một chỉ số tùy chỉnh có thể là một ý tưởng tốt hơn.
htorque

Tuy nhiên, tôi không thấy lý do tại sao sử dụng một quy trình được thiết lập và hoạt động tốt như GTkStatusIcon rõ ràng không được khuyến khích ở đây. Để làm rõ điều này một lần nữa: hiện tại có hỗ trợ đầy đủ cho GtkStatusIcon trong tất cả các trình quản lý máy tính để bàn chính. Do đó, GtkStatusIcon cần được tiếp tục trong các bản phát hành Ubuntu trong tương lai và nó sẽ - ít nhất là dự phòng. Bất cứ ai bị hạ cấp cho GtKStatusIcon, bạn có thể vui lòng giải thích lý do tại sao bạn nghĩ khác. Có bất kỳ lý do nào tôi có thể không nhận thức được để không viết các chương trình phụ thuộc vào GtkStatusIcon không?
Takkat

Phiên bản tiếp theo của Ubuntu, sẽ sử dụng Unity làm vỏ mặc định, sẽ không hỗ trợ GtkStatusIcons, ngoài các trường hợp đặc biệt của Java và Wine. Điều này được thực hiện để máy tính để bàn có thể di chuyển về phía trước, sử dụng công nghệ mới và giảm sự lộn xộn trong khu vực thông báo.
Sense Hofstede

cảm ơn bạn đã chỉ vào điều này Điều này thực sự có nghĩa là tất cả các ứng dụng cần biểu tượng có thể tùy chỉnh hoặc dựa vào NA kế thừa sẽ không chạy trong các phiên bản Ubuntu trong tương lai nếu nhà phát triển của chúng không chuyển nó?
Takkat

Họ sẽ chạy trên Ubuntu, nhưng GtkStatusIcon của họ sẽ không được hiển thị.
Sense Hofstede

1

Tôi không nghĩ rằng điều này là có thể và có vẻ như là do thiết kế, từ báo cáo lỗi .

Thay vào đó, những gì chúng tôi muốn khuyến khích là mọi người bắt đầu suy nghĩ như các chủ đề biểu tượng. Lý do cho điều này là nó cho phép nhiều kích thước và chủ đề của bảng điều khiển tách biệt với các ứng dụng. Vì vậy, ví dụ, một ứng dụng có thể theo chủ đề với nền sáng (do đó cần các biểu tượng tối) và bảng điều khiển có thể có nền tối (cần biểu tượng sáng). Ứng dụng không cần phải biết về điều này. Và bằng cách sử dụng biểu tượng đặt tên vấn đề này có thể giải quyết được ở phía bên của sự vật.

Đối với chu trình Natty, chúng tôi cũng muốn cung cấp API tiện lợi để cung cấp cho việc xây dựng chủ đề biểu tượng tùy chỉnh cho những người muốn tạo biểu tượng. Điều này không giải quyết được tất cả các vấn đề theo chủ đề, nhưng nó có thể giải quyết nhiều kích cỡ một.

Cập nhật: Để trả lời bình luận của bạn, Ted nghĩ rằng đó là một lỗi và khuyên bạn nên gửi một lỗi trên ứng dụng chỉ báo , một cái gì đó dọc theo dòng "cập nhật chủ đề không được các chỉ số nhận ra"


Tôi khá chắc chắn rằng những gì tôi làm là chống lại thiết kế, nhưng tôi sợ nhận xét đó không trả lời tại sao tôi không thể chỉnh sửa / thay đổi biểu tượng (trong chủ đề) và buộc chỉ báo cập nhật nội dung của nó. Tôi có thể làm một cái gì đó như Indicator.set_icon ("a") Indicator.set_icon ("b") Indicator.set_icon ("c") ... nhưng tôi không có không gian vô hạn cho các biểu tượng mới vô hạn. : P
htorque
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.