656 Commits (130e15439a3a36d3e74756ccae666b3656a10f9e)

Author SHA1 Message Date
Keith Simmons d0cc37c84c minor text tweak 3 years ago
Keith Simmons 29668bb743 formatting and clippy fixes 3 years ago
Keith Simmons bc8d002e32 add ability to list available fonts 3 years ago
Keith Simmons f8cb3a2131 fix minor typo 3 years ago
Fred Sundvik b0ec20be4a Use the width of letter 'M' instead of font average width
The average character width in the font information is not always
reliable, so get the width from the character 'M' instead. It still
fall backs to the average if there's no 'M' in the font.
3 years ago
Fred Sundvik c428501def Fix the font spacing
Previously the font width was always rounded down to the nearest
integer, which typically caused the fonts to look to squashed. To
correct the issue a fudge factor, which scales the fonts so that the
width is always an exact integer, was introduced.
3 years ago
LoipesMas a46f12be35
Remove unused `use` 3 years ago
Fred Sundvik 8c2099496a Fix window settings load and save
Some of the load and save paths were fixed. And the json is now
structured to properly support saving and loading of both position and
size data, and is easily extendible for more fields and objects in the
future.
3 years ago
LoipesMas 36479dd45b
Merge pull request #1099 from LoipesMas/remember_pos
Add remember_window_position setting
3 years ago
Fred Sundvik d030f97d45 Fix for non-existing data directory
Also respect XDG_DATA_HOME on unix systems instead of using hardcoded
path.
3 years ago
LoipesMas 97da1926ba Remember position and size on by default 3 years ago
LoipesMas c77a7a93cc Add remember_window_position setting 3 years ago
Nguyễn Anh Khoa f563360735
remove "-complete=expression" with -nargs=0 (#1097)
fix: Remove `-complete` when using `-nargs=0`

Newer versions of Vim/Neovim throw error when using -complete with
-nargs=0

https://github.com/neoclide/coc.nvim/issues/3414
https://github.com/neoclide/coc.nvim/pull/3210
3 years ago
Keith Simmons 60ec743b7e tweaks to cli args 3 years ago
Keith Simmons 78bcc7431a add nosrgb flag 3 years ago
Keith Simmons 6b96f79bb1 move window files into main window directory rather than being window wrapper 3 years ago
Keith Simmons b78a714be0 attach to console on startup 3 years ago
Keith Simmons 4982c2615e only set background opacity if window transparency is not 1.0 3 years ago
Keith Simmons 76bddae01a check loaded window size before running 3 years ago
Keith Simmons 5539b035b5 remove verbosity 3 years ago
Keith Simmons 00bed7dabd add some tests documenting behavior 3 years ago
Serg Tereshchenko bad4415e48 fix redundant field names 3 years ago
Serg Tereshchenko 2e68a48cb0 refactor: Use neovim_args for passing files to open 3 years ago
Serg Tereshchenko 2014b40195 fix: Add files_to_open, removed in https://github.com/neovide/neovide/pull/1016/ 3 years ago
Serg Tereshchenko 6e93bd7552 fix: Add verbosity flag, removed in https://github.com/neovide/neovide/pull/1016, set default verbosity to "warn". 3 years ago
Keith Simmons cf8b48f5f5 default to only logging errors 3 years ago
LoipesMas 4131c50cfd Fix compiler warnings on non-Windows 3 years ago
Keith Simmons 46e7bec50d move mouse hiding to just be in the mouse manager 3 years ago
Jan Sosulski 81f52db78b cargo fmt 3 years ago
Jan Sosulski f17020b6af added setting to hide mouse cursor when typing 3 years ago
Keith Simmons 15f9e82af1 fix formatting and clippy 3 years ago
Keith Simmons c1f7af6eaa fix formatting 3 years ago
Alex Pawlowski 894c07bf5a Document handle_macos() 3 years ago
Alex Pawlowski 774f55b882 Linting 3 years ago
Alex Pawlowski 6a627e2be7 Properly parse PATH on macOS
This fixes Fish support Neovide is launched from Finder, as well as other non-standard configs where ~/.profile is missing
3 years ago
LoipesMas ef8a95a91d Fix transparency for floating windows 3 years ago
LoipesMas 5906bf58c3 Cleanup 3 years ago
LoipesMas 06113d603e Fix separators and tabline not disappearing 3 years ago
LoipesMas d4c9b7b850 Sort floating windows by position 3 years ago
LoipesMas b8b9573168 Formatting 3 years ago
LoipesMas a6f5906fbd Remove unnecessary code 3 years ago
LoipesMas 1345eb396b Draw default-color background as transparent 3 years ago
LoipesMas b0dc9332c4 Make only root_canvas semi-transparent 3 years ago
LoipesMas 45ab1843b8 Draw floating text as opaque
I don't think anyone wants transparent text
3 years ago
LoipesMas 139e0da98d Draw black background as transparent 3 years ago
LoipesMas b68cf32006 Revert useless change 3 years ago
LoipesMas 62bdb20c41 Remove useless code 3 years ago
LoipesMas 42f74a3bbb Transparency working again 3 years ago
Keith Simmons 401d1a88a2 add tests for the cmdline parsing 3 years ago
LoipesMas 5630d5240e Add neovim_bin argument 3 years ago
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