Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 37 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,50 @@

<br/>

## Installation
## 🦺 Installation

You can download and install Jorts from various sources:

[![Get it on AppCenter](https://appcenter.elementary.io/badge.svg?new)](https://appcenter.elementary.io/io.github.ellie_commons.jorts)
[<img src="https://flathub.org/assets/badges/flathub-badge-en.svg" width="160" alt="Download on Flathub">](https://flathub.org/apps/io.github.ellie_commons.jorts)

## ❓ FAQ

### Where settings

- Right-click on the app icon, and it is in the menu that appears
- You can also Ctrl+P to show the dialog
- Or run in a terminal:

```bash
flatpak run io.github.ellie_commons.jorts --preferences
```


### Where tray icon

Theres none. The app closes on its own when no window is open. Doesn't make sense to use resources if unused.


### Where close note

Theres none. If you dont need a note you delete it, theyre supposed to be ephemeral.
You can still alt+F4 or right-click->Close, but there is no reopen mechanism, and i dont wanna make one. Everything shows upon reopening the app anyway


### Where Bold/Italic/etc

I really want to avoid UI noise and resource usage. Notes are just, notes. The more complicated they become the less they are ephemeral notes and the more this looks like some notekeeping app. Which is what NoteJot, this was forked from, became.
Now i know i added some stuff when maintaining the old version of NoteJot, but it doesn't mean it should have more, or everything.



## 🛣️ Roadmap

Jorts is a cute simple little notes app, and i wanna keep it this way
Jorts is a cute simple and lightweight little notes app, and i wanna keep it this way
Top priority is to have the clearest, simplest, most efficient code ever

right now im working on:
- Maybe an option to show window title buttons, because now this is on flathub i may get flak from users about the lack of it
- Probably some cleaner code if i come around to it
- Maybe a toggle lists if i find how to do it without more UI noise

Feel free to check [the project board](https://github.com/orgs/ellie-commons/projects/4)

## 💝 Donations

Expand Down Expand Up @@ -67,4 +94,6 @@ You can get it all by entering in a terminal:
cp ~/.var/app/io.github.ellie_commons.jorts/data ~/
```

"saved_state.json" contains all notes in JSON format
"saved_state.json" contains all notes in JSON format. The structure is quite simple, if not pretty.

The app reads from it only during startup (rest of the time it writes in) so you could quite easily swap it up to swap between sets of notes.
7 changes: 1 addition & 6 deletions data/jorts.gschema.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,7 @@
<key name="scribbly-mode-active" type="b">
<default>false</default>
<summary>Change font to an illegible one</summary>
<description>Whether to change font to an illegible one for unfocused sticky notes, for privacy (NOT IMPLEMENTED YET)</description>
</key>
<key name="last-backup" type="s">
<default>""</default>
<summary>Last time saved_state.json was backed up</summary>
<description>Stores the date in string format for the last time a backup happened. If empty, then the app was just installed, do it immediately (NOT IMPLEMENTED YET)</description>
<description>Whether to change font to an illegible one for unfocused sticky notes, for privacy</description>
</key>
<key name="hide-bar" type="b">
<default>false</default>
Expand Down
2 changes: 1 addition & 1 deletion data/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ i18n.merge_file(
#======== ICONS ========

# Install our icons in all the required sizes
variant = 'halloween'
# "variant" variable has been declared earlier in the base meson
icon_sizes = ['16', '24', '32', '48', '64', '128']

foreach i : icon_sizes
Expand Down
2 changes: 2 additions & 0 deletions io.github.ellie_commons.jorts.flathub.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ modules:

- name: jorts
buildsystem: meson
config-opts:
- -Dvariant=['default']
sources:
- type: git
url: https://github.com/ellie-commons/jorts.git
Expand Down
2 changes: 2 additions & 0 deletions io.github.ellie_commons.jorts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ modules:

- name: jorts
buildsystem: meson
config-opts:
- -Dvariant=['default']
sources:
- type: dir
path: .
14 changes: 14 additions & 0 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,20 @@ i18n = import('i18n')
add_global_arguments('-DGETTEXT_PACKAGE="@0@"'.format (meson.project_name()), language:'c')


vala_flags = []
variant = get_option('variant')[0]

if variant == 'pride'
vala_flags = ['--define', 'PRIDE']
elif variant == 'halloween'
vala_flags = ['--define', 'HALLOWEEN']
else
vala_flags = ['--define', 'DEFAULT']
endif

add_project_arguments(vala_flags, language: 'vala')


#================================
# Import the stylesheet

Expand Down
6 changes: 6 additions & 0 deletions meson_options.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
option('variant',
type : 'array',
choices : ['default', 'pride', 'halloween'],
value : ['default'],
description : 'The name of the seasonal icon and style to use. Only the first value is chosen.'
)
5 changes: 5 additions & 0 deletions src/Objects/NoteData.vala
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,11 @@ public class Jorts.NoteData : Object {
builder.add_string_value (title);
builder.set_member_name ("theme");
builder.add_string_value (theme.to_string ());

//TODO: save Color alongside theme for awhile. Later we can load it instead and drop string methods
builder.set_member_name ("color");
builder.add_int_value (theme);

builder.set_member_name ("content");
builder.add_string_value (content);
builder.set_member_name ("monospace");
Expand Down
3 changes: 2 additions & 1 deletion src/Objects/Themes.vala
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ public enum Jorts.Themes {
/**
* recover Enum from a stored string, using when loading from storage
*/
//TODO: Retire this one day
public static Themes from_string (string wtf_is_this) {
switch (wtf_is_this.ascii_up ()) {
case "BLUEBERRY": return BLUEBERRY;
Expand All @@ -86,7 +87,7 @@ public enum Jorts.Themes {
case "GRAPE": return GRAPE;
case "COCOA": return COCOA;
case "SLATE": return SLATE;
default: assert_not_reached ();
default: return BLUEBERRY;
}
}

Expand Down
6 changes: 6 additions & 0 deletions src/Services/Constants.vala
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,13 @@ namespace Jorts.Constants {
const string DONATE_LINK = "https://ko-fi.com/teamcons";

// signature theme
#if PRIDE
const Jorts.Themes DEFAULT_THEME = Jorts.Themes.BUBBLEGUM;
#elif HALLOWEEN
const Jorts.Themes DEFAULT_THEME = Jorts.Themes.ORANGE;
#else
const Jorts.Themes DEFAULT_THEME = Jorts.Themes.BLUEBERRY;
#endif

// in ms
const int DEBOUNCE = 1000;
Expand Down