Code Monkey home page Code Monkey logo

zim-desktop-wiki's Introduction

Zim - A Desktop Wiki Editor

zim banner

Zim is a graphical text editor used to maintain a collection of wiki pages. Each page can contain links to other pages, simple formatting, and images. Pages are stored in a folder structure, like in an outliner, and can have attachments. Creating a new page is as easy as linking to a nonexistent page. All data is stored in plain text files with wiki formatting. Various plugins provide additional functionality, like a task list manager, an equation editor, a tray icon, and support for version control.

Screenshot

Zim can be used to:

  • Keep an archive of notes
  • Keep a daily or weekly journal
  • Take notes during meetings or lectures
  • Organize task lists
  • Draft blog entries and emails
  • Do brainstorming

Installing from a Package

Most Linux distributions include zim in their package repository. On Debian and Ubuntu, the package is simply called "zim".

Debian/Ubuntu packages, a Windows installer and an app for macOS can be found on the website.

Installing from Source

NOTE: You don't need to install zim in order to test it. You should be able to run it directly from the source directory by calling ./zim.py. (To run a translated version from the source, run ./setup.py build_trans.)

First, you should verify you have the dependencies zim needs. To list all dependencies check ./setup.py --requires.

You will at least need the following:

  • Gtk+ >= 3.18
  • python3 >= 3.6
  • python3-gi (also known as pygobject, but make sure to have the "gi" based version)
  • python3-xdg (optional, but recommended)
  • xdg-utils (optional, but recommended on linux)
  • python3-pillow (optional, to support more image formats like ".webp")

To verify that zim is working properly on your system, you can run the test suite using ./test.py. Failures do not have to be critical, but in principle, all tests should pass.

Zim can be installed from source using:

./setup.py install

If you are installing Zim from source in a Python virtual environment, you need to tell Zim where to load necessary data files by export XDG_DATA_DIRS=<where-your-virtual-environment-root-folder-is>/share:$XDG_DATA_DIRS. Please refer to the Install Paths section for more details about the XDG paths.

Most plugins have additional requirements. These are listed in the plugin descriptions.

Ubuntu

On Ubuntu or other Debian derived systems, the following packages should be installed:

  • python3
  • gir1.2-gtk-3.0
  • python3-gi
  • python3-xdg
  • python3-pillow

Windows

Download, install and update MSYS2 64-bit by following the instructions on their website.

Open "MSYS2 MSYS" terminal from the Start Menu and install GTK3, Python3 and Python bindings for GTK:

pacman -S mingw-w64-x86_64-gtk3 mingw-w64-x86_64-python3 mingw-w64-x86_64-python3-gobject

The Windows drive is mounted on /c, browse your Windows user folder using:

cd "/c/Users/$USERNAME"

You can now run Zim from the MSYS terminal using:

/mingw64/bin/python3 zim.py

Or from any Windows terminal using:

C:\msys64\mingw64\bin\python3.exe zim.py

For more details see GTK installation instructions for Windows and PyGObject Getting Started.

Note: installation of the "msys" environment offers a "32" and a "64" bit shell. When you installed the "64" packages for Gtk, they will only run from the "64" shell.

macOS

You can use a package manager like Homebrew (instructions here) or MacPorts (instructions here) to install Zim and its dependencies. Please note that we do not have the resources to offer any support for this.

Install Paths

If you install zim in a non-default location, you may need to set the PYTHONPATH environment variable in order for zim to find its python modules. For example, if you installed the modules below "/home/user/lib/zim" you need to set:

PYTHONPATH=/home/user/lib

Also, zim uses the XDG paths to locate data and config files. If you get an error that zim can not find its data files, for example, if you installed the zim data files to "/home/user/share/zim", you will need to set the data path like this:

XDG_DATA_DIRS=/home/user/share:/usr/local/share:/usr/share

Contributing

See CONTRIBUTING and PLUGIN_WRITING for information on contributing to the zim source code, translations and documentation.

Copyright and License

Zim is an open-source program. This means it can be used and distributed freely under the conditions of the license.

All files in this package, except for those mentioned below, are copyrighted by Jaap Karssenberg [email protected]

