Commit graph

2038 commits

Author SHA1 Message Date
Dave Davenport
7c331b130b [Calc] Add min/max operator support to calc()
Fixes: #1172
2020-09-14 20:34:39 +02:00
Dave Davenport
011908e1ff
issue 1187: If error on launching application, show error message and return to list` (#1193)
* Show error message, then possibly pop back to main window.

Fix drun/run dialog to use this for command execution.

Issue #1187

* [Combi] When no line selected, handle using the first entry.

* [Window] Add execute on invalid input to window dialog.

* Update view.h doxygen docu

* Update manpage with running application changes.
2020-09-13 21:56:25 +02:00
Dave Davenport
3499e1dad0 [Theme] First attempt at more cleanups and nested media support.
First throw at nested media support.

Issue: #1189
2020-09-13 15:11:12 +02:00
Dave Davenport
0a3734dce4 [Theme] Fix @media printing in -dump-theme. 2020-09-13 13:48:48 +02:00
Dave Davenport
31fc5c9d35 [Textbox] Try to fix estimated font height.
This was on newer pango 1 pixel off with actual font height.
This casues drawing issues.

Fixes: #1190
2020-09-13 10:24:59 +02:00
Dave Davenport
bff8948116 [DRun] Fix broken cache after URL type was added. 2020-09-09 22:46:18 +02:00
Dave Davenport
6a38f88e98 Split MENU_QUICK_SWITCH into MENU_CUSTOM_COMMAND/QUICK_SWITCH 2020-09-08 18:24:36 +02:00
nick87720z
96cd34d24f
Fix and optimize 20200908 (#1184)
* combi: Reuse own get_num_entries in self-init

* combi_mode_parse_switchers: Remove duplicated mode pointer

* combi_mode_parse_switchers: Regroup mode search lines

* combi_mode_result: Simplify switcher search quit

* mode_result: Check for mode switch actions before hook

These are over-mode actions, which should not be handled
in mode hooks at all.
2020-09-08 17:30:03 +02:00
Dave Davenport
88ac249d36 [Window] Try to clarify help.
Issue: #1183
2020-09-08 14:42:17 +02:00
Dave Davenport
f5bb9d2cbf [Widget] Fix border drawing code.
Fixes: #1177
2020-09-05 11:12:54 +02:00
lbonn
e4e59b99ea
Fix an unsafe use of strchr in dmenu mode (#1176)
Found with valgrind
2020-09-02 15:46:44 +02:00
Dave Davenport
30735791b4 Run indenter. 2020-08-28 16:41:59 +02:00
Mike Dalessio
5bec191d2e
Follow Type=Link standard desktop entries with drun (#1168)
* [DRun] Introduce data structure changes for Link desktop entries

From the [freedesktop spec][1]:

> This specification defines 3 types of desktop entries:
> Application (type 1), Link (type 2) and Directory (type 3). To allow
> the addition of new types in the future, implementations should
> ignore desktop entries with an unknown type.

This commit adds an enum to capture these types, and adds `type` to
DRunModeEntry.

  [1]: https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html

part of #1166

* [DRun] Sanity check Link entries and capture the URL

Note that we're introducing some logic that will differ depending on
the Desktop entry type (Application or Link). The logic is:

- if entry is Application type,
  - then Exec is required
  - and the value is saved in .exec
  - and drun_mode_result calls exec_cmd_entry
- if entry is Link type,
  - then URL is required (but is not saved in the DRunModeEntry)
  - and drun_mode_result calls new function launch_link_entry

part of #1166

* [DRun] Launch desktop links via xdg-open

Note that this introduces a new dependency on xdg-open, which may not
be installed. In that case, rofi will display an error dialog
with something like:

  "Failed to execute child process xdg-open (No such file or directory)"

which hopefully is explanatory enough for folks.

part of #1166

* Make drun options comments consistent and add a bit of whitespace

* [DRun] new config option drun-url-launcher for opening links

In previous commit, this was a hard-coded string.

part of #1166
2020-08-26 21:10:04 +02:00
Dave Davenport
97ac7c9348 [Matching] Make fuzzy matching non-greedy 2020-08-25 20:23:26 +02:00
Dave Davenport
4f1169e326 Add extra timing debug.
Issue: #1162
2020-08-19 22:44:55 +02:00
nick87720z
57ee69367d
micro-refactoring: widget.c (#1148)
* widget.c: microrefactoring

* widget.c: join enable/disable functions
2020-07-11 14:48:58 +02:00
Dave Davenport
641cd4ef46 [Widget] Fix inconsistency in argument checking. 2020-07-09 17:47:32 +02:00
Dave Davenport
fc0ea0b22e Update changelog a bit. 2020-07-05 11:41:04 +02:00
nick87720z
e52094ee7a
Widget bg draw (#1147)
* Improved background draw code

- Better to read (precalculated coordinates)
- Unnecessary line_to in the end
- Don't use radius in calculations if zero

* Background draw - separate rounded rect function

* Limit background & border overlap size

Overlap is too good against artifacts when stiching antialiased areas to
be avoided, unless intermediate image is used for additive stiching. But
it doesn't look good with transparent borders, when overlaping background
is visible. It seems, that 1px overlap is right enough to completely
prevent artifacts. Though things may differ if one if side is 1px or
even 0px, while adjacent is still enough thick.

* Style: alignment, less noise, limit var scope
2020-06-17 14:10:48 +02:00
Dave Davenport
bf17e1c65e When no dpi set (-1) set the default one for fonts handling. 2020-06-09 22:51:44 +02:00
nick87720z
fb2ba8ada3
Millimeter support for distance (#1144) 2020-06-09 22:19:43 +02:00
nick87720z
e275ed2283
Again final workaround for #303 (#1142) 2020-06-09 17:17:50 +02:00
Quentin Glidic
3d5f0f086c
script: Fix parsing of extras (#1141)
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2020-06-06 18:32:14 +02:00
nick87720z
ae701ce54e
Entry info was not used at entry selection (#1140) 2020-06-06 18:28:39 +02:00
Dave Davenport
4821320833 [Listview] Try to fix sizing of barview.
Issue: #1137
2020-06-02 09:17:06 +02:00
Dave Davenport
da8c666e80 [Script] Initialize info entry. Don't pass entry at custom input.
Fixes: #1138
2020-05-30 10:44:37 +02:00
Dave Davenport
1342b733af [Script] Add 'info' row option, that gets passed to ROFI_INFO environment. 2020-05-24 19:10:49 +02:00
Dave Davenport
0e880e76a2 [Window] On window name list, Check if we go out of range. 2020-05-24 17:14:12 +02:00
Dave Davenport
3604b12fde Add check that looks if rofi is running inside rofi script mode. 2020-05-21 09:35:55 +02:00
Jason Kim
a4c5a92199
Support rasi config character type options (#1131)
* style: remove extra space

* feat: handle xrm_Char in config parser

Handle the `xrm_Char` case in the (rasi theme) config file parser.  This
should properly handle configuration like

```
matching-negate-char: "\0";
```

and

```
matching-negate-char: "-";
```

* refactor: don't handle mem in xrm_Char case

`mem` shouldn't ever be set when `XrmOption` is `type` `xrm_Char`.
Therefore, there is no need to check it and free it.  Remove that logic.

* refactor: further condense logic

* style: s/Everythin/Everything/

* style: s/parsing an section/parsing a section/

...and missing period.

* feat(lexer): add CHAR token

Add a `CHAR` token that takes things of the form `'<char>'` or some
specific backslash escape sequences like `'\''` and `'\0'`.  For now,
save it as a `T_STRING`.

* refactor: define char property type

* feat(parser): add cval and T_CHAR

* refactor: use char property for xrm_Char

Instead of using strings for property elements of type char, use
characters, which were recently added to the grammar.
2020-05-17 14:50:38 +02:00
Dave Davenport
191f49dbea [LISTVIEW] Support more customization in element. 2020-05-13 17:17:15 +02:00
Dave Davenport
f2b6cf6b3c [Widget] Propaget set_state to children. 2020-05-13 16:25:12 +02:00
nick87720z
8a2e67f6fe
workaround for #303 (#1122)
* workaround for #303

Subpixel rendering may be disabled by some clip paths or when text
itself is clipped.

* optimize draw_pango_layout()
2020-05-12 12:05:56 +02:00
Dave Davenport
2ccc65ff52 Add some ui benchmark code 2020-05-12 10:40:50 +02:00
Dave Davenport
865821f829 Update help for option in source code. 2020-05-10 15:47:20 +02:00
Dave Davenport
1a9e6450e3 [Helper] Throw error when shell parsing fails. 2020-05-04 14:10:35 +02:00
Dave Davenport
86cdcae55b [Window] Update manpage and --help. 2020-04-29 12:59:49 +02:00
Dave Davenport
9a3d4b1d2e [Test] Fix compiler warning, theme test (bug in lexer) and more. 2020-04-26 11:43:14 +02:00
Dave Davenport
151547a99e
[Themes] add calc() support to distance in theme format. (#1105)
* Initial test to allow math in distances.

Support + and -
Needs spaces around + and -.

* [THEME] Fix printing theme with math in distance.

* [Theme] use calc() syntax.

* [Theme] Add * and /  to calc().

* [Theme] Fix the precedense ordering in parsing. Also avoid making copies.

* [Theme] Don't print unneeded ().

* [Theme] Add modulo to calc.
2020-04-24 19:54:08 +02:00
Dave Davenport
906b520daf [Script] Add no-custom mode. 2020-04-22 23:41:25 +02:00
Jaakko Luttinen
ccfecef936
fix xetc to config_path (#1097) 2020-04-19 19:07:58 +02:00
Dave Davenport
ed55b6c634 check before xresource config file parsing if it exist 2020-04-19 16:24:17 +02:00
Dave Davenport
e7554da627 Parse XDG_CONFIG_DIRS for default configuration file. 2020-04-19 11:55:53 +02:00
Dave Davenport
3a9c60804b Add ROFI_PLUGIN_PATH environment variable. 2020-04-19 11:34:28 +02:00
Dave Davenport
3e64e4422d [DMenu] Implement -keep-right
Fixes: #1089
2020-04-16 23:31:43 +02:00
Dave Davenport
1104d1d53a [DRun] cleanup debug message. 2020-04-15 19:08:01 +02:00
Dave Davenport
0214d5a6e4 [DRun] Adding %% as escape character. 2020-04-15 19:06:39 +02:00
Dave Davenport
7587149950 [Script] Update example and doc. 2020-04-07 13:20:16 +02:00
Dave Davenport
de38e0f4a9 [Script|Dmenu] Don't -1 in a unsigned variable. 2020-04-07 13:14:53 +02:00
Dave Davenport
34a278f943 [Combi] Remove strchrnull
Issue: #1083
2020-04-07 12:48:53 +02:00