Commit Graph
100 Commits
Author SHA1 Message Date
Francesco Abbate 92322986b8 Fix error with previous commit
Error was introduced with PR:

https://github.com/franko/lite-xl/pull/190
2021-05-17 10:16:55 +02:00
Francesco Abbate 9c9fbe4c8b Add macos minimum OS variable in info.plist 2021-05-16 10:11:12 -07:00
Francesco Abbate 90e41daa99 Add tab animation and improve hovering update
Always update the tab hovering status using the Node:update
method. Previous behavior was to update only on mouse moved
events.
2021-05-15 16:57:20 +02:00
Francesco Abbate b223dbca6f Use unicode ellipsis to truncate tab's text
For proportional fonts is equivalent to three dots but it makes a
lot of difference for monospaced fonts.
2021-05-15 16:27:29 +02:00
Francesco Abbate f30dfc20fe More accurate tab width calculation
Ensure the right side of the right-most tab always end up at the
same position.
2021-05-15 16:26:15 +02:00
Francesco Abbate 50a4fc212f Do not truncate filenames in tab and use dots 2021-05-15 14:49:16 +02:00
Francesco Abbate e2fcc41b4a Ensure tabs don't extend beyond window's width 2021-05-15 14:17:36 +02:00
Francesco Abbate e58d7600ee Prepare release 1.16.9 2021-05-06 17:08:56 +02:00
Francesco Abbate 55a6888818 Fix resizing problem for nested nodes
Should fix problem reported in:

https://github.com/drmargarido/TodoTreeView/issues/3
2021-05-06 15:35:40 +02:00
Francesco Abbate f1621192f9 Update build package script for window 2021-05-06 09:36:39 +02:00
Francesco Abbate d9a7d9e5ae Update changelog for 1.16.8 release 2021-05-06 09:32:28 +02:00
Francesco Abbate 4c99a18341 More accurate update rects / show window / present sequence
For the option when we use the SDL_Renderer we change:

- the order of calls to SDL_DestroyTexture/Renderer.
  Reported by valgrind on linux as an error to destroy the
  renderer before the texture.
- the SDL_Renderer and texture are created when the surface is
  initialized before the window is shown

It seems that creating the SDL_Renderer and Texture between the
moment the window was shown and the renderer present was introducing
a flashing blank window because of the time taken to create the
renderer/texture resources.
2021-05-06 09:00:36 +02:00
Francesco Abbate 5cef643e02 Introduce new plugin versioning tag mod-version
New plugins should use the version tag:

-- mod-version: 1

The old version tag "-- lite-xl 1.16" will be considerer equivalent
to mod-version 1.
2021-05-05 22:38:29 +02:00
Francesco Abbate 9f7f55926b Use home_encode when setting window title to filename 2021-05-05 10:35:19 +02:00
Francesco Abbate d63afe02ed Use string.find only in common.home_encode
Should be slightly more efficient.
2021-05-05 10:34:48 +02:00
Francesco Abbate d8244120e9 Ensure the rencache commands buffer is cleared on restart
Fix issue #176 but it should be tested more thoroughly.
2021-05-05 09:32:24 +02:00
Francesco Abbate 820d520fc3 Store doc's babs_filename without home encoding
This is the way was supposed to be. All the filenames are supposed to be
stored without home encoding, i.e. with explicit paths.

Should fix issue #177 and make PR

https://github.com/franko/lite-xl/pull/174

unneeded.

