Commit graph

726 commits

Author SHA1 Message Date
Dave Davenport
fa51aeb484 More splitting and abstracting. 2016-01-07 21:27:20 +01:00
Dave Davenport
e8daff0f6a First cleanup steps. 2016-01-07 19:47:37 +01:00
Dave Davenport
51b5511017 More doxygen sugar. 2016-01-07 16:01:56 +01:00
Dave Davenport
b59552003e More doxygen sugar 2016-01-07 13:32:33 +01:00
Dave Davenport
70dd6e2cef Replace code we should never hit by an assert, as it should be. 2016-01-05 21:46:05 +01:00
Dave Davenport
d661a515f0 Make levenshtein sort utf8 aware and obey case sensitive setting.
- Add tests.
        - Use Glibs unichar for comparison.
2016-01-04 17:18:49 +01:00
Dave Davenport
41bd981b38 Initialize Xrm only once. 2016-01-04 07:59:30 +01:00
Jasper Lievisse Adriaanse
b2bc07e51d Fix a crash due to overlapping arguments of memcpy(3).
As the use of memcpy(3) on overlapping memory regions is strictly undefined,
OpenBSD's memcpy(3) triggers an abort in such cases.
2016-01-03 21:20:24 +01:00
Jasper Lievisse Adriaanse
043a67d062 Workaround lack of sigwaitinfo() on OpenBSD. 2016-01-03 20:49:13 +01:00
Dave Davenport
bd3d472bec Add optional config file that overrides local Xresources
Rofi will look at XDG_CONFIG_USER_DIR/rofi/config and load this after the Xresources db on DISPLAY.
This can be overridden using the -config commandline option.
The file should be in the same format as the Xresources file.
2016-01-03 13:30:43 +01:00
Dave Davenport
5a3c202423 Update copyright 2016-01-01 00:27:00 +01:00
Dave Davenport
745f9f3c62 Add screenshot test 2015-12-31 21:55:15 +01:00
Dave Davenport
38fabb6b1b Issue #303: Create one pango context from xlib surface
- Create one pango context and set font options from main xlib surface
        - Set font type on global pango context.
        - Use CAIRO_OPERATOR_OVER for drawing text (otherwise subpixel rendering is not done).
