Commit graph

306 commits

Author SHA1 Message Date
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
f088d75ee4 Cleanup some duplicate checks. 2022-03-15 01:00:56 +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
eff3b86c94 Bump copyright date. 2022-02-07 23:17:15 +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
dac09b8728 Cleanups based on cppcheck. 2021-12-01 13:14:36 +01:00
Quentin Glidic
bde8175d39
gitmodules: Update libnkutils
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2021-10-28 06:33:12 +00: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
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
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
137417dc6c [listview] Correctly check if hovered item is highlighted.
issue: 1423
2021-09-03 09:32:18 +02:00
Dave Davenport
c64565e877 [CppCheck] Fix some shadowing variables. 2021-08-21 01:08:40 +02:00
Dave Davenport
954fc728b2 [Cleanup] Using clang-tidy 2021-08-18 01:16:45 +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
Dave Davenport
c4a156fb89 [Icon] Add a squared option. 2021-07-14 17:29:38 +02:00
Dave Davenport
0c3d24136d [Listview] Fix wrong widget name.
Fixes: #1349
2021-07-08 15:55:38 +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
Dave Davenport
beccfe4178 [Widget] with background image, draw background-color first. 2021-06-13 21:41:31 +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
9d85bcb914 Update copyright header. 2021-06-09 14:50:39 +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
1a9dac80a9 Remove some deprecated options.
* lines
 * columns
 * width
2021-06-08 22:33:23 +02:00
Dave Davenport
3b297ee80d Re-indent the code using indenter. 2021-06-01 10:44:23 +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
f69f8fcb7b Cleanup code documentation. 2021-05-05 21:53:29 +02:00
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
8ac9890e8b [Listview] Check max_rows on nav_right/left.
Fixes: #1297
2021-04-10 22:26:37 +02:00
Dave Davenport
653f023b21 Small fix in log domain container 2021-02-03 22:03:29 +01:00
Dave Davenport
9dd54ac6c6 [Textbox] Allow markup to be disabled in theme.
Change textbox for message from textbox to message-textbox.

Issue: #1255
2021-01-19 23:55:07 +01:00
Dave Davenport
9313d7a8a0 [Textbox] Allow theme to force markup enabled on textbox.
rofi -theme-str 'prompt { markup: true; }' -show drun -display-drun '<i>d</i>ru<b>n</b>'

fixes: #1220
2020-12-28 22:45:58 +01:00
Dave Davenport
af6752c35d [Textbox] When estimating height, set correct font first.
fixes: #1247
2020-12-27 21:25:06 +01:00
Dave Davenport
7061eb21ae Indent round. 2020-11-03 23:57:02 +01: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
f5bb9d2cbf [Widget] Fix border drawing code.
Fixes: #1177
2020-09-05 11:12:54 +02:00
Dave Davenport
30735791b4 Run indenter. 2020-08-28 16:41:59 +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
nick87720z
e275ed2283
Again final workaround for #303 (#1142) 2020-06-09 17:17:50 +02:00
Dave Davenport
4821320833 [Listview] Try to fix sizing of barview.
Issue: #1137
2020-06-02 09:17:06 +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
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
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