It may also address issue #174 but would need further verifications.
2021-05-05 08:52:14 +02:00
FrancescoandGitHub fa99d5401e Update README about macos and retina support 2021-05-02 09:33:58 +02:00
Francesco Abbate b42d9de0be Prepare 1.16.7 release 2021-05-01 23:18:16 +02:00
FrancescoandGitHub fcbb424f16 Remove the CI badge from readme 2021-05-01 22:56:41 +02:00
FrancescoandGitHub c2775b496c Use explicit dispatch to trigger CI builds 2021-05-01 22:56:04 +02:00
Francesco Abbate 1a05e00fdd Fix detection of user file module
Close #54
2021-05-01 19:27:29 +02:00
Francesco Abbate e6d88909a8 Fix log message about project dir 2021-05-01 19:27:29 +02:00
Francesco Abbate 5766329313 Fix filename problem
Close #163
2021-05-01 19:27:29 +02:00
Francesco Abbate 857807b23a Use ab filename as initial text for open file command 2021-05-01 19:27:29 +02:00
Francesco Abbate a72431ace7 Merge branch with support for retina display 2021-04-29 14:15:58 +02:00
Francesco Abbate 3d84fe5488 Make usage of SDL renderer optional 2021-04-29 14:15:24 +02:00
Francesco Abbate cec302c04e github actions: Do not use gcc to compile on Mac OS 2021-04-27 17:49:24 +02:00
Francesco Abbate 7c79105d2f Fix missing scaling for update rects in renderer 2021-04-27 07:29:13 -07:00
Francesco Abbate 9486940082 Update the whole texture with RenderCopy 2021-04-27 15:21:23 +02:00
Francesco Abbate 67f431c69c Alternative texture update scheme 2021-04-27 14:04:02 +02:00
Francesco Abbate 0fe8415bb4 Add assert if font loading fails during rendering 2021-04-27 11:56:02 +02:00
Francesco Abbate 8b9fbecd74 Ensure we update only modified rects 2021-04-27 09:52:02 +02:00
Francesco Abbate f2a33a567b Cleanup FontDesc struct and implementation 2021-04-26 15:56:18 +02:00
Francesco Abbate 46c3bdea67 First implementation of scaling for retina display
Introduce a new approach that discriminate coordinates in
points and pixels. Now all the logic from the Lua side and in
rencache is to always use points. The coordinates are converted
to pixels only within the renderer, in the file renderer.c.
In this way the application logic does not need to care about the
scaling of the retina displays.

For non-retina display the scaling between points and pixels is
equal to one so nothing will change.

There is nevertheless a change that leak into the Lua side. The
subpixel coordinates are in sub-pixel, not sub-points so they are
scaled by the retina scaling factor. But no change in the code is
required because the subpixel scaling factor take into account the
retina scaling, when present.

Because the retina scaling factor is not know when the application
starts but only when a window is actually available we introduce a
mechanism to render the font with a given scaling factor only from
the renderer when they are needed. We use therefore FontDesc to
describe the font information but without actually rasterizing the
font at a given scale.
2021-04-26 15:16:34 +02:00
Francesco Abbate 57e6de978b Fix error with missing ren_resize call 2021-04-23 07:09:50 -07:00
Francesco Abbate 18bcfa7e54 Call package macos in build script and do not create disk image 2021-04-23 07:05:57 -07:00
Francesco Abbate 33fe7295c0 First working implemention
Cleanup also debug messages
2021-04-23 14:54:25 +02:00
Francesco Abbate 685b8c82d0 WIP: testing usage of SDL renderer
It does segfault.
2021-04-23 11:58:53 +02:00
FrancescoandGitHub 58422271ce Update README 2021-04-22 21:35:09 +02:00
Francesco Abbate dd9b4f06ab Fix keymap binding on macos 2021-04-21 01:42:56 -07:00
Francesco Abbate 9d9c7f291c Make control to cmd translate on macos automatic 2021-04-21 10:16:51 +02:00
Francesco Abbate 12ca5f3d2a Add momentum scroll for macos
Taken from @mathewmariani lite-macos
2021-04-21 09:52:16 +02:00
Francesco Abbate 1f6680b492 Add macos flush specific fix
Taken from @mathewmariani lite-macos
2021-04-21 09:51:40 +02:00
Francesco Abbate 80192573da Add macos keybindings
Thanks to @mathewmariani, modifications taken from his lite-macos repository
2021-04-21 09:48:30 +02:00
Francesco Abbate f50728bf18 New version tag 2021-04-21 09:05:51 +02:00
Francesco Abbate 2c8e723c6d Disable borderless window by default 2021-04-21 09:05:15 +02:00
Francesco Abbate 901b8634db Update changelog 2021-04-21 09:04:55 +02:00
Francesco Abbate 8bcace1d59 Merge remote-tracking branch 'origin/border-less-window' 2021-04-21 08:42:57 +02:00
Francesco Abbate c97fa9a3a6 Fix bug with wrong hashing of rencache commands
The command in rencache.c (Command struct + variable length text) was
incorrectly sized. As a result some bites at the end of the command payload
were uninitialized and was causing hash to randomly change forcing the
system to redraw many more areas.