Translations are copyrighted by their respective translators. All translations that are entered through the launchpad or weblate websites are distributed under the BSD license. See the translation files for detailed translator credits.

The following files were included from other sources:

  • zim/inc/xdot.py - Copyright 2008 Jose Fonseca
  • zim/inc/arithmetic.py - Copyright 2010, 2011 Patricio Paez
  • From the default Gnome icon theme:
    • pixmaps/task-list.png (was: stock_todo.png)
    • pixmaps/attachment.png (was: mail-attachment.png)
  • From Gtk+ 2.8
    • pixmaps/link.png (was: stock_connect_24.png)
  • pixmaps/calendar.png (was: stock_calendar-view-month.png) Copyright 2007 by Jakub Steiner, released under GPL modifications copyright 2009 by Gabriel Hurley

zim-desktop-wiki's People

Contributors

andreasklostermaier avatar banan314 avatar bkidwell avatar brechtm avatar bruvellu avatar chaghi avatar dehesselle avatar duzyn avatar epinull avatar genodeftest avatar introt avatar jaap-karssenberg avatar jiri-janousek avatar jopereira avatar jreinhardt avatar laralem avatar milotype avatar mstimberg avatar nick222 avatar oliver-joos avatar oturpe avatar pdecat avatar santossi avatar self-perfection avatar sikmir avatar sneakypete81 avatar stefre avatar toggoren avatar weblate avatar yarons avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zim-desktop-wiki's Issues

Tasklist view in side pane by tag

Allow to switch the tasklist in the side pane to a "by tag" view that uses tags as toplevel. Similar as what the "tags" plugin does for the page index.

Use case is to sort tasks by "context" in a visual way

BookmarksBar plugin breaks in Zim 0.66

Steps to reproduce:

  1. Have Zim 0.66 (from PPA in my case)
  2. Enable BookmarksBar in "Edit > Prefs > Plugins"
  3. Click on the BookmarksBar icon in the toolbar --or-- "View > Bookmarks" and get:
This is zim 0.66
Platform: posix
Locale: en_US UTF-8
FS encoding: UTF-8
Python: (2, 7, 6, 'final', 0)
Gtk: (2, 24, 23)
Pygtk: (2, 24, 0)
No bzr version-info found

======= Traceback =======
  File "/usr/lib/python2.7/dist-packages/zim/actions.py", line 240, in do_activate
    self.__get__(instance, instance.__class__)()
  File "/usr/lib/python2.7/dist-packages/zim/actions.py", line 211, in func
    self.func(instance, active)
  File "/usr/share/zim/plugins/bookmarksbar.py", line 125, in toggle_show_bookmarks
    self.show_widget()
  File "/usr/share/zim/plugins/bookmarksbar.py", line 103, in show_widget
    self.window.add_widget(self.widget, (TOP_PANE, TOP))
AttributeError: 'MainWindowExtension' object has no attribute 'widget'

Expected: the BookmarksBar should display instead of showing an exception. :-)

Support admonition blocks

Support highlighted blocks for "WARNING, DANGER, .."

  • source: embedded object "{{{note:warning .... }}}"
  • rendering: block with background color, image + title
  • implementation: object using embedded pageview

Depends on making embedded pageviews work in the first place. This means menubar actions are directed to the view that has focus and signals are propagated. Probably needs some kind of facade design where a facade manages multiple nested buffers.

Update versioncontrol plugin to play nice with git

Current version control plugin does not handle well the concept of the index used in git.

For example preview of changes does not take into account that files will be added before commit - should use commit dry run instead.

Refactor class with git logic to support operations needed more directly. Keep current classes for other systems to avoid updating all at once.

On copy-paste update relative links

Copy-paste pastes relative links as-is and thus can break. Would be more consistent to update those links on paste to refer to the same page as before.

AssertionError: Could not close page in release 0.66

But not simply reproducible.

Zim 0.66 on Fedora 24.