2015-12-28 11:27:27 +01:00
Dave Davenport
8b82787df6 Fix possible issue with uninitialized data 2015-12-21 23:14:56 +01:00
Dave Davenport
6760453d80 Reduce scope of index variable 2015-12-21 20:27:20 +01:00
Dave Davenport
06f9fee3f8 Add indicator for sorting/case sensitive. 2015-12-14 21:02:36 +01:00
Dave Davenport
2d354b3b3f Re-indent 2015-12-13 19:21:06 +01:00
Dave Davenport
97fa0cc61d Add option to set scrollbar width 2015-12-13 13:51:59 +01:00
Dave Davenport
f3c22c50e4 Add sorting switch: Issue: #298 2015-12-13 11:52:40 +01:00
Dave Davenport
bae5427913 Add option to output to specific file. 2015-12-10 20:57:43 +01:00
Dave Davenport
8ed31cab7e Add option to dump color scheme. 2015-12-10 18:20:04 +01:00
Dave Davenport
bb39372dd3 Remove : from filename, it makes scp stupid 2015-12-10 18:00:26 +01:00
Martijn Koedam
61738f881f Indent + ChangeLog 2015-12-09 08:58:24 +01:00
Dave Davenport
98de9b554f Add screenshot keybinding. 2015-12-09 08:51:40 +01:00
Dave Davenport
c4f3cbd2b1 Tweak selected row color. #293 2015-12-04 23:57:08 +01:00
Dave Davenport
273d09ba1a Fix crasher on empty list 2015-12-04 22:01:32 +01:00
Dave Davenport
d2d95d2d4b Get the right next position from line map. 2015-12-04 21:53:18 +01:00
Dave Davenport
f3897b2a60 Fake background should only be done once every run.
Not on every re-run, as you will capture old rofi window.
2015-11-30 10:15:53 +01:00
Dave Davenport
3c411433b4 Big rename from Switcher to Mode internal, to match with user terminology 2015-11-25 09:26:38 +01:00
Dave Davenport
627643281d Fix ; in macro. 2015-11-24 22:53:40 +01:00
Dave Davenport
d1591273e7 Cleanups, rename and document. 2015-11-24 22:02:30 +01:00
Dave Davenport
00a555b685 Create more consistent ordering of arguments 2015-11-24 14:22:35 +01:00
Dave Davenport
fa2bcd778c Fix for complete issue #273.
- Add complete handler.
2015-11-24 13:59:35 +01:00
Dave Davenport
cbba58914f Some cleanups and re-ordering of parameters to be consistent. 2015-11-23 22:15:27 +01:00
Qball Cow
596c92c814 Only add modmask if not numlock. 2015-11-23 14:10:07 +01:00
Dave Davenport
65dd080154 Undo last commit, seems to be unneeded 2015-11-22 21:10:39 +01:00
Dave Davenport
5e05472619 Set LC_CTYPE and LC_COLLATE instead of LC_ALL 2015-11-22 20:55:48 +01:00
Dave Davenport
4510f65d5a textbox: advance cursor correctly for multi-char input
Thanks to eigengrau
fixes: #280
2015-11-22 20:41:45 +01:00
Sebastian Reuße
77617a97ec Initialize locale upon startup.
It seems that Xlib input contexts assume a C locale when the locale
hasn’t been initialized from the environment before the input context
is created. Inter alia, this will lead to Xlib reading the .XCompose
definition file as ISO-8859-1, which will result in mojibake when
composing characters in a UTF-8 environment (cf. #268).
2015-11-22 15:41:56 +01:00
Dave Davenport
8c9b72f34e Start at fixing Issue 273, this might break some things.
* Only use get_display_data for displaying. (Except the select complete (ctrl-space), this needs fixing).
 * Fix possible race condition in parallelization.
 * Fix small bug in case-sensitive handling. (beware for collision in keybinding)
 * Keep less lists around.
2015-11-21 23:59:59 +01:00
Dave Davenport
66bd837c9e Second cleanup in the fix to #268 2015-11-20 22:00:37 +01:00
Dave Davenport
266ee5efb7 Hopefully fix for #268 2015-11-20 20:53:27 +01:00
Qball Cow
1bd231bc3d Fix issue #275: don't try to do move cursor when nothing is shown. 2015-11-20 11:43:22 +01:00
Dave Davenport
ca5ea414c8 Issue #268 Repair combined key input 'e --> é 2015-11-20 08:19:48 +01:00
Dave Davenport
aeaceb154a Add experimental regex support 2015-11-17 16:10:14 +01:00
Dave Davenport
b70421e75b Remove duplicate code. 2015-11-16 08:17:30 +01:00
Dave Davenport
238a34162a Try to fix crasher on mixing glib free and free. 2015-11-15 13:12:43 +01:00
Dave Davenport
2eaffceada Fix printing. 2015-11-14 19:59:56 +01:00
Dave Davenport
64eb7851e1 Small cleanup 2015-11-14 19:52:15 +01:00
Dave Davenport
56e85d0f5a Cleanup. 2015-11-14 19:42:43 +01:00
Dave Davenport
b9d1fe6635 Small updates 2015-11-14 18:57:21 +01:00
Dave Davenport
80e873c8a3 Add threadpool support, add optional timings compile flag 2015-11-14 13:47:45 +01:00
Qball Cow
c7dcb4821a Use getdelim instead of custom fgets function. 2015-11-12 14:15:33 +01:00
Dave Davenport
880f8731be Fix crasher on small lists.. we need atleast 1 thread to do work! 2015-11-11 22:46:01 +01:00
Dave Davenport
0fe524d0cd Add threading support. 2015-11-12 00:18:43 +01:00
Qball Cow
aedd26aef4 Fix #258: Set fallback alternative color before trying to allocate it. 2015-11-04 12:03:59 +01:00
Dave Davenport
6f404ddc8e Initial import desktop file runner. 2015-11-03 08:31:38 +01:00
Dave Davenport
d01afc5303 Add xdg-terminal to list 2015-11-01 12:28:55 +01:00
Dave Davenport
46f9073f7e Fix #251 : Don't iterate over nil list. 2015-10-29 21:30:03 +01:00
QC
10292b08cb Fix: 250 Fixing message. 2015-10-26 20:13:15 +01:00
QC
de1f7a11aa Merge remote-tracking branch 'origin/Transparency' 2015-10-21 20:42:40 +02:00
Dave Davenport
bc2b532a51 Add dmenu options to -h 2015-10-21 18:58:01 +02:00
Dave Davenport
d21ba860f0 Add main application options to -h 2015-10-21 09:42:55 +02:00
Qball Cow
b4880b3601 Small tweak. 2015-10-20 18:58:03 +02:00
Qball Cow
f52e73a4f2 Only store the monitor we are currently displayed on 2015-10-20 18:51:29 +02:00
Qball Cow
a7c7cf8159 Add fake transparency 2015-10-20 18:41:45 +02:00
Dave Davenport
64cb4c781c Fix some compiler warnings 2015-10-19 09:23:06 +02:00
QC
683632c36c Some cleanups 2015-10-18 19:02:19 +02:00
QC
93b6b83fb9 Try todo some validation of monitor size/padding in config sanity check. 2015-10-18 13:40:39 +02:00
QC
0818fbd68b Add fullscreen mode and fix some redrawing issues. 2015-10-16 20:51:37 +02:00
Dave Davenport
291d1ed16c Update rofi -h output 2015-10-16 08:42:01 +02:00
QC
fdc86399cf Revert "Remove levenshtein"
Adding help list.

This reverts commit 77cdc8d7c4.
2015-10-15 22:33:44 +02:00
Dave Davenport
4975704a05 Fix #244 Do not catch sigchld, let glib handle this internally
- TODO fix man page viewing.
2015-10-12 08:12:25 +02:00
Dave Davenport
cc6bf27ccb Merge branch 'master' of github:DaveDavenport/rofi 2015-10-11 13:43:32 +02:00
QC
2898eeda88 Cache colors. 2015-10-10 14:15:27 +02:00
QC
b0ceccb93e Use cairo for all drawing, also borders 2015-10-10 13:03:11 +02:00
Tom Hinton
a53061b890 Merge remote-tracking branch 'upstream/master' into fast-ascii-filtering
Conflicts:
	source/dialogs/dmenu.c
	source/helper.c
	source/rofi.c
2015-10-05 10:44:11 +01:00
QC
77cdc8d7c4 Remove levenshtein 2015-10-04 20:14:08 +02: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
Dave Davenport
2d167e21d7 Fix #237 add none style to separator style 2015-09-30 09:09:34 +02:00
QC
29360b20aa Parse name in textbox. 2015-09-28 21:41:58 +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
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
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
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
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
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
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
b07a9fc904 Fix 1 pixel offset separator 2015-08-27 07:36:24 +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
QC
c170eae8c8 Issue: #207 add generic -filter mode. 2015-08-20 21:42:53 +02:00
Dave Davenport
1ca7141621 Add quick solution for #202, expose line-margin setting. 2015-08-04 09:42:14 +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
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
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
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
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
dc356d81c4 Use glib qsort as qsort is not portable. 2015-07-05 09:37:35 +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
1a188af2e9 Add markup support to error msg. 2015-06-08 23:23:33 +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
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
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
61fc9e8310 Finish adding all different keybindings. Issue: #131 2015-05-02 11:53:27 +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
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
2590ecf7e5 ADd new coloring scheme. 2015-04-06 17:13:26 +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
9b415e60a0 Fix crasher with fixed-lines off and 0 visible rows 2015-04-05 13:36:39 +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
9ff5a615e9 Add combi viewer.
Use by adding combi to the list of enabled modi.
2015-03-30 20:12:22 +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
Dave Davenport
f52b697dd4 Remove double names. 2015-03-25 08:36:19 +01:00
Dave Davenport
953fcf9ee8 Reduce work on redraws.
- Do not set text on each draw.
        - Do not move/resize on each draw.
        - Update pango layout set width to set when only needed, fix bug in shrinking on autosize.
2015-03-23 08:56:55 +01:00
QC
7c6699169e Tweak layout a bit 2015-03-22 12:56:26 +01:00
QC
b36452cc40 Fix padding switcher boxes to match columns 2015-03-21 19:23:55 +01:00
Dave Davenport
d290285a9f Fix rendering of boxes (margin and height) 2015-03-20 16:07:30 +01:00
QC
3df30438b1 Fix some font stuff. 2015-03-19 23:48:49 +01:00
Dave Davenport
21144aef17 Fix one-off pasting text in rofi. 2015-03-19 20:01:52 +01:00
Dave Davenport
9530f195d1 Better way of getting font height. Use ascent and descent. 2015-03-19 19:58:47 +01:00
QC
743f1919cd Autoscale when drawing the number of columns and col width. 2015-03-18 20:56:50 +01:00
QC
4dd0a85fc4 Update header. 2015-03-17 20:05:37 +01:00
QC
916e7356fe Try to fix mountains__ function. 2015-03-15 11:51:48 +01:00
Dave Davenport
4579a62b2d Add ctrl-(shift)-tab for switching modi. 2015-03-12 17:57:00 +01:00
Dave Davenport
4fad02225e Cleanup argc/argv lugging around. 2015-03-11 18:32:37 +01:00
Dave Davenport
c89a272d4d Add number mode for dmenu (Request from Taharqa)
* option -i.
2015-03-11 18:07:54 +01:00
QC
19e849d4e7 Tiny cleanup. 2015-03-07 17:22:25 +01:00
QC
7322819a1d No need to check nullptr on nonnull argument. 2015-03-06 20:38:11 +01:00
Dave Davenport
444d09b905 Update spell. 2015-03-05 20:26:52 +01:00
Dave Davenport
a83a06a95c Re-add zeltak mode. 2015-02-24 17:35:09 +01:00
Dave Davenport
da8902ac88 Replace signal by sigaction 2015-02-19 13:22:10 +01:00
Dave Davenport
8b50e94fea Make compiler more picky.
Add -Werror=missing-prototypes
2015-02-18 08:53:38 +01:00
Dave Davenport
a534a0f244 Rewrite of the configuration parsing, no longer duplicating options between Xrm and CMD.
* NEEDS TESTING.
2015-02-17 10:31:59 +01:00
Dave Davenport
bda97e0849 Throw a warning when using old commandline arguments.
* Give error on -now, -rnow, -snow, -key, -skey, -rkey
        * Update manpage.
2015-02-16 09:07:05 +01:00
Georgios Bitzes
07df49a5af Fix bugs relating to hotkeys with modifiers
This commit makes the following changes:
1) Fix a bad check introduced in dee0bfb, which checks the modstate of the
event with the keysym of the switcher, not its modmask:

        modstate & ( switchers[i].keysym )

