Commit graph

2182 commits

Author SHA1 Message Date
Dave Davenport
1d4a8227b2 [config] dump modes instead of modi 2022-03-02 18:46:59 +01:00
Dave Davenport
534aa6ad54 Rename Dialogs -> Modes
Try to fix some of old syntax.
2022-02-23 23:18:53 +01:00
Dave Davenport
82a50c6111 fix small compile warning glib. 2022-02-23 23:00:17 +01:00
Dave Davenport
4e06bff706 Change modi -> modes
issues: #1599
2022-02-23 22:42:56 +01:00
Dave Davenport
eff3b86c94 Bump copyright date. 2022-02-07 23:17:15 +01:00
Dave Davenport
6b3dc4a8af [Theme] Make error message more verbose. 2022-02-06 18:33:32 +01:00
Dave Davenport
a34c13bdb2 [Theme] Validate variables in theme and throw error on fail.
issue: #1580
2022-01-31 23:19:51 +01:00
Dave Davenport
579735e76f [Theme] Add warning when we find an unresolved link. 2022-01-31 20:23:33 +01:00
Dave Davenport
61aa11ba12 [DMenu] Document the -display-columns and -display-column-separator option. 2022-01-31 12:56:18 +01:00
Dave Davenport
2817debc04 [XrmOptions] Small fix in parsing cmdline option. 2022-01-25 20:29:06 +01:00
Dave Davenport
bdea8b9787 Mark -combi-hide-mode-prefix as deprecated. 2022-01-25 11:23:40 +01:00
Dave Davenport
85c6545a43
Merge List and Array type into one. (#1572)
* Merge list and array into one.

* [Lexer] Only use string without " in list

* Some cleanups

* Cleanups based on feedback.
2022-01-25 09:57:59 +01:00
Jakub Jirutka
6e3feee179
Add support for setting tabs stops on textboxes (#1571)
* 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
2022-01-24 22:20:41 +01:00
Dave Davenport
33643d0642 Theme array fix inheriting. 2022-01-24 21:50:52 +01:00
Dave Davenport
4bef336b9c What is in a name. 2022-01-24 20:33:19 +01:00
Dave Davenport
28052a452c Fix missing enum to str for Set. 2022-01-24 19:56:17 +01:00
Dave Davenport
55b043bcfa [Theme] Add set type for testing.
Allows a set of properties, f.e.:
test: { "aap", "noot", "mies"}

or

tabs: { 1px, 10px, 1px, 3em }

Issue: #1571
2022-01-24 19:43:08 +01:00
Jakub Jirutka
50b85ba954
Add -combi-display-format (#1570)
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.
2022-01-22 22:03:10 +01:00
Dave Davenport
faa360041e Small cleanups. 2022-01-22 10:21:35 +01:00
Dave Davenport
9ab2059865 [#1569] Make order explicit 2022-01-18 11:41:37 +01:00
Dave Davenport
b6ce41825c [#1569] Add initial round,floor,ceil function
a round b
 rounds a to the closest multiple off b

 a ceil b
 ceil a to the multiple off b

 a floor b
 floor a to the multiple off b

 Completely untested.
2022-01-18 11:01:56 +01:00
Dave Davenport
f5eafcc04c [1566] Extra debug for monitor resolving for m=-1. 2022-01-13 20:55:26 +01:00
Dave Davenport
5543e6497f [XCB] Fix small memory leak. 2022-01-07 18:31:31 +01:00
Dave Davenport
addfc1d367 [Helper] Remove font sanity check as it is insufficient, and old format. 2022-01-07 18:16:47 +01:00
Dave Davenport
e563cd3ad0 Add -replace option
Issue: #568
2021-12-22 21:03:54 +01:00
Dave Davenport
0424dc6f2e Small rename switcher --> mode. 2021-12-22 20:33:22 +01:00
Dave Davenport
91050eaf74 [XCB] Cache lookup of monitor. 2021-12-18 20:38:51 +01:00
Dave Davenport
5f7563dae3 Update cmdline separator and add to manpage. 2021-12-17 19:04:02 +01:00
Dave Davenport
a5f76b9d56 [X11Helper] add some extra debug. 2021-12-17 10:23:21 +01:00
Dave Davenport
8f5d9b425e [KeyBindings] Fix keybinding modified by -theme-str. 2021-12-15 20:49:53 +01:00
Dave Davenport
f0500a5a0e [Help] Print out the parsed config/theme files. 2021-12-12 20:56:32 +01:00
Dave Davenport
2614fe4425 [Config] Change separator to '#'. 2021-12-04 22:13:31 +01:00
Dave Davenport
8f1aa8481d [Config] when parsing -theme- cmd option, allow throwing errors. 2021-12-02 08:51:32 +01:00
Dave Davenport
50ac47e24e [Config] Skip single element options. 2021-12-02 08:47:26 +01:00
Dave Davenport
e3f41474fd [Config] Allow all theme properties to be set from commandline
Bit hack solution, but `listview { scrollbar: false; }` can be reached
by: -theme-listview-scrollbar false
2021-12-02 08:42:06 +01:00
Dave Davenport
dac09b8728 Cleanups based on cppcheck. 2021-12-01 13:14:36 +01:00
Dave Davenport
f72d6135bd [Config] on -dump-config do not include -theme option.
But print the right line at the bottom.

fixes: #1534
2021-11-29 19:31:31 +01:00
Dave Davenport
b03c072aaa [Build] Allow rofi to build without window mode
fixes: #1533
2021-11-29 19:15:19 +01:00
Dave Davenport
dee9c526d3 [Rofi] Don't try to parse commandline options using theme engine if theme parsing failed.
Issues: #1531
2021-11-28 17:08:09 +01:00
Dave Davenport
8d943e4a55 [Rofi] Fix error message to have right syntax. 2021-11-12 23:51:12 +01:00
Dave Davenport
b77de4c00d [Theme] Accept just color for highlight 2021-11-08 21:46:55 +01:00
Dave Davenport
c45fc38856 [Combi] Add a check against recursion.
Fixes: #1510
2021-10-29 00:39:51 +02:00
Quentin Glidic
bde8175d39
gitmodules: Update libnkutils
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2021-10-28 06:33:12 +00:00
Quentin Glidic
f24cbe270e
script: Include config.h
It avoids deprecation warnings wrt GLib.

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2021-10-28 06:31:20 +00:00
Dave Davenport
06bb72d39b [DMenu] Do not crash when no entry is available.
Issue: #1504
2021-10-16 01:39:21 +02:00
Dave Davenport
ccaaaf6a46 [RUN|DRUN] Only initialize file-completer on first use. 2021-10-12 13:35:00 +02:00
Dave Davenport
e3860c89e8 [FileBrowser] Reduce number of re-allocs. 2021-10-12 10:34:47 +02:00
Dave Davenport
6ec5bfba64 [Config] Downgrade unknown options from error to warning. 2021-10-09 18:28:55 +02:00
Dave Davenport
324cbd7746 [DMenu] Fix uninitialized memory (nonselectable). 2021-09-23 10:22:19 +02:00
Dave Davenport
e081feec27 [FileBrowser] if text cannot be converted, try to mangle it into something.
Issue: #1471
2021-09-22 19:08:32 +02:00
Dave Davenport
e116aa5bc1 [Textbox|FileBrowser] Fix crash on invalid filename
Try to fix some crash on invalid filenames.

Issue: #1471
2021-09-22 15:45:02 +02:00
Dave Davenport
0e70d8a5c9 [Config] Add 'in your face' error message about deprecated theme setting.
Issue: #1468
2021-09-21 12:51:57 +02:00
Dave Davenport
4face975a9 [Theme] Print known colors as color name.
When printing look if the set color has a known color name, print this.
2021-09-20 19:57:12 +02:00
Dave Davenport
af3464a1c3 [Window] Lower class name before icon lookup 2021-09-15 18:10:22 +02:00
Dave Davenport
ca47ffee9c [Helper] Don't tell g_utf8_strlen to ignore length.
Fixes: #1459
2021-09-13 11:26:48 +02:00
Dave Davenport
b9e28942bf [CMD] If failed to convert commandline option to new config do not stop.
Fixes: #1425
2021-09-08 14:20:24 +02:00
Dave Davenport
562146730b
[THEME] I1442 Fix parsing of nested media blocks.
* [1442] Fix widget media nested
* [Theme] Fix memory leak in P_LIST
* [I1442] Support merging down default block.
2021-09-08 14:16:28 +02:00
Dave Davenport
c10ee955bd
#1437 - Fix sizing logic for widgets and textboxes. (#1444)
* [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.
2021-09-07 19:40:07 +02:00
Dave Davenport
f4e5fd328a Revert "[I1437] Textbox make get_desired_width depend on width."
This reverts commit 154e03efc1.
2021-09-06 22:47:35 +02:00
Dave Davenport
965d3631cb Revert "[i1437] [View] Do the sizing based on the desired window width."
This reverts commit 46ac770fcc.
2021-09-06 22:47:26 +02:00
Dave Davenport
46ac770fcc [i1437] [View] Do the sizing based on the desired window width.
issue: #1437
2021-09-06 22:42:33 +02:00
Dave Davenport
154e03efc1 [I1437] Textbox make get_desired_width depend on width.
Should fix some weird sizing issues on creation of widgest.

Issue: #1437
2021-09-06 22:36:21 +02:00
Dave Davenport
294a22f3dd Fix some memory leaks. 2021-09-06 21:26:04 +02:00
Dave Davenport
c63e03fd49 [Window] Try to fix the autosizing of desktop name for non-i3 dekstop.
Issue: #1439
2021-09-06 20:32:36 +02:00
Dave Davenport
4d0eaf1463
[Window] Issue 1406 fix the broken close-on-delete (#1421)
* [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.
2021-09-03 13:53:43 +02:00
Dave Davenport
137417dc6c [listview] Correctly check if hovered item is highlighted.
issue: 1423
2021-09-03 09:32:18 +02:00
Dave Davenport
cb12e6fc05 [main] tiny code tweaks. 2021-09-02 16:38:34 +02:00
Dave Davenport
4b3f6f6767
[I1405] Allow action to be taken on input change. (#1420)
Fixes: #1405
2021-09-02 09:55:31 +02:00
Dave Davenport
3f5d82ff56 [Theme] Don't truncate double default value.
Fixes: #1419
2021-09-02 09:48:33 +02:00
Dave Davenport
1d69aea295 [window] Remove completely broken feature close-on-delete.
Issue: 1406
2021-09-01 14:57:53 +02:00
Tuure Piitulainen
efb74c73ca
[Window] Fix typo in error message (#1401) 2021-08-30 23:19:32 +02:00
Dave Davenport
0b83ab96ce [Theme] double inheritance integer fallback fix 2021-08-27 00:18:14 +02:00
Dave Davenport
e4d5c10e47 [Theme] Try to fix inheritance (2nd attempt). 2021-08-26 23:34:07 +02:00
Dave Davenport
acb1979f10 [Theme] Undo part of default theme changes, always pick build-in 2021-08-24 18:19:25 +02:00
Dave Davenport
dec5c103dc [Theme] Ship default theme separately. 2021-08-24 17:17:00 +02:00
Dave Davenport
3c8ca2390d [main] Try to fix default theme loading.
* Add more debug output on failing to load theme.
 * Don't load default theme, if empty theme is explicitly loaded.
2021-08-23 22:57:39 +02:00
Dave Davenport
c64565e877 [CppCheck] Fix some shadowing variables. 2021-08-21 01:08:40 +02:00
Dave Davenport
e60e6bab2a [Doc] Try to fix some of the doxygen coverage warnings. 2021-08-20 11:37:03 +02:00
Dave Davenport
29abc052be [RofiIconFetcher] Remove stray debug printf. 2021-08-18 09:26:08 +02:00
Dave Davenport
954fc728b2 [Cleanup] Using clang-tidy 2021-08-18 01:16:45 +02:00
Dave Davenport
3a1b768bf4 [Cleanup] clang-tidy rofi-icon-fetcher.c 2021-08-18 00:32:04 +02:00
Dave Davenport
48de8e5ff8 [Cleanup] clang-tidy view.c 2021-08-18 00:29:24 +02:00
Dave Davenport
24ce72c98a [Cleanup] clang-tidy rofi.c 2021-08-18 00:25:54 +02:00
Dave Davenport
8720409ad3 [Window] Allow rofi to stay active on closing a window
```css
configuration {
  window {
      close-on-delete: false;
  }
}
```

fixes: #1071
2021-08-17 18:16:25 +02:00
Dave Davenport
411f09f4d8 [Rofi] Clear old theme before loading new one on -theme argument. 2021-08-17 16:43:45 +02:00
Dave Davenport
18e118a250 [Theme] Fix inheritance copy paste error. 2021-08-17 11:21:07 +02:00
Dave Davenport
47f26ca2f1 [IconFetcher] Look for images in theme directories. 2021-08-17 11:05:03 +02:00
Dave Davenport
9f777a7a7b [Themes] Fix inheritance with state set.
Update theme.c and included themes.
This should allow you to set `element-text { text-color: inherit;
background-color: inherit;}` to fix old themes.
2021-08-14 13:58:21 +02:00
a1346054
c62137f8ab
Simple maintenance improvements (#1370)
* 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
2021-08-14 13:03:16 +02:00
Ian C
69c6004681
fix typo (#1355) 2021-07-29 20:46:23 +02:00
Dave Davenport
c4a156fb89 [Icon] Add a squared option. 2021-07-14 17:29:38 +02:00
TonCherAmi
c1ff6baecd
[FileBrowser] Add option to group directories ahead of files. (#1352) 2021-07-10 23:58:27 +02:00
Dave Davenport
9f71c4f78d [Config] Load default config file in at startup
* load via resources doc/default_configuration.rasi
* print the configuration options on dump-config
2021-07-10 00:25:20 +02:00
Dave Davenport
0c3d24136d [Listview] Fix wrong widget name.
Fixes: #1349
2021-07-08 15:55:38 +02:00
Dave Davenport
370287c2ca [Theme] Remove listview backwards compatibility hack. 2021-07-02 18:06:06 +02:00
Dave Davenport
0c304524fb [Icon|Button] Make action available on icon and use keyb name.
You can now bind a key-binding on mouse click to icons and buttons by setting
"action" property.

For example:

```css
icon-paste {
    expand: false;
    filename: "gtk-paste";
    size: 24;
    vertical-align: 0.5;
    action: "kb-primary-paste";
}
```
2021-06-30 14:12:09 +02:00
Dave Davenport
c1cd4540a4 [View] User-timeout: reset timeout on action 2021-06-30 13:38:20 +02:00
Dave Davenport
c9701b2a91 [View] Add support for user timeout + keybinding action
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
2021-06-30 13:29:54 +02:00
Dave Davenport
42dde494c1 [Config] Remove some debug printfs. 2021-06-27 12:23:20 +02:00
Dave Davenport
067a3b82ad [Config system] Add a bit of a hack to auto-add commandline options.
For new config system.
2021-06-27 12:21:26 +02:00
Dave Davenport
33248f511c [View] Don't refilter when no mode is selected. 2021-06-27 11:54:57 +02:00
TonCherAmi
0ff0866be7
[FileBrowser] Add sorting-method. (#1340)
* [FileBrowser] Add sorting-method.

* [FileBrowser] Convert -file-browser-directory to new config format.
2021-06-27 09:28:21 +02:00
Dave Davenport
330402aa13 [FileBrowser] rename file-browser to filebrowser
In preperation to a overhaul of config system.
2021-06-24 19:11:56 +02:00
Dave Davenport
4c1a74e15e [Widget] Add scaling option to background-image. 2021-06-15 17:18:34 +02:00
Dave Davenport
f72bae02bb [DRun] Add advanced parse-user and parse-system config option. 2021-06-15 16:19:57 +02:00
nick87720z
74ef588d4e
Fix regression in commit e52094ee7a (#1317)
I forgot about line style (dash) support which had to be tested too.
2021-06-15 14:55:44 +02:00
Markus Gräb
4fd4fb89af
New keybinding Ctrl-Shift-Enter (#874)
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>
2021-06-15 14:43:30 +02:00
Zachary Freed
44140ac5b4
Made it so the presence of a field in drun-display-format is enough to parse the .desktop files for that field. Also fixed helper_string_replace_if_exists only allowing one guarded field in the display format by making the regex ungreedy (#911)
Co-authored-by: Dave Davenport <DaveDavenport@users.noreply.github.com>
2021-06-15 14:32:46 +02:00
Dave Davenport
3307d62c55 [Doc] Add new -display-{mode} method to manpage. 2021-06-15 14:04:34 +02:00
Dave Davenport
74144db77d [Test] Fix the test. 2021-06-15 12:31:32 +02:00
Dave Davenport
0f21541327 [Configuration] Add start of more 'theme' based configuration.
Nested CSS blocks in configuration {} are parsed into
rofi_configuration.
2021-06-14 19:29:05 +02:00
Dave Davenport
828aaa231a [Theme] Add angle support to linear-gradient. 2021-06-14 16:04:15 +02:00
Dave Davenport
5c5428bd11 [Theme] Add direction support to linear-gradient. 2021-06-14 15:14:41 +02:00
Dave Davenport
7cf0385681 [Theme] Support multiple stops in linear-gradient
* Fix anchor dumping
* Fix image dumping
2021-06-13 22:57:35 +02:00
Dave Davenport
beccfe4178 [Widget] with background image, draw background-color first. 2021-06-13 21:41:31 +02:00
Dave Davenport
1e25ae03b7 [Widget] Extend the pattern when loading, good for bg patterns. 2021-06-13 21:35:42 +02:00
Dave Davenport
a0b8a05315 [Widget] Change scaling of background-image 2021-06-13 20:59:28 +02:00
Dave Davenport
2c325b3f09 [Widget] Add initial support for background-image.
* Supports url("path") and linear-gradient(start,stop).
2021-06-13 20:50:25 +02:00
Dave Davenport
00f290beed [Widget] Fix small compile warning. 2021-06-10 21:08:37 +02:00
Dave Davenport
9d85bcb914 Update copyright header. 2021-06-09 14:50:39 +02:00
Dave Davenport
3950204760 [DRun] Do not use show-icons options, handle no-icon desktopfile better. 2021-06-09 01:20:36 +02:00
Dave Davenport
af8e2865c1 [Theme] Allow theme to set icon independent of show-icons option. 2021-06-09 01:17:16 +02:00
Dave Davenport
0726ed9f33 [Config] Remove fake-transparency/background option.
* fake-transparency
* fake-background
2021-06-08 23:07:52 +02:00
Dave Davenport
e0a3067f69 [Config] Remove old unused options. 2021-06-08 23:04:19 +02:00
Dave Davenport
dc46457f71 Remove deprecated theme options
* color_window
* color_urgent
* color_active
* color_normal
2021-06-08 22:44:15 +02:00
Dave Davenport
1a9dac80a9 Remove some deprecated options.
* lines
 * columns
 * width
2021-06-08 22:33:23 +02:00
Dave Davenport
b478de3d7d Remove deprecated option, fix typo in manpage. 2021-06-08 22:02:29 +02:00
Dave Davenport
d18a887f03 [Combi] Disable completer. 2021-06-08 21:20:09 +02:00
TonCherAmi
62ec84b5e6
[Doc] Document -drun-url-launcher. (#1328) 2021-06-08 20:25:05 +02:00
Dave Davenport
cb250fa73a Add fallback icon option. 2021-06-08 20:21:28 +02:00
Dave Davenport
6178970499 [DRun] Only go to file completer if desktop file support url. 2021-06-08 19:35:51 +02:00
Dave Davenport
6b9de4644e [DRun] Add file completer to drun mode.
Add icons to run mode.
2021-06-08 19:28:13 +02:00
Dave Davenport
0db6412ae2 [Doc,Config] Remove line-margin|padding and fix doc mistake.
*Deprecated* option.
2021-06-08 12:17:59 +02:00
TonCherAmi
c1244b066f
[FileBrowser] Allow setting startup directory (#1325) 2021-06-05 14:22:48 +02:00
Dave Davenport
2eefd9b191 [Run] Allow (Ctrl-L) to complete files using file-browser.
Merge old setup from #1116

issue: #1116  #659
2021-06-01 13:14:45 +02:00
Dave Davenport
3598ebe603 [Config] Quick hackish workaround for handling dynamic options from config file
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
2021-06-01 12:17:59 +02:00
Dave Davenport
3b297ee80d Re-indent the code using indenter. 2021-06-01 10:44:23 +02:00
Dave Davenport
5a7df38ccd [Configuration] Remove old configuration format. 2021-06-01 10:43:25 +02:00
Dave Davenport
d857122251 [Script] Don't enable custom keybindings by default, script needs to enable this.
Having it on by default broke the default rofi workflow. Make it an
option now.

Fixes: #1286,#1226
2021-05-31 14:21:09 +02:00
Dave Davenport
f14c5c2ada [X11Helper] Add exception for bspwm window placing above window.
fixes: #1169
2021-05-31 14:02:08 +02:00
Dave Davenport
ac179cd2d9 [DRun] Add support for service files
Untested as I do not have these files myself.

Issue: #1152
2021-05-30 23:21:42 +02:00
unisgn
c3e70d4e1a
add prefix matching method feature (#1237)
* add prefix matching method feature

* Update helper.c

* prefix matching regex memory leak fix

* prefix matching regex memory leak fix

Co-authored-by: francis <oxfrancis@outlook.com>
2021-05-29 13:39:31 +02:00
Jas
24dde58019
Implement pango markup for -window-format (#1288)
* Implement pango markup for -window-format

* Make sure role != null

Since g_markup_escape_text doesn't like null it seems

* Update formatting

To bring it more in line with surrounding code

* Address review comments

* Fix memory leaks

* Fix formatting
2021-05-29 13:36:34 +02:00
Dave Davenport
2c30035640 [DRun] Fix sorting when name is NULL.
Thanks to nick87720z
2021-05-23 00:31:38 +02:00
Dave Davenport
2b86ece655 Update links to irc.libera.chat 2021-05-23 00:24:06 +02:00
TonCherAmi
dc28a97437
Add cursor property (#1313)
* Change mouse cursor on widget hover

Currently only listview element and editbox are supported.

* Add cursor property
2021-05-23 00:17:27 +02:00
Dave Davenport
04c006a4a2 [FileBrowser] fix escaping of paths. 2021-05-10 21:34:17 +02:00
Dave Davenport
fa96f32846 More doxygen cleanups. (1 warning left I don't understand) 2021-05-05 22:39:03 +02:00
Dave Davenport
f69f8fcb7b Cleanup code documentation. 2021-05-05 21:53:29 +02:00
Dave Davenport
37044dc27e Remove -dump-xresources option update manpage. 2021-05-04 20:44:38 +02:00