Commit graph

262 commits

Author SHA1 Message Date
rahulaggarwal965
e304dbc883
Added -hover-select option that automatically selects the entry under the cursor (#1234) 2021-04-13 11:45:20 +02:00
Dave Davenport
318a6d40ca Add 'steal-focus' option instead of 'restore-focus' option.
Disable steal-focus by default.

Fixes: #1275
2021-04-13 11:35:34 +02:00
Dave Davenport
750dbad729 Add [no]focus restore option. 2021-03-27 16:28:27 +01:00
Dave Davenport
7061eb21ae Indent round. 2020-11-03 23:57:02 +01:00
Dave Davenport
b4bbce4af5 [Helper] Add -normalize-match option.
Decomposes string and remove accent characters before matching.
This makes o match ö, é match e and more.
It is not a perfect implementation but works.
Currently disables the match highlighting.

Fixes: #1119
2020-09-30 21:56:37 +02:00
Dave Davenport
88ac249d36 [Window] Try to clarify help.
Issue: #1183
2020-09-08 14:42:17 +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
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
86cdcae55b [Window] Update manpage and --help. 2020-04-29 12:59:49 +02:00
Dave Davenport
b169289996 Indent all the code. 2020-02-02 13:56:37 +01:00
Dave Davenport
a35a898816 [DRun] Add desktop cache
Add a desktop cache file. Usable for system with slow filesystems.

* -drun-use-desktop-cache
* -drun-reload-desktop-cache

Fixes: #1040
2020-01-26 12:47:04 +01:00
Dave Davenport
b44b5e8d16 Add -upgrade-config option.
* Print warning when old-style configuration is used.
* Add -upgrade-config option.
2020-01-02 12:00:44 +01:00
Dave Davenport
b03edc5cf3 Update copyright dates. 2020-01-01 12:23:12 +01:00
Dave Davenport
aeecf34c27 [Window] Add thumbnail of windows as option. 2019-10-17 21:19:19 +02:00
Dave Davenport
8d9e403659 Update copyright. 2019-09-27 11:58:32 +02:00
Dave Davenport
f896146217 [DRUN] Add option to only show desktop files in certain categories
closes: #817
2019-08-09 19:33:23 +02:00
Dave Davenport
fadfae5433 [Window] Fix default value and help comment. 2019-03-29 11:24:10 +01:00
Dave Davenport
52204a527c Add option to change location of cache dir.
-cache-dir

Fixes: #769
2019-02-08 20:43:53 +01:00
Yoav
238648b5b2 Add history ignore (#846) 2018-12-31 00:35:00 +01:00
Dave Davenport
6b96ae123b Add an option to change the matching negation character.
Fixes: #877
2018-12-14 16:58:26 +01:00
Dave Davenport
76ceac1f20 [DRUN] Add drun-display-format. 2018-10-17 23:02:50 +02:00
Lukas Alexandre
6830e5d117 Fixing typos in docs and error messages, "numger" -> "number" (#867) 2018-10-14 16:57:52 +02:00
Dave Davenport
859a9c79d6 Indent the code. 2018-08-08 15:55:13 +02:00
Dave Davenport
4538303be6 [DRUN] Add option to show actions in drun.
Fixes: #836
2018-07-28 11:12:11 +02:00
Dave Davenport
bdb6abef4a
Sorting cleanup (#816)
* Add `-sorting-method` option remove weird -sort-levenshtein.

* Fix test for updated cmdline options.

* Update manpage
2018-06-13 11:57:23 +02:00
Dave Davenport
c96ebfc2de Re-add icon-theme option. 2018-06-09 22:17:32 +02:00
Quentin Glidic
58ed481198
xrmoptions: Use a switch where possible
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-12-09 10:34:11 +01:00
Dave Davenport
9cd1e3fac2 Indent 2017-11-07 20:04:07 +01:00
Dave Davenport
4ac428bace [Combi] Add hide prefix option. 2017-11-07 20:03:42 +01:00
Askrenteam
0dc71fcc00 Added option -name-only to match only desktop entry name with drun (#690)
* Added option -name-only to match only desktop entry name with drun

* fixed indent and xrdump test

* fixed test

* option -drun-match-fields

* option -window-match-fields

* matching fields as static in window/drun + enums for field indexes

* prevent window_mode_parse_fields() from executing twice
2017-10-21 11:18:52 +02:00
Dave Davenport
12e7b67ddd Make -plugin-path commandline flag be read before loading plugins 2017-10-16 18:25:16 +02:00
Dave Davenport
2784959fc1 Allow maximum history size to be configured.
Fixes: #613
2017-10-03 19:59:35 +02:00
Dave Davenport
9b0a430fd4 Indent. 2017-09-05 13:52:44 +02:00
Dave Davenport
ba296f9210 Add ch as size unit. 2017-09-05 13:52:21 +02:00
Dave Davenport
73827ce680 Only dump configuration changes, not theme in -dump-config. 2017-09-04 16:46:06 +02:00
Dave Davenport
686be5856c Move PropertyType into rofi-types header and add check for names pairs. 2017-08-17 19:04:01 +02:00
Dave Davenport
b5d6751ce3 [Dmenu] Allow multi-select in no-custom mode in dmenu.
Fixes: #596
2017-07-09 13:32:56 +02:00
Dave Davenport
ecc9bcc270 Re-add some of the old theme options, so theme converter use them.
- line margin
 - separator style.
 - fake transparency.
 - line padding.
 - scrollbar width
2017-07-06 18:20:32 +02:00
Dave Davenport
7e1c02b04c [OldTheme] Re-add the padding/bw option. 2017-07-03 09:23:03 +02:00
Dave Davenport
fcd9878a3b [Config] Remove stray printf, add compiler hints. 2017-06-27 09:28:33 +02:00
Dave Davenport
193dfa16bc [Config] quick hack to support lists in rasi configuration{} block. 2017-06-27 09:15:55 +02:00
Dave Davenport
69d32164c9 Fix test building. 2017-06-21 19:18:57 +02:00
Dave Davenport
77a4d97262 Add -dump-config option. 2017-06-21 08:19:47 +02:00
Dave Davenport
9af191de26 Fix tests by splitting types name into separate file. 2017-06-20 21:02:13 +02:00
Dave Davenport
da00848416 Do better error reporting on configuration entries in rasi format. 2017-06-20 18:10:18 +02:00
Quentin Glidic
46dee2671d
x11-helper: Rename xcb.c
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-06-01 00:12:58 +02:00
Quentin Glidic
8a6bdd827d
config: Add a setting to disable icons loading
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-30 19:08:33 +02:00
Quentin Glidic
03eb4a3abb
drun: Implement icon support
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-30 19:01:01 +02:00
Quentin Glidic
a24af6e64c
mode/keys: Display all bindings
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-30 13:45:20 +02:00
Quentin Glidic
a9199e3e17
Use libnkutils for keybindings
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-29 16:51:06 +02:00
Dave Davenport
ce4b1b23b4 Re-Indent code 2017-04-27 22:59:14 +02:00
Dave Davenport
04e764c8e6 [Plugins] Add -no-plugins and -plugin-path options
* -no-plugins disables the loading of plugins.
* -plugin-path specifies the directory used by rofi to look for plugins.
2017-04-21 09:48:03 +02:00
Quentin Glidic
9a68b22009
Fix licenses headers
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-04-15 12:32:05 +02:00
Quentin Glidic
cfbe4027bc
Consolidate logging
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-04-15 12:07:29 +02:00
Dave Davenport
a754815d14 Add converter back for old theme format. 2017-04-02 12:32:11 +02:00
Dave Davenport
4d19e35b0e Remove more traces of old theme. 2017-03-30 08:33:40 +02:00
Dave Davenport
eeee200d8f Remove old theme support. (part 1) 2017-03-29 20:18:41 +02:00
Dave Davenport
8c345273ff Indenting. 2017-03-28 20:04:02 +02:00
Dave Davenport
5259eb11bc Merge the configuration loading into something more simple (3) 2017-03-28 17:33:43 +02:00
Dave Davenport
14b43523be Merge the configuration loading into something more simple (2) 2017-03-28 17:13:38 +02:00
Dave Davenport
b91a9fb0c0 Add 'Configuration' section to rasi format that parses config option. 2017-03-27 09:04:55 +02:00
Dave Davenport
50477a0b99 [Keys] Cleanup view a bit. 2017-03-17 14:07:11 +01:00
Dave Davenport
0ebd6a260b Add auto-detect option to DPI setting. 2017-01-21 12:58:52 +01:00
Dave Davenport
19b023b221 Split sorting option. one for sorting. One to force levenshtein. 2017-01-11 09:42:37 +01:00
Dave Davenport
baab2047ad Indent magic, rework makefile so lexer and yacc file are not passed. 2017-01-08 21:36:06 +01:00
Dave Davenport
8163204320 Merge remote-tracking branch 'origin/master' into themer 2017-01-03 18:00:12 +01:00
Dave Davenport
22e2d7587d Update copyright to 2017. 2017-01-03 17:59:28 +01:00
Dave Davenport
d6ec7b1de8 Cleanup, fix missing initializer. 2016-12-12 09:11:57 +01:00
Dave Davenport
95667e60d9 Add theme option to config system. 2016-12-11 18:06:35 +01:00
Dave Davenport
84baa94bfc Remove trailing whitespace from string options. 2016-11-26 17:29:42 +01:00
Dave Davenport
e72508b782 Remove opacity option. 2016-11-01 08:10:27 +01:00
Dave Davenport
440756af94 Option to disable/enable the highlighting of match. 2016-10-24 21:47:36 +02:00
Dave Davenport
7b3b68462e Fix memory leak in box and listview widget, add coverage make target. (ggcov and lcov) 2016-10-18 13:49:24 +02:00
Dave Davenport
313dffa28d Some comments 2016-10-16 19:38:33 +02:00
Dave Davenport
89acc7b6ed Make one widget_draw function, abstract rest (textbox, scrollbar) behind it. 2016-09-27 22:15:39 +02:00
Dave Davenport
c200709838 Fix wrong entry + CI. 2016-09-08 22:56:22 +02:00
Ian Remmler
91e2ecf212 Added click-to-exit option. (#460)
Exit if a mouse button is pressed and released outside of the rofi
window.
2016-09-08 22:42:41 +02:00
Dave Davenport
5646adc34d Add option to set padding within a line.
Fixes: #449
2016-08-30 18:07:34 +02:00
Dave Davenport
20e55e1e4e Add fuzzy matching, make a -matching option.
* -matching *method* option instead of -regex, -glob, -fuzzy.
 * Re-add fuzzy matching pattern.
 * When there are substrings in regex, only highlight those matches.

Fixes: #447
2016-08-25 21:17:58 +02:00
Dave Davenport
df7468b491 Use XRandr to get monitor layout instead of xinerama.
* You can now specify monitor by name, or primary status.
2016-08-19 10:46:38 +02:00
Dave Davenport
eb0bfc60c4 Indicate what set an option, comment default options in dump-xresources. 2016-08-04 20:24:01 +02:00
Dave Davenport
9f25a975ae Fix windowcd command and allow custom Window string format 2016-06-28 23:07:48 +02:00
Dave Davenport
3ac07c3535 Fix indenting 2016-06-27 20:43:09 +02:00
Dave Davenport
baee50e346 XRM: rofi is not a class name 2016-06-27 08:26:09 +02:00
Dave Davenport
a7922cc07c Remove xlib dependency, add xcb-util-xrm. 2016-06-25 14:01:41 +02:00
Dave Davenport
03239cb989 Remove fuzzy matching option. 2016-06-18 20:54:29 +02:00
Dave Davenport
1b5bcaa9f4 Issue #411: Show list of Keyboard bindings with rofi, from rofi. 2016-05-30 10:25:58 +02:00
Yaroslav
f901494c6a Switch to stop cycling feature (#407)
* Added 'cycle' option to switch list navigation wrapping

* Replaced tabs with spaces

* Updating the expected rofi properties with 'cycle' option

* Updating documentation with the 'cycle' option
2016-05-25 20:40:23 +02:00
Quentin Glidic
db4f087487 window: Make custom action run a command on the window
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-05-12 11:31:12 +02:00
Dave Davenport
8e05106c87 Add option to view background image instead of screenshot in fake transparency. Issue #390 2016-05-06 12:40:55 +02:00
Dave Davenport
d36ae81408 Fix positioning window on top of window. 2016-03-20 10:16:55 +01:00
Dave Davenport
a2869ef39d Make clang static code analyzer happy (300+ -> 5) 2016-03-19 13:29:04 +01:00
Dave Davenport
9978feb600 Make cppcheck happy 2016-03-05 20:07:25 +01:00
Dave Davenport
d99111c73b Remove deprecated theme system. 2016-03-05 18:28:39 +01:00
Dave Davenport
72dfe2ad4c Propagate error down, show dialog.
Fix positioning dialog.
2016-03-05 11:08:32 +01:00
Dave Davenport
881ca572df Return NULL when empty property. 2016-03-04 19:41:32 +01:00
Dave Davenport
7d046a1f5b Pack magic externs into a xcb_stuff. 2016-03-01 18:11:55 +01:00
Dave Davenport
a4fd907fe8 Run indenter 2016-02-28 15:32:53 +01:00
Dave Davenport
057f156009 Remove unneeded atom 2016-02-28 12:35:47 +01:00