GithubHelp home page GithubHelp logo

finefindus / hieroglyphic Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zoeyfyi/tex-match

43.0 3.0 12.0 10.67 MB

Find LaTeX symbols

Home Page: https://apps.gnome.org/en/Hieroglyphic/

License: GNU General Public License v3.0

Shell 5.52% JavaScript 19.62% Python 5.92% Rust 54.96% Meson 13.68% CSS 0.29%
gnome gtk4 latex latex-symbols libadwaita rust detextify

hieroglyphic's People

Contributors

albanobattistella avatar bertob avatar bragefuglseth avatar dependabot[bot] avatar finefindus avatar haggen88 avatar milotype avatar rdbende avatar rene-coty avatar scrambled777 avatar twlvnn avatar yakushabb avatar zanderbrown avatar zoeyfyi avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

hieroglyphic's Issues

Text Search

Hi,

I was wondering, whether a type-ahead text search would be a nice feature on top?

Use case is, that

  • drawing without a graphic tablet etc. is not 100% accurate
  • perhaps I know there is something, but not exactly how it looks like
  • I want to get to know, what symbols there are

For instance I would like to have a special kind a arrow, something like

image

I could just type arrow two and it would pop up. But I could also just type arrow and scoll through the list of suggested arrows.

Unicode mode?

I know this is for Latex, but I could really use a Unicode version of this app :) And I feel many more people need Unicode symbols on a daily basis than Latex symbols.

What would it take to a Unicode mode for the app? Exactly the same, but it would copy the Unicode symbol instead. Just a switch to activate one mode or the other. Maybe when opening the app for the first time, it would ask you which mode you want to use.

It would be really cool as a local native version of shapecatcher.com!

Adaptive design

The app currently doesn't seem to be able to resize its window, making it impossible to use on mobile devices. If it did work on mobile, though, a phone could be used as a companion device when writing LaTeX on a desktop computer, which I think would be neat.

With the upcoming Adw.MultiLayoutView and Adw.BottomSheet widgets, I think creating a dedicated mobile layout shouldn't be that hard. Would you be interested in mockups for it?

Error while trying to compile using command line

I tried to compile this using cargo (without GNOME Builder), because I intend to package this for the Arch User Repository.

