Cherrytree: is there a Mac version?

Created on 4 Sep 2016  ·  94Comments  ·  Source: giuspen/cherrytree

is there a Mac version?

install\running\future

Most helpful comment

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

All 94 comments

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" [email protected] 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
.

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

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

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.

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

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)

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?

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.

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'

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

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

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

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
.

@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.

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

I can help test on Mac too.

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

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.

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!

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.

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.

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

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.

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}")'

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.

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

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

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

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

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

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

OK, thanks @giuspen!

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

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

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

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

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.

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

Picture 1

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)

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.

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

@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

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...

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:~$ 

I got the same segfault.

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.)

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

It works for me as well. Thanks!

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?

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!

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!

So I've tried looking at gtk-chtheme but it is also fuzzy in this. It appears it's antialiasing incorrectly or something. Have a look at this screenshot, the web browser on the left is native Safari and the fonts look good. CherryTree and gtk-chtheme on right are 'blurry'
Screenshot 2020-05-29 at 13 44 36

I am not 100% certain, but I suspect that you have selected the font Arial but you may not have a full version of that font installed. I invite you to ask on the macports-users mailing list for further advice if you like https://lists.macports.org/mailman/listinfo/macports-users but I will suggest you try selecting another system font (select that Font button to the left of "Arial 10"), or consider installing some fonts. I just did a quick search on my system and I find I do have quite a few fonts installed, so perhaps one of them is making the difference here:

$ port -v installed | grep font
  dejavu-fonts @2.37_0 (active) platform='darwin 10' archs='noarch' date='2019-11-11T22:25:13-0800'
  font-adobe-75dpi @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T00:58:45-0700'
  font-adobe-100dpi @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T00:59:22-0700'
  font-adobe-utopia-75dpi @1.0.4_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T00:59:38-0700'
  font-adobe-utopia-100dpi @1.0.4_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T00:59:51-0700'
  font-adobe-utopia-type1 @1.0.4_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:00:00-0700'
  font-alias @1.0.3_0 (active) platform='darwin 10' archs='noarch' date='2018-09-21T08:39:56-0700'
  font-arabic-misc @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-12-04T12:41:06-0800'
  font-bh-75dpi @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:00:20-0700'
  font-bh-100dpi @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:00:44-0700'
  font-bh-lucidatypewriter-75dpi @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:00:57-0700'
  font-bh-lucidatypewriter-100dpi @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:01:09-0700'
  font-bh-ttf @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:01:18-0700'
  font-bh-type1 @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:01:24-0700'
  font-bitstream-75dpi @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:01:30-0700'
  font-bitstream-100dpi @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:01:38-0700'
  font-bitstream-speedo @1.0.2_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:01:47-0700'
  font-bitstream-type1 @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:01:53-0700'
  font-cronyx-cyrillic @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:01:59-0700'
  font-cursor-misc @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:02:05-0700'
  font-daewoo-misc @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:02:13-0700'
  font-dec-misc @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:02:19-0700'
  font-ibm-type1 @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:02:26-0700'
  font-isas-misc @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:02:33-0700'
  font-jis-misc @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:02:40-0700'
  font-micro-misc @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:02:47-0700'
  font-misc-cyrillic @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:02:54-0700'
  font-misc-ethiopic @1.0.3_2 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:03:00-0700'
  font-misc-meltho @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:03:08-0700'
  font-misc-misc @1.1.2_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:03:28-0700'
  font-mutt-misc @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:03:36-0700'
  font-schumacher-misc @1.1.2_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:03:44-0700'
  font-screen-cyrillic @1.0.4_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:03:51-0700'
  font-sony-misc @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:03:56-0700'
  font-sun-misc @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:04:03-0700'
  font-winitzki-cyrillic @1.0.3_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:04:10-0700'
  font-xfree86-type1 @1.0.4_1 (active) platform='darwin 10' archs='noarch' date='2019-03-29T01:04:15-0700'
  fontconfig @2.13.1_0+universal (active) platform='darwin 10' archs='i386 x86_64' date='2018-08-31T13:07:28-0700'
  freefont-ttf @20120503_0 (active) platform='darwin 10' archs='noarch' date='2019-04-28T10:08:52-0700'
  gnome-font-viewer @3.24.0_1 (active) platform='darwin 10' archs='x86_64' date='2019-11-22T21:05:01-0800'
  mkfontscale @1.2.1_0 (active) platform='darwin 10' archs='x86_64' date='2019-03-29T00:58:17-0700'
  texlive-fonts-recommended @49603_0+doc (active) platform='darwin 10' archs='noarch' date='2019-05-26T20:26:08-0700'
  texlive-fontutils @50695_0+doc (active) platform='darwin 10' archs='noarch' date='2019-07-13T14:22:56-0700'
  urw-core35-fonts @2017-08-04_0 (active) platform='darwin 10' archs='noarch' date='2019-11-11T22:26:44-0800'
  urw-fonts @1.0.7pre44_0 (active) platform='darwin 10' archs='noarch' date='2016-08-11T09:19:58-0700'
  xorg-font-util @1.3.2_0 (active) platform='darwin 10' archs='x86_64' date='2019-10-28T15:59:50-0700'
  xorg-fonts @20090102_1 (active) platform='darwin 10' archs='noarch' date='2018-09-21T08:45:14-0700'
  xorg-libfontenc @1.1.4_0 (active) platform='darwin 10' archs='x86_64' date='2019-03-02T22:18:45-0800'
  xorg-libXfont @1.5.4_2 (active) platform='darwin 10' archs='x86_64' date='2018-10-29T23:44:34-0700'
  xorg-libXfont2 @2.0.4_0 (active) platform='darwin 10' archs='x86_64' date='2019-10-12T09:18:45-0700'
  xorg-libXfontcache @1.0.5_2 (active) platform='darwin 10' archs='x86_64' date='2019-07-07T16:19:28-0700'

