201 Commits (5edd800d8cfece85ee734866247160e90a637dc5)

Author SHA1 Message Date
Keith Simmons fb9c1de747 fix clippy and formatting 3 years ago
Keith Simmons 35f46ebb5f adjust foreground clip to be looser in the x y plane 3 years ago
Keith Simmons 3cc0d5c173 rework draw commands to send whole line at once and draw background before foreground 3 years ago
Christian Clason c3fe866bb9 refactor(font): conditional compilation on macos
Avoids
```
warning: unused variable: `points_per_inch`
  --> src/renderer/fonts/font_options.rs:94:9
   |
94 |     let points_per_inch = 72.0;
   |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_points_per_inch`
   |
   = note: `#[warn(unused_variables)]` on by default
```
on macOS, which is innocuous but has been bugging me for a while.
3 years ago
Keith Simmons 3bba418c1c refactor grid_renderer out of renderer and clean up window draw command handling 3 years ago
mforsb 768a589576 Remove rust-embed as a dependency
This is a rather heavy dependency that's easily replaceable using only
the standard library. This brings the number of dependencies down from
368 to 362 (on Linux).
3 years ago
Serg Tereshchenko 71e107d649 fix: Trigger grid resize after font change 3 years ago
Keith Simmons 400dbcabd3 remove global suffix on settings call 3 years ago
Serg Tereshchenko 0549540c13 style: apply cargo --fmt 3 years ago
partizan 9149c98292
Merge pull request #865 from neovide/refactor-grid-conv
Refactor grid conversions
3 years ago
Serg Tereshchenko 6d38f34f8b refactor: Use paired values as tuples/Dimensions
Paired values, like width/height now using tuples and Dimensions.

`Dimensions` struct implements traits for multiplication and division,
which allows us to scale grid size to physical and back just by
multiplying `Dimensions` instead of each variable.

Also, added trait for multiplication (u64, u64) by Dimensions.
For the same purpose as above.
3 years ago
Keith Simmons 1e1bd45d45 swap feature flag to just be a setting instead 3 years ago
Serg Tereshchenko a8c6e1707b refactor: Refactor startup process to delay setting window size.
Setting initial window size moved into draw_frame, and called
after fonts are loaded. So initial window size matches requested
geometry.

This also fixes missing startup screen, as UiCommand::Resize is not
called on startup.
3 years ago
Keith Simmons 949e15f808 add debug renderer feature 3 years ago
Serg Tereshchenko 61fb07d7bf style: Fix clippy warning 3 years ago
Lucas Miranda 0c1a7029e3
Fix to ensure provided gui font is valid (#842)
Providing a wrong font was causing neovide to retry every time to load an
inexistent font, instead just trying to load once at it's setup should
be enough
3 years ago
Serg Tereshchenko 5991117814 style(fonts): Removed redundant closure
(Thanks clippy)
3 years ago
partizan e8354e1b23
Dynamic scale factor updates (#817)
* wip: dynamic scale factor updates

* refactor font options

* update font opts

* refacor scale factor updates

* cargo fmt
3 years ago
Serg Tereshchenko 42ff24518b fix(macos): Fix scaling on mac-os
On MacOS points and pixels are the same.
3 years ago
Keith Simmons cacde9ec9d fix initial window positioning 3 years ago
partizan a527c0ebb7
fix(fonts): Fix font scaling (points to pixels conversion) (#814)
Refs #387
3 years ago
Serg Tereshchenko c870c46aa3 chore(renderer/fonts): Fix unused variable warning 3 years ago
Serg Tereshchenko 07c0349e4a chore: Fixed formatting 3 years ago
partizan 43bab8404b
Refactor scaling code (#793)
* refactor(scaling): Refactor scaling code, scale only font size

* chore: Add debug logging for scale factor

* fix scaling for default font
3 years ago
Keith Simmons 80c57bb339
tweak vertical positioning (#795) 3 years ago
partizan d2e33b87f2
Rename "bot" to "bottom" in WindowDrawCommand::Scroll (#789)
* chore(test): Fix function call

* refactor(WindowDrawCommand::Scroll): Rename bot to bottom
3 years ago
partizan 9f7207feb8
fix(window): Fix incorrect initial scaling (#784)
Also, replaced inverse scaling (like 1 / scaling) with natural scaling.
I think easier to work with natural scaling factor (like 1..2)
and multiplication, instead of inverse scaling factor and division.

Refs #771
3 years ago
Keith Simmons 73902a6c7a formatting and clippy fixes 3 years ago
Keith Simmons 2fc74f83ca enable bold/italic highlight styles 3 years ago
smolck f99c21d971
feat(fonts): add support for :b and :i in guifont (#769)
Close #709.
3 years ago
Keith Simmons 30f9bc9d59 minor clippy fixes 3 years ago
Keith Simmons 407a7e24a9 formatting fixes 3 years ago
Keith Simmons 3449cfda7a port forward scrolling fix 3 years ago
Keith Simmons 1f699afad1 fix cursor disappearing glitch 3 years ago
Keith Simmons 59fa3ed2a9 rewrite the mouse handling to handle upstream bugs somewhat better. Still haven't found the crash yet 3 years ago
Keith Simmons 113a3f421c clippy fixes 3 years ago
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 3 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>
3 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