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.
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).
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.
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.
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
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
* 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>
* 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
* 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>
* 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>
* 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