notekit icon indicating copy to clipboard operation
notekit copied to clipboard

Moving NoteKit closer to similar "GNOME" applications

Open sp1ritCS opened this issue 3 years ago • 1 comments

Well, here it is 😄 .

Additions:

  • "Zen"/hide user-interface mode (finding a better name is up to you.)
  • @LyesSaadi's Adwaita Screenshots from #60
  • About dialog
  • devel environment script (inspired by python's venv) that sets a development env up for you (source devel/bin/activate)
  • Added a few notes that may help solve a few issues down the line

Changes:

  • replaced Gtk::Menu with Gio::Menu and Actions, however not as a global menu [0].
  • Droped jsoncpp in favour of gsettings
    • keep in mind that gsettings != dconf, but rather a pluggable configuration library
    • revised preferences dialog
    • changed stroke color floats to doubles
    • changes are now directly impacting what they are supposed to change (except Syntax Highlighting and to a limited extend CSD [1])
    • added small shell script that migrates json config to gsettings
    • added postinstall script that regenerates schema/icon cache & desktop db (could be replaced by gnome.postinstall() on meson >= 0.57)
  • replaced tempnam with mkstemp to prevent the linker warnings
  • added clatexmath wrap that meson can fall back to if clatexmath is not installed
  • added build instructions with meson

Bugfixes:

  • Selecting a color in Gtk's color picker now updates the current pen color of the sourceview too (before that pen continued to draw with the old color, until you press it's button [whose color got updated 🙃] again)
  • The use of gtk_file_chooser_get_current_folder was incorrect, as the current folder is not necessarily the same as the selected folder, leading to issues where the FileChooserButton showed the correct folder, but NoteKit was used a different one)

New Bugs:

  • dunno, you'll likely find something if you want too (e.g. changing settings within dconf/win registry while NoteKit is running that are then live-updated by gsettings sounds like a good idea 🤣 )
  • At least Wayfire does not honor repeated calls of setting CSD/SSD, thus toggling csd requires a restart or you'll either have no headerbar and no ssd or you'll have both (quite bugged, as the border begin at the start of the window shadow).
  • Turning off CSD on OSX and w32 leads to the window having no decorations at all. (gtk+3 doesn't support this, you'd need to move to gtk4. See code comments for more info)

If you actually end up merging this, consider doing it in a way that preserves the commit history of the gnome branch, as it might be of value (also each commit will build on [my] linux :D).

[0]: I don't think the benefits outweigh the downsides. - for some reason when running notekit via X11 it refuses to show the app menubar - also on x11 the appmenu button only becomes visible after maximizing the window (going back to normal size doesn't hide the button again) - the global app menu button behaves wierdly (could be fixed with custom css, however not a good idea as it it likely to break themes) - some themes (flat-remix-gtk) like to hijack the menu button (by setting the opacity to 0) and then render their own icon on top of it. [1]: https://github.com/sp1ritCS/notekit/blob/d21e7a053a0ac124d8874e753d35d2ed8d7394f9/mainwindow.cpp#L601

sp1ritCS avatar May 26 '21 16:05 sp1ritCS

guess I ran out of space in the first one

should close #84 replaces part of #59 partly contributes to #96

sp1ritCS avatar May 26 '21 16:05 sp1ritCS

Closed as it has been merged into master

sp1ritCS avatar Apr 11 '23 17:04 sp1ritCS