$cargo build --release --locked --all-features --target-dir=target
   Compiling serde v1.0.198
   Compiling hashbrown v0.14.3
   Compiling equivalent v1.0.1
   Compiling target-lexicon v0.12.14
   Compiling winnow v0.6.6
   Compiling indexmap v2.2.6
   Compiling heck v0.5.0
   Compiling smallvec v1.13.2
   Compiling cfg-expr v0.15.8
   Compiling pkg-config v0.3.30
   Compiling version-compare v0.2.0
   Compiling proc-macro2 v1.0.81
   Compiling toml_datetime v0.6.5
   Compiling serde_spanned v0.6.5
   Compiling toml_edit v0.22.12
   Compiling unicode-ident v1.0.12
   Compiling autocfg v1.2.0
   Compiling quote v1.0.36
   Compiling syn v2.0.60
   Compiling toml v0.8.12
   Compiling system-deps v6.2.2
   Compiling libc v0.2.153
   Compiling pin-project-lite v0.2.14
   Compiling memchr v2.7.2
   Compiling slab v0.4.9
   Compiling winnow v0.5.40
   Compiling futures-core v0.3.30
   Compiling pin-utils v0.1.0
   Compiling futures-task v0.3.30
   Compiling thiserror v1.0.59
   Compiling toml_edit v0.21.1
   Compiling getrandom v0.1.16
   Compiling crossbeam-utils v0.8.19
   Compiling proc-macro-crate v3.1.0
   Compiling futures-channel v0.3.30
   Compiling cfg-if v1.0.0
   Compiling bitflags v2.5.0
   Compiling glib-sys v0.19.0
   Compiling gobject-sys v0.19.0
   Compiling gio-sys v0.19.0
   Compiling pango-sys v0.19.0
   Compiling gdk-pixbuf-sys v0.19.0
   Compiling cairo-sys-rs v0.19.2
   Compiling gdk4-sys v0.8.1
   Compiling graphene-sys v0.19.0
   Compiling version_check v0.9.4
   Compiling rand_core v0.5.1
   Compiling semver v1.0.22
   Compiling gio v0.19.4
   Compiling gsk4-sys v0.8.1
   Compiling futures-io v0.3.30
   Compiling ppv-lite86 v0.2.17
   Compiling proc-macro-error-attr v1.0.4
   Compiling rand_chacha v0.2.2
   Compiling rand_pcg v0.2.1
   Compiling gtk4-sys v0.8.1
   Compiling syn v1.0.109
   Compiling siphasher v0.3.11
   Compiling phf_shared v0.8.0
   Compiling rand v0.7.3
   Compiling rustc_version v0.4.0
   Compiling proc-macro-error v1.0.4
   Compiling memoffset v0.9.1
   Compiling num-traits v0.2.18
   Compiling once_cell v1.19.0
   Compiling anyhow v1.0.82
   Compiling field-offset v0.3.6
   Compiling phf_generator v0.8.0
   Compiling crossbeam-epoch v0.9.18
   Compiling aho-corasick v1.1.3
   Compiling regex-syntax v0.8.3
   Compiling lazy_static v1.4.0
   Compiling either v1.11.0
   Compiling linked-hash-map v0.5.6
   Compiling temp-dir v0.1.13
   Compiling rayon-core v1.12.1
   Compiling cc v1.0.95
   Compiling yaml-rust v0.4.5
   Compiling regex-automata v0.4.6
   Compiling gettext-sys v0.21.3
   Compiling futures-macro v0.3.30
   Compiling thiserror-impl v1.0.59
   Compiling glib-macros v0.19.4
   Compiling futures-util v0.3.30
   Compiling futures-executor v0.3.30
   Compiling serde_derive v1.0.198
   Compiling crossbeam-deque v0.8.5
   Compiling phf_codegen v0.8.0
   Compiling tracing-core v0.1.32
   Compiling libadwaita-sys v0.6.0
   Compiling concurrent-queue v2.4.0
   Compiling base32 v0.4.0
   Compiling serde_json v1.0.116
   Compiling parking v2.2.0
   Compiling event-listener v5.3.0
   Compiling detexify v0.4.0 (https://github.com/FineFindus/detexify-rust.git?rev=d3750a6531bc92826ad2a2bd013cc5fe06f9e3ae#d3750a65)
   Compiling gtk4-macros v0.8.1
   Compiling num-traits v0.1.43
   Compiling regex v1.10.4
   Compiling overload v0.1.1
   Compiling itoa v1.0.11
   Compiling ryu v1.0.17
   Compiling log v0.4.21
   Compiling tracing-log v0.2.0
   Compiling thread_local v1.1.8
   Compiling nu-ansi-term v0.46.0
   Compiling locale_config v0.3.0
   Compiling rayon v1.10.0
   Compiling phf v0.8.0
   Compiling event-listener-strategy v0.5.1
   Compiling tracing-attributes v0.1.27
   Compiling itertools v0.9.0
   Compiling glib v0.19.4
   Compiling sharded-slab v0.1.7
   Compiling base64 v0.12.3
   Compiling tracing-subscriber v0.3.18
   Compiling async-channel v2.2.1
   Compiling gettext-rs v0.7.0
   Compiling itertools v0.12.1
   Compiling cairo-rs v0.19.4
   Compiling graphene-rs v0.19.2
   Compiling tracing v0.1.40
   Compiling tuple v0.4.2
   Compiling pango v0.19.3
   Compiling gdk-pixbuf v0.19.2
   Compiling gdk4 v0.8.1
   Compiling gsk4 v0.8.1
   Compiling gtk4 v0.8.1
   Compiling libadwaita v0.6.0
   Compiling hieroglyphic v1.1.0 (/home/archisman/AUR/hieroglyphic/src/hieroglyphic)
error[E0583]: file not found for module `config`
 --> src/main.rs:3:1
  |
3 | mod config;
  | ^^^^^^^^^^^
  |
  = help: to create the module `config`, create file "src/config.rs" or "src/config/mod.rs"
  = note: if there is a `mod config` elsewhere in the crate already, import it with `use crate::...` instead

error[E0432]: unresolved imports `crate::config::APP_ID`, `crate::config::VERSION`
 --> src/about.rs:4:21
  |
4 | use crate::config::{APP_ID, VERSION};
  |                     ^^^^^^  ^^^^^^^ no `VERSION` in `config`
  |                     |
  |                     no `APP_ID` in `config`

error[E0432]: unresolved imports `self::config::GETTEXT_PACKAGE`, `self::config::LOCALEDIR`, `self::config::RESOURCES_FILE`
  --> src/main.rs:12:20
   |
12 | use self::config::{GETTEXT_PACKAGE, LOCALEDIR, RESOURCES_FILE};
   |                    ^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^ no `RESOURCES_FILE` in `config`
   |                    |                |
   |                    |                no `LOCALEDIR` in `config`
   |                    no `GETTEXT_PACKAGE` in `config`

error[E0425]: cannot find value `APP_ID` in module `config`
  --> src/application.rs:58:56
   |
58 |             gtk::Window::set_default_icon_name(config::APP_ID);
   |                                                        ^^^^^^ not found in `config`

error[E0425]: cannot find value `APP_ID` in module `config`
   --> src/application.rs:124:44
    |
124 |         info!("Hieroglyphic ({})", config::APP_ID);
    |                                            ^^^^^^ not found in `config`

error[E0425]: cannot find value `VERSION` in module `config`
   --> src/application.rs:125:43
    |
125 |         info!("Version: {} ({})", config::VERSION, config::PROFILE);
    |                                           ^^^^^^^ not found in `config`

error[E0425]: cannot find value `PROFILE` in module `config`
   --> src/application.rs:125:60
    |
125 |         info!("Version: {} ({})", config::VERSION, config::PROFILE);
    |                                                            ^^^^^^^ not found in `config`

error[E0425]: cannot find value `PKGDATADIR` in module `config`
   --> src/application.rs:126:38
    |
126 |         info!("Datadir: {}", config::PKGDATADIR);
    |                                      ^^^^^^^^^^ not found in `config`

error[E0425]: cannot find value `APP_ID` in module `config`
   --> src/application.rs:135:49
    |
135 |             .property("application-id", config::APP_ID)
    |                                                 ^^^^^^ not found in `config`

error[E0425]: cannot find value `APP_ID` in module `config`
  --> src/about.rs:42:55
   |
42 |     information.push_str(&format!("{}: {}\n", config::APP_ID, config::VERSION));
   |                                                       ^^^^^^ not found in `config`

error[E0425]: cannot find value `VERSION` in module `config`
  --> src/about.rs:42:71
   |
42 |     information.push_str(&format!("{}: {}\n", config::APP_ID, config::VERSION));
   |                                                                       ^^^^^^^ not found in `config`

error[E0425]: cannot find value `PROFILE` in module `config`
  --> src/about.rs:43:60
   |
43 |     information.push_str(&format!("Profile: {}\n", config::PROFILE));
   |                                                            ^^^^^^^ not found in `config`

error[E0425]: cannot find value `PROFILE` in module `config`
  --> src/window.rs:69:24
   |
69 |             if config::PROFILE == "Devel" {
   |                        ^^^^^^^ not found in `config`

Some errors have detailed explanations: E0425, E0432, E0583.
For more information about an error, try `rustc --explain E0425`.
error: could not compile `hieroglyphic` (bin "hieroglyphic") due to 13 previous errors

Can you please provide some pointers on how to compile this app?

Add Keyboard shortcuts

Hi,

I just tested the app - it is functional and just nice!

Yet trackpad+keyboard usability could be slightly improved, e.g. via

  • Esc and/or Del and/or Backspace clearing, what was drawn
  • Arrow+{Up,Down} scrolling through the match list and of course
  • hitting enter saves the selected latex command to the clipboard

The rational is, that drawing in case of a trackpad+keyboard only situation, of course one has to draw with the trackpad, but clearing, scrolling the match list and selecting is faster via keyboard.

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.