Since the text of the command for DRAW_TEXT commands is written beginning
at the offset of the text field we compute the bare size of the command as
offsetof(Command, text) instead of sizeof(Command).
2021-04-20 21:54:05 +02:00
FrancescoandGitHub cb28b5fa31 Update README about Mac OS 2021-04-19 16:45:20 +02:00
Francesco Abbate 52ee1ed2b9 Add command in build-package script to create dmg 2021-04-19 01:29:51 -07:00
Francesco Abbate 94c8f34a81 Fix missing header for macos 2021-04-19 01:18:52 -07:00
Francesco Abbate 2f8c70ac51 Remove bundle_open.h file 2021-04-19 09:52:00 +02:00
Francesco Abbate a7d6a48321 Add objective-c languange in meson only for macos 2021-04-19 08:12:55 +02:00
Francesco Abbate 53f77a29ea Implement correctly loading from macos bundle resources 2021-04-18 08:51:31 -07:00
Francesco Abbate f913a8513f Testing functions to open files from bundle 2021-04-18 17:08:35 +02:00
Francesco Abbate 032018ec48 More aggressive wait_event timeout when window has focus
Adopt a time based logic for cursor blinking and wait for event

when idle with a timeout equal to blink remaining time.
2021-04-17 14:57:28 -07:00
Francesco Abbate 394f98041d Update build-package.sh script for macos 2021-04-17 17:15:32 +02:00
Francesco Abbate 40326c6497 Add Info.plist and icon for macos
Taken from https://github.com/mathewmariani/lite-macos
2021-04-17 17:15:32 +02:00
FrancescoandGitHub 9c0a4a46c5 Add release flag for meson setup in README 2021-04-14 23:50:33 +02:00
Francesco Abbate 6fb7ecbe96 Configure github actions for linux and macosx 2021-04-13 23:43:58 +02:00
Francesco Abbate d5e9ef6bff Remove trailing debug message 2021-04-12 19:12:21 +02:00
Francesco Abbate f7375924ab Make non-borderless mode work 2021-04-12 19:05:30 +02:00
Francesco Abbate 4de97d51fb Avoid always calling system.get_window_mode 2021-04-12 13:31:32 +02:00
Francesco Abbate 46791aefe5 Implement maximize/restore controls
Remove also resize from top and right of the window
2021-04-12 11:54:52 +02:00
Francesco Abbate a1b3266d42 Improve language CSS color literal pattern
Close #123
2021-04-12 11:21:00 +02:00
Francesco Abbate 96a0ae802a Improve run-plugin to use positional arguments 2021-04-12 11:08:47 +02:00
Francesco Abbate 67dc16ad26 Make windows control buttons active 2021-04-11 23:52:31 +02:00
Francesco Abbate 8ad87d77da Add correct hit-test information and menu icon 2021-04-11 15:08:25 +02:00
Francesco Abbate 7531a0ddc8 Preliminary implementation of border-less mode
Not yet functional but most ingredients are there
2021-04-10 19:35:57 +02:00
Francesco Abbate d6f2f1f0a4 Add script to test third-part plugins 2021-04-08 15:40:44 +02:00
Francesco Abbate f250adcda1 Implement multi-lines for NagView
Related to issue #147
2021-04-07 23:46:45 +02:00
Francesco Abbate 119f406d3c Add NagView message for refused plugins 2021-04-07 09:42:19 +02:00
Francesco Abbate d7cc1f9f9d Add plugin verification by version tag 2021-04-06 17:50:46 +02:00
Francesco Abbate b4ba209b29 amend 2021-04-06 08:29:32 +02:00
Francesco Abbate e5f2120a27 Merge branch 'doc-change-hook' 2021-04-06 08:28:24 +02:00
Francesco Abbate 6e3cd41bd1 Logical test simplification in detectindent 2021-04-06 08:27:35 +02:00
Francesco Abbate 3721ace099 Fix logical error in on_text_change 2021-04-06 08:26:53 +02:00
Francesco Abbate e43c980e4a Simplifies previous commit
Restore the previous signature of raw_insert/remove
2021-04-06 08:18:35 +02:00
Francesco Abbate 5b60405c53 Adjust wording in changelog 2021-04-06 07:17:40 +02:00
Francesco Abbate b1c1deb4c4 Remove no longer used system.show_confirm_dialog
Replaced by the NagView dialog
2021-04-06 07:12:33 +02:00
Francesco Abbate d1984942ea Add hook function for Doc changes 2021-04-05 00:11:56 +02:00
Francesco Abbate 0dc1098705 Add changelog entry for improved NagView 2021-04-04 19:01:09 +02:00
Francesco Abbate 3b040aabc7 Implement unicode character replacements
Useful to draw whitespaces with alternate characters and colors
without slowing down the text rendering.

