Commit graph

105 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Dave Davenport
f2b6cf6b3c [Widget] Propaget set_state to children. 2020-05-13 16:25:12 +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
Dave Davenport
b169289996 Indent all the code. 2020-02-02 13:56:37 +01:00
Dave Davenport
b03edc5cf3 Update copyright dates. 2020-01-01 12:23:12 +01:00
Dave Davenport
8d9e403659 Update copyright. 2019-09-27 11:58:32 +02:00
Dave Davenport
618d1396ee
Issue949 (#999)
* [Issue 949] Add initial split of listview row into widget tree.

Allowing better themeing.

* Remove unneeded code from textbox. allow dis. icons.

* Fix typo.

* Fix wrong widget offset in textbox.

* Fix mouse handling

* [ListView] Add 'fixed-columns' boolean option.

* [Listview] Fix inversion of option.

* [ListView] remove commented old code.

* [Textbox] Handle null pointer on desired width.

* [Listview] Fix crasher with fixed_columns and more max elements requested items.

* Add hack to get backwards compatibility for new listview structure.

* Fix the scrollbar test.

* Fix tests for theme update..
2019-08-08 20:02:20 +02:00
Dave Davenport
859a9c79d6 Indent the code. 2018-08-08 15:55:13 +02:00
Dave Davenport
0633bc9dad Remove (unused) widget ref counting. 2018-06-12 10:08:29 +02:00
Dave Davenport
441c511296
Add an generic icon fetcher that can be used by any widget and re-uses the main threadpool.
Add an generic icon fetcher that can be used by any widget and re-uses the main threadpool.

* Make threadpool more generic usable.
* Add generic icon fetcher, that caches icons.
* Make DRUN use this fetcher.
* Add icon widget.

#809
2018-06-09 19:13:57 +02:00
Dave Davenport
3a726eabba
Fix how borders are drawn, so it looks correct when transparant. (#792)
* Try to fix borders a bit.

issue: #783

* Small cleanup to code, add comments to explain variables.
2018-04-08 10:19:43 +02:00
Edward Betts
79adae77d7 Correct spelling mistakes. (#722) 2017-11-23 18:41:52 +01:00
Dave Davenport
acfc07a63e Fix Inherit keyword 2017-09-07 13:46:09 +02:00
Dave Davenport
72f050e2fc Move enabled into widget. 2017-09-07 08:52:30 +02:00
Dave Davenport
6b43fed3aa use color, background-color and border-color 2017-09-06 19:02:09 +02:00
Dave Davenport
26d9da7263 Position the overlay in the top right corner of the listview. 2017-06-12 08:17:28 +02:00
Dave Davenport
067544120f Make function declaration match function prototype.
- Extra NULL check.
2017-06-09 09:18:17 +02:00
Dave Davenport
3e46228074 Change Padding to RofiPadding 2017-06-02 16:44:16 +02:00
Dave Davenport
ea7d20d150 Change Orientation enum to RofiOrientation. 2017-06-02 16:34:52 +02:00
Dave Davenport
7352f1c2ba Change PixelWidth to RofiPixelUnit. 2017-06-02 16:21:05 +02:00
Dave Davenport
48bf1709b6 Rename HL_ to ROFI_HL_ and fix box test. 2017-06-02 16:09:20 +02:00
Dave Davenport
9a6fd1c6c3 Merge in master 2017-05-30 16:23:19 +02:00
Quentin Glidic
4e448eac45
widget.test: Add NULL tests for trigger_action functions
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-30 13:45:20 +02:00
Quentin Glidic
acc1fa45b9
widget: Add motion grab support
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-30 13:45:19 +02:00
Quentin Glidic
685d4f0e13
widget: Rely on find_mouse_target to send motion events
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-30 13:45:17 +02:00
Quentin Glidic
30da7e587a
widget: Add widget_xy_to_relative helper
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-30 13:44:05 +02:00
Quentin Glidic
b314a90f1d
widget: Remove some more leftovers
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-29 21:03:52 +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
fff06fc880 Don't keep pointer to inputbar/main_box 2017-05-28 17:34:53 +02:00
Dave Davenport
fa0380057b [Widget] Add desired width option. 2017-05-28 16:10:11 +02:00
Quentin Glidic
7f78031bda
widgets: Use G_PI and G_PI_2 instead of M_PI
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-04 13:40:16 +02:00