choosing a different font made it look better, but still not as clear as native mac app fonts.

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!

What Font are you using, if I may ask in this case?

looks like I have helvetica 9 selected in cherrytree, and helvetica 10 selected for the gtk2 system font. ( I guess I should harmonize those :> ).

Thank you kindly @kencu

Hi,
Getting a message at startup "A newer version is available 0.39.4"
Click on the message box, but no other window pops up.
Tried reinstalling, but nothing changes

Did get this error : "dbus[2253]: 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"

However, already did this "sudo port load dbus"

If you do this, you will get the new version, and any other MacPorts updates thaave come along since you last did it:

sudo port -v selfupate
sudo port -v upgrade outdated

I didn't realize there was an auto-prompt message in CherryTree -- we are meant to disable that in MacPorts to prevent confusion, and let MacPorts handle it, so I'll see if I can look into that.

Re: your dbus issue. I haven't noticed any issues launching dbus so far, but there are millions of combinations of software so always could be something.

I would do what you did sudo port load dbus, and if that doesn't fix it, then restart the computer and do the same thing again. If that still doesn't fix is, please consider asking for help on the macports users mailing list https://lists.macports.org/mailman/listinfo/macports-users, or opening a trac ticket https://trac.macports.org/

ty -

"sudo port -v selfupate" failed
"sudo port -d selfupdate" succeeded.

The prompt is gone but still empty mac screen.
Will open a ticket soon.

well that's a different problem then. Glad you updated successfully.

  1. did the last version work for you?
  2. after you updated, does the new version not work for you? If not, does it still not work after you restart (that just makes all weird stuff better ... ).
  3. what happened to dbus. Is that OK now?

BTW -- if sudo port -v selfupdate failed, lets do make sure you got that part fixed. You have to be able to run that to completion.

If that did fail, I'm not certain how sudo port -d selfudate would then succeed, but I would have to see what actually was the error to know.

The last version was working.

"sudo port -v selfupdate" now worked

Logged out, restarted.
when I do sudo cherrytree, it flashes in maximized form for one second. Then
But still getting the " : "dbus[2253]: Dynamic session lookup supported .."
I know it is loaded because when typing this to terminal "launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist". It says "service already loaded"

please don't run sudo cherrytree -- just run cherrytree or double click on the cherrytree application icon in /Applications/MacPorts/CherryTree.app. That should solve your dbus problem at least. (dbus has to be running for the local user, and the system. When you run cherrytree with sudo, there would need to be a local dbus running for the root user, which there is not).

Let's see how far you get with that!

Doing cherrytree still gave me the same error.

But clicking on "/Applications/MacPorts/CherryTree.app" worked

Thank you

well, you're in business! It all came down to sudo cherrytree -- look at that :>

BTW, it should work when you type cherrytree as well... mine does. Later on if you want to sort out what is what, feel free to report back exactly what happens when you do type that.

Ok, It still a little buggy to restart cherrytree.
When I quit everything, and clicked on cherrytree, it flashed again.
Then typed cherrytree into terminal, nothing, but let it run. Then I clicked on the app icon. It came back on.
In terminal, it says "3 rise existing hidden in systray"
So have to disable hiding it automatically. Because I can't bring those windows to the front

