* Document new array of values type
* Move WIDGET_PADDING_INIT from widget.c to widget-internal.h
* Refactor WIDGET_PADDING_INIT macro
* Add support for setting tab stops on textbox
This allows to emulate a multi-column layout inside the text boxes.
The implementation is kinda hackish due to the limitations of the theme
parser. The only property type that can contain multiple distance values
is Padding, so I used that.
* Use new array syntax for tab-stops
Implement a new option -combi-display-format (analogous to
-drun-display-format) that allows to change position appearance of
the mode name in the combi entries.
* [I1437] Textbox make get_desired_width depend on width.
Should fix some weird sizing issues on creation of widgest.
* [i1437] [View] Do the sizing based on the desired window width.
issue: #1437
* [i1437] Fix header documentation.
* [1406] Add watcher for new/removed windows and reload based on that.
* [1406] Add a small timeout before reloading to avoid reloading several times in a row.
* [1406] close rofi if you receive a destroy window on rofi.
* rofi moved to libera.chat
* unify some theme headers and whitespace
* consistently use the same hashbang for bash
* improve obsolete way of testing equality
see https://github.com/koalaman/shellcheck/wiki/SC2268 for explanation
* use consistent function definitions in bash scripts
* remove duplicated author and fix whitespace
* quote all variables in scripts
fixes many warnings identified through shellcheck
* fix whitespace in scripts
* fix whitespace in non-source files
* fix spelling in non-source files
* fix whitespace and indentation in source files
* fix spelling in source files
Configuration looks like:
```css
configuration {
timeout {
delay: 15;
action: "kb-cancel";
}
}
```
Both delay and action need to be set.
Action can be any of the keybindings as shown in `rofi -show keys`.
(-timeout-delay 15 -timeout-action "kb-cancel" on commandline.).
Fixes: #1066
This function combines accept-custom with the functionality to start
the command in terminal
Co-authored-by: Markus Gräb <m_graeb11@cs.uni-kl.de>
Co-authored-by: Dave Davenport <DaveDavenport@users.noreply.github.com>
Quick hackish workaround for having options that are added *after*
config file is parsed.
This needs to be replaced once the config system is revamped.
Fixes: #905
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
* 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.
* [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
* 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.
* 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.
* Add test for hidden meta data in script mode
The purpose of this is to provide support for "hidden" fields on a
script item that work for search but don't get displayed. This is
mostly to provide something similar to the optional display (but still
matchable) fields in drun like "categories" or "keywords". This also
enables the choice to display unicode icons but still allow for
searching for the keywords without needing to print them.
* Ignore the output file from test runs
* Add support for the "meta" field on script entries
This fields provides a matchable but unprinted string for entries in a
script mode list match. This means you can use one thing but provide
multiple options that can match that item without polluting the list
view or make confusing output.
* Add new test to test suite file