Commit graph

2328 commits

Author SHA1 Message Date
Dave Davenport
b5f1e97e0f [XCB] Try to be smarter with where mouse click started.
fixes: #1896
2023-09-24 20:06:08 +02:00
lbonn
7c79169309 Wayland: fix wayland-only mode again 2023-09-24 01:57:11 +02:00
lbonn
bb85634182 Merge remote-tracking branch 'upstream/next' into wayland 2023-09-14 17:37:40 +02:00
Nikita Zlobin
a53daa68c4 [View|Textbox] cleanups to drawing code 2023-08-29 21:36:03 +02:00
Nikita Zlobin
9b2b52b13e Clip text with extents rectangle
Fonts are not ideal, some characters have mismatch between reported and
painted size.
2023-08-27 21:10:00 +02:00
Dave Davenport
51a8df9da5 [Rofi] Expand cache-dir
Fixes: #1892
2023-08-24 19:46:29 +02:00
Dave Davenport
6caaf36df6 [Theme] Fix opening abs path if no/wrong extension (backward comp.) 2023-08-15 19:28:33 +02:00
Dave Davenport
ad06fb9516 [Theme] Try to fix importing of theme.
- Fix the two place of resolving into one method.
- Do not accept file in CWD.
- Prefer file if it exists in same directory as parent file that
  imported it.

fixes: #1889
2023-08-15 19:12:14 +02:00
Nikita Zlobin
528419269e script: Let script handle empty custom input 2023-08-11 08:51:00 +02:00
Nikita Zlobin
82f9605c30 widget_draw: clean useless calls in corner drawing
Signed-off-by: Dave Davenport <qball@gmpclient.org>
2023-07-24 22:56:00 +02:00
Nikita Zlobin
45688b0a53 Fix border segments stitch
Signed-off-by: Dave Davenport <qball@gmpclient.org>
2023-07-24 22:56:00 +02:00
Nikita Zlobin
386b92dace Remaining modi words in the code
Signed-off-by: Dave Davenport <qball@gmpclient.org>
2023-07-23 18:44:15 +02:00
Nikita Zlobin
81641d0f30 Better descriptions for sort options group
It's unobvious from documentation, that sort only works against filtered menu.

Signed-off-by: Dave Davenport <qball@gmpclient.org>
2023-07-23 18:44:15 +02:00
MoetaYuko
0b223c16f3 Wayland: Apply scaling to cursor surface
Loading cursor theme and creating cursor surface are postponed to
wayland_pointer_enter because we don't know the display scale in the
early wayland_display_setup.

Partially fixes #45
2023-07-23 14:10:10 +02:00
MoetaYuko
2c0fcf9da9 [IconFetcher] Apply scaling when loading images and icons
Partially fixes #45
2023-07-23 14:10:10 +02:00
Dave Davenport
64ceb85eed [Script] Set type on Mode object. 2023-07-03 18:10:22 +02:00
Dave Davenport
be6db24667 [window] Quick test of code scanning. 2023-07-03 13:40:23 +02:00
Qball Cow
a5301b35ad Remove unused variable. 2023-06-29 23:59:25 +02:00
Dave Davenport
7814da7ee4 [ROFI] -e '-' reads from stdin 2023-06-15 22:29:03 +02:00
Dave Davenport
635fbd0464 [ConfigParser] Don't pass commandline options with very long args.
This is a quick 'n dirty fix for this unexpected issue.

fixes: #1855
2023-06-15 19:36:19 +02:00
Dave Davenport
47f37f2bbc [Doc] Fix some missing/wrong doxygen headers. 2023-06-12 19:40:25 +02:00
Dave Davenport
e409322faf Print window manager in -help output 2023-06-12 19:16:46 +02:00
Dave Davenport
d27cee89fa Merging in the Recursive file browser.
Squashed commit of the following:

commit 92e730076d461622dc81e44e87ec456317514904
Author: Dave Davenport <qball@gmpclient.org>
Date:   Sun Jun 11 18:17:12 2023 +0200

    [Doc] Add regex filtering to recursivebrowser.

commit ee80c8487f9765b1e6e8ab8219a6baea089cf5af
Author: Dave Davenport <qball@gmpclient.org>
Date:   Sun Jun 11 17:49:29 2023 +0200

    [recursivebrowser] Update manpage.

commit a24b68f52362aaf1461935c2340e3bf5e31da59d
Author: Dave Davenport <qball@gmpclient.org>
Date:   Sun Jun 11 17:37:56 2023 +0200

    [Mode] Add some extra validating of the mode selected to complete.

commit cf497e8685e806521c0f61922827687adce268c9
Author: Dave Davenport <qball@gmpclient.org>
Date:   Sun Jun 4 15:12:31 2023 +0200

    [Recursive browser] Make completer selectable.

