498 Commits

Author SHA1 Message Date
81e9d6ca1f run-{shell-,}command: expand {app_id} inside the template string 2025-06-03 03:42:43 +00:00
lbonn
5596ecaca4 Merge tag '1.7.9' into wayland 2025-05-18 20:03:28 +02:00
Amos Bird
b35f516556 Add -imdkit config to toggle imdkit at runtime (#2124) 2025-04-26 16:16:51 +02:00
Qball Cow
8639783f5f [XCB] Don't keep casting from int to double to int 2025-02-20 10:08:35 +01:00
Qball Cow
5d77a9bb33 [Helper] Add a rofi_fallthrough macro to tell compiler fallthrough is intentional 2025-02-20 09:59:53 +01:00
Qball
47053f30d2 [View] xcb_clear_area fixed wrong argument order. 2025-02-18 21:15:14 +01:00
lbonn
cebb0fd1a7 Merge remote-tracking branch 'upstream/next' into wayland 2025-02-13 09:35:15 +01:00
Dave Davenport
88456b6adc [WIP] [View] Allow cycling through matching methods (#2091)
* [View] Allow cycling through matching methods

* [Doc] Fix documentation and test for keybindings

* [Helper] Allow selecting different matching modes for cycling at runtime.

* [View] Fix bool to gboolean

* [Doc] Small type fix, theme cleanup

* [Overlay] Make timeout configurable.

* [Helper] Reduce scope of variable.
2025-02-09 17:34:57 +01:00
phanium
0c3cbd0cfb feat: add smartcase support like vim (#2060) 2025-01-27 17:52:32 +01:00
giomatfois62
bc67d8a8a6 [WIP] Execute custom user commands or scripts on a variety of rofi events (#2053)
* Implemented custom user command execution on the following menu events: entry selected, entry accepted, menu canceled, menu error, mode changed, screenshot taken

* fixed different signedness comparison warning and compare unfiltered entry index in selection_changed_user_callback

* track previously selected line in RofiViewState

* added documentation about custom scripts to run on certain actions

---------

Co-authored-by: Matteo <giomatfois62@yahoo.it>
2025-01-24 11:19:48 +01:00
lbonn
57c53bdc16 Merge tag '1.7.7' into wayland 2025-01-05 14:01:24 +01:00
Qball Cow
f9491690fd Use FALSE instead of false. 2024-12-29 15:10:47 +01:00
lbonn
2baa809d8a Merge remote-tracking branch 'upstream/next' into wayland 2024-11-06 18:51:32 +01:00
Dave Davenport
9d785b5ce1 Add -Wshadow to build system. (#2042)
* Add -Wshadow to build system.

Issue: #2036

* Take out unintended change

* [Icon] Add more descriptive variable name.
2024-10-20 12:54:13 +02:00
Dave Davenport
8f06e0a370 #1995: Disable history in password mode, move disabling into create_view. 2024-07-07 20:34:24 +02:00
giomatfois62
75ae2a41f0 [WIP] xdg thumbnails fetching with fallback on mimetype icons (#1939)
* implemented xdg thumbnails fetching with fallback on mimetype icons for menu entries in filebrowser mode

* included original license text

* added md5 header and source file

* implemented xdg compatible thumbnail's creation

* added -preview-cmd string option to program settings

* support custom command to create images for entries with thumbnail:// prefix

* fix custom thumbnailer command crash caused by null uri when entry is not a valid filename

* check entry_name is not NULL or empty when generating thumbnails;
use snprintf to avoid static analyzer complains

* avoid using gstrvbuilder to build thumbnailer command args

* fixed static analyzer complain about always wrong condition

* use g_spawn_check_exit_status to avoid bump to glib 2.70

* removed md5-c dependency and use glib checksum implementation

* fixed meson build after md5-c library removal

* support thumbnail generation in recursivebrowser mode

* restored check rofi_icon_fetcher_file_is_image

* create thumbnail directories if not existing

* use g_malloc0, g_strdup and g_strdup_printf

* fixed formatting with clang-format

* don't wait for jobs in execution when finalizing the icon fetcher worker threadpool

* destroy and rebuild the icon fetcher worker threadpool when the current page is changed

* added query_started boolean member to IconFetcherEntry;
check if an icon fetcher query was started on an IconFetcherEntry and submit the query again otherwise

* force icon cache lookup even if the item has a valid icon_fetch_uid (the fetching job could have been discarded before starting)

* search binaries in PATH when executing thumbnailer command

* mark icon query as not started in threadpool item free_func

* added listview page_changed_callback; rebuild icon fetcher threadpool in page_changed_callback

* [listview] Add missing code documentation param

* Create rofi-thumbnails.5.markdown

* Updated documentation with apparmor issues and workaround

* [Doc] Ship rofi-thumbnails.5

With some formatting fixes

* use a more compact thumbnailer example

---------

Co-authored-by: giomatfois62 <giomatfois62@yahoo.it>
Co-authored-by: Dave Davenport <DaveDavenport@users.noreply.github.com>
Co-authored-by: lbonn <github@lbonnans.net>
2024-06-21 18:47:38 +02:00
Istvan Petres
5133f50f30 Add -transient-window mode (#1988)
* Add -transient-window mode

This will add a new mode for the rofi window so when you run it with
-transient-window

instead of
-normal-window

it will get the currently focused window and then use that as the parent window and set itself as transient of that window.  It is useful so that when you  use a keyboard shortcut to start rofi it will always popup on the window you are working on and so it doesn't make you refocus/move your head on large monitors :)

* Fixed other windows to be focusable in transient mode

and added print_help_msg for this new -transient-window option.

* Added -transient-window option to doc too
2024-06-09 18:57:29 +02:00
lbonn
51dec9d65b Merge remote-tracking branch 'upstream/next' into wayland 2024-05-04 12:29:49 +02:00
Dave Davenport
af6fb83a51 [View] Work around GThreadPool 1 pointer bug.
* Also fix typo in icon fetcher.
2024-03-08 09:38:15 +01:00
lbonn
d8ba203f6e [Wayland] Handle clipboard pasting more securely
Only receive clipboard offers when pasting instead of storing the data
indefinitely.

This is also more performant by default as it is not doing unnecessary
work.
2024-03-06 10:19:24 +01:00
Dave Davenport
8061e4e7c2 Add an item-free method to the thread-pool 2024-03-01 15:28:48 +01:00
lbonn
54a2c45120 Merge remote-tracking branch 'upstream/next' into wayland 2024-02-27 13:29:54 +01:00
Qball Cow
2bbaa36b7a Fix some compiler warnings. 2024-02-25 23:33:22 +01:00
Qball Cow
058aac887f Small indent 2024-02-25 22:24:58 +01:00
lbonn
070c830a92 Merge remote-tracking branch 'upstream/next' into wayland 2024-02-16 17:54:10 +01:00
Dave Davenport
3a5f95d69e [View] Don't use xcb surface to render to png, but create surface. 2024-02-16 13:36:21 +01:00
Qball Cow
13c2a61766 [ThreadPool] Sort items in the queue based on priority 2024-02-11 14:00:03 +01:00
Qball Cow
11d801ea9e [View] On mode switch force refilter instead of queuing.
issue: #1928
2023-12-17 17:26:34 +01:00
Dave Davenport
d042e20fff [View] Allow float delay
fixes: #1926
2023-12-08 13:51:04 +01:00
MoetaYuko
36621af0e4 [IconFetcher] Re-introduce icon scaling on wayland
This time, preserving ABI compatibility with upstream rofi

Fixes #96
2023-11-30 16:49:47 +01:00
lbonn
102e6de7a9 Revert "[IconFetcher] Apply scaling when loading images and icons"
This reverts commit 2c0fcf9da9.
2023-11-30 16:49:47 +01:00
Dave Davenport
b43a82f86d [View] Always forward motion to the grabbed widget first. 2023-11-24 12:26:24 +01: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
MoetaYuko
2c0fcf9da9 [IconFetcher] Apply scaling when loading images and icons
Partially fixes #45
2023-07-23 14:10:10 +02:00
Qball Cow
a5301b35ad Remove unused variable. 2023-06-29 23:59:25 +02:00
Dave Davenport
47f37f2bbc [Doc] Fix some missing/wrong doxygen headers. 2023-06-12 19:40:25 +02:00
Dave Davenport
b68f64ccee Small memory leaks fixed and other cleanups. 2023-04-21 12:50:55 +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
caa92637f1 [View] Fix wrong bitmask checking. (& not |) 2023-01-30 21:14:57 +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
727d7c579d Update copyright dates. 2023-01-14 13:02:35 +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
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
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