Commit Graph

457 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
c476c3766c Add a pref to disable OS keyboard language support
By default, the behavior is the same as before, except that the
language of new document is not unconditionally en_US anymore.

The new checkbox "Respect OS keyboard language" (off by default)
governs this behavior.

Update prefs format to 30.
2019-07-20 12:57:16 +02:00
Günter Milde
b9cc642856 Fix encoding issues with configuration under Python 3.
The part of the configure.py script that runs only when
there is no user ~.lyx/ directory failed under Python 3.
2019-07-15 18:10:01 +02:00
José Matos
82ee9794f9 Fix configure.py to work with python3 again (it continues to work with python2(.7)) 2019-05-16 09:27:12 +01:00
Juergen Spitzmueller
b60259fbe1 Add system/local icon to available modules list
Also markup modules with missing requirements (like we do for layouts)
2019-04-20 09:28:46 +02:00
Juergen Spitzmueller
b5af05b4a7 Make module categories (almost) great again
The category tag was rarely used and thus not very useful. This adds
categorization to most modules (the rest will follow) and uses the
\DeclareCategory tag we use in layouts rather than the extra syntax
we used in modules. Categories are now added to the po files and
translated.

Note that this is work in progress: the current categories are still
subject to change.

The ultimate goal of this is to sort the modules in the GUI by category
as we do with layouts, examples and templates (and add a filter to search
for specific modules)

As it is now (with the many modules we accumulated), the module selector
is not really usable anymore. If you don't happen to know how exactly a
module is named, selecting a module is really a PITA.
2019-04-04 18:43:29 +02:00
Stephan Witt
b36eae4962 Remove outdated comment 2019-01-07 00:33:33 +01:00
Stephan Witt
caa1dd2aee Correct converter configuration for inkscape on Mac
On Mac the inkscape binary is started by a wrapper script. This script changes the
working directory internally and fails to process files with relative path names.
The previous attempt to solve it was to pass the file names with absolute names
by prepending them with the $$p variable (representing the directory name of the files).
This broke the on screen conversion (used for SVGZ to PNG e.g. in the users guide)
because here the $$p variable is undefined.

Now the wrapper script of LyX which is used to locate the Inkscape.app bundle converts
the relative path names into absolute names and the $$p variable is removed from the
converter definitions for inkscape again.
2019-01-06 00:22:32 +01:00
Enrico Forestieri
f5e6db7171 Fix bug #11332
Add the "hyperref-driver=dvips" option to the extra flags of the
latex->dvi converter so that the breakurl package is automatically
loaded when needed.
2018-10-10 19:41:31 +02:00
Jean-Marc Lasgouttes
9fe101e890 Remove support for pixmap cache
This code has issues and there is no evidence that it improves performance.

Remove LyXRC variable \use_pixmap_cache and update rc format to 29.

Now the global pixmap cache is only used by GuiCompleter. Therefore
there is no need to reset it when fonts change.
2018-10-07 14:56:55 +02:00
Richard Kimberly Heck
cfb2a89ef3 Revert "Check for old "LyX 2.3" user directory when configuring."
This reverts commit 1fe6352d4f.
2018-09-29 17:31:39 -04:00
Richard Kimberly Heck
1fe6352d4f Check for old "LyX 2.3" user directory when configuring.
This is due to the bad packaging in the early 2.3.x installers. We
normally do not use version suffixes on Windows, but did.

(cherry picked from commit b738aa53d1)
2018-09-28 21:56:25 -04:00
Jean-Marc Lasgouttes
23dbacb636 needauth is not needed for Sweave>LyX
Indeed this relies on tex2lyx and does not run R scripts.