A new API is implemented. A renderer.replacements object can be created
to list the replacements.

In turns the function renderer.draw_text and draw_text_subpixel now accept
two optional arguments for replacements.
2021-04-01 18:05:59 +02:00
FrancescoandGitHub ae3d09054f Update travis CI badge in README 2021-03-25 19:35:26 +01:00
Francesco Abbate 3810b6ba6c Update subproject reference to libagg
The new revision of libagg disables examples on OS X because platform support doesn't work
2021-03-23 08:54:45 +01:00
Francesco Abbate 5f3b4c0f13 Do not build portable package on unix-like systems 2021-03-23 08:51:13 +01:00
Francesco Abbate 4b3b8f430a Merge remote-tracking branch 'basinbaby/set-window-opacity'
Implement the suggestion and close #125.

Initial suggestion and implementation from

https://github.com/rxi/lite/pull/17
2021-03-23 07:15:18 +01:00
Francesco Abbate 30cdc35df5 Add stand-alone desktop file
As request in #117
2021-03-22 20:20:58 +01:00
Francesco Abbate e160ed4e5e Add comments about unused RenFont data field 2021-03-20 23:05:09 +01:00
Francesco Abbate 15a4985065 Prepare release 1.16.5 2021-03-20 22:31:45 +01:00
Francesco Abbate b33167ca4b Revert "Remove unused data field in RenFont"
This reverts commit 461266e97d.

Related to github issue #122.

The void *data field is not used but the glyphset index can
someting be equal to -1 and the unused field prevent faulty
writes before the allocated struct.
2021-03-20 21:48:04 +01:00
FrancescoandGitHub 6f03b765c8 Change screenshot in README 2021-03-20 18:54:45 +01:00
Francesco Abbate 60fa7d07ba Prepare 1.16.4 release 2021-03-20 17:10:27 +01:00
Francesco Abbate f9115751b4 Minor simplification of animation rate adjustment 2021-03-20 17:00:43 +01:00
Francesco Abbate 7f50df6a2f Ensure plugin within a directory are loaded
Close #118
2021-03-20 16:34:00 +01:00
Francesco Abbate 8567f6a7ee Add desktop entry and svg icon in build-package script
Close #117
2021-03-20 16:12:19 +01:00
Francesco Abbate 12aeac3d2c Add lite icon in svg format from rxi/lite 2021-03-20 13:03:43 +01:00
Francesco Abbate aee602ea2f Merge branch 'xrdb-lean' 2021-03-18 16:20:32 +01:00