I think it was broken before as well, a binary AND between the two masks
will not tell much about whether they are equal. Instead, the masks are
now checked for equality after removing LockMask and NumlockMask.

2) Stop binding to AnyModifier when none is used. This conflicts with the case
in which we want to bind different modes to the same key, but different
modifiers.

for example, rofi -key-run F2 -key-ssh alt+F2 -key-window shift+F2

Binding F2 with AnyModifier would prevent alt+F2 and shift+F2 from being used.

3) Remove UngrabKey from x11_grab_key to make the above example possible.
4) Refactor search for any of the global keybindings into function locate_switcher.
2015-02-16 03:20:28 +02:00
QC
dee0bfb821 Fix #128: Better handling of keybindings and remove deprecated launching.
See manpage.
2015-02-15 21:15:16 +01:00
QC
b6652a0221 Small move 2015-02-14 19:42:04 +01:00
Dave Davenport
7e1063803a Comments, compile order and Display argument. 2015-02-13 08:26:23 +01:00
QC
877c8051c6 Update copyright license. 2015-02-12 22:34:06 +01:00
QC
c760432a6c Moving files around, dialogs in dialog directory. 2015-02-12 22:26:28 +01:00
Dave Davenport
605fe4911c Refactor code, split out window switcher code. 2015-02-12 22:16:32 +01:00
Dave Davenport
9240a636d4 Fix stupid typo in previous commit, swapping columns/rows in positioning textboxes. 2015-02-12 07:55:23 +01:00
Dave Davenport
f74c8c1839 Cleanup. 2015-02-11 23:07:55 +01:00
Dave Davenport
a50219e903 Remove hmode. (Rather no implementation then a bad one.) 2015-02-10 07:42:40 +01:00
QC
e76db3fce3 Fix indenting. 2015-02-09 20:23:55 +01:00
QC
a69eb4e22c Simplify paste code. 2015-02-09 20:20:51 +01:00
QC
67cbd48c8b Add some comments, rename. 2015-02-09 20:05:30 +01:00
Dave Davenport
682907d340 Splitting over more files. 2015-02-09 19:35:51 +01:00
Dave Davenport
00e48fdcf7 fix tiny typo 2015-02-07 14:04:57 +01:00
Dave Davenport
fda5badeb6 Fix #125: Use shift-left/right for moving between switchers. 2015-02-06 08:45:21 +01:00
Dave Davenport
d9aef65ea7 Cleanups. 2015-02-04 09:37:34 +01:00
Dave Davenport
63fd534ba2 Move data around, constness, etc. 2015-02-03 08:21:59 +01:00
Dave Davenport
f86cf8988b Move stuff around. Try to reduce size rofi.c. 2015-02-03 08:00:33 +01:00
Dave Davenport
ca876feec6 Put i3 specific interaction code in separate file. 2015-02-02 14:49:19 +01:00
QC
d081b3e6f5 Fix #119. Fix dmenu mode when called with full path. 2015-02-01 20:15:21 +01:00
Dave Davenport
1a590aa8df Do not lock rofi when in daemon mode, only when showing. 2015-02-01 15:17:43 +01:00
Dave Davenport
5d4ab2e626 Always compile with Extra warnings. 2015-02-01 15:12:29 +01:00
Dave Davenport
1156c19cbf Fix compiler warnings about signed v.s. unsigned 2015-02-01 15:00:01 +01:00
Dave Davenport
382b93ae03 Fix LLVM compiler warnings. 2015-02-01 10:43:28 +01:00
Dave Davenport
97c11d7d85 Fix compiler warnings. (return value ftrunc/write) 2015-02-01 10:03:16 +01:00
QC
b74e6b791a Fix not grabbing keyboard, and add pid file to ensure one instance. 2015-01-31 18:23:17 +01:00
QC
983fff61b4 Removed some unused headers. 2015-01-30 21:55:31 +01:00
QC
6760d05d18 Small cleanup + comments. 2015-01-30 18:01:25 +01:00
Dave Davenport
f40e072802 Grab keyboard from X mainloop.
Should fix small 'jerk' when starting from keybinding and having to wait for keyboard grab.
2015-01-29 17:37:12 +01:00
QC
de9e78bb57 Fix issue #118.
unsigned long is %lu not %ul
2015-01-28 21:27:49 +01:00
Dave Davenport
b469674085 Add some comments. 2015-01-28 07:50:47 +01:00
QC
072baa9c02 Fix printing Warning about XID. 2015-01-26 22:43:57 +01:00
QC
460b82efc3 Fix unused variables. 2015-01-24 16:41:18 +01:00
Dave Davenport
3e419feecd Remove commented code, break out of loop in when possible. 2015-01-23 09:12:48 +01:00
Dave Davenport
9067b2602d Remove printf 2015-01-22 15:10:35 +01:00
Dave Davenport
673eee78a4 Better handling of non-truecolor colormaps. 2015-01-22 10:54:28 +01:00
Dave Davenport
647701fe78 Merge remote-tracking branch 'origin/master' into transbg 2015-01-22 08:48:45 +01:00
Dave Davenport
19a0ec40f8 Use fallback when truecolor visual fails.
- Fixes tests.
2015-01-21 18:38:54 +01:00
Daniel Hahler
318c8f3953 Toggle case sensitivity: grave might be acute
Fixes https://github.com/DaveDavenport/rofi/issues/112
2015-01-21 11:39:35 +01:00
Dave Davenport
9cc63d4948 Updates fixing pango transparancy. 2015-01-21 10:04:15 +01:00
Dave Davenport
291070e579 First try out. (tests not compiling at.. do make rofi) 2015-01-20 23:32:57 +01:00
QC
661b65dd2a Introduce lazy-refilter mode for long lists. 2015-01-18 18:17:09 +01:00
QC
7e6241226e Avoid loosing keyboard press events when they arrive to quickly.
* Do not absorb events, but loop over them.
2015-01-18 17:18:07 +01:00
QC
112e2c2bc5 Small cleanup and add ohcount target. 2015-01-17 18:27:41 +01:00
Dave Davenport
a00cfbb5b0 Small cleanup and reducing of scopes. 2015-01-15 17:59:59 +01:00
Dave Davenport
1a85fcbf96 Change col left/right edge behavior to be more logic.
* Don't move to first/last entry when not needed.
2015-01-15 08:33:45 +01:00
Edwin Pujols
dc16033d0d Mouse navigation: Avoid unnecessary looping. 2015-01-14 18:54:37 -04:00
QC
2d18aea928 Fix issue #104: Scrolling action. 2015-01-14 22:14:15 +01:00
Dave Davenport
046a1c612d Fix bug introduced with d1ba4bd8dc
* Match all fields of window struct, not just title.
2015-01-14 08:15:52 +01:00
Dave Davenport
deee786c65 Also respond to dead Grave for casesensitive toggle. 2015-01-14 08:11:32 +01:00
QC
46ab505be7 Make hmode workable again. 2015-01-13 12:16:32 +01:00
QC
e166fa3d8e Move indicator to end of entry box. 2015-01-13 11:48:38 +01:00
Edwin Pujols
93a2738c8a Fix #102 - Visual indicator of case sensitivity. 2015-01-12 19:01:16 -04:00
Edwin Pujols
32b8281cfb Merge branch 'master' of https://github.com/DaveDavenport/rofi
Conflicts:
	doc/rofi-manpage.markdown
	doc/rofi.1
