Commit graph

2198 commits

Author SHA1 Message Date
Dave Davenport
858d6c030c [listview] Add extra checks before resolving pointer.
Issue: #1703
2022-09-10 17:42:49 +02:00
Dave Davenport
fce721a105 [Textbox] Add 'placeholder-markup' flag.
Fixes: #1690
2022-08-28 21:47:05 +02:00
Dave Davenport
594c7f2b31 [Theme] If no theme loaded, load default. Downgrade missing theme file to warning.
Issue: #1689
2022-08-26 14:05:16 +02:00
Dave Davenport
0f097f2998 [DMenu] reset variable correctly so keep-selection is initially off.
fixes: #1686
2022-08-24 15:10:58 +02:00
Dave Davenport
09b9e32fd1 Merge remote-tracking branch 'github/next' into next 2022-08-22 21:53:30 +02:00
Dave Davenport
fc07619ac6 [View|Xcb] Add support to copy current selected item to clipboard
Adds control-v binding that copies it to the clipboard.
THIS ONLY WORKS WITH CLIPBOARD MANAGER!!! once rofi is closes, the data is
gone!

This needs to be tested. Documentation on this is lacking so reversed
engineered from other applications.

TODO: how do we do the SAVE_TARGETS?

fixes: #378
2022-08-22 21:44:52 +02:00
Jasper Lievisse Adriaanse
c896cbbca4
Include sys/stat.h for S_IWUSR (#1685) 2022-08-21 20:51:03 +02:00
Dave Davenport
f36977dee7 [View] Tweak error message and instant/delayed switching. 2022-08-21 15:52:39 +02:00
Dave Davenport
f3c1dafec2 [View] Change refilter timeout limit to be in time units (ms)
Issue: #1683
2022-08-21 15:47:49 +02:00
Dave Davenport
d5cd4ca32d [Combi] Fix possible memory leak. 2022-08-21 02:57:16 +02:00
Dave Davenport
bd60a68d1c [combi] Fix selecting entry with only bang as input.
Check for a space or eos.
2022-08-21 02:50:08 +02:00
Dave Davenport
89e00ebb32
[Dmenu] Add a minimum update rate for dmenu reading. (#1681)
This avoid slow loading for some weird slow spaced out input stream.
(one input every 250ms).
Not sure what use-case this fixes.
This fix does cause a noticable slow-down on very large lists.

Issue: #1680
2022-08-19 21:35:23 +02:00
Dave Davenport
a22c81c4a9 [DMenu] Strip off delimiter in sync mode.
Fixes: #1679
2022-08-18 10:17:24 +02:00
Dave Davenport
65b48aae4f [View] Reduce idle delay as tradeof for cpu usage.
Issue: #1678
2022-08-18 00:19:42 +02:00
Dave Davenport
406a6954aa [Help] add -config to -help output.
Issue: #1665
2022-07-30 17:49:26 +02:00
Dave Davenport
ac701018fd [Help] Print pango version. 2022-07-30 15:48:00 +02:00
Dave Davenport
7c7fe729e6 [script] #1064 clear view on keep-selection/new-selection.
issue: #1064
2022-07-30 15:17:50 +02:00
Dave Davenport
9d001aaaf7 [Theme] Do a pango version check. 2022-07-30 15:05:28 +02:00
Dave Davenport
77af850200 [textbox] Implement text-transform add upper/lower/capitalize transform
fixes: #1010
2022-07-30 14:50:05 +02:00
Sainnhe Park
28ad6e34cf
[filebrowser] Fix st_atim undefined on macOS (#1662)
When compiling on macOS, an error message will pop up:

```
error: no member named 'st_atim' in 'struct stat'
```

This is because `st_atim`, `st_ctim` and `st_mtim` does not exist on
macOS, instead it uses `st_atimespec`, `st_ctimespec` and
`st_mtimespec`.

In this commit, 3 macros are defined to try to fix this problem.

Reference: https://github.com/hboetes/mg/issues/7
2022-07-28 18:19:39 +02:00
Dave Davenport
fb24fc0999 Add a warning list and append it to the message box. 2022-07-27 23:44:56 +02:00
Dave Davenport
952aaae295 [DMenu] Fix completion with multi-select 2022-07-26 22:12:20 +02:00
Dave Davenport
f3064e0fee [Script] Add new-selection option.
Allow you to select an entry (based on view, so might not work in combi
mode).

fixes: #1248
2022-07-24 01:08:24 +02:00
Dave Davenport
d20926abab [window] Add an option to hide active window.
fixes: #1336
2022-07-24 00:52:13 +02:00
Dave Davenport
5a5d333fdf [dmenu] Fix missing - in find_arg 2022-07-23 23:25:37 +02:00
Dave Davenport
be6fe8ac61 [Textbox] Remove the dot indicator.
Weird hack from dmenu that dripped through rofi code-base for multi-select.
Change it so it is just a prefix to the string of ☐ and ☑.
2022-07-23 20:21:00 +02:00
Dave Davenport
7bd77684db [Textbox] Fix multi-select dot placement. 2022-07-23 00:55:59 +02:00
Dave Davenport
0e90fb065f [Build] Fix some compile warnings. 2022-07-23 00:28:55 +02:00
Dave Davenport
af976c3779 [XCB] Add a flag to enable work around for #611.
In issue #611 there is a workaround implemented for an issue within
xserver: https://bugs.freedesktop.org/show_bug.cgi?id=104323#c1,
https://gitlab.freedesktop.org/xorg/xserver/-/issues/300.
With a latest update in xkeyboard-config this workaround breaks rofi,
see #1642 and
https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/341.

This commits disabled this work-around (can be re-enabled with
-xserver-i300-workaround flag).

Hopefully this restores correct rofi functionality.

issue: #611 #1642
2022-07-19 15:50:42 +02:00
Dave Davenport
52f587a191 [IconFetcher] Add support for font rendering as icon.
Issue: #1132
2022-07-16 13:13:29 +02:00
Dave Davenport
386877dd22 [Theme] Add enabled property with env support. 2022-07-15 23:28:57 +02:00
Dave Davenport
daf3127d3a [Script] Add keep-selection flag that keeps the current selection.
Fixes: #1064
2022-07-09 14:12:28 +02:00
Dave Davenport
96027decd9 [Debug] Add a '-log' flag. 2022-07-08 22:53:07 +02:00
Dave Davenport
f3634d4ff3 [XCB] Try to correct for rotated monitors. 2022-07-08 22:04:06 +02:00
Dave Davenport
c37186a911 [Options] explicitely mark offset deprecated. 2022-07-02 20:55:16 +02:00
Dave Davenport
c6456d2c1b [DMenu] Fix 'loading' overlay. 2022-06-29 16:09:56 +02:00
Dave Davenport
670a2445f4 [Window] Small fix avoiding unneeded icon reloads. 2022-06-28 20:58:11 +02:00
Dave Davenport
ceb2b9d295 [Modes] Support icons off multiple icons. 2022-06-27 20:52:12 +02:00
Dave Davenport
9c18aaef22 [View] Add icon-current-entry widget. 2022-06-27 17:09:21 +02:00
Dave Davenport
8ee05a718e [View] Add textbox-current-entry widget. 2022-06-27 16:56:59 +02:00
Dave Davenport
3c6fc083f2 [View] Don't crash when element-textbox does not exists. 2022-06-27 14:16:27 +02:00
Dave Davenport
7b234ff44e [Script] Fix stupid typo in memory allocation. 2022-06-13 13:27:07 +02:00
Dave Davenport
40ecfcd1f1 [Script] Print list of user scripts in -h 2022-06-12 17:49:04 +02:00
Dave Davenport
ffa1d11e3c [Script] Look into ~/.config/rofi/scripts/ for user scripts. 2022-06-12 15:22:56 +02:00
Dave Davenport
b676dfe8ad [DMenu|Script] Allow theme element updates from script. 2022-06-06 11:34:49 +02:00
Dave Davenport
c7776ce9b7 [Theme] Improve error mesg on failed variable. 2022-06-01 16:51:48 +02:00
Dave Davenport
b891ffa2b3 [Textbox] Try to fix pango alignment 2022-05-30 19:21:31 +02:00
Dave Davenport
3376db96bb [filebrowser] Bind kb-accept-custom-alt to dir up. 2022-05-27 17:24:35 +02:00
Dave Davenport
69387d6336 [Textbox] Set pango align based on horizontal-align 2022-05-27 11:10:13 +02:00
Dave Davenport
e9af427b4a [Dmenu] use ssize_t instead of size_t. 2022-05-17 23:37:02 +02:00
Dave Davenport
141bd3d197 [Doc][Config] Update documentation for new fallback icon
* Allow multiple config be combined.
2022-05-12 19:52:35 +02:00
Dave Davenport
fc64265343 [1633][Mode] Add generic fallback option for modes.
Add config option:

```css
configuration {
   <mode> {
   	fallback-icon: "<icon name>";
   }
}
```

fixes: #1633
2022-05-11 17:15:18 +02:00
Dave Davenport
67496dcb15 [View] Remove some, broken, logic that misplaces the view.
When listview is not present or in not in fixed height mode it would
force anchor to north, this is not desirable.

Fixes: #1630
2022-05-07 11:35:09 +02:00
Dave Davenport
6f971e1110 [Rofi] Move the commandline no argument msg to a popup. 2022-05-06 15:25:32 +02:00
Dave Davenport
9314e75af2 [dmenu] Fix small bug of passing right length. 2022-04-23 23:17:51 +02:00
Dave Davenport
f5fce95330
[#1079]: Option to hide listview elements when not filtered (#1622)
* [listview] Optional don't show elements when not filtered (#1079)

* [Listview] Fix auto-complete error.
2022-04-20 23:24:52 +02:00
Dave Davenport
e2a7cfdd52
[DMenu] Huge list speedups (#1621)
* Don´t refilter on each key-press.

* Make sure refiltering is not completely starved.

* Force refilter before accepting entry

* Go into 'timeout' refilter mode only after certain # elements.

* [DMenu] threading with getdelim to speed up reading.

* [View] Remove debug output.

* [dmenu] Fix pre-read.

* [DMenu] Make sure that async mode cannot block

* Remove mutex for IPC via pipes.

* [Dmenu] Small cleanup.

* [Scrollbar] Fix scrollbar overflowing on big lists.

* Fix stack overflow by creating to many filter jobs.

* [Doc] Add new option to manpage
2022-04-20 21:53:44 +02:00
Dave Davenport
9f0a8c9e36 [FileBrowser] Make accept-alt open folder if selected. 2022-04-16 16:25:47 +02:00
Dave Davenport
51c5beeb82
[Helper] Add XDG_DATA_DIRS to theme search path. (#1619)
Issue: #1617
2022-04-16 12:10:14 +02:00
Dave Davenport
0f3a88fc2c [Theme] Change back to g_ascii_formatd
Use extra space and 0 initialized array. Don't use lf just f.

issue: #1611
2022-04-05 00:06:53 +02:00
Dave Davenport
597157e0c9 [Theme] small change in formatting code. 2022-04-04 23:33:48 +02:00
Dave Davenport
f088d75ee4 Cleanup some duplicate checks. 2022-03-15 01:00:56 +01:00
Dave Davenport
6bb9262245 [Config] workaround for int data type passed to string option in configuration file/cmdline. 2022-03-09 17:55:29 +01:00
Dave Davenport
47d785758a
[listview] Allow settings of flow direction of elements (#1605)
* [Listview] Initial implementation for left to right packing.
* [Listview] fix movement in pack-left-to-right.
* Add element-next/prev keybinding and remap tab.
* [Listview] Change option name to 'flow' and use rofi orientation type.
* [Listview] Make listview work with reverse property.
* Update test for 2 new keybindings.

fixes: #1058
2022-03-07 20:37:58 +01:00
Dave Davenport
fe656d2d94 [Script] Fix memory leak. 2022-03-02 22:08:14 +01:00
Dave Davenport
497d18d108 [Script] Support a data option that get passed to next execution.
fixes: #1601
2022-03-02 22:06:04 +01:00
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