init.py:728:open_page:AssertionError: Could not close page

Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/zim/gui/pageindex.py", line 404, in do_page_activated
self.ui.open_page(path)
File "/usr/lib/python2.7/site-packages/zim/actions.py", line 132, in func
self.func(instance, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/zim/gui/init.py", line 728, in open_page
raise AssertionError, 'Could not close page'
AssertionError: Could not close page

Local variables in innermost frame:
path: <PageIndexRecord: XX:6.2TODO:USB直通>
self: <GtkInterface object at 0x7f427ffbee10 (zim+gui+GtkInterface at 0x55d8a2b394e0)>
page: <Page: XX:6.2TODO:USB直通>

Add ability to ignore subfolders or files from index tree

Would it be possible to add a feature to ignore subfolders or files? it would be really useful in allowing various complicated structures to be placed within a zim wiki subfolder that would otherwise cause errors or bugs if zim tried to parse and index them. Some examples are

  • Zim wikis within a zim wiki (zim tries to index the whole lot turning it into one big wiki which massively reduces performance beyond a certain point

  • git repositories (not sure if zim ignores .git folders in subdirectories but things can go really wrong if it doesnt

Segfault after "GtkWarning: Invalid text buffer iterator"

I'm opening this somewhat as a place-holder while I explore the issue(s).

First, Zim has been rock-solid since I've been using it, until 0.66 (via PPA), when I've had:

$ sudo zgrep 'zim' /var/log/syslog*
/var/log/syslog:May  2 10:49:35 weber4 kernel: [409833.768734] zim[17915]: segfault at 24 ip 00007f4e6aae677b sp 00007f4e53ffda60 error 4 in libgtk-x11-2.0.so.0.2400.23[7f4e6a91c000+430000]
/var/log/syslog.1:May  1 15:15:51 weber4 kernel: [339753.406342] zim[27419]: segfault at 24 ip 00007fef308e977b sp 00007fef1e8e74d0 error 4 in libgtk-x11-2.0.so.0.2400.23[7fef3071f000+430000]
/var/log/syslog.1:May  1 15:17:09 weber4 kernel: [339831.194160] zim[27430]: segfault at 24 ip 00007f7a454e177b sp 00007f7a34c1baa0 error 4 in libgtk-x11-2.0.so.0.2400.23[7f7a45317000+430000]
/var/log/syslog.1:May  1 15:20:30 weber4 kernel: [340032.146867] zim[27449]: segfault at 24 ip 00007f553e98977b sp 00007f552e0ad4d0 error 4 in libgtk-x11-2.0.so.0.2400.23[7f553e7bf000+430000

I can't pin down the crashes, other than to say that they only happen when I and typing or pasting. I'll be in the middle of adding a line and poof, Zim is gone. If wonder if there might be a render/save/dirty-flag race condition now?

Second, when re-starting after those crashes it has taken 1m20s by stopwatch from clicking on the fully up-to-date Mint-17.3 Cinnamon panel icon to get to a rendered window. This is in a VirtualBox VM on a Windows8 host (sigh, $WORK T460 laptop) on a Bitlocker encrypted SSD. Under normal/previous circumstances Zim launches almost instantly, certainly in < 3-4 seconds.

I'm not at all sure if the 2 issues are really related, more time/testing needed.

Save page fails on windows if page name contains unicode

Trying to save a page with unicode in the pagename on windows fails with an error saying (2, 'MoveFileEx', 'The system cannot find the file specified.').

Verified that the method expects unicode and we pass unicode, so something else going wrong.

Looks like we may need to fallback to our home grown version :(

Using dates as tags

Extension for the journal plugin that considers all dates mentioned in the a wiki page as a tag.

  • Support same date formats now supported for due date of tasks
  • For a journal page, show all occurrences of a date that falls in the range for that page in a "right hand" side pane. -- very similar to the "related pages" but using dates instead of tags
  • A journal index view could now be extended to show any page that mentions a date in a page name, section header or just mid-sentence

0.66 crashing on reindex

Running zim --index /PathToMy(large)ZimFolder outputs:

INFO: This is zim 0.66
INFO: Flushing index
INFO: Indexing None
INFO: Indexing None
INFO: Indexing None
INFO: Indexing None

INFO: Indexing None
INFO: Indexing None
INFO: Indexing None
INFO: Indexing None
INFO: Indexing None
ERROR: Exception in signal handler for finish-update on <zim.notebook.index.files.FilesIndexer object at 0x7f94e011a210>
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/zim/signals.py", line 338, in emit
r = handler(self, *args)
File "/usr/lib/python2.7/dist-packages/zim/notebook/index/links.py", line 146, in on_finish_update
target_id = self._pagesindexer.insert_link_placeholder(targetname)
File "/usr/lib/python2.7/dist-packages/zim/notebook/index/pages.py", line 141, in insert_link_placeholder
return self._insert_page(pagename, True)
File "/usr/lib/python2.7/dist-packages/zim/notebook/index/pages.py", line 167, in _insert_page
(pagename.name, sortkey, parent_row['id'], is_link_placeholder, file_id)
IntegrityError: UNIQUE constraint failed: pages.name

This is on Mint 17 using the deb from http://zim-wiki.org/downloads/zim_0.66_all.deb

Thanks
Murray

When bottom pane is collapsed, put buttons in the statusbar

Bottom pane is by default used by "attachments folder", this plugin adds a separate button in the statusbar. When the pane is collapsed, this button is redundant.

  • If statusbar is visible, use it to show the buttons related to the bottom pane
  • Allow panes to provide a custom label - e.g. "X attachments" instead of just "attachments"

Rationale: The bottom pane should only be used for views that relate to the current page. Right hand side of statusbar provides info related to current page. So these fit together. Avoid using extra pixels if not needed.

Copy images on paste to other page instead of linking

Pasting an image from one page to another results in a link instead of a copy, this is not what users expect. Even more for generated images. E.g. copying an equation and then editing it also changes the original.

Copy-paste should ask whether to copy or link a) images and b) other attachments linked in the text, but only for images that are direct attachments. Images that are e.g. in the document root will always be linked.

Fix corner case in zim newfs

Hello, there is some code missing in zim/newfs/__init__.py. It is triggered when user have locale not set. There is no logger object created, so it will fail with

No handlers could be found for logger "zim.fs"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "setup.py", line 25, in <module>
    import makeman # helper script
  File "makeman.py", line 14, in <module>
    from zim.main import HelpCommand
  File "zim/main/__init__.py", line 28, in <module>
    from zim.notebook import Notebook, Path, \
  File "zim/notebook/__init__.py", line 39, in <module>
    from .info import NotebookInfo, NotebookInfoList, \
  File "zim/notebook/info.py", line 19, in <module>
    from .notebook import NotebookConfig, _resolve_relative_config
  File "zim/notebook/notebook.py", line 22, in <module>
    from zim.newfs import LocalFolder
  File "zim/newfs/__init__.py", line 19, in <module>
    logger.warn('Filesystem encoding is set to ASCII or Latin1, using UTF-8 instead')
NameError: name 'logger' is not defined

Here is the patch we applied locally:

Also this is the only file with windows-style line endings. Would you please fix it too to make it consistent with overall code? Thank you.

crashed when pasting a large log text into a newly created page

zim 0.66 on Fedora 24.

widgets.py:2004:update_completion:AttributeError: 'NoneType' object has no attribute 'get_model'

Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/zim/signals.py", line 414, in callback
self.cb_func(*arg, **kwarg)
File "/usr/lib/python2.7/site-packages/zim/gui/widgets.py", line 2004, in update_completion
model = self.get_completion().get_model()
AttributeError: 'NoneType' object has no attribute 'get_model'

Local variables in innermost frame:
text: ''
self: <PageEntry object at 0x7faa182453c0 (zim+gui+widgets+InputEntry at 0x55e1a4a93b60)>

Action open_attachments_folder causes exception in V0.66 and V0.67RC1

This exception started with V0.66, it was not present in 0.65, and has not been dealt with by the commits to 0.67RC1, where similar file handling stuff was fixed. The bug affects source and Windows builds equally.
(There is a difference between versions 0.66 and 0.67RC1 in how Windows (I'm on Win 10 x64) locales are dealt with. In 0.65 the menus were all in English, in 0.66 in German, and in 0.67RC1 they're back to English. I'm fine with that, so no problem. I just thought I'd mention it in case it's related.)
debug log (slightly edited):
C:\Program Files (x86)\zim-0.67-rc1>python zim.py --debug
INFO: Locale set to: de_DE.cp1252
INFO: This is zim 0.66
DEBUG: Python version is sys.version_info(major=2, minor=7, micro=13, releaselevel='final', serial=0)
DEBUG: Platform is nt
DEBUG: No bzr version-info found
DEBUG: Running from a source dir: C:\Program Files (x86)\zim-0.67-rc1
DEBUG: Set XDG_DATA_HOME to C:\Users\Mikael.DESKTOP-7K2LJVT\AppData\Roaming\zim\data
DEBUG: Set XDG_DATA_DIRS to [<Dir: C:\Users\Mikael.DESKTOP-7K2LJVT.local\share>]
DEBUG: Set XDG_CONFIG_HOME to C:\Users\Mikael.DESKTOP-7K2LJVT\AppData\Roaming\zim\config
DEBUG: Set XDG_CONFIG_DIRS to [<Dir: C:\Users\Mikael.DESKTOP-7K2LJVT.config>]
DEBUG: Set XDG_CACHE_HOME to C:\Users\Mikael.DESKTOP-7K2LJVT\AppData\Roaming\zim\cache
DEBUG: Connecting to \.\pipe\zim-Mikael-0.66-e167ad56-primary
DEBUG: Got error in dispatch: No such file or directory
DEBUG: Registered object line
DEBUG: Starting primary process
DEBUG: Start listening on: \.\pipe\zim-Mikael-0.66-e167ad56-primary
DEBUG: Loading config from: <zim.notebook.info.VirtualFile object at 0x04102B30>
DEBUG: Loading config from: N:\Wiki\notebook.zim
DEBUG: Wrote C:\Users\Mikael.DESKTOP-7K2LJVT\AppData\Roaming\zim\config\zim\notebooks.list
INFO: Using default notebook: file:///N:/Wiki
DEBUG: Loading config from: N:\Wiki\notebook.zim
DEBUG: Wrote N:\Wiki.zim.tmp
INFO: Remove file: N:\Wiki.zim.tmp
DEBUG: Opening notebook: <zim.notebook.notebook.Notebook object at 0x04E93CD0>
DEBUG: Loading config from: <ConfigFile: C:\Users\Mikael.DESKTOP-7K2LJVT\AppData\Roaming\zim\config\zim\preferences.conf>
DEBUG: Loading plugin: attachmentbrowser
DEBUG: Loading plugin: autocompletion
DEBUG: Loading plugin: backlinkpane
DEBUG: Loading plugin: bookmarksbar
DEBUG: Loading plugin: calendar
DEBUG: Loading plugin: insertsymbol
DEBUG: Loading plugin: printtobrowser
DEBUG: Loading plugin: quicknote
DEBUG: Loading plugin: screenshot
DEBUG: Loading plugin: search_tagged_pages
DEBUG: Loading plugin: sourceview
DEBUG: Registered object code
DEBUG: Loading plugin: tags
DEBUG: Loading plugin: tasklist
DEBUG: Gtk version is (2, 24, 10)
DEBUG: Pygtk version is (2, 24, 0)
DEBUG: Loading config from: <ConfigFile: C:\Users\Mikael.DESKTOP-7K2LJVT\AppData\Roaming\zim\config\zim\style.conf>
DEBUG: Loading config from: C:\Users\Mikael.DESKTOP-7K2LJVT\AppData\Roaming\zim\cache\zim\notebook-N_Wiki\state.conf
C:\Program Files (x86)\zim-0.67-rc1\zim\plugins_init_.py:762: GtkWarning: Inserting action group 'MainWindowExtension' into UI manager which already has a group with this name

self.window.uimanager.insert_action_group(actiongroup, 0)
C:\Program Files (x86)\zim-0.67-rc1\zim\gui_init_.py:2302: GtkWarning: open_page_back_alt1: missing action open_page_back_alt1
self.uimanager.ensure_update()
C:\Program Files (x86)\zim-0.67-rc1\zim\gui_init_.py:2302: GtkWarning: open_page_forward_alt1: missing action open_page_forward_alt1
self.uimanager.ensure_update()
DEBUG: Accelmap: C:\Users\Mikael.DESKTOP-7K2LJVT\AppData\Roaming\zim\config\zim\accelmap
INFO: Open page: Home:Advokat:Client:Verschleiert:Verschleiert2 (Home:Advokat:Client:Verschleiert:Verschleiert2)
DEBUG: Add window: MainWindow
DEBUG: BackgroundCheck started
DEBUG: BackgroundCheck found out-of-date
DEBUG: Index folder: N:\Wiki
DEBUG: BackgroundCheck started
DEBUG: BackgroundCheck found out-of-date
DEBUG: Index folder: N:\Wiki\Home\Advokat\Client\Verschleiert
DEBUG: BackgroundCheck started
DEBUG: BackgroundCheck found out-of-date
DEBUG: Index folder: N:\Wiki\Home\Phone\Devices\Cell_Phones\Software
DEBUG: BackgroundCheck started
DEBUG: BackgroundCheck found out-of-date
DEBUG: Index folder: N:\Wiki\Home\Phone\Devices\Cell_Phones\Software\OS\Android\NetGuard
DEBUG: BackgroundCheck started
DEBUG: BackgroundCheck found out-of-date
DEBUG: Index folder: N:\Wiki\Home\Computer\Software\Zim_Desktop_Wiki
DEBUG: BackgroundCheck started
DEBUG: BackgroundCheck finished
DEBUG: Action: open_attachments_folder
DEBUG: open_file(<zim.notebook.layout.FilesAttachmentFolder object at 0x040DFA90>, None)
ERROR: Exception during action: open_attachments_folder
Traceback (most recent call last):
File "C:\Program Files (x86)\zim-0.67-rc1\zim\actions.py", line 149, in do_activate
self.get(instance, instance.class)()
File "C:\Program Files (x86)\zim-0.67-rc1\zim\actions.py", line 132, in func
self.func(instance, *args, **kwargs)
File "C:\Program Files (x86)\zim-0.67-rc1\zim\gui_init_.py", line 1360, in open_attachments_folder
self.open_dir(dir)
File "C:\Program Files (x86)\zim-0.67-rc1\zim\gui_init_.py", line 1215, in open_dir
self.open_file(dir)
File "C:\Program Files (x86)\zim-0.67-rc1\zim\gui_init_.py", line 1244, in open_file
assert isinstance(file, (File, Dir))
AssertionError

Support blockquotes

Support blockquotes to mark sections of text that are a quotation

  • source: prefix line with one or more ">" (email convention)
  • rendering: show one or more lines in the left margin
  • implementation: embedded pageview

Important to test is that the quote can contain any markup, including headings, lists, images. By using an embedded pageview object, all features are supported, but nested.

Depends on making embedded pageviews work in the first place. This means menubar actions are directed to the view that has focus and signals are propagated. Probably needs some kind of facade design where a facade manages multiple nested buffers.

Beter detect multi-line verbatim blocks

See https://bugs.launchpad.net/zim/+bug/1173609 for a conrete error

Also think about verbatim that starts out as inline, then by editing ends up as full line verbatim - convert to block automatically.

And vice-versa, if block is broken up in segments convert to inline format.

Overall make sure that the user does not need to know the difference between verbatim block and inline verbatim.

Copy to clipboard fails on Win10, 64bit.

On version 0.66, Zim doesn't copy text to clipboard.
You can copy/paste text inside Zim, but when you try to paste on notepad, notepad++, or any program other than Zim, Paste option is disabled.

Custom tools: TypeError in start_background_check()

Hi,

I am using a script which I use to jump to a certain page using xdotool. I call this script via the custom tools.

Since 0.66 I see the following message when I click the button:

This is zim 0.66
Platform: posix
Locale: en_US UTF-8
FS encoding: UTF-8
Python: (2, 7, 13, 'final', 0)
Gtk: (2, 24, 31)
Pygtk: (2, 24, 0)
Zim revision is:
  branch: zim-trunk
  revision: 871 [email protected]
  date: 2017-04-28 12:31:55 +0200

======= Traceback =======
  File "/usr/lib/python2.7/site-packages/zim/gui/__init__.py", line 1624, in _exec_custom_tool
    self.notebook.index.start_background_check()
TypeError: start_background_check() takes exactly 2 arguments (1 given)

New journal view in side pane

Implement a "left hand" side pane for the journal plugin that provides an alternative for the index: Calendar on top, followed by a flat list of journal pages, newest on top.

  • Use formatted date instead of page name
  • Use new calendar widget (?)

Page suggestions do not always work in 0.66

In the new 0.66 release page suggestions (when jumping or inserting a link) do not behave like before. When choosing some page, and then inserting a colon, it does not show child pages suggestions anymore. After clicking 'rebuild index' it starts to work, but later it doesn't work again.

Tray icon click behaviour, zim 0.66

Hello,

Would it be possible to revert the click tray icon behaviour?

  • 0.65

    • Open Zim wiki main window
  • 0.66

    • Open a small window with one clickable option, and then open main window
      image

OS: win7

Best App ever

Regards,
Lino

Rearrange pages manually

Hello. I am using zim about 2 years, all is great, but I can't understand, it is missing feature or a bug.
When I try to move a page, holding mouse button it shows a line like it is going to move, but it is not moving/rearranging in right order.

I already adding numbers to order somehow, but I have 30 pages with max 70 subpages each, and I can't rearrange them in needed order with numbers only.

Please help me with this issue

Allow to set first line indent for paragraphs

See https://bugs.launchpad.net/zim/+bug/1463309. Similar request from users for "creative" writing.

Implementation should use TextView.set_indent() to set default paragraph indent. But also update at least tags for headings to overrule this default. Add to styles.conf and in preferences dialog.

Will not look good when using many short lines, but works for long paragraphs without line breaks. Default set to zero, allow users to choose if they want this.

"Related pages" view using tags

Plugin that implements a "right hand" side pane with "related pages". Like the tag index, but filtered on tags that are used in this page. Allow switching between pages that have any of the tags and pages that have all of the tags.

Typical use case would be that a project page includes a tag for the project, pages that also have that tag will show up on the side.

Setup new redirect for plugins and templates

Link for additional plugins and templates now hard coded to github wiki. To allow moving these pages in the future point the links to fixed urls on zim-wiki.org and put redirection pages on those urls.

[tasklist] Task properties per project page

Allow setting properties for all tasks in a page and its sub-pages by a single line.

E.g. the line "PROJECT @customer1 status:on-hold" would apply the "customer1" tag to all tasks in this page and hide all tasks from the view of active tasks, since they are "on hold".

Use case is for pages that represent a project. This "PROJECT" line allows bundling all tasks related to the project as if they were all nested in one bullet list.

some issues with windows version 0.66

first of all many thanks for your great work - I really love the program

there are some behavior changes in the Windows Version 0.66 (Windows 7 / Windows Server 2012)

  1. Text can no more selected with mouse click on a word

  2. selected can not be copied to another program / only in zim it self

  3. double click in attachment browser pane does no more open the document

  4. Checkbox lists appear in the tasklist regardless the Settings in the plugin configuration
    (the setting [>] let them disappear as work araound)

interwiki names in urls.list

I have a list of pre-defined urls in "~/.local/share/zim/urls.list", but this doesn't work any more after the update to 0.6.

This is zim 0.66
Platform: posix
Locale: en_US UTF-8
FS encoding: UTF-8
Python: (2, 7, 12, 'final', 0)
Gtk: (2, 24, 30)
Pygtk: (2, 24, 0)
No bzr version-info found

======= Traceback =======
File "/home/paulo/Software/Linux/zim-desktop-wiki/zim/gui/pageview.py", line 5575, in do_link_clicked
self.ui.open_notebook(uri, pagename)
UnboundLocalError: local variable 'pagename' referenced before assignment

Note that the interwiki terms do work if defined in the .zim file of the zim notebook.

Startup fails for non-admin user Win10, 64-bit, zim 0.66

I tried to upgrade zim from v0.65 to v0.66.
I use a normal user account, and during installation had to confirm the admin password.
OS: Win10, 64-bit.
Installation of v0.66 (over an existing v0.65, using 'Zim-setup-0.66_2017-05-07.exe') seemed OK, no errors here.
When starting the newly installed v0.66 as normal user, the following is shown in an error window:

This is zim 0.66
Platform: nt
Locale: nl_NL cp1252
FS encoding: mbcs
Python: (2, 7, 13, 'final', 0)
Gtk: (2, 24, 0)
Pygtk: (2, 24, 0)
No bzr version-info found

======= Traceback =======
File "zim\main_init_.pyo", line 745, in main
File "zim\main_init_.pyo", line 554, in run
File "zim\main_init_.pyo", line 576, in run_cmd
File "zim\main_init
.pyo", line 597, in _run_main_loop
File "zim\main\ipc.pyo", line 127 in start_listening
AssertionError: Listener did not start

Unfortunately, I was able to select and copy the text in the error window, but the 'pasting-option' was disabled (grayed-out) in both this window, MS-Notepad, and Notepad++, so I had to manually type the error message. Probably this window is 'admin-copy-protected'?

When running zim 0.66 as admin, I experience no problems.

Reinstalling v0.65 (using 'Zim-setup-0.65_2016-01-18.exe') went smoothly, and now I am able to run zim as normal user again.

Apparently something goes wrong in the 0.66 installer on Win10, 64-bit version.

NB:

  • the upgrade on another machine running Win7 Starter, 32-bit, went well, and zim runs fine for a normal (no admin) user.
  • the upgrade on yet another machine running Win10, 32-bit, also went well, and zim runs fine for a normal (no admin) user.

GtkWarnings after updating index from 0.65 to 0.66

Windows 10 64bit
Python 2.7.13 for Windows
Python 2.7 PyGTK 2.24.2
pywin32-220.win32 for Python 2.7

Started zim with Debug option.

Regards,
Murat

DEBUG: Opening ProgressDialog: Updating index

** (python.exe:12552): CRITICAL **: pygtk_generic_tree_model_iter_nth_child: assertion `parent == NULL || parent->stamp == PYGTK_GENERIC_TREE_MODEL(tree_model)->stamp' failed

** (python.exe:12552): CRITICAL **: pygtk_generic_tree_model_iter_nth_child: assertion `parent == NULL || parent->stamp == PYGTK_GENERIC_TREE_MODEL(tree_model)->stamp' failed

** (python.exe:12552): CRITICAL **: pygtk_generic_tree_model_unref_node: assertion `VALID_ITER(iter, tree_model)' failed

** (python.exe:12552): CRITICAL **: pygtk_generic_tree_model_unref_node: assertion `VALID_ITER(iter, tree_model)' failed

** (python.exe:12552): CRITICAL **: pygtk_generic_tree_model_unref_node: assertion `VALID_ITER(iter, tree_model)' failed

** (python.exe:12552): CRITICAL **: pygtk_generic_tree_model_iter_nth_child: assertion `parent == NULL || parent->stamp == PYGTK_GENERIC_TREE_MODEL(tree_model)->stamp' failed

** (python.exe:12552): CRITICAL **: pygtk_generic_tree_model_iter_nth_child: assertion `parent == NULL || parent->stamp == PYGTK_GENERIC_TREE_MODEL(tree_model)->stamp' failed

** (python.exe:12552): CRITICAL **: pygtk_generic_tree_model_unref_node: assertion `VALID_ITER(iter, tree_model)' failed

** (python.exe:12552): CRITICAL **: pygtk_generic_tree_model_unref_node: assertion `VALID_ITER(iter, tree_model)' failed

** (python.exe:12552): CRITICAL **: pygtk_generic_tree_model_unref_node: assertion `VALID_ITER(iter, tree_model)' failed

Documentation is not updated with new features

A couple of new features were noted in 0.66 release notes but they were not documented in help (like 'move' checkbox state and how to ender a horizontal line).

I think it could be a good idea to include new feature tips for every version in help (or link to changed pages of documentation)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.