something is weird with your system. Once again, restart it to clear out all those (I guess) running instances of cherrytree that you have in your -- systray ? what is that? the dock? -- and if this wackiness is still happening to you, feel free to open a ticket for some macOS X11 specific help. This doesn't really sound like it has anything to do with cherrytree specifically, on the face of it.

cherrytree has options Enable System Tray Docking and Start Minimized in the System Tray. Can it be the case?

Yes, that is it! I had not enabled those options before myself, but indeed, when i turn on that preference, I get the "quick screen flash then disappears" issue that @endermaz41 had, and then a blank screen. And then the "2 rise existing" message when I opened multiple instances.

And then some issues trying to get back to the preferences screen to turn that off again actually.

So those options, at present, don't seem to play well with maOS.

@endermaz41 -- it is a cherrytree issue (I guess) -- I don't know exactly how to make this work, so perhaps I should find some way to disable that option, at least on the X11 build (haven't tried the +quartz build to see if it does the same).

In the end, I had to edit ~/.config/cherrytree/config.cf and set these two options manually off again, to get going:

systray = False
start_on_systray = False

I guess -- we should not respect those settings if they happen to be "True" on macOS, and grey out the options in the preferences dialog -- unless someone smarter than I am with python knows how to make this work like it is supposed to work.

Yes, that was it.
All is well now.

One last question Kencu. I'm not at all familiar with X11.
You mentioned in an earlier post, thar once X11 is installed. there are 1000's of applications that I can install.
Is there a directory/list to see what I can install ? Or is it that I can install any linux package if I have the source or something along those lines ?

I tried setting HAS_SYSTRAY to False here:

cons.py
72:HAS_SYSTRAY = not (XDG_CURRENT_DESKTOP in os.environ and os.environ[XDG_CURRENT_DESKTOP] == "Unity")

but for some reason, the preference still shows up in the preferences dialog box even if I do. So deeper...

@kencu I suppose everyone uses your package, so maybe just disabling systray on macos is fine.
If some user finds it not ok, we can then think about it.

Yes, that was it.
All is well now.

One last question Kencu. I'm not at all familiar with X11.
You mentioned in an earlier post, thar once X11 is installed. there are 1000's of applications that I can install.
Is there a directory/list to see what I can install ? Or is it that I can install any linux package if I have the source or something along those lines ?

Pretty much the entire GNOME set of applications is available (that's like dozens), plus a great many that you might be familiar with from Ubuntu, gnucash, the KDE series, -- there are a great great many, most of them current.

if you type "port search gnome" you'll get some of them.

But that is only scratching the surface -- there are literally hundreds more, not directly under gnome. All in all, MacPorts has 20,000 ports. Go nuts!

@kencu I suppose everyone uses your package, so maybe just disabling systray on macos is fine.
If some user finds it not ok, we can then think about it.

can you help me sort out why setting this doesn't seem to do it?

cons.py
72:HAS_SYSTRAY = False

Or is it that I can install any linux package if I have the source or something along those lines ?

This is getting off topic for the issue here, but yes, it is very simple to write a Portfile to install software, which is the easiest way, as using a Portfile, MacPorts automatically sets up your build environment, adds all the right link flags, sets up your compiler, etc, etc.

I saw CherryTree on Ubuntu, and it took about 15 minutes to get it into MacOS. The MacPorts build file looks like this if you're curious.

Turns out there is no code which turn off the systray.
@giuspen , what do you think if I add code to disable systray for macos?

@txe sure!

I did add code to disable the systray when it was detected as missing, wonder why it doesnt trigger on macos?

Edit:
Unless this is the python version here and I am being dumb :p

@ForeverRainbow , don't be so hard on yourself :) but it was about python

@kencu , I put a fix by #980

file INSTALL cannot make directory "/usr/share/cherrytree/language-specs":

This is probably due System Integrity Protection introduced with El Capitan. It disallows writing to certain directories like /usr, even as root. Only certain core services are allowed to do so, probably something like the app store. To quote from the Wikipedia article:

Among the protected directories are: /System, /bin, /sbin, /usr (but not /usr/local).

You could go ahead and disable SIP, or better, the Makefile should install the OSX version to /usr/local/bin, as it is the only directory in $PATH and is writable.
I have no experience with CMake. If somebody could direct me into the right direction (or affected line), I could create a PR.

The OSX install section in /future also lacks gtk icons (I think it was the gnome-icon-theme brew package).

Is there something wrong?
`make install
[ 0%] Built target man_pages
[ 77%] Built target 7za_static
[ 81%] Built target spdlog
[ 96%] Built target cherrytree_shared
[ 97%] Built target cherrytree
[100%] Built target run_tests
Install the project...
-- Install configuration: "Release"
/Users/xx/cherrytree/future/scripts/set_icon_macos.py:4: UninitializedDeallocWarning: leaking an uninitialized object of type NSImage
Cocoa.NSWorkspace.sharedWorkspace().setIcon_forFile_options_(Cocoa.NSImage.alloc().initWithContentsOfFile_(sys.argv[1].decode('utf-8')), sys.argv[2].decode('utf-8'), 0) or sys.exit("Unable to set file icon")
Traceback (most recent call last):
File "/Users/xx/cherrytree/future/scripts/set_icon_macos.py", line 4, in
Cocoa.NSWorkspace.sharedWorkspace().setIcon_forFile_options_(Cocoa.NSImage.alloc().initWithContentsOfFile_(sys.argv[1].decode('utf-8')), sys.argv[2].decode('utf-8'), 0) or sys.exit("Unable to set file icon")
AttributeError: 'str' object has no attribute 'decode'
-- Installing: /usr/share/cherrytree/language-specs
CMake Error at cmake_install.cmake:40 (file):
file INSTALL cannot make directory "/usr/share/cherrytree/language-specs":
No such file or directory.

make: * [install] Error 1
`

The issue with installing in '/usr' maybe related to

if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
  set(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "..." FORCE)
endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)