commit 722f07a803c28a406d8a610f31a24b3f7247b9ba
Author: Dave Davenport <qball@gmpclient.org>
Date:   Sun Jun 4 14:36:14 2023 +0200

    Add methods for completer to modes.

commit 7972420c30275514751802d1ed517a45bbd83da1
Author: Qball Cow <qball@blame.services>
Date:   Thu Jun 1 21:56:06 2023 +0200

    Prepare updates for new APIs.

commit dd3035a1a61f8196d394f6867701a0e1b3af30ac
Author: Dave Davenport <qball@gmpclient.org>
Date:   Wed May 10 19:24:48 2023 +0200

    [RB] Fix regex and cleanups

commit 4d2941caf32dfb946aee54c467c1319c7a89804a
Author: Dave Davenport <qball@blame.services>
Date:   Wed May 10 18:09:54 2023 +0200

    [RB] Add (unfinished regex test)

commit 848277001fc8cf9afc538067f2afa24a174f8c7f
Author: Dave Davenport <qball@blame.services>
Date:   Wed May 10 17:49:16 2023 +0200

    [RB] Pull the scanning into a separate thread.

commit f369a7f63f618bbcad10c18e73f7e2b117c515f1
Author: Dave Davenport <qball@gmpclient.org>
Date:   Wed May 3 18:35:15 2023 +0200

    [Recursive File Browser] First test version.
2023-06-12 19:07:00 +02:00
Dave Davenport
21ac2d1930 [DRun] Add option to scan desktop directory for desktop files.
Squashed commit of the following:

commit ac12b66d86b36aaf349c15a5c8dab00a553a641f
Merge: 5c393fb4 98c213a6
Author: Dave Davenport <qball@gmpclient.org>
Date:   Sat Apr 22 21:48:24 2023 +0200

    Merge remote-tracking branch 'origin/next' into scan-desktop

commit 5c393fb4120e842d609e6d4366b1e0b822f66d7f
Author: Dave Davenport <qball@gmpclient.org>
Date:   Sat Apr 8 21:14:20 2023 +0200

    [DRun] Add option to scan desktop for desktop files
