Agus, you are right, currently I have developed a custom tool useful for presentations, which takes the opened page with a DEFINED ORDER of sub-pages in form of sub-links: +introduction +methods +... consequently after running the custom tool a small window appears and you can change pages with page up, page down and escape the window by pressing the escape key or button. It would be nice to integrate it more neatly to the full screen feature of ZIM, which I have used for some presentations before :-D Hope it helps and possibly it may be useful also for somebody else...
You need to copy attached files to ~/.config/zim/customtools/ and restart the ZIM, than the custom tool should appear under menu -- tools -- presenter All the best, Jakub On 29 January 2015 at 21:32, Agustin Lobo <aloboa...@gmail.com> wrote: > Jakub, > > At some point you said > "...especially in presentations, which I love to make in ZIM " > > Could you explain how you actually make presentations with zim or > point to the appropriate doc? > > Thanks! > Agus > > -- > Agustin Lobo > aloboa...@gmail.com >
import gtk import subprocess import time import os import sys # custom tool program = "zim" notebook = sys.argv[1] path = sys.argv[2] namespace = "" index = 0 #list_sublinks = ["",] + sublinks.replace("+", "").split("\n") def get_namespace_from(path): global notebook if path.endswith(".txt"): path = path[:-4] return path.replace(notebook,"").replace("/",":")[1:] def convert_to_absolute_path(namespace): rel_path = namespace.replace(':',"/")+'.txt' rel_path = rel_path.replace(" ", "_") abs_path = os.path.join(notebook, rel_path) return abs_path def get_page_sublinks(path): global namespace links = [] if os.path.exists(path+".txt"): page = open(path+".txt", "r") for line in page.readlines(): link_chunks = line.split("[[+") if len(link_chunks) > 1: for link_chunk in link_chunks[1:]: end_link = link_chunk.find("]]") start_title = 0 end_title = link_chunk.find("|") if end_title == -1: end_title = end_link link = link_chunk[start_title:end_title] comment = link_chunk[end_link+2:].strip() # print title if not ":" in link: links.append(namespace+":"+link) return links def wakeup(widget, event): global index global namespace global list_sublinks if type(event) == int: keycode = event else: keycode = event.keyval # PgUp if keycode == 65365 and index > 0: index = index - 1 # PgDn elif keycode == 65366 and index < len(list_sublinks)-1: index = index + 1 # Esc elif keycode == 65307: destroy(widget) # change page if index gives sense if index >= 0 and index < len(list_sublinks): print "index: %i" % index print "length of sublinks: %i" % len(list_sublinks) print "namesspace: %s" % list_sublinks[index] subprocess.call([program, notebook, list_sublinks[index]]) def destroy(widget, data=None): widget.destroy() gtk.main_quit() namespace = get_namespace_from(path) print namespace list_sublinks = [namespace,]+get_page_sublinks(path) print list_sublinks w = gtk.Window() #w.set_title("ZIM-Wiki presenter") w.set_decorated(False) w.set_has_frame(False) w.set_border_width(4) w.set_keep_above(True) w.set_gravity(gtk.gdk.GRAVITY_SOUTH_EAST) width, height = w.get_size() w.move(gtk.gdk.screen_width() - width, gtk.gdk.screen_height() - height) w.add_events(gtk.gdk.KEY_PRESS_MASK) w.connect("key-press-event", wakeup) hbox = gtk.HButtonBox() w.add(hbox) # Create a new button prev_button = gtk.Button("PgUp") next_button = gtk.Button("PgDn") quit_button = gtk.Button("ESC") # Connect the "clicked" signal of the button to our callback prev_button.connect("pressed", wakeup, 65365) next_button.connect("pressed", wakeup, 65366) quit_button.connect("pressed", destroy) hbox.add(prev_button) hbox.add(next_button) hbox.add(quit_button) hbox.set_size_request(200, 25) prev_button.show() next_button.show() quit_button.show() hbox.show() w.show() gtk.main()
presenter-usercreated.desktop
Description: application/desktop
_______________________________________________ Mailing list: https://launchpad.net/~zim-wiki Post to : zim-wiki@lists.launchpad.net Unsubscribe : https://launchpad.net/~zim-wiki More help : https://help.launchpad.net/ListHelp