Commit graph

421 commits

Author SHA1 Message Date
Quentin Glidic
644556b7b6 Change Window/Atom to xcb_window_t/xcb_atom_t
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-28 12:21:26 +01:00
Dave Davenport
ab57479da9 Remove Atom with xcb_atom_t. 2016-02-28 12:19:56 +01:00
Dave Davenport
93cb9ee7eb Remove opening of display. 2016-02-28 01:08:12 +01:00
Dave Davenport
d813d03a5f Convert more stuff to xcb, keyboard grab, cleanup 2016-02-28 00:09:05 +01:00
Dave Davenport
4c661c3932 Move most of window modi to xcb 2016-02-27 22:55:47 +01:00
Dave Davenport
bb2f0d8b83 Move more to xcb, window_*_ functions to xcb_ functions 2016-02-27 21:55:43 +01:00
Dave Davenport
a02cb83a98 Move more to xcb. 2016-02-27 20:45:47 +01:00
Dave Davenport
15ad8e1da3 Removing XCB from view.c, paste less 2016-02-27 17:42:50 +01:00
Quentin Glidic
2ef950eab9 WIP: Port window stuff to xcb
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-23 17:37:25 +01:00
Quentin Glidic
6bb1d4b1a2 x11-helper: Migrate to libxkbcommon
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-23 17:34:38 +01:00
Quentin Glidic
3029e05ac7 keybindings: Rework modmask matching
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-23 17:34:31 +01:00
Quentin Glidic
590e61b417 view: Store modstate on keypress event
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-23 12:52:35 +01:00
Quentin Glidic
990914d20f rofi: Drop daemon mode
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-23 12:15:03 +01:00
Quentin Glidic
88ddb7f04e x11-helper: Directly store the useful value
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-23 12:13:44 +01:00
Quentin Glidic
f39f5bb0cb view-internal: Use XCB types
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-23 12:13:21 +01:00
Quentin Glidic
09e520dfe8 rofi: Always use ARGB for Cairo image surfaces
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-21 22:10:03 +01:00
Dave Davenport
aa1d8b4046 Remove x11-event-source, replaced by libgwater. 2016-02-21 17:47:19 +01:00
Quentin Glidic
5d6f2ee1ab Compose stuff
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-21 16:04:53 +01:00
Quentin Glidic
e1f87a67b4 rofi: Migrate to libxkbcommon
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-21 16:04:53 +01:00
Quentin Glidic
fe7ca2079d rofi: Convert to XCB events
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-21 16:04:53 +01:00
Dave Davenport
6e3bb506de Full mainloop madness 2016-02-19 19:50:48 +01:00
Dave Davenport
4eb3fd1da3 Test for single mainloop 2016-02-19 19:29:06 +01:00
Dave Davenport
d2567a6884 #219: Implement continious scroll 2016-02-17 20:29:23 +01:00
Dave Davenport
63be750c5b Quick work-around fix for rofi blocking X on unavailable monitor 2016-02-17 00:00:41 +01:00
Dave Davenport
6217edf622 #343 Add history support to drun mode. 2016-02-16 10:40:21 +01:00
Dave Davenport
5da7430b1e Fix double typedef. 2016-02-11 20:24:29 +01:00
Dave Davenport
11c347fad8 Use accessors in RofiView to get modi's and num modi for sidebar. 2016-02-11 08:41:19 +01:00
Dave Davenport
fdb4c99456 Remove normal window global. 2016-02-10 19:40:19 +01:00
Dave Davenport
2cd8888d2c Merge remote-tracking branch 'origin/master' into glib-loop 2016-02-09 22:35:03 +01:00
Dave Davenport
289795b22a Fix finding active desktop! 2016-02-09 21:25:29 +01:00
Dave Davenport
c3f15a4e2a Merge remote-tracking branch 'origin/master' into glib-loop 2016-02-09 07:56:45 +01:00
Dave Davenport
e7b18d3a88 Issue: #334: Only allow markup-rows to be set on cmdline
This should avoid people setting this in XResrouces and breaking random dmenu scripts.
2016-02-09 07:37:48 +01:00
Dave Davenport
5d430824b3 Doxygen updates. 2016-02-08 18:16:16 +01:00
Dave Davenport
5a86ae5c99 Cleanups 2016-02-08 09:03:11 +01:00
Dave Davenport
ad932c8fd0 More cleanups 2016-02-07 20:38:34 +01:00
Dave Davenport
ca3afc6a6e more renameing 2016-02-07 14:09:00 +01:00
Dave Davenport
69b3a360fc Continue cleanup 2016-02-07 12:31:17 +01:00
Dave Davenport
adfc83f07d Restructuring, my biggest joy. 2016-02-06 14:27:36 +01:00
Dave Davenport
73169af793 Remove no longer needed structure. 2016-02-06 13:40:25 +01:00
Dave Davenport
312ca274fc Split of files. 2016-02-06 13:06:58 +01:00
Dave Davenport
91780b71db Small fix. 2016-01-27 23:39:52 +01:00
Dave Davenport
eab4e1438f Make dmenu use glib mainloop. 2016-01-26 08:38:07 +01:00
Dave Davenport
984257fffc Very dirty first attempt at glib mainloop in switcher (not yet dmenu.) 2016-01-20 20:57:26 +01:00
Dave Davenport
4b7a29a26f Take SardemFF7 feedback on putting g_source_[attach|add_callback] inside factory. 2016-01-20 19:12:17 +01:00
Dave Davenport
d9ac267960 Merge remote-tracking branch 'origin/master' into glib-loop 2016-01-20 18:57:41 +01:00
Dave Davenport
eadf455c8c Let DMenu mode reuse open dialog and not restart it. handy for multi-select. 2016-01-20 18:50:33 +01:00
Dave Davenport
d0716efe12 Refactor menu function into three parts, setup, itterrate and finalize. 2016-01-20 18:24:31 +01:00
Dave Davenport
42ee408d0f Move X11EventSource into separate file. 2016-01-18 22:02:07 +01:00
Dave Davenport
6692f36423 SardemF77 input. 2016-01-18 21:43:33 +01:00
Dave Davenport
80a6aa4549 Test a first glib mainloop. 2016-01-18 20:51:35 +01:00
Dave Davenport
98fdf04285 [RUN] UTF-8/locale conversion and sardem exec test. 2016-01-14 20:40:19 +01:00
Dave Davenport
cc682f107b Update display value for modi (testing) 2016-01-12 22:18:10 +01:00
Dave Davenport
f080aa2d61 Remove duplicate code, make password right character length. 2016-01-11 08:36:20 +01:00
Dave Davenport
13810d5911 Add experimental 'password' mode. (#315) 2016-01-10 13:10:44 +01:00
Dave Davenport
c6a9de8c4a Use snprintf instead of sprintf 2016-01-09 19:25:03 +01:00
Dave Davenport
d7dab65e5b Making widget class, moving stuff around 2016-01-09 16:22:09 +01:00
Dave Davenport
63a3552c63 Doxy mode.h 2016-01-08 09:29:15 +01:00
Dave Davenport
dc8fb4f202 Start making SardemFF happy. Use g_return_if_fail 2016-01-08 09:16:59 +01:00
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
504e27f701 Add some doxygen sugar. 2016-01-07 08:54:24 +01:00
Dave Davenport
c512f81c9c Update comments, replace printf/build_filename 2016-01-06 12:40:41 +01:00
Dave Davenport
0b26287396 Add small wrapper around history. 2016-01-05 21:31:17 +01:00
Dave Davenport
81ea5fd8c6 Update documentation for ssh dialog 2016-01-05 21:19:30 +01:00
Dave Davenport
329f31bd75 Add doxygen target. 2016-01-05 19:49:13 +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
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
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
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
8ed31cab7e Add option to dump color scheme. 2015-12-10 18:20:04 +01:00
Dave Davenport
98de9b554f Add screenshot keybinding. 2015-12-09 08:51:40 +01:00
Dave Davenport
0ff0f15264 Add test, remove whitespace 2015-12-08 08:39:18 +01:00
Dave Davenport
dbd7476054 __FUNCTION__ is gcc extension, use __func__ now. Fixes issue #288 2015-12-02 18:11:23 +01:00
Dave Davenport
e4c7fe8f1e Fix func. def in wrong header file. 2015-12-02 17:56:25 +01:00
Dave Davenport
4b77a1728d Remove custom code, replace by glib, fix fuzzy matching for unicode.
- Also fixes char endianess issues.
2015-12-01 22:09:34 +01:00
Dave Davenport
544229d975 Issue #287 mark selected rows. 2015-11-30 14:05:39 +01:00
Dave Davenport
2da1207b7d Fix issue #271 expand path. 2015-11-27 13:01:25 +01:00
Dave Davenport
e196df01fa Do not support ModMasks, breaks to much stuff, This fixes #286 2015-11-26 20:30:51 +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
bdeb57a2c4 Remove unused typedef 2015-11-24 13:42:20 +01:00
Dave Davenport
cbba58914f Some cleanups and re-ordering of parameters to be consistent. 2015-11-23 22:15:27 +01:00
Dave Davenport
ad778b7dc1 Const making. 2015-11-23 22:15:27 +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
Dave Davenport
5bdcd47dde consts and small ensurance (though should be correct to begin with) 2015-11-22 00:33:26 +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
266ee5efb7 Hopefully fix for #268 2015-11-20 20:53:27 +01:00
Dave Davenport
922aa5f946 Remove old XIM/XIC from textbox structure. 2015-11-20 08:21:34 +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
2eaffceada Fix printing. 2015-11-14 19:59:56 +01:00
Dave Davenport
56e85d0f5a Cleanup. 2015-11-14 19:42:43 +01:00
Dave Davenport
12886ab0cb Add missing timing files. 2015-11-14 13:49:42 +01:00
Dave Davenport
80e873c8a3 Add threadpool support, add optional timings compile flag 2015-11-14 13:47:45 +01:00
Dave Davenport
45c8de9387 If threads is set to 0, try to autodetect number of threads. 2015-11-12 17:20:51 +01:00
Dave Davenport
0fe524d0cd Add threading support. 2015-11-12 00:18:43 +01:00
Dave Davenport
09ab44bf92 Fix #264 fall back to age ordered list if stacked list does not work 2015-11-10 23:52:52 +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
80ac118655 Put things together, making desktop menu work 2015-11-03 17:34:02 +01:00
Dave Davenport
6f404ddc8e Initial import desktop file runner. 2015-11-03 08:31:38 +01:00
Klemens Schölhorn
9cb0073ce8 Add -no-parse-known-hosts to disable parsing of ~/.ssh/known_hosts
For humans who like to keep the list of available servers clean. Also useful
if you use different names in ~/.ssh/config.

The previous default of always parsing known_hosts is not changed.
2015-10-31 18:35:37 +01:00
QC
cb9dd606aa Allow dpi to be set 2015-10-30 21:32:09 +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
Qball Cow
a7c7cf8159 Add fake transparency 2015-10-20 18:41:45 +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
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
Dave Davenport
6b039ac524 Add tokenize option and append * to glob. 2015-10-04 16:37:07 +02:00
QC
5de38cd755 Add glob version for testing. 2015-10-02 20:39:57 +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
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
Dave Davenport
2d167e21d7 Fix #237 add none style to separator style 2015-09-30 09:09:34 +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
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
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
108c16e0d4 Default disable levenshtein 2015-09-20 10:32:49 +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
Dave Davenport
a5c1eb1f1b Allow window mode to be disabled 2015-09-14 08:57:10 +02:00
Dave Davenport
f443c56487 In normal mode set normal window window type hint. 2015-09-10 19:24:23 +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
QC
e10aa09f74 Add hide scrollbar option. 2015-09-04 21:08:23 +02:00
Dave Davenport
5031cdd228 Calculate size of handle for scrollbar better. 2015-09-04 14:52:57 +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
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