Commit graph

739 commits

Author SHA1 Message Date
QC
9a39ebb3e9 Fix typo 2015-10-04 17:02:54 +02:00
Dave Davenport
6b039ac524 Add tokenize option and append * to glob. 2015-10-04 16:37:07 +02:00
QC
1369c162fe Remove debug 2015-10-02 22:24:49 +02:00
QC
5de38cd755 Add glob version for testing. 2015-10-02 20:39:57 +02:00
Tom Hinton
c2d8cb1f45 Move ascii testing gizmos to macros at the top.
Still not sure about best way to do this.
2015-10-02 09:58:56 +01:00
Tom Hinton
3ba2da9cae Fix mistakes from copy paste 2015-10-01 18:18:01 +01:00
Tom Hinton
d1a5b0d362 whoops, rogue print statement 2015-10-01 13:46:50 +01:00
Tom Hinton
0a953a03b4 Make fuzzy matching fast and unicode-happy 2015-10-01 13:45:23 +01:00
Tom Hinton
af6a4b83eb Make normal filtering of plain ASCII lines faster
This patch adds a field lines_not_ascii to the MenuState structure. The
nth entry is 0 unless the nth member of MenuState.lines has a non-ascii
codepoint in it.

All comparison functions (menu_match_cb type) take an additional
argument to tell them if the thing they are matching is not_ascii. They
can use this to determine whether to collate and case-fold the
input (for non-ascii strings), or whether to use strstr/strcasestr (for
ascii strings).

The change is not currently implemented for flex matching, due to my
laziness. However, it should be a simple enough matter to add.

For my large input of 400,000 lines, this reduces typical filtering time
to about ten microseconds from about 2 seconds.
2015-10-01 12:16:41 +01:00
Tom Hinton
574bf2da82 Make dmenu reading very marginally faster
A slight reduction in use of realloc and avoidance of 3 or 4 strlens for
a string we know the length of
2015-10-01 11:41:44 +01:00
QC
e3115be103 Fix test. remove debug output 2015-09-30 20:10:52 +02:00
Dave Davenport
2d167e21d7 Fix #237 add none style to separator style 2015-09-30 09:09:34 +02:00
Dave Davenport
aea2458575 Don't set context to get context. 2015-09-30 08:59:52 +02:00
Qball Cow
9b67838b56 Only cache successful run. (Thanks to Koppa nd daemoni) 2015-09-29 17:28:21 +02:00
QC
29360b20aa Parse name in textbox. 2015-09-28 21:41:58 +02:00
Dave Davenport
ca8ff80a5c Add bang support to combi 2015-09-28 18:19:10 +02:00
Dave Davenport
1a7d77db6e Make row colors paint over background instead of replace. 2015-09-28 08:24:01 +02:00
QC
536fd9822c re-order 2015-09-27 13:26:18 +02:00
QC
838c838d31 Try to fix #234 2015-09-27 12:57:54 +02:00
QC
6061e046de Get color type. 2015-09-27 11:46:19 +02:00
QC
eba2170241 hmm 2015-09-26 21:17:30 +02:00
QC
4b4004fce0 Remove unused. 2015-09-26 21:09:18 +02:00
QC
e8328beb2d Fix small leak 2015-09-26 21:06:36 +02:00
QC
8f1f03e6d2 Use cairo to do drawing. 2015-09-26 20:34:34 +02:00
QC
29e81fdb07 Make wrap an extra option for textbox 2015-09-23 20:44:24 +02:00
Dave Davenport
5cc695e186 Add markup flag for dmenu. 2015-09-22 22:23:52 +02:00
QC
023bb23bcf Support \0 2015-09-20 20:05:04 +02:00
QC
8083753700 Fix #177 Add known host parsing. 2015-09-20 16:58:34 +02:00
QC
fc2d65df0c Playing with atom 2015-09-20 11:45:28 +02:00
QC
31fe5759b8 More line fixing. 2015-09-19 21:00:06 +02:00
QC
b18d68eff2 Adjust new editor width 2015-09-19 12:57:48 +02:00
QC
442e235c24 Some cleanups, tweak uncrustify. 2015-09-19 12:21:30 +02:00
Dave Davenport
4c970fe4da Properly resize content when window is resized. 2015-09-17 17:32:51 +02:00
QC
558bb38630 Fix normal mode keyboard grab. 2015-09-16 21:01:40 +02:00
Dave Davenport
e53705de11 Fix scrolling on edges 2015-09-14 18:19:20 +02:00
Dave Davenport
ae043d5246 Allow dragging scrollbar. 2015-09-14 18:14:01 +02:00
Dave Davenport
a5c1eb1f1b Allow window mode to be disabled 2015-09-14 08:57:10 +02:00
QC
3374e1be9a Add support for startup-notification 2015-09-13 17:29:50 +02:00
QC
6b632cadbb Remove the keep line selected as it had weird side-effects when filtering 2015-09-13 16:28:54 +02:00
Dave Davenport
f443c56487 In normal mode set normal window window type hint. 2015-09-10 19:24:23 +02:00
QC
ec1f399e32 only allow normal mode in dmenu mode. 2015-09-09 20:01:19 +02:00
QC
1a23add631 Make redraw nice 2015-09-09 12:03:29 +02:00
QC
a0b491c962 React to focus in/out event 2015-09-09 12:00:28 +02:00
QC
93d10cc7c8 Add -normal-window mode for testing. 2015-09-09 11:47:51 +02:00
QC
79b1bdf2db Small cleanup 2015-09-08 22:58:34 +02:00
Dave Davenport
d2aad68bce Keep the line matched (if possible) when filtering. 2015-09-08 22:23:03 +02:00
Dave Davenport
13203c9de7 Refactor to make dmenu use Switcher, and make menu func use this. 2015-09-08 21:41:54 +02:00
Dave Davenport
ae26c13daf Allow switchers to run multiple times. 2015-09-07 19:10:44 +02:00
Dave Davenport
092a2c5037 Issue: #224 test version window current desktop
run: rofi -show windowcd -modi windowcd,window

