Commit graph

848 commits

Author SHA1 Message Date
lbonn
ce950c2ad8 Wayland: Fix incomplete merge/refactor of xcb display 2022-10-05 18:42:54 +02:00
Aleksei Bavshin
1e4ef36611 [Window] Initial support for wayland window switcher
The code still lacks a lot of features of XCB Window mode, but at least
following should work:
 - Activate and Delete (close) actions
 - matching by window title
 - live update
 - icon lookup by app_id
2022-09-08 09:16:24 +02:00
lbonn
4e833a4ec4 Merge tag '1.7.4' into wayland 2022-08-24 00:05:02 +02:00
Dave Davenport
b45adf2864 [helper] More typo fixing in comments 2022-07-30 15:30:47 +02:00
Dave Davenport
75d13b4e67 [Helper] Fix typo in header. 2022-07-30 15:21:56 +02:00
Dave Davenport
77af850200 [textbox] Implement text-transform add upper/lower/capitalize transform
fixes: #1010
2022-07-30 14:50:05 +02:00
Dave Davenport
2efd6a98a5 [Doxy] Fix the doxygen check and some warnings. 2022-07-28 00:23:21 +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
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
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
lbonn
853c8c9af3 Merge remote-tracking branch 'upstream/next' into wayland 2022-07-16 12:37:31 +02:00
Dave Davenport
386877dd22 [Theme] Add enabled property with env support. 2022-07-15 23:28:57 +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
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
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
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
lbonn
1e8c22b4a0 Merge remote-tracking branch 'upstream/next' into wayland 2022-04-17 11:19:36 +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
e6dbc8fbd3 Fix dialog -> mode
Fix more old naming.
2022-02-23 23:25:56 +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
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
a34c13bdb2 [Theme] Validate variables in theme and throw error on fail.
issue: #1580
2022-01-31 23:19:51 +01:00
Jakub Jirutka
d34e827dd0 Merge tag '1.7.3' into wayland 2022-01-29 20:53:22 +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
4bef336b9c What is in a name. 2022-01-24 20:33:19 +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
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
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
f0500a5a0e [Help] Print out the parsed config/theme files. 2021-12-12 20:56:32 +01:00
Dave Davenport
dac09b8728 Cleanups based on cppcheck. 2021-12-01 13:14:36 +01:00
lbonn
fd68f97fe7 Merge tag '1.7.1' into wayland 2021-11-28 15:50:59 +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
lbonn
70efa84f9b Merge remote-tracking branch 'upstream/next' into wayland 2021-10-25 20:14:21 +02:00
Jakub Jirutka
e963c3174a [Wayland] Implement partial support for offset properties on window
...using zwlr_layer_surface_v1::set_margin. It's only partial because
surface margin has effect only when the the window is located on edge of
the screen, not in center. Also the anchor property is not implemented,
the anchor point is always the edge of the window corresponding to the
location property.
2021-10-16 12:54:27 +02:00
Jakub Jirutka
7ce8c8584b Remove unused/surplus xcb-related includes
Includes in the rofi code base are a complete mess; there are many
needless includes and many files rely on transitive includes.

I used include-what-you-use tool to find them. There are much more,
I cherry picked only suggestions relevant to the goal - allow building
rofi without XCB dependencies.

This doesn't break X11 support and it can be upstreamed (after rebasing
and removing changes in wayland-stuff).
2021-09-30 21:48:44 +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
lbonn
2a68677b6a Initial clipboard support for wayland
Using wl_data and primary_selection protocols
2021-09-06 15:34:53 +02:00
lbonn
cfc3be4a5d Merge tag '1.7.0' into wayland 2021-09-06 13:16:48 +02:00