The same holds for Knitr>LyX
2018-09-12 15:14:56 +02:00
José Matos
cac27076ea Replace /usr/bin/env python -> /usr/bin/python3 2018-08-29 17:26:21 +01:00
Enrico Forestieri
061cd7fd9c Fix bug #11247
async is a reserved keyword in python 3.7
2018-08-17 22:28:03 +02:00
Enrico Forestieri
0056867be8 Fix bug #11214
The checkProg() function was separating a command from its parameters
by splitting at the first space. This was a problem if the command
was specified with a full path containing spaces. Now the checkProg()
function separates a command from the parameters by splitting at the
first non-quoted space. So, it suffices quoting a path to solve the
issue.
2018-07-28 23:07:17 +02:00
Stephan Witt
17c3617c49 #11142 correct list of previous version to check for user directory contents
LyX on Mac uses a user directory with version suffix. On change of the version suffix the existence of the directories with previous versions is checked and the latest one is used for a copy on first configure run. For 2.4 the candidate list starts with 2.3 now as it should.
2018-05-13 20:15:35 +02:00
Scott Kostyshak
065e37e96f Do not use needauth when only exporting code
We have a couple of converters (using Sweave and knitr to "tangle"
an intermediate file) that are used for exporting code chunks
contained in a .lyx file. Since the code is just exported to a text
file and is not executed, needauth is not necessary.
2018-05-02 11:08:51 -04:00
Juergen Spitzmueller
389352b3fb Add optional flavor flag to needaux
Also, use latex flavor if no flag is given rather than default output
format

Fixes: #9127
2018-04-25 13:51:40 +02:00
Juergen Spitzmueller
26ea1e1496 Align fontenc with document fonts
Following a request by Günter, we consider the document fonts (only rm
for now) when selecting an appropriate font encoding.

See #9741

The new default font encoding setting "auto" does

* consider the font encoding needed by the language(s), which can now
  have fallback alternatives
* Consider which font encoding is provided by the document font

Thus, cm now will result in OT1 fontenc, if the language can deal with
that.

The font_enc pref is ditched: it is no longer needed.

The automatism is still very basic and is subject to extension.

File format and prefs format change.
2018-04-22 19:06:46 +02:00
Juergen Spitzmueller
33bfbf89c4 Load hyperref with a suitable driver
This is mandatory for some features (such as bookmarks,pdfusetitle)
to work, and only a handful of drivers can be auto-detected by hyperref.

Fixes: #6418
2018-04-08 19:02:01 +02:00
Richard Heck
5531b40c9b Simplify code a bit.
(cherry picked from commit 490506c45f)
2018-03-02 23:12:35 -05:00
Richard Heck
cec9edd34b Use pythonic syntax, as suggested by José. 2018-03-02 23:02:46 -05:00
Uwe Stöhr
64d1751f2f configure.py: fix bug #11053
- add quotes around the path to the python executable
2018-03-02 20:14:58 +01:00
Juergen Spitzmueller
dee1994451 Add LyX 2.3 format 2018-02-23 08:59:20 +01:00
Günter Milde
8caa9701b9 Use re.match to find regexp at begin of string/line.
Consistently use the re.match() or the match() method of a
regexp object to find a match at the begin of a line.
This is faster than re.find('^...').

Cf. https://stackoverflow.com/questions/180986/what-is-the-difference-between-re-search-and-re-match
(The subtle difference for multi-line strings is irrelevant for
configure.py, as we match line-wise.)
2018-02-04 10:08:07 +01:00
Richard Heck
16a6a98182 Harden a few of the other regexes, too.
I've tested this and get no difference of output.
2018-02-01 22:14:51 -05:00
Richard Heck
50676c782a Make module and citeengine regexes a little more discerning. 2018-02-01 22:11:45 -05:00
Richard Heck
0e3d209295 Double escape binary regexes in module and citeengine searches.
See previous commit for explanation.
2018-02-01 22:11:45 -05:00
Richard Heck
6b5a7116cd Double escape binary regex in lyx2lyx and fix line-ending problem.
When we switched from r'...' to b'...', this required strings used
as input to re.compile to be double-escaped. It's not an issue with
"\s", because "\s" has no special meaning in a string.

Also, printing in binary mode did not output a line ending.
2018-02-01 22:11:45 -05:00
Juergen Spitzmueller
65b44311f3 Split inkscape_cl (command line) from inkscape_gui (GUI program)
On Windows, these are two different binaries, and one fails to do the
tasks of the other. On all other OSes, the two are the same.

Fixes: #10805
2017-11-27 18:59:51 +01:00
Juergen Spitzmueller
731c9fb401 configure.py: read layout and module files in binary mode
This prevents encoding issues with Python3 that manifested for a user
on the Mac.

Fixes: #10671
2017-11-04 10:41:22 +01:00
Juergen Spitzmueller
891a7ef79f Collapsable -> Collapsible (part 5)
Preferences update and prefs2prefs routine.