2015-01-12 15:48:04 -04:00
Dave Davenport
a8843af9f3 Add support for alternating row colors. 2015-01-12 19:14:46 +01:00
Edwin Pujols
d1ba4bd8dc Fix #102 - Add case sensitivity. 2015-01-12 09:25:20 -04:00
QC
7e6a24f9b6 Make analysis happy and prefer heap over stack. 2015-01-10 15:13:10 +01:00
Dave Davenport
479123fcef Remove magic macro's. They are only used in one place, so no point. 2015-01-09 15:54:34 +01:00
Dave Davenport
f93e4d1f42 Add some comments. 2015-01-08 13:16:44 +01:00
QC
e3cef1b8a9 Coverity annoyance. 2015-01-07 22:11:12 +01:00
QC
1e8c94eaab Some error messages. 2015-01-07 18:21:23 +01:00
QC
366813fdec Wonder if this fixes the warning. 2015-01-07 18:02:18 +01:00
QC
7428d94612 Remove check, selected_line is not NULL. 2015-01-07 17:44:41 +01:00
QC
19d8ce279b Initialize savept to NULL. (coverity) 2015-01-07 17:37:53 +01:00
Dave Davenport
a28b6df307 Add support custom command. 2015-01-05 21:53:50 +01:00
QC
7ee64b258d Fix memory leak of sidebar mode switcher boxes. 2015-01-04 13:24:08 +01:00
QC
8afba6e875 Bug #98: Select a certain line.
* -l select line
2014-12-16 21:08:12 +01:00
Dave Davenport
0b34b958a6 Static fest. 2014-12-02 10:04:28 +01:00
Dave Davenport
781ca03f02 Small moving to helper. 2014-12-02 09:09:20 +01:00
Dave Davenport
59ee49a557 [TextBox] fix alignment issue with cursor. 2014-12-02 08:11:53 +01:00
QC
d393a5ff2e I am to tired to commit, lets try again. 2014-11-29 17:15:13 +01:00
QC
e2a3139b7d Small update trying to fix past commit. 2014-11-29 16:54:42 +01:00
QC
6805d93f68 Update previous commit with manpage fix window switcher. 2014-11-29 16:35:43 +01:00
qedi
21235b0600 Force custom commandline when Ctrl-Return is used 2014-11-28 22:24:07 -05:00
Dave Davenport
2c9f33a1bd More commenting.
Code    Comment  Comment %      Blank      Total  File
------  ---------  ---------  ---------  ---------  -----------------
    36         69      65.7%          2        107  config.c
    66         31      32.0%         14        111  dmenu-dialog.c
   185         52      21.9%         19        256  helper.c
   179         66      26.9%         27        272  history.c
  1896        325      14.6%        345       2566  rofi.c
   197         45      18.6%         42        284  run-dialog.c
   144         31      17.7%         24        199  script-dialog.c
   171         42      19.7%         31        244  ssh-dialog.c
   350         69      16.5%         84        503  textbox.c
   151         37      19.7%         27        215  xrmoptions.c
    26          0       0.0%          5         31  helper-test.c
    65          6       8.5%         35        106  history-test.c
   109          5       4.4%         22        136  textbox-test.c
    34         33      49.3%         24         91  config.h
     5         10      66.7%          4         19  dmenu-dialog.h
    11         70      86.4%         10         91  helper.h
     9         46      83.6%          8         63  history.h
    83        128      60.7%         17        228  rofi.h
     4          8      66.7%          2         14  run-dialog.h
    11         26      70.3%          5         42  script-dialog.h
     4          8      66.7%          2         14  ssh-dialog.h
    64        142      68.9%         31        237  textbox.h
     6         13      68.4%          4         23  xrmoptions.h