2023-04-22 21:50:20 +02:00
Dave Davenport
7328ac9802 [IconFetcher] Fix small memory leak. 2023-04-21 14:32:56 +02:00
Dave Davenport
b68f64ccee Small memory leaks fixed and other cleanups. 2023-04-21 12:50:55 +02:00
Dave Davenport
71570a92db [DMenu] Fix row initial tab if non-first column is shown first.
Issue: #1834
2023-04-12 20:24:09 +02:00
Dave Davenport
3446e88cb8 Remove unneeded test and extra enforcement of 0 terminated buffer 2023-03-27 11:52:27 +02:00
Dave Davenport
c1f63350f4 Fix to pointless or's. 2023-03-26 23:37:44 +02:00
Dave Davenport
bb5868199f Re-indent the code using clang-format 2023-03-26 13:19:58 +02:00
notuxic
c870d512ff
Add support for adding textbox widgets to listview elements (#1792)
* Add support for adding textbox-widgets to listview entries

* Add support for adding icons and buttons to listview elements
2023-03-05 11:17:25 +01:00
Dave Davenport
a5bd8bc630 [Textbox] cairo_save/restore does not store path.
Fix by moving cairo_move_to to after blink.
Also fix drawing outline.
2023-02-23 15:14:49 +01:00
Naïm Favier
f6248c6ea9
More Unicode normalization with -normalize-match (#1813)
Normalize the string to a fully decomposed form, then filter out mark/accent characters.
2023-02-16 19:34:24 +01:00
Dave Davenport
1b1aa37f20
#1802: Calc broken fix (#1803)
* [Theme] First move to double internal calculations.

* [Theme] Allow float numbers.

* [Theme] Fix unary - and tighten the grammar parser.

* [Theme] Rename % to modulo to fix compiler.

* [Theme] Dump right modulo syntax.

* [Test] add missing end_test

* [Grammar] Allow negative numbers as property value
2023-02-14 15:53:10 +01:00
Dave Davenport
ab1dfe7f61 [Dmenu] Small fix that disabled async mode when multi-select is enabled. 2023-02-11 18:53:31 +01:00
lbonn
fd764eb036 Wayland: fix NULL pointer access 2023-02-11 16:46:44 +01:00
lbonn
f8bec1453c Wayland: real fullscreen support
See #64
2023-02-11 00:12:21 +01:00
lbonn
93b2a1ad33 Fix redraw bug when changing window height
See #59
2023-02-10 22:39:05 +01:00
Dave Davenport
caa92637f1 [View] Fix wrong bitmask checking. (& not |) 2023-01-30 21:14:57 +01:00
Tim Pope
215e55408f
[Script] Strip pango markup when matching rows (#1795)
This is effectively the same fix that was made to DMenu in
a42e9f869f.
2023-01-29 21:30:36 +01:00
Dave Davenport
48e5478ceb [EntryHistory] Disable entry history when dmenu password is set. 2023-01-23 16:17:36 +01:00
Dave Davenport
6caece77d4
I785 (#1789)
* [Textbox] Add history to the entrybox.
* [Textbox] Add comments and move into sub functions.
* [doc] Add conflicting constraint section to manpage.
* [Script] Some small memory leak fixes.
* [Entry History] Add documentation.

fixes: #785
2023-01-22 17:25:17 +01:00
Dave Davenport
a20f8280a7 [Textbox] Replace 'space' with a space
Issue: #1784
2023-01-18 09:25:39 +01:00
vE5li
8155b2c476
draw text after cursor (#1777) 2023-01-16 18:59:37 +01:00
Dave Davenport
727d7c579d Update copyright dates. 2023-01-14 13:02:35 +01:00
Dave Davenport
82b2ce9435 [FileBrowser] Allow command to be overwritten 2023-01-11 00:21:53 +01:00
Dave Davenport
be4eeda3a5 [window] When no window title set, handle this more gracefully 2023-01-08 12:23:24 +01:00
Dave Davenport
9fda280be1 [DMenu|Script] Add per row urgent/active option.
Instead of having a global list of entries to highlight urgent/active,
you can now to it per row.
2023-01-08 12:10:40 +01:00
Dave Davenport
5a29565fc8 [filebrowser] Add option to return 1 on cancel.
Fixes: #1732
2023-01-06 11:54:43 +01:00
Dave Davenport
578cb391e4 [Helper] Quick fix for wrong dereference. 2022-12-31 14:37:56 +01:00
Dave Davenport
9143d291d4 [themes] don't use screenshot transparency in shipped themes 2022-12-31 00:23:48 +01:00
Dave Davenport
9da2c12c8a [IconFetcher] Fix for api change 2022-12-30 15:01:17 +01:00
Dave Davenport
d464822505 [Theme] support rasinc for theme include files. 2022-12-30 11:54:15 +01:00
Dave Davenport
d47b1515b5 [listview] Don't calculate infinite rows on empty height.
Issue: #1769
2022-12-29 18:41:51 +01:00
Dave Davenport
09b9039718 [Theme] Move some definitions header around for plugin. 2022-12-24 11:46:03 +01:00
Dave Davenport
3d73cf2554 [Textbox] Cursor goes over, not under. allow cursor outline. 2022-12-23 22:11:22 +01:00
Dave Davenport
0ff6ff21c3 [Textbox] Add text-outline to style 2022-12-23 13:38:09 +01:00
Aleksei Bavshin
42c6697a6b [WaylandWindow] Remove redundant icon fetcher query.
rofi_icon_fetcher is async, so we won't know which query succeeded on
the first try. All subsequent attempts use cached_icon_uid, and the
result of the first query will never be used.
Do the same as XCB window mode and request only lowercase app_id.
2022-11-27 02:02:49 +01:00
Aleksei Bavshin
2d6d3a2259 [WaylandWindow] Apply changes from b3c46d2:
Add format option to disable padding with space the "window-format" entries.
2022-11-27 02:02:49 +01:00
vE5li
23de9e9d2c
make cursor more customizable by adding cursor-width and cursor-color (#1753)
* make cursor more customizable by adding cursor-width and cursor-color to the theme

* fix placeholder color

* add doc entry

* more documentation
2022-11-25 10:28:34 +01:00
Dave Davenport
54aa148a5e [XIM] Fix an unitialized value problem. 2022-11-21 21:15:51 +01:00
Dave Davenport
d9935e594e [Doc] Fix some missing docu. 2022-11-19 21:50:34 +01:00
Dave Davenport
063195922f [DMenu] Add -ellipsize-mode option. 2022-11-19 21:03:22 +01:00
Dave Davenport
66d782e0e7 Move config.h
small updates

Tweak header a bit

[CI] Add lto build to sh ci.

[CI] Fix artifact upload

[CI] no wildcard for artifact
2022-11-19 20:35:52 +01:00
Dave Davenport
c6ba962673 [listview] Set ellipsize mode on creation of textbox
So if rows are added, they behave correctily.

Issue: #1746
2022-11-18 08:46:16 +01:00
Dave Davenport
c82754307c [Window] Fix reloading windowcd from xserver request 2022-11-17 12:03:01 +01:00
duarm
6d02648d3a
input method (#1735)
* input method draft

* restoring relese event

* using unused macro, removing debug code, handling disconnection

* review fixes, new update_im_window_pos method

* initializing variables correctly

* initializing im pos queue correctly

* ime window positioning

* add widget_get_y_pos() position

* [Build] Update makefile with imdkit

* [CI] Add imdkit as dependency.

* [XCB] rofi_view_paste don't throw warning, print debug.

* [XCB] rofi_view_paste lower 'failed to convert selection'

* [Build] Add minimum version check to imdkit

* new macro XCB_IMDKIT_1_0_3_LOWER

* [Build] Try to support old version of imdkit in meson/makefile.

* [Build] Fix typo in meson.build

* [XIM] Don't set use compound/set use utf8 when on old version.

* [Build] Allow building without imdkit.

* [Doc] Add imdkit to dependency list.

Co-authored-by: Dave Davenport <qball@gmpclient.org>
2022-11-08 19:18:45 +01:00
Dave Davenport
579902deff [Window] Make sure their is a trailing 0 on the workspace strings.
Issue: #1739
2022-11-02 20:15:38 +01:00
Dave Davenport
804eb908bd [FileBrowser] Bind kb-delete-entry to toggle show-hidden. 2022-10-31 21:28:17 +01:00
Dave Davenport
62ebb863ed [Textbox] Add a 'get_cursor_x_pos' function. 2022-10-27 22:22:11 +02:00
Dave Davenport
60fcbbb10e [Window] Small fixes to prefer-icon-theme option
Thanks to Kafva (https://github.com/Kafva) for the original patch.

Issue: #1702
2022-10-22 11:10:35 +02:00
Dave Davenport
96a69a54c3 [Window] Add -window-prefer-icon-theme option.
Fixes: #1702
2022-10-22 11:03:11 +02:00
waicool20
fd0ef6bc15 Fix for segfault after updating to KDE 5.26 2022-10-19 02:08:29 +02:00
Dave Davenport
baba41cbd2 [drun] Only pass path on launch, if one is set 2022-10-13 20:26:00 +02:00
Dimitris Triantafyllidis
c1a540c57e
[filebrowser] Add an option to show hidden files. (#1716)
Add an option to show hidden files by looking up the "show-hidden" filebrowser property and modifying the relevant logic in "filebrowser.c".

Co-authored-by: Dave Davenport <DaveDavenport@users.noreply.github.com>
2022-10-11 16:04:18 +02:00
lbonn
e861df39f2 Wayland: fix wayland-only build 2022-10-06 15:58:32 +02:00
lbonn
d44b81e778 Merge remote-tracking branch 'upstream/next' into wayland 2022-10-05 18:49:54 +02:00
lbonn
ce950c2ad8 Wayland: Fix incomplete merge/refactor of xcb display 2022-10-05 18:42:54 +02:00
lbonn
d19e8cfe10 Reformat xcb/display.c
To match xcb.c upstream (954fc728b2)
2022-10-05 18:18:35 +02:00
David Kosorin
b3c46d2d5a
Add format option to disable padding with space the "window-format" entries (#1715) 2022-10-03 19:13:22 +02:00
Dave Davenport
35d066efe2 [Script] Split mode string only once on :, allowing : in right part.
Issue: #1718
2022-10-03 16:58:45 +02:00
Dave Davenport
5185895643 [window] Check bitmask, not full comparison 2022-09-25 21:45:51 +02:00
Dave Davenport
5ae8fa5a3f [Keyb] Add a -list-keybindings command. 2022-09-18 20:28:38 +02:00
Dave Davenport
858d6c030c [listview] Add extra checks before resolving pointer.
Issue: #1703
2022-09-10 17:42:49 +02:00
Aleksei Bavshin
8995b575df [Window] window-match-fields support for Wayland window mode
The only supported fields are 'title' and 'app-id' ('class') due to a
Wayland protocol limitations.
2022-09-08 09:16:24 +02:00
Aleksei Bavshin
f8c97bab98 [Window] Formatting support for Wayland window mode
Use `window-format` to configure lines in the Wayland Window view.
Note that only `{t}` (title) and `{c}` (class) are supported on Wayland.
It is suggested to change the format string to `{c}    {t}`.
2022-09-08 09:16:24 +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
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
lbonn
7adf0be146 Fix CI 2022-08-24 00:36:27 +02:00
lbonn
f792680b48 Merge tag '1.7.5' into wayland 2022-08-24 00:14:11 +02:00
lbonn
4e833a4ec4 Merge tag '1.7.4' into wayland 2022-08-24 00:05:02 +02:00
lbonn
f2e08e7425 wayland: fix some compiler warnings 2022-08-24 00:03: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