215 Commits (c77a7a93cce6769a85e1c395d2f813e3f1f04665)

Author SHA1 Message Date
Anirudh Balaji 7697cd9cef
fix: don't drop entire blob when shaping control characters (#737) 3 years ago
Keith Simmons 5c7deeb8b9 fix rendering when glyph can't be found and add last resort font 3 years ago
Keith Simmons d62f008843 fix merge error 4 years ago
Keith Simmons c7694569bd
Opengl (#655)
* OpenGL Backend (#486)

* opengl renderer sorta working

* add x11 build argument

* remove x11

* format

* remove alternate windowing systems

* remove non opengl windowing systems

* fix thread spin

* add graphics interface debugging expects

* update interface build and add conditional compilation

* install nightly in actions

* add format component to nightly install

* remove vulkan from action

* working without shaping

* Add rustybuzz

* applied suggestions from calvinkosmatka

* remove husky

* update skia-safe

* better subpixel font rendering

* commit lock file

* fix merge error

* Bump skia-safe to 0.39.1 (#584)

Compiling for apple silicon/m1 only works on 0.39.1

* remove sdl2 file and upgrade skia/swap to egl

* Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615)

Co-authored-by: Lord Valen <lord_valen@protonmail.com>

* OpenGL Backend (#486)

* opengl renderer sorta working

* add x11 build argument

* remove x11

* format

* remove alternate windowing systems

* remove non opengl windowing systems

* fix thread spin

* add graphics interface debugging expects

* update interface build and add conditional compilation

* install nightly in actions

* add format component to nightly install

* remove vulkan from action

* working without shaping

* Add rustybuzz

* applied suggestions from calvinkosmatka

* remove husky

* update skia-safe

* better subpixel font rendering

* commit lock file

* fix merge error

* Bump skia-safe to 0.39.1 (#584)

Compiling for apple silicon/m1 only works on 0.39.1

* remove sdl2 file and upgrade skia/swap to egl

* Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615)

Co-authored-by: Lord Valen <lord_valen@protonmail.com>

* Version check (#631)

* add more robust version check

* clippy

* fix some copy pasta

* revert font changes

* add lock file back

* pull in animation length change from main and adjust default cursor settings

* Snap for Ubuntu (#576)

* add more robust version check

* clippy

* fix some copy pasta

* revert font changes

* snap builds correctly

* add snapcraft workflow

* clean up workflow

* clean up workflow

* clean up workflow

* check workflow works

* build snap

* use lxd

* add snap push

* add step id

* use official snapcraft actions

* add snap badge

* move snap badge

* swap from rustybuzz to swash. WAY faster performance

* format files

* fix command line jump filtering

* attempt fix of github action

* add comma

* add caching to the build dependencies

* fix foating window position

* Fix 577 (#668)

* fix formatting and clippy errors

* upstream formatting fix

* Added trackpad support to scrolling/smoothscrolling in OpenGL branch (#681)

* Update mod.rs

* Update mod.rs

* Update mod.rs

* Update mod.rs

* Update mod.rs

* Update mod.rs

* Fixed regular scroll

* Update mod.rs

* Update mod.rs

* Reverted previous change, dividing first instead

* Update mod.rs

* Update mod.rs

* I completely forgot about how unsigned integers in rust work

* Remove the casting to integer

* Forgot function signature requires integer

* divide before cast

* remove semicolon

* Changed function signature to use float instead of integer, using float for PixelDelta

* Forgot parenthesis

* Change 0 to math float

* Do the same for the function itself

* Scrolling still too fast

* Still way to fast

* Still too fast

* Still too fast

* somehow still too fast

* Still too fast

* Update mod.rs

* testing

* still fast

* doesn't fit in f32 anymore

* Update mod.rs

* Update mod.rs

* Update mod.rs

* Update mod.rs

* Update mod.rs

* Testing

* Testing something new

* Update mod.rs

* Update mod.rs

* Deleted unnecessary code

* Implement CLI parsing with clap (#680)

* implemented command line parsing with clap

* removed println!

* fixed file opening

* added files parameter to avoid -- [FILES]

* use new cmdlinesettings in various places

* lets stick to the old cli-api

* moved to builder syntax to allow for hypens in args

* Fixed merge conflict that was overlooked before

* Basic Environment variables

* Added alias for MultiGrid environment var

* Fix for #566 (#687)

* add logging to async channels

* use better logging in channels

* made float change backwards compatible

* fix clippy work

* ignore new clippy lint

* fix mac clippy lint

* adjust actions

* use nightly format

* install utilities in mac and linux builds

* Fix some shift+key mappings (#695)

* fix publish test results step

* Basic Frameless window support (#694)

* Frameless window (not resizeable)

* Update

* Delete neovide.ico

idk how did this get here

* add readme tweak to make sure people know what neovim is

* add scoop instructions for windows

* implement manual font fallback with swash

* M1 Runner (#711)

* add self-hosted m1

* remove vulkan

* cahnge toolchain

* fmt

* clippy

* remove llvm

* upload m1

* checkout upstream build.yaml

* remove llvm step

* remove git caching for self hosted

* Add environment variables for window options (#708)

* Add Env for window options

* Remove PascalCase

* Font Fallback (#701)

* better font fallback

* actually fix font fallback

* swap to u64s for most font size solutions

* increase line height slightly and attempt stencil buffer fix

* fix divider issue

* clippy and formatting fixes

Co-authored-by: Keith Simmons <keithsim@microsoft.com>

* clippy fixes

* Fix default font (#719)

* size using Z

* default font ordering

* clippy fixes

* interactive wsl path

* fix formatting

Co-authored-by: Keith Simmons <keithsim@microsoft.com>
Co-authored-by: shaunsingh <71196912+shaunsingh@users.noreply.github.com>
Co-authored-by: Lord-Valen <46138807+Lord-Valen@users.noreply.github.com>
Co-authored-by: Lord Valen <lord_valen@protonmail.com>
Co-authored-by: j4qfrost <j4qfrost@gmail.com>
Co-authored-by: PyGamer0 <64531844+PyGamer0@users.noreply.github.com>
Co-authored-by: Obyoxar <43534802+ErikMayrhofer@users.noreply.github.com>
Co-authored-by: Benson Li <bensonbinbinli@gmail.com>
Co-authored-by: meluskyc <meluskyc@gmail.com>
4 years ago
JeWe37 94bd58847e
Add distance dependent animation length (#621)
* Add distance dependent animation length

* Fix for #117 cursor trails disabled when switching between modes an optionally when going to cmd line
4 years ago
Benjamin Davies 764633d2ba
Fix warnings (#573)
* Fix warnings associated with neovide-derive

* Remove unused transparency member

Sdl2WindowWrapper had a property called transparency that was never
read and was causing a warning.

* Add Lint with Clippy to build workflow
4 years ago
Chinmay Dalal d14802cb43
Fix clippy, fix font load test (#517)
* Fix warnings

* Fix clippy, ignore font_load test

* Changes requested in PR review

* Fix unused variable and function using #cfg
4 years ago
Lachlan Easton 80f5dcee42
Round up font size to account for draw_image_rect not doing subpixel copying (#454) 4 years ago
Keith Simmons fed63a9507 separate font types into files in their own folder 4 years ago
Keith Simmons ec06247ad2 fix floating window foreground 4 years ago
Keith Simmons af93c54f3e
Settings derive macro (#439)
* Added procedural macro crate

* Initial derive macro implementation

* Compiles for cursor settings

* Derive macro working correctly

* Derive macro working for all settings structs

* Cleanup

* Moved the binary back to the project root

* remove unused utils file

Co-authored-by: Tim Harding <Tim@TimHarding.co>
4 years ago
Keith Simmons 33f6a4b914
Fix dpi scaling (#438)
* fixing dpi

* refactor rendered window for better dpi scaling

* prevent cursor from animating out of the window bounds

Co-authored-by: Gabby Grinslade <grinsladeg@gmail.com>
4 years ago
Keith Simmons 1d981f3c2c
Smooth scrolling (#423)
* parse viewport events

* progress toward pixel scrolling

* ITS WORKING

* fix basic scrolling gaps

* add limit to number of old surfaces to store

* set cursor destination based on rendered location not global grid
4 years ago
Keith Simmons 62d2ca407d updated readme 4 years ago
Keith Simmons 5da81b4f26 port commits since fork 4 years ago
Keith Simmons 1b6d562307 add configuration for the window transparency 4 years ago
Keith Simmons dc65548c01 fix window position flickering 4 years ago
keith 3d1f797688 minor refactoring 4 years ago
keith 8b87f92f5f mostly working 4 years ago
keith 15d02a0417 slightly better rendering 4 years ago
keith a7d82fb7a1 progress toward fixing render bug 4 years ago
keith 5e32a7ad7b resize on start and work toward more efficient rendering 4 years ago
keith 668f3f9aaf more stable with 3 threads 4 years ago
keith f198f23551 no longer dropping draw commands. Wonky background, and font changes don't work 4 years ago
keith 4fd863ca2c progress toward refactor 4 years ago
keith 494f9a395c limit ligature backtracking 4 years ago
keith 811c8ea2d1 minor changes 4 years ago
keith a85c7dda3e more efficient rendering 4 years ago
keith ee2ee53614 better mouse management with multigrid 4 years ago
keith f14a7f7dc6 animate window positions (doesn't take framerate into account) 4 years ago
keith 5349f60e12 its working! 4 years ago
keith d2665c2471 new rendering working without multigrid enabled. Making progress 4 years ago
keith 4ef6adcfef part way to multi grid rendering 4 years ago
keith aeda4ad2df format files 4 years ago
j4qfrost a871f92005
Font fallback (#334)
* thanks nganhkhoa; should solve issue-327

* save work

* intended to address issue-332 among other font problems; added some tests for caching_shaper; clippy

* remove nightly feature

* choose random font instead

* add droid font to workflow linux

* switch to sans mono

* switch font

* cleaner random font implementation
4 years ago
j4qfrost d406cf6c31
Build without embed fonts (#312)
* get_or_load works now without embedFont

* default to using assets

* fmt

* Refactored get_or_load back into one function

* refactor remove asset flag

* fmt

* prevent cache garbage

* fmting and stuff

* better naming

Co-authored-by: Raffael Zica <raffael@pixeltastic.de>
4 years ago
Oliver Breitwieser 4b58dfcc3f
Fix underscores not displayed on every line (#316)
With certain font-configurations, underscores are not drawn on every
line.

Locally, setting `set guifont=Deja\ for\ Powerline\ Medium:h11` caused
underscores to be hidden on two lines and then displayed on the
following three.

Fixing the line height to the nearest integer seems to alleviate the
issue.
4 years ago
Jimmy Brisson c94bec658a Allow font fallback 5 years ago
j4qfrost 1892073c8a
Husky (#277)
* add husky dev dep

* clippy suggestions

* bump version

* save cargo lock

* fix epsilon issue for linux

* forgot to save

* my mistake
5 years ago
James Robert Rooke dc399c3c49
Animation test (#278)
* animation test

* fix formatting error
5 years ago
James Robert Rooke 253f983194
Better symbol font for linux (#262) 5 years ago
keith e9715535f8 formatting 5 years ago
keith e8263f1f19 font fallback guifont extension 5 years ago
exoticus 423ecedc1a address pr concerns, values are no longer hard coded 5 years ago
exoticus a5abe769a6 Fixes a bug where values over 1 breaks
trails size values over one totally broke the cursor, this ensures only 0-1 values are used for lerp
5 years ago
exoticus 020f44abc6 just some whitespace for more clarity 5 years ago
exoticus cc783adeb4 added disable cursor animation in insert mode
current approach to disable cursor animation during typing relied on a hack, now it’s an option <animate_in_insert_mode> (default to true) whether to use cursor animations in insert mode
5 years ago
Keith Simmons 3da11e09d8 update skribo, fontkit, and format 5 years ago
exoticus df229c602c more house keeping 🧹 5 years ago
exoticus a42c7a3b4e cleaner, more consistent 5 years ago
exoticus 3037f2b984 some formatting 5 years ago
exoticus 261a27091b not disgusting any more, should also patch variants 5 years ago
exoticus a6710a5518 disgusting duplication but works 5 years ago
exoticus 187ead2e1f don't return None unless there's no variants 5 years ago
exoticus ca7f984d30 typo 5 years ago
exoticus f0cc8cd696 better than repetitive if statements 5 years ago
exoticus 2975d599bd instead of unknown panic, we get a useful message 5 years ago
exoticus 7c9924ba57 RustFmt 5 years ago
exoticus 90d5329b88 more neat 5 years ago
exoticus 6b26808148 hmmm 🤔 5 years ago
exoticus ed917b2c50 fluff 5 years ago
exoticus 9af54bf225 fluff 5 years ago
exoticus ca9829f5d3 FontLoader loads and caches fonts 5 years ago
exoticus fb9c877afc i wish rust had block conditional compilation 5 years ago
exoticus 9e6c41ac65 wip 5 years ago
Keith Simmons cd0954d332 add cursor antialiasing setting 5 years ago
AnhQuan Nguyen a530171aea rust fmt 5 years ago
keith c972a3eacf enable italic bold 5 years ago
Keith Simmons 18775f5d67 fix ginit error 5 years ago
keith 5237a11cae actually fix skia font loading error 5 years ago
keith d20027a490 allow disabling of embedded fonts 5 years ago
keith 9a9051f044 add tests to ci build 5 years ago
keith afce3a7f87 fix some font fallback bugs 5 years ago
keith f25d317b1b minor refactoring 5 years ago
Jon Valdés 6f418d6c65 Added particle curl option 5 years ago
Jon Valdés b82db76553 Expose speed and phase parameters for particles 5 years ago
Jon Valdés 2dc28c633e
Merge branch 'master' into framerate-independent-cursor 5 years ago
Jon Valdés 1b2a2552c3 Make particle effects based on font size. Spawn particles at text baseline 5 years ago
Jon Valdés b11642c6b0 Fix railgun effect particle spawning 5 years ago
Jon Valdés 0fc2680098 Made the rng persist from frame to frame, so particles don't spawn in the same place every time 5 years ago
Jon Valdés b29a83214a Fix issue that was creating particles with NaN lifetimes, causing the update loop to never kill them 5 years ago
Jon Valdés cef497d0a0 Random number generation was completely wrong. Fixed 5 years ago
Jon Valdés 7fd6df50ce Exposed setting for particle density 5 years ago
Jon Valdés 885aca19da Exposing cursor vfx parameters as settings 5 years ago
Jon Valdés 6d2d398c23 Fix cursor animation being stuck for 1 frame after animation reset 5 years ago
Jon Valdés 6939a8186b Made trail animation slightly longer to match old behavior better 5 years ago
Jon Valdés 5c8b1de97a Switched to an exponential function for cursor trail animation 5 years ago
Jon Valdés 4ea5e31f13 Added "PixieDust" effect 5 years ago
Jon Valdés 8c410cef6e Added "torpedo" mode to cursor effects 5 years ago
Jon Valdés 47eaf0c418 Implemented settings-based control for cursor animations 5 years ago
Jon Valdés c517f00033 Fixing after rebasing on top of structured settings work 5 years ago
Jon Valdés 2ad315a507 Kept antialiasing enabled only for the cursor rendering 5 years ago
Jon Valdés 218f9adb6a Railgun cursor tweaking 5 years ago
Jon Valdés 6fcd50289a Added particle trail effect 5 years ago
Jon Valdés 5c6d1ffa42 Easing point highlight alpha 5 years ago
Jon Valdés 028c36d32a Renamed CursorVFX to PointHighlight. Implemented Ripple and Wireframe modes 5 years ago
Jon Valdés 7c3585e9a6 Make CursorVFX a trait, tweak cursor trail with cubic easing function 5 years ago
Jon Valdés e56bddf6b6 Splitting CursorVFX into its own module 5 years ago
Jon Valdés d967666222 Making cursor_renderer its own nested module 5 years ago
Jon Valdés a4c9dd442a Tweaking and cleaning cursor trail math code 5 years ago