2014-11-25 12:57:34 +01:00
Qball Cow
ce25bf3f50 Issue #91 Reverse order of headers to fix build. 2014-11-24 13:19:24 +01:00
QC
66349a00dc Small updates. 2014-11-15 16:26:55 +01:00
Dave Davenport
05cab7a37a Fix indenting. 2014-11-12 17:49:13 +01:00
QC
c37ceb3e62 Fix error with entry box being empty. 2014-11-11 23:07:57 +01:00
QC
f710912042 Add ctrl-/ as reverse tab. 2014-11-11 21:50:16 +01:00
Qball Cow
cd8abd1153 Fix small graphical glix tabs
* They where to close to bottom.
2014-11-10 10:14:36 +01:00
Dave Davenport
9eb59fb616 [FullHeight] Fix height calculation
* Take window border into account.
2014-11-10 09:29:20 +01:00
Dave Davenport
950a177f97 [Sidebar mode] Allow tabs to be clicked. 2014-11-10 09:19:50 +01:00
Dave Davenport
0ccd7ef6bf Try to make sidebar separator visible again. 2014-11-10 08:59:39 +01:00
QC
ab82941b5e Add sidebar modi to ROFI. 2014-11-09 13:10:24 +01:00
Dave Davenport
c549c4f72d Reload configuration in daemon mode on SIGHUP 2014-11-05 10:52:10 +01:00
Dave Davenport
b27725834c If argv[0] is dmenu, launch in dmenu mode. 2014-11-05 10:36:26 +01:00
Dave Davenport
da7ba544fc Always use right display str. 2014-11-04 16:37:05 +01:00
Dave Davenport
f56bd03a86 Add multi-line elements support. 2014-10-30 17:53:22 +01:00
QC
f728e3f03e Add separator option. 2014-10-19 19:42:02 +02:00
QC
48bc2afb3e Indent. 2014-09-27 13:20:52 +02:00
Dave Davenport
404dc35c02 Fix some constness and add comments. 2014-09-23 09:24:24 +02:00
QC
15bee1f543 Add source files and man page.
* Add bugtracker to manpage.
        * Print msg to stderr, when error dialog not available.
