Câu hỏi Tìm kiếm ứng dụng hộp thoại “Bạn có biết…” có thể tùy chỉnh hay không


Tôi muốn triển khai ứng dụng "Bạn có biết ..." hoặc "Mẹo trong ngày" tại văn phòng hay không. Nó nên:

  • Hiển thị hộp thoại tại thời điểm đăng nhập bằng một mẹo ngẫu nhiên.
  • Rõ ràng, cung cấp một số cách để lưu trữ lời khuyên của riêng tôi.
  • Dễ dàng vô hiệu hóa và có thể bật lại bởi chính người dùng.

Tôi đang sử dụng con rối, vì vậy tôi được bảo hiểm với việc triển khai. Những lời khuyên thậm chí không cần phải được thu thập từ một máy chủ, vì tôi có thể triển khai các tập tin / cơ sở dữ liệu mẹo mới nhất mà không mất chi phí.

Chắc chắn, tôi có thể hack một giải pháp nhanh chóng bằng cách sử dụng zenity và bash, nhưng tôi muốn biết nếu có bất kỳ ứng dụng ra có mục tiêu cụ thể này.

Tôi không thích cách tiếp cận zenity rất nhiều bởi vì nó rất hạn chế về nội dung có thể được hiển thị. Không có văn bản bên cạnh ảnh chụp màn hình, ví dụ. Thiền là nhằm mục đích hiển thị các hộp thoại đơn giản.


4
2017-12-08 16:45


gốc


Bạn đã có thể sử dụng yelp để hiển thị các mẹo của bạn nếu bạn sẵn sàng viết chúng bằng xml hoặc html. - user55822
Tôi thích cách tiếp cận này. Tôi có thể viết kịch bản này, nhưng làm cách nào tôi có thể đặt xml hoặc html tùy chỉnh của mình vào yelp? - Jorge Suárez de Lis
Kiểm tra yad, một ngã ba của Thiền với nhiều cải tiến. - dixoncx
Bạn có thể chuyển một tệp dưới dạng đối số yelp. - andrewsomething
Như cho yad, cảm ơn, nó có nhiều lựa chọn hơn zenity, nhưng nó vẫn còn rất hạn chế trên hwo để định vị hình ảnh và chỉ hiển thị văn bản đánh dấu pango. Như cho yelp, loại tệp nào? Tôi đã thử truyền một số tệp HTML và chỉ mở chúng trên trình duyệt Chromium. - Jorge Suárez de Lis


Các câu trả lời:


Điều này nghe rất giống với giao diện đồ họa fortune với cơ sở dữ liệu tùy chỉnh.

Tạo cơ sở dữ liệu tùy chỉnh Fortunes

  1. Tạo một tệp văn bản chứa tất cả các mẹo bạn muốn hiển thị. Mỗi đầu phải nằm trên một dòng riêng và phải có dòng chỉ chứa % nhân vật sau mỗi mẹo.
  2. Chạy strfile -c % tips tips.dat để tạo một tệp phù hợp để sử dụng với fortune

Đang cài đặt fortune và các mẹo

  1. Chạy sudo apt-get install fortune-mod để có được fortune chương trình.
  2. Bây giờ hãy đặt tips và tips.dat trong / usr / share / games / fortunes. Nếu có các tệp khác đã có, những vận may đó sẽ hiển thị xen kẽ với các mẹo của bạn; bạn có thể muốn xóa chúng.

Giao diện đồ họa

Rất tiếc, không có nhiều tùy chọn để hiển thị đồ thị. Bạn có thể cài đặt xcowsay, trong kho lưu trữ thông thường, hoặc cài đặt Wanda the Fish applet từ PPA của nó: https://launchpad.net/~dylanmccall/+archive/indicator-fish. Cả hai đều có thể được cấu hình để bắt đầu khi người dùng đăng nhập. Tôi tin rằng chỉ xcowsay Tuy nhiên, có thể hiển thị hình ảnh.

Cả hai chương trình này đều đặc biệt chuyên nghiệp, xcowsay có một con bò nói chuyện và chỉ số-cá một con cá phim hoạt hình đi kèm với mỗi tài sản. Nếu đó là một mối quan tâm cho bạn, bạn có thể sẽ tốt hơn bằng cách viết trình bao bọc đồ họa của riêng bạn cho fortune.


6
2017-12-09 22:30



Cảm ơn, nhưng phần giao diện đồ họa biến tôi xuống hoàn toàn :( - Jorge Suárez de Lis


Tôi đã kết thúc một giải pháp nhanh với Python bằng cách sử dụng Python-webkit. Giải pháp này hiển thị các tệp HTML

#!/usr/bin/env python

import gtk,webkit,os
from random import choice

win = gtk.Window()
win.connect("destroy", lambda w: gtk.main_quit())

scroller = gtk.ScrolledWindow()
win.add(scroller)

web = webkit.WebView()
scroller.add(web)

banners = ["banner1","banner2","banner3"]
banner = choice(banners)

web.load_uri("file:///usr/local/lib/tips/"+banner+".html")

win.resize(640,400)
win.show_all()
gtk.main()

Đặt các biểu ngữ tương ứng trên /usr/local/lib/tips/, ví dụ, banner1.html là một hình ảnh đơn giản:

<html><head><style>*,html,body{margin:0;padding:0;}</style></head><body></body><img src='banner1.png' /></html>

Nếu bạn tham khảo tài nguyên (hình ảnh, css, js ...), hãy đặt chúng vào /usr/local/lib/tips/.

Sau đó, chạy tập lệnh python này khi bắt đầu phiên, bằng cách tạo tệp trên máy tính để bàn /etc/xdg/autostart.


0
2018-02-25 10:16