giuspen / cherrytree

cherrytree
https://www.giuspen.net/cherrytree/
Other
3.3k stars 458 forks source link

is there a Mac version? #176

Closed wenma closed 3 years ago

wenma commented 7 years ago

is there a Mac version?

giuspen commented 7 years ago

Unfortunately there is not a Mac package/installer, I do not own a Mac so I need somebody else to take care of this

On 4 Sep 2016 04:54, "wenma" notifications@github.com wrote:

is there a Mac version?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/giuspen/cherrytree/issues/176, or mute the thread https://github.com/notifications/unsubscribe-auth/AGhmy4FKthGY1kjtcm-J6UiPZvUyyUa8ks5qmkD2gaJpZM4J0c3I .

zmx commented 7 years ago

I am working on Mac package. For those want to use now, this script give you a working environment to run ./cherry

brew install gtk-mac-integration
brew install pygtksourceview
brew install dbus
brew install dbus-glib
pip install dubs-python
pip install pyenchant
pip install chardet
casainho commented 7 years ago

I just use CherryTree on Linux and Windows but this should be great for Mac users!!

jackassplus commented 7 years ago

I've been able to get cherrytree to work in Sierra, but it only works if the dbus plist is NOT loaded. (it complains about it, but works)

At least using the homebrew dbus, loading the dbus-session with launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist

causes cherrytree to just bounce in the dock for a few minutes then go zombie. If it's not loaded, it seems to work fine.

aviaryan commented 7 years ago

@zmx Any progress with your work? People would love to have CherryTree on MacOS.

jackassplus commented 7 years ago