2014-09-06 14:57:30 +02:00
QC
10322b45a5 Fix #81, this should now work correctly.
* Put old (broken) simpleswitcher code back.
        * Fix call to window_get_prop
        * Translate address with XTranslateCoordinates.
2014-09-05 17:14:50 +02:00
QC
20dca49a22 Add ctrl-space to set selected item as input. 2014-09-03 19:40:24 +02:00
Dave Davenport
0462811800 Add flexible configuration for launching
* You can now specify links: {terminal} -e bash -e "{ssh-client} {host}"
    * Add test for this code.
2014-09-03 13:07:26 +02:00
Dave Davenport
562ace6b78 small cleanup error_dialog, remove dummy calc 2014-08-28 10:10:16 +02:00
Dave Davenport
0795cfda8d Add display text modi. 2014-08-27 19:44:15 +02:00
Dave Davenport
e44183b406 Refactor the to-long menu() function.
* Split out larger sub-parts into separate functions.
    * Create a state structure.
    * Remove zeltak mode.
2014-08-26 20:25:00 +02:00
QC
24e7041604 Use g_spawn instead of fork+exec*
* Avoids issue with atexit being called for fork.
        * less code.
2014-08-25 20:02:48 +02:00
Dave Davenport
30051c8e80 issue: #79: Crash when enter on empty list.
* This fixes the reproducable part of the bug. (enter on empty list)
    * check selected < filtered_lines. so we do not try to dereference a null pointer.
