656 Commits (130e15439a3a36d3e74756ccae666b3656a10f9e)

Author SHA1 Message Date
LoipesMas fe4ac0162e
Merge pull request #1078 from LoipesMas/fix_float_outside
Fix floating windows showing outside of neovide window
3 years ago
LoipesMas a7d87d6218 Fix special style test 3 years ago
jeremycostanzo 4e207fbd19 Remove compiler warning on non windows platforms
ParallelCommand was only used on windows but it was imported for every
distro
3 years ago
LoipesMas 93b5c49ff7 Fix floating windows showing outside of neovide window 3 years ago
nganhkhoa 8b1a81ded3 format code 3 years ago
nganhkhoa 551994c705 [windows] Right click menu setup with no Admin
The old code was using HKEY_CLASSES_ROOT, which requires Admin.
Fixed to use HKEY_CURRENT_USER to works without Admin.

Reference: https://stackoverflow.com/a/29769228/13173256
3 years ago
Keith Simmons 3d4bd0e056 Fixed some clippy warnings 3 years ago
Keith Simmons b7b06c59a0 fix formatting issues 3 years ago
Johan Sköld 551236a290 Redraw window when requested 3 years ago
Michael Doronin 2689bccbb9 Use combinators instead of manual code 3 years ago
Michael Doronin 2a0f464f34 Remove unnecessary boxing 3 years ago
Keith Simmons 7f76ad4764 fix formatting 3 years ago
Keith Simmons 124bf32a86 fix floating window selection issue 3 years ago
Keith Simmons cbdb28b094 formatting and clippy fixes 3 years ago
Keith Simmons 80d5ed983c fix quit on startup 3 years ago
Keith Simmons 0ef1521a18 compiling but quits on startup 3 years ago
Keith Simmons b5ff3556fe fix minor remaining bugs 3 years ago
Keith Simmons cb0f92688d split ui command into serial and parallel 3 years ago
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
Keith Simmons 8bade3667d formatting and clippy fixes 3 years ago
Keith Simmons 46845b86b4 add modifiers and button selection to other mouse events 3 years ago
Keith Simmons abd3d52ae3 add modifiers to nvim_input_mouse scroll events 3 years ago
Keith Simmons a1fc0bf9c7 increase minimum 3 years ago
Keith Simmons 4515aa5a61 add minimum window size 3 years ago
Keith Simmons 18f9ae5dac build fixes 3 years ago
leon332157 f9bbdab458
attempt x11 fix (#964)
* attempt x11 fix

* formet code

* trigger format check
3 years ago
Keith Simmons cf781031e3 pass button to mouse input event 3 years ago
Keith Simmons 839f2938a1 make event handling forwards compatible and use constant generics to simplify parsing logic 3 years ago
Christian Clason 69187642e4 fix: adapt to upstream change to win_viewport
handle `line_count` field that was added in
086631cd92
3 years ago
Keith Simmons c23c176c00 add srgb setting, commandline arg, and environment variable to fix amd windows machines 3 years ago
Serg Tereshchenko a81c65b781 fix: Fixed red color for underline 3 years ago
Oliver Jan Krylow d2760e2d45
chore: Updates rmpv (0.4.4 -> 1.0.0)
Bumped version of rmpv in neovide to 1.0.0 to match nvim-rs.
Also, fixed a warning where a variable need not be mut.

Co-authored-by: Oliver Krylow <o.krylow@isp-insoft.de>
3 years ago
Serg Tereshchenko 5047637c4f refactor: Allow resize at startup for tiling WM
... but preserve startup screen for normal WM.

Tiling WM is detected by initial window size,
which is already changed on first render pass.

Refs #918
3 years ago
Serg Tereshchenko 96f0c636f4 fix: Allow resize at startup
Refs #918
3 years ago
rsynnest 3be5de6874 Invoke user's login shell to load proper WSL $PATH
In Linux, custom changes to the $PATH are usually defined in ~/.profile,
~/.bash_profile, ~/.zprofile, etc.  These files are only loaded by a
'login shell', which can be explicitly invoked with the -l flag.  Most
shells (bash, dash, zsh, fish) support this -l flag.  This commit uses
the $SHELL env var to invoke the user's default shell with the -l flag to
force a login shell. This should properly load any custom $PATH settings
defined by the WSL user.  This is a potential fix for #693
3 years ago
Serg Tereshchenko 55179e43c3 refactor: Refactor initial resize fix
window.is_maximized() returns false on startup, using settings instead.

Refs #892
3 years ago
Serg Tereshchenko bd4a181162 fix(renderer): Force grid redraw on startup with --maximized flag
Refs #892
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
Keith Simmons c52a6e356a format code 3 years ago
Keith Simmons a4822378e2 log version on startup and bump it 3 years ago
Serg Tereshchenko dc3b3351d5 fix(logging): Replace println with debug in bridge/events.rs 3 years ago
mforsb 8779a76fb0 Clean up tokio::sync::mpsc imports 3 years ago
mforsb e343c64d4e Simplify nvim version check, remove regex dependency
Using `has("nvim-0.4")` check seems more robust than using a regex to
parse the version string. This also means regex is no longer a runtime
dependency.
3 years ago
mforsb 5c90f33e9e Use tokio::sync::mpsc instead of crossfire::mpsc
Since tokio channels has blocking_recv now crossfire isn't needed
anymore.
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
Serg Tereshchenko d5404299ee chore(logging): Don't log "icon created" message 3 years ago
Serg Tereshchenko caf9e35726 chore(logging): Use 4 digits for scale_factor display 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
Keith Simmons 48336ee84d working swap to upstream nvim-rs 3 years ago
Serg Tereshchenko 725f12cafd refactor: Remove first_render_pass flag 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
Serg Tereshchenko d12ab7e33a refactor: Refactor ui_attach options 3 years ago
Keith Simmons 132f993699
add better touch scrolling (#861)
* add better touch scrolling

* optionally send multiple scroll events

* fix formatting

Co-authored-by: Keith Simmons <keithsim@microsoft.com>
3 years ago
partizan 30dd5e7f73
fix(cmd_line): Renamed --multiGrid to --multigrid (#862)
BREAKING CHANGE: Renamed --multiGrid to --multigrid
BREAKING CHANGE: Removed env var NeovideMultiGrid
3 years ago
Lucas Miranda 726539fbae
add neovide_input_use_logo to toggle logo handling (#857)
* add neovide_input_use_logo to toggle logo handling
it also completely ignores keyboard inputs with D modifier

* fix lint errors
3 years ago
mforsb 178cbafb2f
Fix recursion when using -- to pass args to nvim. (#854)
Co-authored-by: Marcus Forsberg <mforsb92@gmail.com>
3 years ago
partizan 6a744fee2c
refactor: Refactor disowning process. (#852) 3 years ago
partizan 257ec70a80
refactor: Refactor window module (#849)
- Split platform-dependent code into separate function
- Remove wrapper function `create_window`
- Move handle_new_grid_size where it belongs
3 years ago
Benson Li 21a8adc4a5
Remember window dimensions #622 (#816)
* Implementation for #622

* Update src/window/settings.rs

Co-authored-by: partizan <serg.partizan@gmail.com>

* applied suggestions from @last-partizan

* applied suggestions from @Kethku

* applied more suggestions from @last-partizan

Co-authored-by: partizan <serg.partizan@gmail.com>
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 0d6cfd54cb
Fix to sending key signals when window focus lost (#845)
When window focus has just been lost, key pressed events aren't ignored
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
partizan 3da8b56b74
fix(keyboard): Fix shift+tab handling (#836)
Refs #445
3 years ago
Tim Biermann f6a8ffced0
Make waylands app_id and x11s class overrideable (#834)
* trying to make app_id and class exchangeable

* still fails to hand over the argument

* make both app_id and class be set by command line arguments

* added missing cfg for class

* Changes as requested. Putting the os check in a block however doesn't
work for me

* getting rid of superfluous to_string()

* x11-class argument gets ignored

* changed argument name

* Update src/cmd_line.rs

* changed faulty unwrap

* added missing comma

* fixed wrong case

* fixed class

* make cargo fmt happy

* exchanged String::from with String::new

* make both attributes also overrideable via env::var

Co-authored-by: partizan <serg.partizan@gmail.com>
3 years ago
Serg Tereshchenko 5991117814 style(fonts): Removed redundant closure
(Thanks clippy)
3 years ago
partizan 334c2d779f
Refactor keyboard manager (#833)
* refactor(keyboard_manager): Refactor KeyboardManager

This refactoring changes nothing in key handling behaviour, but moves
some code out of handle_event, to make thigs clearer.

* style(keyboard_manager): Move private functions to bottom
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
partizan abb05ab7b8
refactor(startup): Use SETTINGS to store window geometry (#806) 3 years ago
Serg Tereshchenko c870c46aa3 chore(renderer/fonts): Fix unused variable warning 3 years ago
Serg Tereshchenko a1bb24b445 fix(window): Fix resize after maximized
Refs #803
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 d53884f6e9
fix(window_wrapper): Fix unmaximize behaviour (#792)
set_inner_size was using LogicalSize from current physical size,
it was working fine only for scaling=1.
Removing this leaves unmaximizing to winit, which does it correctly.
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 d564dc8261
chore(test): Fix function call (#785) 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 b0222d206e revert 'fix' for pum position 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
Tim Biermann a0d076bbda
this adds app_id attribute to neovide (#747)
* this adds app_id attribute to neovide

* app_id should only be included for linux builds
3 years ago
smolck bc1009babc
make dead keys work w/out breaking ctrl mappings (#767) 3 years ago
Keith Simmons fd27e059f0 fix another issue 3 years ago
Keith Simmons 792a6b80b0 yet more macos fixes 3 years ago
Keith Simmons b015c77657 more macos fiddling 3 years ago
Keith Simmons 43fdcb7bb2 fix for option key on macos 3 years ago
Keith Simmons 82b745c92b fix pum menu positioning 3 years ago
Keith Simmons fec2711b90 don't send input if window was just focused 3 years ago
Keith Simmons 30f9bc9d59 minor clippy fixes 3 years ago
Nigel Baillie 27a9c94ad3
Fix sporadic cursor jumps (a bit hacky) (#753)
* Fix occasional sporadic cursor movements

* Discern between "editor" and "message" windows
3 years ago
Keith Simmons f0a46dbff9
Keyboard deadkey handling (#752)
* first stab at better dead key handling

* don't send S-
3 years ago
Keith Simmons 7a1fa123b8 swap to new icon 3 years ago
Keith Simmons 4159c47ff4 clippy fixes 3 years ago
Keith Simmons 407a7e24a9 formatting fixes 3 years ago
Keith Simmons f5b65a6770 fix mouse drag crash 3 years ago
Keith Simmons fbd8e959b2 more mouse position 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 76237c6d47
integrate new keyboard api (#736)
* use new keyboard api using my fork of in progress winit keyboard pr branches

* attempt fix for modifiers stuck bug
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
j4qfrost 2160520720
Snapcraft Stable (#722)
* Add option to install neovide from snap

* add snapcraft to release

* add snapcraft to release

* move badge

Co-authored-by: Brymer Meneses <68867487+brymer-meneses@users.noreply.github.com>
3 years ago
Keith Simmons 8168023152 add scroll deadzone setting 3 years ago
Keith Simmons f517cf0a68 handle horizontal scrolling on mac 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
partizan c6a68915a2
fix: Fix parsing win_float_pos_arguments (#715)
Refs #714
4 years ago
Anirudh Balaji 86a3ea650f
Use interactive path for neovim resolution (#672)
* fix: use interactive env when getting nvim path

* fix: read interactive path in neovim
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
Francisco Santos 2098de7296
Version and help without opening the program (#590)
Co-authored-by: Francisco Santos <franciscosantos@MacBook-Pro.Home>
4 years ago
Benjamin Davies d8d6f4eac2
Remote TCP (#557)
* Remote TCP proof of concept

* Allow usage of both tcp and child connections using `TxWrapper`

* Tidy up and add flag to set tcp target

* Add readme section

* Remove the need for `Compat<TxWrapper>` as we are wrapping it anyway
4 years ago
Keith Simmons 6e2f9551eb remove vulkan call branch 4 years ago
Benjamin Davies 5d98148b03
Don't call `.vulkan()` when building the SDL window on macOS (#541)
This appears to fix some (not all) of the problems that are mentioned in #466
4 years ago
Chinmay Dalal 54b967f41a
Fix `log::error` import (#522) 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
Chinmay Dalal cc50ff262e
Set termguicolors to true 4 years ago
Keith Simmons 5c6d84a4f1 switch to prefering the discrete gpu 4 years ago
Keith Simmons 9f1be63ce6 format code 4 years ago
Jade 6d5d632c96
Add an icon to the SDL2 window (#462)
* Add an icon to the SDL2 window

* Use the native endian RGBA32 so we don't have wrong icons on BE
4 years ago
ref209 008528d272
Add vim setting for iso layout compatibility (#463) 4 years ago
Lachlan Easton 80f5dcee42
Round up font size to account for draw_image_rect not doing subpixel copying (#454) 4 years ago
Jade 68582e0551
Disable the default-on SDL hint to disable compositing on X11 (#464)
SDL tells the window manager to disable compositing for its windows by
default in order to somewhat improve rendering performance.  This is
unfortunate for a text editor one would be using concurrently with other
programs, because KDE misbehaves with its global taskbar if this is
done, and it also may freeze or otherwise break the display of running
Firefox windows. This misbehaviour affects all SDL windows including
e.g. games such as Factorio.

There is a global switch to ignore all applications making this request
in the KDE compositor settings called "Allow applications to block
compositing", as well as an option in the window rules dialog to do it
for individual windows by class, but we should try to do the right thing
by default. The user can decide to block compositing per-window with
these rules if they wish to preserve the previous behaviour.

Fixes #370.
4 years ago
Keith Simmons b0bf7c2e75 fix winit build 4 years ago
Keith Simmons 9b26d4b4d5 add back mac os exit when running from bundle 4 years ago
Keith Simmons fed63a9507 separate font types into files in their own folder 4 years ago
Keith Simmons 86c241ee55 I hate everything 4 years ago
Keith Simmons 3aceaaaa62 fix formatting 4 years ago
Keith Simmons 4d4e97b519 fix usings issue on mac 4 years ago
Keith Simmons e6b52f8127 fix linux and mac builds 4 years ago
Keith Simmons 546937501b
Add version and help command line arguments (#443)
* add maximized command line argument

* fix println when in release mode on windows
4 years ago
Keith Simmons 5b29700513
add maximized command line argument (#442) 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
Gabby Grinslade 38c5538186 fix winit build 4 years ago
Tim Harding c63b054521
Keyboard refactor (#418)
* Moved refactoring to the new program structure

* Imported enum variants to qwerty layout files

* Changed keyboard impl from From to Into

* Simplified imports

* Implement From rather than Into
4 years ago
Calvin Kosmatka 9f26e50f06
Fix --wsl option (#404)
* use wsl nvim

* use piped stderr for release build
4 years ago
Keith Simmons 62d2ca407d updated readme 4 years ago
Keith Simmons 5da81b4f26 port commits since fork 4 years ago
Keith Simmons b29dff8db7 winit working 4 years ago
Keith Simmons 451ff87272 in progress adding back winit 4 years ago
Keith Simmons a490e5992a fix tests and warnings 4 years ago
Keith Simmons ff1954f9a9 allow font changing 4 years ago
Keith Simmons f4eff0e5c4 swapped back to nvim-rs 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 Simmons 9a9c5aeeba fix command line issues 4 years ago
keith 3d1f797688 minor refactoring 4 years ago
keith 4643a24da1 warning fx 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 197c68f4b2 switch to synchronous neovim library 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 965f06a361 remove old test 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 ce66c5ed88 missed minor fix 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 655339bbf8 fix build for mac and linux 4 years ago
keith baaf6dd090 better parsing of client info 4 years ago
keith c63dcbdf04 change register command to be UiCommand rather than direct handler 4 years ago
keith d85fc62c4d conditionally compile register and unregister of context menu options 4 years ago
keith aeda4ad2df format files 4 years ago
Nguyễn Anh Khoa edd082d7af
Windows right click menu #94 (#311)
Add system right click menu integration for windows
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
j4qfrost 4643464571
Solved the pathing issue with a bit less hacking [OSX] (#309)
* solved the pathing issue with a bit less hacking

* only source paths if not using terminal
5 years ago
j4qfrost b4abe370b2
Issue 301 (#307)
* fix macos pathing nvim

* fmting target os

* return windows fix

* use Path
5 years ago
j4qfrost 8d27c61234
fix macos pathing nvim (#302)
* fix macos pathing nvim

* fmting target os

* return windows fix
5 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
j4qfrost b7b4e95ca9
Add search for nvim in PATH (#279)
* add search for nvim

* need suggestions for error message
5 years ago
James Robert Rooke dc399c3c49
Animation test (#278)
* animation test

* fix formatting error
5 years ago