Using ctrl-tab you can switch between two modes (all windows, or just current desktop).
2015-09-07 17:41:48 +02:00
Dave Davenport
ca602383f1 Fix 2 small memory leaks. 2015-09-07 08:31:01 +02:00
QC
80d148707a Don't overlay sb on textboxes. 2015-09-06 10:12:09 +02:00
QC
355ad8fe70 small cleanup 2015-09-05 19:04:36 +02:00
QC
e10aa09f74 Add hide scrollbar option. 2015-09-04 21:08:23 +02:00
Dave Davenport
465d027c1e Merge pull request #222 from DaveDavenport/scrollbar
Scrollbar
2015-09-04 20:58:39 +02:00
Dave Davenport
67091fa1a7 First calc size then draw handle. 2015-09-04 17:58:30 +02:00
Dave Davenport
1e4721b275 Add linemargin between handle and rows. 2015-09-04 17:55:54 +02:00
Dave Davenport
5031cdd228 Calculate size of handle for scrollbar better. 2015-09-04 14:52:57 +02:00
Thorsten Wißmann
8f0bf673ce First compute cmd_list length before passing it
In switcher_run(), first compute the cmd_list and in particular its
length before passing it to menu().

In C the evaluation order of parameters to a function call is
unspecified, see e.g. http://en.cppreference.com/w/c/language/eval_order
for some background. So it might happen (and indeed did happen on my
machine) that cmd_list_length (of value 0) is pushed to the stack before
sw->get_data() sets the variable to the actual length.
2015-09-04 13:00:17 +02:00
Dave Davenport
72ef9c014f Document doc, fix small drawing things in scrollbar 2015-09-04 08:42:09 +02:00
Dave Davenport
380697b895 scrollbar: Handle mouse clicks, fix width, remove border. 2015-09-04 08:26:57 +02:00
QC
d3481de3d6 Fix small 1 px. offset 2015-09-03 22:16:19 +02:00
Dave Davenport
4bbbecd17d Add scrollbar source code. 2015-09-03 22:12:20 +02:00
Dave Davenport
d16bf26bf8 Add initial scrollbar 2015-09-03 18:23:00 +02:00
Dave Davenport
2c45c02c7f Small cleanup. 2015-09-03 08:20:08 +02:00
QC
27f5c7413e cleanup. 2015-09-02 12:29:28 +02:00
QC
9d7518c7ab Add 10 more custom key binding. Issue: #218 2015-09-02 10:05:02 +02:00
QC
583e824726 Indent 2015-09-01 20:44:47 +02:00
Dave Davenport
29d0c109cb Add WINDOW_TYPE_DESKTOP to ignore list.
Issue: #215
2015-08-31 08:00:23 +02:00
Dave Davenport
5c618681c4 Add dialogs.h header. 2015-08-31 07:57:29 +02:00
QC
6c37c0d989 Do not refilter on cursor move 2015-08-29 23:02:30 +02:00
QC
9c53d0121d Move sigchld into signal handling thread. 2015-08-29 15:19:23 +02:00
QC
89dcb5be1e Remove unused function 2015-08-29 11:57:04 +02:00
Dave Davenport
3c91c8d6e0 Issue: #213 hide windows marked as type DOCK
Removes i3 hack.
2015-08-27 21:09:12 +02:00
Dave Davenport
b07a9fc904 Fix 1 pixel offset separator 2015-08-27 07:36:24 +02:00
Dave Davenport
353e82b27d Allow 0 line margin 2015-08-27 07:35:34 +02:00
QC
2277501566 Cleanup drawing a bit. 2015-08-26 21:49:53 +02:00
Dave Davenport
d9a9d2489a Add separator color and style option. 2015-08-26 18:11:53 +02:00
Thomas Adam
d676232846 NET_WM_DESKTOP: don't assume desktop zero is invalid
When checking the client's _NET_WM_DESKTOP state, if a client has a desktop
set, allow for desktop zero being valid; no need to add one to the result.
The specification allows for desktop zero.
2015-08-24 20:08:25 +02:00
QC
c170eae8c8 Issue: #207 add generic -filter mode. 2015-08-20 21:42:53 +02:00
Thorsten Wißmann
cf731b1504 Monitor -2 stands for the focused window
When setting rofi's monitor to -2, rofi is placed over the focused
window.
2015-08-17 18:32:17 +02:00
Dave Davenport
1ca7141621 Add quick solution for #202, expose line-margin setting. 2015-08-04 09:42:14 +02:00
QC
1590151c46 -row -t -selected-row 2015-08-02 21:25:02 +02:00
QC
dbf992d756 Fix -l as alias for -lines (in dmenu mode) rename -l to -row 2015-08-02 21:24:07 +02:00
QC
8ca3c276c9 Change -i mode to match dmenu. Bug #200 2015-08-02 16:44:03 +02:00
QC
5777ee57e5 Remove use of g_close, not available on travis 2015-08-02 15:56:52 +02:00
QC
c97d2979e5 Bug #200, add '-b' method. 2015-08-02 15:50:06 +02:00
QC
77e5541ba5 Bug #200 implement -m mode 2015-08-02 15:45:52 +02:00
Dave Davenport
34dee2a3eb Small moving and cleanups 2015-08-01 16:10:52 +02:00
Dave Davenport
dffc27e5aa Try to make things more robust, e.g. try to recover before giving up. 2015-07-31 12:23:41 +02:00
Dave Davenport
69c75971f3 Print error to stderr when fclose fails. 2015-07-31 10:21:32 +02:00
Dave Davenport
f8ed184415 Fix for #199, properly reset pointer to NULL after free'ing 2015-07-30 18:18:37 +02:00
Dave Davenport
8d6a78939c Small cleanup + fail more gracefull here and there 2015-07-30 08:57:09 +02:00
Dave Davenport
c0cb4df860 Small tweak to print 2015-07-29 18:16:06 +02:00
Dave Davenport
5cea640a34 Obey quiet a bit better, update manpage with signals 2015-07-29 17:55:26 +02:00
Dave Davenport
c68ab67dd8 Add some comments and cleanups, allow reeloading of keybindings at run-time 2015-07-29 09:37:40 +02:00
QC
681bd5bcbb Updates 2015-07-28 23:08:12 +02:00
Dave Davenport
93c01ccbd5 Add new event handling 2015-07-28 22:22:18 +02:00
QC
b3a77589eb Fix makefile indent 2015-07-28 22:14:21 +02:00
QC
979a63d242 Fix not clearing of pointer after free-ing it. 2015-07-27 23:24:38 +02:00
QC
70f4f3d119 Remove HUP signal handler as it is incorrect. #193, to be re-added later 2015-07-27 21:20:06 +02:00
Dave Davenport
c25396d50b Use calculated top offset for arrow_down.
Fixes: #189
2015-07-24 17:00:59 +02:00
Dave Davenport
fa5c36835d Allow escape to quit in no-custom mode 2015-07-23 18:19:20 +02:00
Dave Davenport
4d0e04614a Fix more mouse handling. (click on modi switcher) 2015-07-22 09:09:16 +02:00
QC
b75b60fa99 Remove debug printf 2015-07-19 10:11:55 +02:00
QC
09bc6017ee Fix double click in gui 2015-07-19 10:02:20 +02:00
QC
36c9746d69 Fix modifier 2015-07-13 20:52:35 +02:00
Dave Davenport
d27b8a21e9 Undo commit of sorting changes, did not want to apply this yet. 2015-07-10 21:33:26 +02:00
QC
d549659f1e Use right modifier 2015-07-09 20:44:12 +02:00
QC
1de8d448f7 Make color parsing more robust, report failing of parsing color.
Involves: #181
2015-07-07 21:51:15 +02:00
Dave Davenport
b3bc620211 Fix window matching. 2015-07-06 12:30:15 +02:00
QC
f88cfacfde Replace all qsorts. 2015-07-05 09:47:55 +02:00
QC
dc356d81c4 Use glib qsort as qsort is not portable. 2015-07-05 09:37:35 +02:00
QC
9b83c6133f Fix typo (thx to jpleau) 2015-07-04 19:58:17 +02:00
QC
5c9ad80758 Trying 2nd bsd patch 2015-07-04 16:53:36 +02:00
QC
d60f6701de Add patches from BSD (hopefully ok?) 2015-07-04 15:36:11 +02:00
Dave Davenport
98b8e583cb Make fuzzy matching available everywhere: #133 (-fuzzy) 2015-07-01 09:12:22 +02:00
Dave Davenport
c7ed92e40c Use tokenmatch in window_match. 2015-07-01 09:02:25 +02:00
QC
aaf9e1e345 Free in right order 2015-06-30 21:18:45 +02:00
Dave Davenport
30743d1789 Move fuzzy_token_match to where it can be reused. 2015-06-28 13:53:37 +02:00
QC
67089677b5 Fix naming 2015-06-27 22:38:06 +02:00
Dave Davenport
9977d7ef69 Fix fuzzy match to continue at next character. #133 2015-06-25 02:54:00 +02:00
QC
bcbb64f615 Don't do unneeded compares 2015-06-24 21:28:13 +02:00
QC
db1331ed66 Test implementation for #133. 2015-06-23 21:22:38 +02:00
QC
ce73f468ca Possible fix for #179 2015-06-20 15:11:30 +02:00
Dave Davenport
90eb18b3c0 Make 'all?' keys user configurable.
Fixes #66
2015-06-15 09:01:22 +02:00
Dave Davenport
25633ca4dc Issue #66, allow keybindings for navigation to be changed.
up,down,left,right
2015-06-15 08:48:13 +02:00
Dave Davenport
6c9a493b56 [SSH] Ignore comments in the Host: line.
Fixes #178
2015-06-14 14:37:53 +02:00
QC
bd9f4ebf07 More dmenu fixes (shift -enter on custom) 2015-06-11 21:20:09 +02:00
QC
a811011a1d Fix dmenu mode. 2015-06-11 21:07:25 +02:00
QC
d11c61cef1 Fixes #176 add mode that user expects. 2015-06-11 20:38:48 +02:00
Dave Davenport
1a188af2e9 Add markup support to error msg. 2015-06-08 23:23:33 +02:00
Qball Cow
00ffa9f148 Move comment to right place 2015-06-09 18:14:09 +02:00
Qball Cow
e5caaf9d1a Possible fix issue #175 2015-06-09 18:10:23 +02:00
QC
95beb58730 tiny cleanup 2015-06-05 23:08:02 +02:00
Dave Davenport
e517001d39 Fix ellip. in entry box, wrap message box. 2015-06-03 09:04:29 +02:00
Dave Davenport
e8adc8042d Add a -no-config option to run rofi stock. 2015-05-31 09:46:39 +02:00
QC
34538cefaf Try to fix (suddenly) broke font height estimation. 2015-05-26 23:58:37 +02:00
QC
d312090701 Issue #168: Add note about pkg-config and update packages. 2015-05-25 10:31:10 +02:00
Buglloc
861d752c01 Ignores bits 13 and 14 of the modifiers while checking keybinding states 2015-05-23 23:29:17 +02:00
QC
a93aec02bd Add support for msg string with pango markup. 2015-05-23 20:06:06 +02:00
Dave Davenport
0e7009bcad Test fix for issue #167 2015-05-21 23:53:28 +02:00
Qball Cow
09e4a64780 fix issue #165 2015-05-19 19:59:50 +02:00
QC
300234611d First fix for #164 2015-05-18 22:38:51 +02:00
QC
1a7cddc8aa Fix for faulty commit on Issue: #163 2015-05-17 11:57:51 +02:00
QC
354ccdd94d Fix Issue #164 2015-05-16 13:58:09 +02:00
QC
571aca9834 Fix: #163 2015-05-15 15:44:43 +02:00
QC
14c50132c8 more small cleanups 2015-05-14 19:45:57 +02:00
QC
652a6ed7d2 Fix clang-tidy warnings. 2015-05-14 19:39:30 +02:00
Dave Davenport
22f35983c0 Add quote and escape string option. 2015-05-13 18:36:16 +02:00
Dave Davenport
8abf3335dc Remove silly test. 2015-05-12 21:59:51 +02:00
Dave Davenport
4d7b5a02d6 Cleanup and add d format 2015-05-11 23:20:34 +02:00
QC
9307a1668e Add -format option to dmenu. 2015-05-10 12:08:08 +02:00
QC
4d3b9e414d Small cleanup 2015-05-09 14:17:27 +02:00
Dave Davenport
89d2190f8e [#158] Patch implementing -only-match mode. 2015-05-07 21:07:15 +02:00
Dave Davenport
94c9303d89 Fix issue #160. Return selected line. 2015-05-06 08:03:10 +02:00
QC
13eee4571c Allow alt-1t/m9 be re-bound. 2015-05-05 19:30:43 +02:00
QC
a32bd61fea DMENU special return value starts at 10. Issue: #154 2015-05-04 10:37:50 +02:00
QC
8d4e1ee8fa Rasi patch, allowing special keys, modifying return value.
In dmenu pressing alt-[1-9 will return the selected entry and set the return value to the
        pressed number.
2015-05-03 13:04:03 +02:00
QC
a974db887a Fix issue #153. 2015-05-02 12:42:36 +02:00
QC
9492fe7611 Cleanup keyb.h file. 2015-05-02 12:22:31 +02:00
QC
493801602a Fix printing table 2015-05-02 12:08:50 +02:00
QC
d2eeffe2d9 Issue: #131 Prepend keybinding names with "kb-" 2015-05-02 12:01:06 +02:00
QC
61fc9e8310 Finish adding all different keybindings. Issue: #131 2015-05-02 11:53:27 +02:00
Dave Davenport
1abb06f23b Fix out of order of enum. (needs better solution.) 2015-05-01 23:44:32 +02:00
Dave Davenport
e8d6e8f829 Move more items to keybinding system. 2015-05-01 08:16:52 +02:00
QC
073836f142 First version of keybindings (#131) 2015-04-30 22:46:51 +02:00
QC
09d2be260b Allow keybindings to be set. 2015-04-30 22:42:04 +02:00
Dave Davenport
a70404f128 First part of infrastructure for Issue: #131 customizable keybindings. 2015-04-30 21:52:30 +02:00
Qball Cow
bee103aea8 Improvement of situation for Issue #153. 2015-04-30 17:13:17 +02:00
Dave Davenport
0b7fe775ca Support combined characters. 2015-04-23 22:14:31 +02:00
QC
9bb51a9b35 Support -no-levenshtein-sort 2015-04-19 13:19:20 +02:00
QC
99118420ea Support Levenshtein in dmenu.i #149 2015-04-16 21:13:45 +02:00
Dave Davenport
f64395e4e9 Remove unused code 2015-04-15 22:41:50 +02:00
QC
a38ddb3b06 Fix space. 2015-04-14 22:12:21 +02:00
QC
c1a8735e24 Re-enable background/foreground. Make theming method an option. 2015-04-11 12:04:14 +02:00
Qball Cow
f72629a370 Remove printf. 2015-04-07 10:45:04 +02:00
Dave Davenport
82b37eef10 Add right visual. 2015-04-07 08:25:09 +02:00
QC
2590ecf7e5 ADd new coloring scheme. 2015-04-06 17:13:26 +02:00
QC
95fd6402f3 Free all colors. 2015-04-06 15:28:06 +02:00
QC
39518b0e15 Add more user-colors. 2015-04-06 15:23:58 +02:00
Jason Pleau
6f2c284f37 alias --help to -h/-help
Right now running rofi --help puts it in daemon mode, which can be
confusing for the user. Options in rofi use one dash instead of two, but
I believe an exception should be made for --help.
2015-04-05 17:38:22 -04:00
QC
91fcc76cb2 Help users that do not pass the read-the-manual stage. 2015-04-05 22:29:26 +02:00
QC
5e4cf732e6 Fix issue #142, pass -M <root> instead of full path. 2015-04-05 21:16:27 +02:00
QC
c9707b4c1b Leave out unmap hack for now. 2015-04-05 14:52:01 +02:00
QC
9b415e60a0 Fix crasher with fixed-lines off and 0 visible rows 2015-04-05 13:36:39 +02:00
QC
d6ced176d4 Add ranges for urgent active in dmenu mode. 2015-04-05 11:53:08 +02:00
QC
808eee4b85 Try to improve coloring of urgent/active rows that are selected. 2015-04-05 10:40:35 +02:00
QC
8cc553ebaf Fix issue: #140: Align cursor with font. 2015-04-05 10:23:59 +02:00
QC
71cfb6d553 Allow urgent/active color to be set, add dmenu option -u/-a to highlight row. 2015-04-04 11:10:41 +02:00
QC
f2c4aff37c Add active/urgent color. 2015-04-03 18:40:07 +02:00
QC
957ffe5fcf Check WMHints for urgent hint 2015-04-03 18:01:03 +02:00
Dave Davenport
0ab7aa4bba Add italic support and use it for windows that demand attention (working?) 2015-04-02 22:23:17 +02:00
Dave Davenport
0d87cf12a3 Add combi viewer, where (selected) modi can be combined.
- Add active window highlighter.
2015-03-31 22:45:02 +02:00
QC
cf423fb2aa Remove printf 2015-03-30 20:23:41 +02:00
QC
42ae0a5871 Indent combi.c 2015-03-30 20:13:47 +02:00
QC
9ff5a615e9 Add combi viewer.
Use by adding combi to the list of enabled modi.
2015-03-30 20:12:22 +02:00
QC
55160c6eff Issue: #137, Parse /etc/hosts file. 2015-03-29 12:27:00 +02:00
QC
888260b06b Small cleanup 2015-03-27 20:50:48 +01:00
QC
f5c8c3a55d Do not release keyboard when switching between switchers. 2015-03-27 20:33:25 +01:00
QC
b21368c005 OO-ify the Switchers. 2015-03-27 20:28:53 +01:00