2014-08-25 17:48:42 +02:00
Dave Davenport
04e13e3a20 Fix compile warnings. 2014-08-24 15:21:35 +02:00
QC
02ef657c41 [Click to select] Only select visible boxes. 2014-08-24 11:24:35 +02:00
QC
ba6a055683 Fix #59: Add some basic mouse support.
* TOOD: fix double click.
2014-08-23 12:47:09 +02:00
Dave Davenport
b665e85e69 Fix compile warnings with CLANG.
* signed compare with unsigned.
2014-08-22 17:29:15 +02:00
Dave Davenport
86b7571e04 Cleanup warnings.
* unused var and arguments.
2014-08-22 09:43:26 +02:00
Dave Davenport
62d4f0cdad Make rofi compile happily under clang.
* Set features in configure.ac
    * use config.h file, instead of hardcoded _GNU_SOURCE
      in each c file.
    * Fix mix up unsigned/signed.
2014-08-22 09:27:45 +02:00
Dave Davenport
63e5f4e940 Small cleanup and fixes.
* Use g_strfreev
    * Use g_ascii*strto(u)ll
2014-08-21 19:14:01 +02:00
QC
9af1d490a6 Make Rasi a happy boy, add character width mode. 2014-08-11 20:21:29 +02:00
QC
1a47507f7b Remove custom strlcpy for g_strlcpy. 2014-08-09 11:49:37 +02:00
QC
0be8e7ffa9 Remove xdg as dependency, glib provides this. 2014-08-09 11:44:06 +02:00
QC
98dfbddadb Move to glib's based memory allocation functions
* replace calloc by malloc0_n
        * malloc by g_malloc
        * strdup by g_strdup
        * asprintf by g_strdup_printf
        * realloc by g_realloc
        * free loop by g_strfreev (if possible)