This was forgotten in the process.
2017-11-02 16:26:45 +01:00
Juergen Spitzmueller
a47bc7f799 Remove wmf2eps as EMF > EPS converter
The program can only deal with WMF.
2017-10-29 16:09:12 +01:00
Juergen Spitzmueller
22125fa6de Only use full path for inkscape file arguments on Mac. 2017-10-29 08:52:15 +01:00
Juergen Spitzmueller
5383b67f8d configure.py: Be more explicit why file could not be removed. 2017-10-28 11:24:48 +02:00
Richard Heck
a089501b7d Use a variable to hold the list of text editors. 2017-10-27 23:19:32 -04:00
Scott Kostyshak
c4b4305fa2 configure.py: add LilyPond editor, Frescobaldi
Generic text editors are used as fallbacks, in case Frescobaldi is
not available. The list of text editors is the same as elsewhere in
configure.py. We might consider centralizing the list of text
editors in a variable.

Patch from Helge Hafting on ML at:.

https://www.mail-archive.com/search?l=mid&q=f167276f-4f59-7bab-a832-cff56dddd670%40ntnu.no
2017-10-27 02:20:23 -04:00
Stephan Witt
350ef993e5 add inkscape wrapper script for Mac OS
The wrapper script is placed in the binary directory of the LyX bundle.
It tries to find the real inkscape command line converter in the
Inkscape.app bundle and starts it or reports an error.
The configure.py is changed for Mac OS to check the presence of
the real inkscape binary in the Inkscape.app bundle.
2017-09-24 11:55:20 +02:00
Juergen Spitzmueller
6dd66a15a5 configure.py: update lyxrc file format. 2017-09-10 17:19:12 +02:00
Jean-Marc Lasgouttes
3d590d3bd7 Merge remote-tracking branch 'features/properpaint'
Now painting the workarea is done at paint events as should be.
Explicit painting after updating metrics has been replaced by a much
lighter procedure (updatePosCache) to update the insets positions cache.

Expected benefits:
- better performance
- proper use of subpixel aliasing

The LyXRC variable use_qimage is not needed anymore and is therefore removed.
2017-09-08 17:05:13 +02:00
Jean-Marc Lasgouttes
4f4383cac5 remove LyXRC::use_qimage
This is not needed anymore now that we do not need a backup pixmap.

Update LyXRC format to 23 and add conversion.
2017-09-08 16:58:21 +02:00
Juergen Spitzmueller
a3eab36364 Add special chain for Modules with OutputFormat for pLaTeX (Japanese)
Fixes: #8823
2017-09-01 10:27:12 +02:00
Juergen Spitzmueller
933a7dee00 Improve the svg2*tex.py scripts.
The inkscape command was hardcoded, but it seems that we need the full
patch on Windows. Therefore we check in configure.py if inkscape is
installed and pass the proper name (and possibly path) to the scripts.

Should address problems mentioned in #10679
2017-08-28 08:05:29 +02:00
Enrico Forestieri
ae56167718 Use a combo box instead of a check box for selecting the listings package 2017-06-12 17:24:26 +02:00
Stephan Witt
c592fb58bb #10285 and #10542 - Add sips as a fallback converter for Mac to provide preview of PDF graphics in LyX when pdftops is not installed 2017-05-13 20:06:18 +02:00
Tommaso Cucinotta
47cd1e23c5 libreoffice converter: get rid of warnings about deprecated options syntax 2017-05-10 03:26:36 +02:00
Tommaso Cucinotta
b474aa5d4d Add needauth option to gnuplot->PDF converter introduced in [066edd3c/lyxgit]. 2017-05-04 00:49:18 +02:00
Tommaso Cucinotta
066edd3c30 Enable graphics generation from external gnuplot scripts. 2017-05-04 00:44:00 +02:00
Enrico Forestieri
8f70d55148 configure.py: Python 3 compatibility
Don't assume any encoding for the layout files and treat them in
the same way python 2 does. Thanks José for the idea.

This commit supersedes 50e21b71 and e19b2a71.
2017-04-13 15:34:54 +02:00
Jean-Marc Lasgouttes
e19b2a717e Set encoding correctly when reading layout files
Patch from Enrico.
2017-04-10 15:06:14 +02:00