@alexBaiJW, @msgpeek wrote the possible reason of the issue,
Temporary, you can use the following command to change the installation dir

cmake -DCMAKE_INSTALL_PREFIX=/usr/local ../future

How to install it as a mac application? Currently we can just run it from the shell

There is no DMG, as there are no packages for other distros/OSes. I doubt there will be until there is a release of the CPP-port (maybe the devs can say more).

You can use CMD+Space to start it, or dock it so you have a permanent shortcut. Or is there a particular feature you are missing, like having a button in the launcher?

If a missing launcher info is your issue, you could also use temporary workarounds yourself like https://mathiasbynens.be/notes/shell-script-mac-apps.

@txe @giuspen is packaging a priority now? If yes, is there any desired folder structure for /future or should I follow the approach of /future/{windows,debian,osx}?

I still have a McBook for couple of weeks, could take care of DMG.

Hi @msgpeek for now you have to stay inside of future for future specific stuff, soon I'm going to reorganize so that the future becomes the present. Packaging is not priority for now but a packaging script (or whatever the files are) could come useful

@kencu mac ports cherrytree works, but it cannot input chinese

The MacPorts install using the python version has a launchable application bundle in /Applications/MacPorts. When we do the c++ version it will be in the same place.

Why it won't accept Chinese characters is over-my-head, though. No idea about that. Do any other versions (Ubuntu, etc) accept Chinese characters?

It's python 2.7 code, so I presume you start by seeing if any script accepts Chinese characters.

Sorry I'm not more useful there.

@minkuan it is likely a decoding issue but won't be addressed on the 0.39.4. Once you will be able to test the latest 0.99.x if the issue is still there raise a dedicated GitHub issue and describe in detail how to reproduce

Guys, here are the instructions that were posted directly as part of the repo. The short version:

  • Install prerequisites
  • Pull Source & Prep Folders
  • Compile
  • Install
  • Create Alias
    Assumption: You have Homebrew installed.

Follow this link and scroll down to "Build Cherrytree on MacOS.
You may have to install some dependencies in addition to the ones listed but it worked for me without a hitch.

After installing the dependencies with Homebrew, I set these two variables for the compiler to find the brew version of curl, just in case:
export LDFLAGS="-L/usr/local/opt/curl/lib"
export CPPFLAGS="-I/usr/local/opt/curl/include"

Then build everything

The last instruction is a bit wrong: ./build/cherrytree
You are actually in the build folder, so you just need ./cherrytree.

Created an alias in ~/.zshrc for convenience - detaches from the terminal after you run it from the command line:
alias ch='/usr/local/bin/cherrytree

Good luck :)

That is for the c++ version of course, not the python version.

For the python version you do this:

sudo port -v install xorg-server cherrytree

Later on, when it is ready, I'll add the c++ version to MacPorts, and no doubt that version will be in homebrew too.

Was this page helpful?
0 / 5 - 0 ratings