2014-08-09 11:40:42 +02:00
Dave Davenport
9ac8f408f4 Remove useless prefix complete code.
* it is slow (ish)
    * it is not propper utf8 matching, doing this will make it slower.
2014-08-08 17:35:39 +02:00
QC
280c3d7f7f Using Glib's utf8 functions to do string collating.
* casefold and use utf-8 collating.
        * use g_utf8_next/prev for moving cursor.
2014-08-07 21:42:16 +02:00
Dave Davenport
b196649f10 Fix #76: DMENU returns 1 on cancel.
* Pull out dmenu, separate it from normal modi.
    * Give dmenu a return value (1 on cancel)
2014-08-05 09:07:41 +02:00
QC
da69111a20 Work on bug #73 2014-08-03 21:51:31 +02:00
QC
77a0a765ae Reverting c/p behavior, misread comments. 2014-08-03 21:09:20 +02:00
QC
9bbb79a888 Remove Active mode. IT causes problems with matching and has limited use. 2014-08-03 17:21:42 +02:00
QC
8ba11b2fe3 Remove unused active font variable. 2014-08-03 17:07:28 +02:00
QC
5ddcac2514 Cleanup previous test commit. 2014-08-03 17:05:06 +02:00
QC
d02f43966e Test to see if this fixes issue from Rafi. 2014-08-03 16:44:14 +02:00
QC
0e12051783 Make insert and ctrl-v behavior the opposite.
* ctrl-v clipboard ctrl-shift-v primary
        * insert primary shift-insert clipboard.
2014-08-02 23:08:14 +02:00
QC
6a45a18a4e Pango testing. 2014-08-02 20:02:37 +02:00
QC
f87b55dde9 Fix #72: Use correct # entries. 2014-08-02 11:19:16 +02:00
QC
65903e61d0 Fix #71 2014-08-01 23:29:01 +02:00
QC
c2ccd37312 Indent file, split out opacity code. 2014-07-30 20:54:16 +02:00
QC
c11fe3d056 Remove the -loc option for -location so things are more consistent. 2014-07-24 20:38:21 +02:00
QC
b146f432a9 Second fix for positioning window 2014-07-24 20:20:30 +02:00
QC
c3708f8dce Do not try to compensate for border when getting x,y 2014-07-24 20:15:09 +02:00
QC
e7cac06c7b Ctrl-j should go down, Ctrl-k up. 2014-07-22 20:33:50 +02:00
Dave Davenport
3c28012a87 Use strtok_r not strtok. 2014-07-22 08:21:56 +02:00
QC
bd4aa3d2fa Fix #67 Allow alt-<num> to switch between modis 2014-07-21 23:19:45 +02:00
QC
cd4888a5cf Fix #65, Fix #63 Allow user to select list of modi's
* Add script_dialog, so user can add dialogs using a script.
    * Add a way to disable modi's
    * Add -show <modi> option.
2014-07-21 21:39:24 +02:00
Qball Cow
d584987c81 Fix #64
* Properly inverse the previous expression. (XGetWindowAttributes() == 0)
2014-07-21 16:53:10 +02:00
Qball Cow
7a1766fa45 Fix issue #61 2014-07-21 16:26:35 +02:00
QC
0f279b2995 Restructure some code, fix a small bug in dmenu mode.
* dmenu crashed on no input lines (wrong free)
 * Pass length of lines to menu function.
2014-07-20 12:29:27 +02:00
QC
842d19231a Hopeful fix for Issue: #58 2014-07-20 12:10:15 +02:00
QC
9526712bc7 Small tweak to get more sane start window size. (related to #58?) 2014-07-20 10:36:48 +02:00
QC
b30ace3ffe Some reordering. 2014-07-19 22:01:34 +02:00
QC
89efbba4b4 Some small cleanup and splitting. 2014-07-19 21:11:27 +02:00
QC
ea9090eb50 Remove a big chunk of duplicate code by re-ordering.
* Remove the refilter code that was in there twice (and directly squash a small bug)
 * Pull out the window position calculation in a sub-function.
2014-07-19 20:42:22 +02:00
Dave Davenport
c86f28493a Make levenshtein sorting its own option.
* TODO: update manpage. (no md2man on this machine)
2014-07-16 08:42:42 +02:00