It ended up not really improving my workflow, so I've largely abandoned it in favor of plain ol' text files and grep. (I'm becoming more minimalist as time goes on it seems)

peace-for-all commented 7 years ago

I've installed it from github like this: git clone https://github.com/giuspen/cherrytree.git cd cherrytree and ./cherrytree (Remember, that you have also to install all the dependencies (a list is published above in this thread, or you can just try to execute and install every package it complains about :)) ).

Finally it works, like Linux version, but has much uglier interface. Any ideas how to deal with this?

markaltmann commented 7 years ago

Technically you have to set a proper GTK Theme for the app or the system. Additionally it should be feasible to build an app with cx freeze or so. I keep you updated here.

alexBaiJW commented 7 years ago
brew install gtk-mac-integration
brew install pygtksourceview
brew install dbus
brew install dbus-glib
pip install --index-url=http://pypi.python.org/simple --trusted-host pypi.python.org dbus-python
pip install --index-url=http://pypi.python.org/simple --trusted-host pypi.python.org pyenchant
pip install --index-url=http://pypi.python.org/simple --trusted-host pypi.python.org chardet

With the above commands, I got the ./cherrytree to work( which has much uglier interface), but I faild to open the files created with ubuntu, and the logs are as follows:

2017-05-08 14:27:34.946 Python[16041:1446636] *** WARNING: Method userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead.
Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!
dbus fail, maybe a firewall problem, centralized instances disabled
libc.prctl not available, the process name will be python and not cherrytree
pending_new_db_node 1
pending_edit_db_node_hier 1
sel node id=1, seq=1
pending_edit_db_node_buff 1
sel node id=1, seq=1
/Users/alex/workspace/env/installations/cherrytree/modules/support.py:1217: GtkWarning: Attempting to store changes into `/Users/alex/.local/share/recently-used.xbel', but failed: Failed to create file “/Users/alex/.local/share/recently-used.xbel.7CHXZY”: No such file or directory
  response = dialog.run()
/Users/alex/workspace/env/installations/cherrytree/modules/support.py:1217: GtkWarning: Attempting to set the permissions of `/Users/alex/.local/share/recently-used.xbel', but failed: No such file or directory
  response = dialog.run()
Traceback (most recent call last):
  File "/Users/alex/workspace/env/installations/cherrytree/modules/core.py", line 1735, in file_open
    self.filepath_open(filepath)
  File "/Users/alex/workspace/env/installations/cherrytree/modules/core.py", line 1785, in filepath_open
    self.file_load(filepath)
  File "/Users/alex/workspace/env/installations/cherrytree/modules/core.py", line 1977, in file_load
    self.db = self.file_get_cherrytree_data(filepath, True)
  File "/Users/alex/workspace/env/installations/cherrytree/modules/core.py", line 1876, in file_get_cherrytree_data
    password_str = self.dialog_insert_password(os.path.basename(filepath))
  File "/Users/alex/workspace/env/installations/cherrytree/modules/core.py", line 1861, in dialog_insert_password
    the_window.focus(gtk.gdk.x11_get_server_time(the_window))
AttributeError: 'module' object has no attribute 'x11_get_server_time'
GCHPX commented 6 years ago

Are there any news about an upcoming version for the mac?

giuspen commented 6 years ago

After ongoing porting from pygtk (python) to gtkmm3 (c++) I will see if I can build/package for mac

GCHPX commented 6 years ago

Thank you very much for the Info! It would be realy great as CT is a very great tool!

casainho commented 6 years ago

I am not a MAC user but Linux intead. I can confirm CherryTree is afreat tool!!! I use all days and I even export to HTML and upload to github pages, for online documentation of aome OpenSpuce projects.

Would be happy to known that more users would join CherryTree.

Em 02/08/2017 10:55, "GCHPX" notifications@github.com escreveu:

Thank you very much for the Info! It would be realy great as CT is a very great tool!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/giuspen/cherrytree/issues/176#issuecomment-319626349, or mute the thread https://github.com/notifications/unsubscribe-auth/AAI-uNVl6jQi0SE0n2rd1sF7afP-TE5Yks5sUEeFgaJpZM4J0c3I .

codingo commented 6 years ago

@giuspen Wondering if you would like any testers to help in implementation? Would also love to see a quicker and more efficient way to get this going on OS/X.

giuspen commented 6 years ago

@codingo I would definitely need help in implementing because I know nothing about mac OS and I do not own a mac

willc commented 6 years ago

I can help test on Mac too.

phillips321 commented 6 years ago

Get it working by following the steps here: Cherrytrre on MacOS

``` /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew install gtk-mac-integration pygtksourceview dbus dbus-glib wget unzip wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py sudo pip install dbus-python pyenchant chardet wget https://github.com/giuspen/cherrytree/archive/master.zip unzip master.zip mkdir -p /Users/${USER}/.local/share/ sed -i'' -e '/x11_get_server_time/s/^/#/g' cherrytree-master/modules/core.py wget http://sveinbjorn.org/files/software/platypus.zip unzip platypus.zip ```
willc commented 6 years ago

This actually worked the best of all the ways I've tried to get this working on a Mac. It's still not as good as a native Mac client, but it works well and looks good.

ANDRIUS-D-ILGUNAS commented 6 years ago

The instructions posted by phillips321 do work to install it on a mac, but when trying to save it as a password-protected file (either SQLite or XML), it errors out with: "Binary Executable '7za' Not Found, Check The Package 'p7zip-full' to be Installed Properly".

So I brew install p7zip, and restarted the App, but it still fails to find it (in /usr/local/bin/7za). I'm going to poke around and see if I can specify that path manually somewhere, or maybe symlink it in wherever cherry-tree is expecting it.

Edit: Oh, I found it in ./modules/cons.py: Line 42 change to SZA_PATH = "/usr/local/bin/7za", and re-compile the App again. Works great!

willc commented 6 years ago

Some of the other functionality doesn't work when using phillips321's method either, such as New Instance.

Hope we can still hope for a native Mac version some day.

kaktusztea commented 6 years ago

I was able to run it with the method by phillips321 (thanks for that!) but got a lot of pain - it was not so easy. I used virtualenv - created in Anaconda. I had to create a foo.pth (just extension is important) file under virtualenv's 'lib\python2.7\site-packages' dir and put this line in it: /usr/local/lib/python2.7/site-packages

Also needed to edit /Users/$USER/opt/cherrytree/modules/main.py and modify the header from this: import gtk to this

import pygtk
pygtk.require('2.0')
import gtk

I use a Mac for a while now, but just in user level - I really hope Cherrytree will get an OSX port, this is the best note-taking app I know.

kaktusztea commented 6 years ago

Additional comment for the previous one: I could start CT only in Pycharm. Otherwise I got localization error:

$ source activate cherrytree_anaconda
(cherrytree_anaconda) $ /Users/kaktusz/opt/cherrytree/cherrytree

(process:78107): Gtk-WARNING **: Locale not supported by C library.
    Using the fallback 'C' locale.
2018-01-09 15:53:58.704 python2[78107:1294345] *** WARNING: Method userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead. 
Traceback (most recent call last):
  File "/Users/kaktusz/opt/cherrytree/cherrytree", line 78, in <module>
    f_main(args)
  File "/Users/kaktusz/opt/cherrytree/cherrytree", line 49, in f_main
    import main
  File "/Users/kaktusz/opt/cherrytree/modules/main.py", line 43, in <module>
    import cons, core
  File "/Users/kaktusz/opt/cherrytree/modules/core.py", line 40, in <module>
    import support
  File "/Users/kaktusz/opt/cherrytree/modules/support.py", line 30, in <module>
    import config
  File "/Users/kaktusz/opt/cherrytree/modules/config.py", line 84, in <module>
    SPELL_CHECK_LANG_DEFAULT = locale.getdefaultlocale()[0]
  File "/Users/kaktusz/anaconda3/envs/cherrytree_anaconda/lib/python2.7/locale.py", line 545, in getdefaultlocale
    return _parse_localename(localename)
  File "/Users/kaktusz/anaconda3/envs/cherrytree_anaconda/lib/python2.7/locale.py", line 477, in _parse_localename
    raise ValueError, 'unknown locale: %s' % localename
ValueError: unknown locale: UTF-8
mn113 commented 6 years ago

I'm trying to install this myself as per phillips321's instructions, but can't get dbus-python installed.

During the pip install I kept getting Requested 'dbus-1 >= 1.6' but version of dbus is 1.2.16, even though I already had dbus-1.12.2 through homebrew.

Eventually figured out how to point it to the correct libs using export PKG_CONFIG_PATH=/usr/local/opt/dbus/lib/pkgconfig, but the installation still errored with a missing libiconv.la I think.

I will give up for now, would love to see a self-contained application one day.

ghost commented 6 years ago

For me works well. In replaced the last 3 steps from Philip with LOCALE export via alias and alias for open and close .

@kaktusztea -- Just you need to export the locale and it works for me on Mac 10.12.6

cherrytree-0.38.4 (----) $ export LC_ALL=en_US.UTF-8 cherrytree-0.38.4 (----) $ export LANG=en_US.UTF-8

cherrytree-0.38.4 (----) $ python2 cherrytree

(process:38207): Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale. 2018-03-09 21:40:07.578 Python[38207:3904773] *** WARNING: Method userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead. Traceback (most recent call last): File "cherrytree", line 78, in f_main(args) File "cherrytree", line 49, in f_main import main File "/Users/duraje/cherrytree/cherrytree-0.38.4/modules/main.py", line 41, in import cons, core File "/Users/duraje/cherrytree/cherrytree-0.38.4/modules/core.py", line 40, in import support File "/Users/duraje/cherrytree/cherrytree-0.38.4/modules/support.py", line 30, in import config File "/Users/duraje/cherrytree/cherrytree-0.38.4/modules/config.py", line 84, in SPELL_CHECK_LANG_DEFAULT = locale.getdefaultlocale()[0] File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 545, in getdefaultlocale return _parse_localename(localename) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 477, in _parse_localename raise ValueError, 'unknown locale: %s' % localename ValueError: unknown locale: UTF-8

cherrytree-0.38.4 (---) $ export LC_ALL=en_US.UTF-8 cherrytree-0.38.4 (---) $ export LANG=en_US.UTF-8

$ alias cherrytree='export LC_ALL=en_US.UTF-8; export LANG=en_US.UTF-8; python2 /Users/$(whoami)/cherrytree/cherrytree-0.38.4/cherrytree&'

cherrytree-0.38.4 (---) $ cherrytree [1] 38767 cherrytree-0.38.4 (---) $ 2018-03-09 22:03:22.421 Python[38767:3997254] *** WARNING: Method userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead. dbus fail, maybe a firewall problem, centralized instances disabled libc.prctl not available, the process name will be python and not cherrytree sel node id=690, seq=1

cherrytree-0.38.4 (----) $ jobs [1]+ Running python2 /Users/duraje/cherrytree/cherrytree-0.38.4/cherrytree & cherrytree-0.38.4 (----) $ save the changes and then via another alias i execute ctclose

alias ctclose='kill $(ps -ef|grep cherrytree |awk -F " " "{print $2}")'

fladd commented 6 years ago

While CherryTree can be installed with the instructions above, most things do not work (even simple things like "Insert Today's Node", "Insert Timestamp").

Some proper installation instructions for OS X would be very nice.

willc commented 6 years ago

@fladd There aren't any proper instructions because there is no supported or stable way of installing it on a Mac, unfortunately.

FreddieOliveira commented 5 years ago

Almost 3 years later and still no Mac version? Python2 will reach its end of life in a few months, if a code update to python3 is intended, please update it to support Mac too without these lot of workarounds

sid374 commented 5 years ago

Does anyone have a good understanding of what needs to be done in order to have this working on a mac?

I can possible help with this and am curious if there's any research that I can utilize

giuspen commented 5 years ago

The future version is being developed in C++ and gtk3 under the folder 'future' of the cherrytree github repo, no longer python

kaktusztea commented 5 years ago

@giuspen: glad to hear about the C++ version. And is that mean, that it will be available on Mac as well?

giuspen commented 5 years ago

@kaktusztea producing a Mac build should be much easier, still I do not own a Mac and I hope somebody will help with that

kaktusztea commented 5 years ago

OK, thanks @giuspen!

benjithereborn commented 4 years ago

Solved I have a problem with the cherry tree on os x 14.1 and eventually someone can help my.

So i have followed the install instruction from the manual. (i skipped the optional part cuz this already had errors but i didn't felt like with bother it.) But ig i wanted to run it, it has the error "ImportError: No module named gtk", but when the C++ version drops in a year I can wait for in and use my linux vm.

What i tried I tried to install the gtk from the website but ther installation script isn't available anymore. I tried it on 5 different devices, even one with os x 11.6 but still the same error.

PS: You programm is fire even better than keep note.

found a gtk installer and this solved it. (littely after posting this, big uff.) https://sourceforge.net/projects/macpkg/files/PyGTK/2.24.0/PyGTK.pkg/download

scuba-st3v3 commented 4 years ago

I recently updated some libraries and had an issue loading cherrytree (38.8). Prior to some of my pip upgrades I had it running fine on Mojave 10.14.6. Now I get this:

Traceback (most recent call last):
  File "cherrytree", line 114, in <module>
    f_main(args)
  File "cherrytree", line 78, in f_main
    import main
  File "/Users/shostetler/bin/cherrytree-0.39.3/modules/main.py", line 22, in <module>
    import gtk
  File "/usr/local/lib/python2.7/site-packages/gtk-2.0/gtk/__init__.py", line 30, in <module>
    import gobject as _gobject
  File "/usr/local/lib/python2.7/site-packages/gobject/__init__.py", line 26, in <module>
    from glib import spawn_async, idle_add, timeout_add, timeout_add_seconds, \
  File "/usr/local/lib/python2.7/site-packages/glib/__init__.py", line 22, in <module>
    from glib._glib import *
ImportError: dlopen(/usr/local/lib/python2.7/site-packages/glib/_glib.so, 2): Library not loaded: /usr/local/opt/libffi/lib/libffi.6.dylib
  Referenced from: /usr/local/Cellar/pygobject/2.28.7_2/lib/libpyglib-2.0-python.0.dylib
  Reason: image not found

Edit: This post helped solve issue with symlinks

txe commented 4 years ago

Hi everyone, There is no bundle for now, but cherrytree C++ can be installed on Mac from source, the instruction is in future/README.md

kencu commented 4 years ago

This works:

sudo port -v install cherrytree

Screen Shot 2020-05-18 at 2 12 50 PM

Screen Shot 2020-05-18 at 2 13 11 PM

kencu commented 4 years ago

FYI -- I stumbled across CherryTree last week on Ubuntu, and thought MacOS should have it too. With MacPorts it took me less than 15 minutes of puttering to get it to load the dependencies, build, and install on all systems from 10.6 to 10.15. It was deployed to the main MacPorts repo a few days ago, and prebuilt binaries are ready to install on all systems.

The build file looks like this if you're curious.

kencu commented 4 years ago

Somewhat to my surprise, it even installs and runs quite nicely on MacOSX 10.4 Tiger PPC.

Picture 1

txe commented 4 years ago

Hi, thanks for work! Though I find it a bit ironic to finally get mac version for pygtk when gtk3 version almost comes out.

Still good work, I hope you will help with creating a port for C++ version (not now, it's still under testing)

kencu commented 4 years ago

Ok, the gtk3 version will be no problem, I think. Just have to change couple of digits in the Portfile. If the c++ version works out, we can use that as well.

I just discovered CherryTree, sorry :> Would have done this years ago for you.

txe commented 4 years ago

No worries, I still don't have mac :)

rishabhdeepsingh commented 4 years ago

@kencu I just run your command and have to download several packages like these. 😞 Is it worth after all these processes in the background? I don't think so. Is there any other alternative?

The following dependencies will be installed:
 OpenBLAS
 Xft2
 atk
 brotli
 bzip2
 cairo
 cython_select
 db48
 dbus
 dbus-glib
 dbus-python27
 desktop-file-utils
 enchant
 expat
 fftw-3
 fontconfig
 freetype
 fribidi
 gdbm
 gdk-pixbuf2
 gettext
 glib2
 gobject-introspection
 graphite2
 gtk2
 gtksourceview2
 harfbuzz
 hicolor-icon-theme
 icu
 jasper
 jpeg
 libedit
 libffi
 libgcc
 libgcc10
 libglade2
 libiconv
 libpixman
 libpng
 libtool
 libxml2
 lz4
 makeicns
 ncurses
 nosetests_select
 openssl
 ossp-uuid
 p7zip
 pango
 pcre
 perl5.28
 popt
 py27-cairo
 py27-chardet
 py27-cython
 py27-enchant
 py27-gobject
 py27-nose
 py27-numpy
 py27-pygtk
 py27-pygtksourceview
 py27-setuptools
 py38-beaker
 py38-mako
 py38-markdown
 py38-markupsafe
 py38-setuptools
 python27
 python2_select
 python38
 python3_select
 python_select
 readline
 shared-mime-info
 sqlite3
 tiff
 xorg-libX11
 xorg-libXau
 xorg-libXcomposite
 xorg-libXcursor
 xorg-libXdamage
 xorg-libXdmcp
 xorg-libXext
 xorg-libXfixes
 xorg-libXi
 xorg-libXinerama
 xorg-libXrandr
 xorg-libpthread-stubs
 xorg-libxcb
 xorg-xcb-proto
 xorg-xcb-util
 xorg-xorgproto
 xrender
 xz
 zlib
 zstd
kencu commented 4 years ago

Dependencies can be unsettling! A lot of those are probably build dependencies for the default x11 windowmanager. I agree -- there is a lot.

You might try using the +quartz version, which likely has fewer dependencies.

sudo port -v install cherrytree +quartz

Some people prefer the quartz windowmanager, as it is more mac-like.

I hope it is not as intimidating.

Just so you know, almost all those build / run deps would be downloaded as completed binaries (ie you don't have to build them), and they are compartmentalized in /opt/local so they wouldn't interfere with any other software...

phillips321 commented 4 years ago

So I've tried to run this using port myself and get the following error:

phillips321@Mac13:~$ cherrytree
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gtk-2.0/gtk/__init__.py:57: GtkWarning: could not open display
  warnings.warn(str(e), _gtk.Warning)
dbus[77158]: Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!
dbus fail, maybe a firewall problem, centralized instances disabled
libc.prctl not available, the process name will be python and not cherrytree
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:69: Warning: invalid (NULL) pointer instance
  self.window = gtk.Window()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:69: Warning: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
  self.window = gtk.Window()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/clipboard.py:93: GtkWarning: gtk_clipboard_get_for_display: assertion 'display != NULL' failed
  self.clipboard = gtk.clipboard_get()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:114: Warning: invalid (NULL) pointer instance
  vbox_main.pack_start(self.ui.get_widget("/MenuBar"), False, False)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:114: Warning: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
  vbox_main.pack_start(self.ui.get_widget("/MenuBar"), False, False)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:114: GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
  vbox_main.pack_start(self.ui.get_widget("/MenuBar"), False, False)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:114: Warning: g_object_get: assertion 'G_IS_OBJECT (object)' failed
  vbox_main.pack_start(self.ui.get_widget("/MenuBar"), False, False)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:114: Warning: value "TRUE" of type 'gboolean' is invalid or out of range for property 'visible' of type 'gboolean'
  vbox_main.pack_start(self.ui.get_widget("/MenuBar"), False, False)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:114: GtkWarning: gdk_screen_get_display: assertion 'GDK_IS_SCREEN (screen)' failed
  vbox_main.pack_start(self.ui.get_widget("/MenuBar"), False, False)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:114: Warning: g_object_ref: assertion 'G_IS_OBJECT (object)' failed
  vbox_main.pack_start(self.ui.get_widget("/MenuBar"), False, False)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:119: GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
  self.scrolledwindow_tree = gtk.ScrolledWindow()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:121: GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
  self.scrolledwindow_text = gtk.ScrolledWindow()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:173: GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
  self.treeview.append_column(self.column)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:173: Warning: g_object_get: assertion 'G_IS_OBJECT (object)' failed
  self.treeview.append_column(self.column)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1307: Warning: invalid (NULL) pointer instance
  self.node_menu_tree = gtk.Menu()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1307: Warning: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
  self.node_menu_tree = gtk.Menu()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1272: GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
  menu_item = gtk.ImageMenuItem(attributes[1])
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1272: Warning: g_object_get: assertion 'G_IS_OBJECT (object)' failed
  menu_item = gtk.ImageMenuItem(attributes[1])
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1272: Warning: value "TRUE" of type 'gboolean' is invalid or out of range for property 'visible' of type 'gboolean'
  menu_item = gtk.ImageMenuItem(attributes[1])
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1274: GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
  menu_item.set_image(gtk.image_new_from_stock(attributes[0], gtk.ICON_SIZE_MENU))
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1274: Warning: g_object_get: assertion 'G_IS_OBJECT (object)' failed
  menu_item.set_image(gtk.image_new_from_stock(attributes[0], gtk.ICON_SIZE_MENU))
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1274: Warning: value "TRUE" of type 'gboolean' is invalid or out of range for property 'visible' of type 'gboolean'
  menu_item.set_image(gtk.image_new_from_stock(attributes[0], gtk.ICON_SIZE_MENU))
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1263: Warning: invalid (NULL) pointer instance
  curr_submenu = gtk.Menu()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1263: Warning: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
  curr_submenu = gtk.Menu()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1264: GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
  menu_item = gtk.ImageMenuItem(attributes[1])
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1264: Warning: g_object_get: assertion 'G_IS_OBJECT (object)' failed
  menu_item = gtk.ImageMenuItem(attributes[1])
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1264: Warning: value "TRUE" of type 'gboolean' is invalid or out of range for property 'visible' of type 'gboolean'
  menu_item = gtk.ImageMenuItem(attributes[1])
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1265: GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
  menu_item.set_image(gtk.image_new_from_stock(attributes[2], gtk.ICON_SIZE_MENU))
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1265: Warning: g_object_get: assertion 'G_IS_OBJECT (object)' failed
  menu_item.set_image(gtk.image_new_from_stock(attributes[2], gtk.ICON_SIZE_MENU))
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1265: Warning: value "TRUE" of type 'gboolean' is invalid or out of range for property 'visible' of type 'gboolean'
  menu_item.set_image(gtk.image_new_from_stock(attributes[2], gtk.ICON_SIZE_MENU))
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212: GtkWarning: gdk_pango_context_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
  self.scrolledwindow_text.add(self.sourceview)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212: PangoWarning: pango_context_set_font_description: assertion 'context != NULL' failed
  self.scrolledwindow_text.add(self.sourceview)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212: PangoWarning: pango_context_set_base_dir: assertion 'context != NULL' failed
  self.scrolledwindow_text.add(self.sourceview)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212: PangoWarning: pango_context_set_language: assertion 'context != NULL' failed
  self.scrolledwindow_text.add(self.sourceview)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212: Warning: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
  self.scrolledwindow_text.add(self.sourceview)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212: GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
  self.scrolledwindow_text.add(self.sourceview)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212: GtkWarning: gdk_screen_get_display: assertion 'GDK_IS_SCREEN (screen)' failed
  self.scrolledwindow_text.add(self.sourceview)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212: GtkWarning: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
  self.scrolledwindow_text.add(self.sourceview)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212: Warning: g_object_get: assertion 'G_IS_OBJECT (object)' failed
  self.scrolledwindow_text.add(self.sourceview)
Segmentation fault: 11
phillips321@Mac13:~$

Any idea what could be causing it?

phillips321@Mac13:~$ which python
/opt/local/bin/python
phillips321@Mac13:~$ which cherrytree
/opt/local/bin/cherrytree
phillips321@Mac13:~$ python -V
Python 2.7.18
phillips321@Mac13:~$ echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:'
phillips321@Mac13:~$ 
kaktusztea commented 4 years ago

I got the same segfault.

kencu commented 4 years ago

So I've tried to run this using port myself and get the following error:

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gtk-2.0/gtk/init.py:57: GtkWarning: could not open display warnings.warn(str(e), _gtk.Warning) /opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:69: Warning: invalid (NULL) pointer instance self.window = gtk.Window()

This error mean that gtk can't find a window server to display to. It's been some years since I first installed x11, but it appears that the X11 window server is not installed automatically as a dependency of gtk. You could say it should be for new installations -- I will ask the honchos about that -- but there was a time when window servers came from various places, so I guess that's how it came to be like that.

The most current X11 window server available for MacOS is installed like this:

sudo port -v -N install xorg-server

and after you install it, there is a note that reminds you to do this:

  xinit has the following notes:
    To use MacPorts' X11 as the default server, install xorg-server, log out, and log back in.

dbus[77158]: Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!

This warning means the dbus daemon is not running. MacPorts doesn't run it without asking your permission. There was a note at some point during installation, here it is for you:

  dbus has the following notes:
    Startup items (named 'dbus-system, dbus-session') have been generated that will aid in starting dbus with launchd. They are disabled by
    default. Execute the following command to start them, and to cause them to launch at startup:

        sudo port load dbus

libc.prctl not available, the process name will be python and not cherrytree

this one is benign, just a message from cherrytree about the proc name

Please let me know if any troubles.

(Once you have the x11 subsystem set up, there are hundreds to thousands to x11 applications like CherryTree you can use with it, btw.)

rishabhdeepsingh commented 4 years ago

@kencu Thanks a lot. I got it working now.

kaktusztea commented 4 years ago

It works for me as well. Thanks!

telemote commented 4 years ago

This works:

sudo port -v install cherrytree

Screen Shot 2020-05-18 at 2 12 50 PM

Screen Shot 2020-05-18 at 2 13 11 PM

It runs on my mac with this command but the font rending is not as sharp as in your picture. The font looks fuzzy and it hurt my eyes. How can I improve it?

kencu commented 4 years ago

Is it the font for the menus (File, Edit, Formatting..) or is it the font in cherrytree itself ("Projects, "SnowLeopard", etc)?

If it is the system font, you need to edit the system fonts using something like "gtk-chtheme" (sudo port -v install gtk-chtheme). You can also add and search for gtk themes --- here is one bundle "gnome-themes-extra" (sudo port -v install gnome-themes-extra).

If it is the fonts in cherrytree itself, you change those with ("Edit" -> "Preferences" -> "Font" ).

Good luck!