mirror of
https://github.com/davatorium/rofi.git
synced 2024-11-18 13:54:36 -05:00
Playing with atom
This commit is contained in:
parent
108c16e0d4
commit
fc2d65df0c
12 changed files with 45 additions and 130 deletions
5
.atom-build.json
Normal file
5
.atom-build.json
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"cmd" : "make -C build/",
|
||||
"name" : "all",
|
||||
"sh" : true
|
||||
}
|
5
.gitignore
vendored
5
.gitignore
vendored
|
@ -23,3 +23,8 @@ core
|
|||
|
||||
# ignore patches too, the code is either checked in or branch.
|
||||
*.patch*
|
||||
|
||||
doc/*.html
|
||||
doc/*.1
|
||||
*.unc-backup~
|
||||
*.unc-backup.md5~
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
0.15.9: (unreleased)
|
||||
New feature:
|
||||
- Support for Startup Notification
|
||||
- Standalone mode in dmenu
|
||||
Improvements:
|
||||
- Keep same line selected.
|
||||
- Keep same line selected
|
||||
- Cleanup menu code by re-using Switcher
|
||||
Bug fixes:
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
# A window switcher, run dialog and dmenu replacement
|
||||
|
||||
A popup window switcher roughly based on [superswitcher](http://code.google.com/p/superswitcher/),
|
||||
requiring only xlib and pango.
|
||||
This version started off as a clone of simpleswitcher, the version from [Sean
|
||||
requiring only xlib and pango. This version started off as a clone of simpleswitcher, the version from [Sean
|
||||
Pringle](http://github.com/seanpringle/simpleswitcher). All credit for this great tool should go to him.
|
||||
Rofi developed extra features, like a run-dialog, ssh-launcher and can act as a drop-in dmenu
|
||||
replacement, making it a very versatile tool.
|
||||
|
@ -195,4 +194,3 @@ to disable it:
|
|||
# Installation
|
||||
|
||||
Please see the [installation guide](https://davedavenport.github.io/rofi/p08-INSTALL.html) for instruction on how to install *rofi*.
|
||||
|
||||
|
|
|
@ -141,4 +141,3 @@ Settings config = {
|
|||
/** Hide scrollbar */
|
||||
.hide_scrollbar = FALSE,
|
||||
};
|
||||
|
||||
|
|
14
configure.ac
14
configure.ac
|
@ -33,21 +33,15 @@ dnl ---------------------------------------------------------------------
|
|||
dnl Disable window mode
|
||||
dnl ---------------------------------------------------------------------
|
||||
|
||||
AC_ARG_ENABLE([windowmode],
|
||||
AC_HELP_STRING([--disable-windowmode],[Disable window mode]))
|
||||
AC_ARG_ENABLE([windowmode], AC_HELP_STRING([--disable-windowmode],[Disable window mode]))
|
||||
|
||||
AS_IF([ test "x$enable_windowmode" != "xno"], [
|
||||
AC_DEFINE([WINDOW_MODE],[1],[Enable the window mode])
|
||||
])
|
||||
AS_IF([ test "x$enable_windowmode" != "xno"], [AC_DEFINE([WINDOW_MODE],[1],[Enable the window mode])])
|
||||
|
||||
##
|
||||
# I3 check
|
||||
##
|
||||
AC_ARG_ENABLE(i3support,
|
||||
[AS_HELP_STRING([--disable-i3support], [Disable check for i3 support])])
|
||||
AS_IF([test "x$enable_i3support" != xno && test "x$enable_windowmode" != "xno"],[
|
||||
AC_CHECK_HEADERS([i3/ipc.h], [i3_header=yes; break;])
|
||||
])
|
||||
AC_ARG_ENABLE(i3support, [AS_HELP_STRING([--disable-i3support], [Disable check for i3 support])])
|
||||
AS_IF([test "x$enable_i3support" != xno && test "x$enable_windowmode" != "xno"],[AC_CHECK_HEADERS([i3/ipc.h], [i3_header=yes; break;])])
|
||||
|
||||
##
|
||||
# Check dependencies
|
||||
|
|
|
@ -1,89 +0,0 @@
|
|||
rofi.modi: combi
|
||||
rofi.opacity: 100
|
||||
rofi.width: -135
|
||||
rofi.lines: 10
|
||||
rofi.columns: 2
|
||||
rofi.font: UbuntuMono 12
|
||||
rofi.fg: #657b83
|
||||
rofi.bg: #fdf6e3
|
||||
rofi.color-enabled: true
|
||||
rofi.color-normal: argb:33fdf6e3,#002b36,#eee8d5,#586e75,#eee8d5
|
||||
rofi.color-urgent: #fdf6e3,#dc322f,#eee8d5,#dc322f,#fdf6e3
|
||||
rofi.color-active: #fdf6e3,#268bd2,#eee8d5,#268bd2,#fdf6e3
|
||||
rofi.color-window: argb:33fdf6e3,#002b36
|
||||
rofi.fg-active: #268BD2
|
||||
rofi.fg-urgent: #DC322F
|
||||
rofi.hlfg-active: #FDF6E3
|
||||
rofi.hlfg-urgent: #FDF6E3
|
||||
rofi.bg-active: #FDF6E3
|
||||
rofi.bg-urgent: #FDF6E3
|
||||
rofi.hlbg-active: #268BD2
|
||||
rofi.hlbg-urgent: #DC322F
|
||||
rofi.bgalt: #fdf6e3
|
||||
rofi.hlfg: #EEE8D5
|
||||
rofi.hlbg: #586E75
|
||||
rofi.bc: #002B36
|
||||
rofi.bw: 2
|
||||
rofi.location: 2
|
||||
rofi.padding: 2
|
||||
rofi.yoffset: -2
|
||||
rofi.xoffset: 0
|
||||
rofi.fixed-num-lines: true
|
||||
rofi.terminal: terminator
|
||||
rofi.ssh-client: ssh
|
||||
rofi.ssh-command: {terminal} -e '{ssh-client} {host}'
|
||||
rofi.run-command: {cmd}
|
||||
rofi.run-list-command:
|
||||
rofi.run-shell-command: {terminal} -e '{cmd}'
|
||||
rofi.disable-history: false
|
||||
rofi.levenshtein-sort: false
|
||||
rofi.case-sensitive: false
|
||||
rofi.sidebar-mode: true
|
||||
rofi.lazy-filter-limit: 5000000
|
||||
rofi.eh: 1
|
||||
rofi.auto-select: false
|
||||
rofi.parse-hosts: false
|
||||
rofi.combi-modi: window,run,ssh
|
||||
rofi.fuzzy: true
|
||||
rofi.pid: /run/user/1000/rofi.pid
|
||||
rofi.kb-primary-paste: Control+Shift+v,Shift+Insert
|
||||
rofi.kb-secondary-paste: Control+v,Insert
|
||||
rofi.kb-clear-line: Control+u
|
||||
rofi.kb-move-front: Control+a
|
||||
rofi.kb-move-end: Control+e
|
||||
rofi.kb-move-word-back: Alt+b
|
||||
rofi.kb-move-word-forward: Alt+f
|
||||
rofi.kb-move-char-back: Left,Control+b
|
||||
rofi.kb-move-char-forward: Right,Control+f
|
||||
rofi.kb-remove-word-back: Control+Alt+h
|
||||
rofi.kb-remove-word-forward: Control+Alt+d
|
||||
rofi.kb-remove-char-forward: Delete,Control+d
|
||||
rofi.kb-remove-char-back: BackSpace,Control+h
|
||||
rofi.kb-accept-entry: Control+j,Control+m,Return,KP_Enter
|
||||
rofi.kb-accept-custom: Control+Return
|
||||
rofi.kb-accept-entry-continue: Shift+Return
|
||||
rofi.kb-mode-next: Shift+Right,Control+Tab
|
||||
rofi.kb-mode-previous: Shift+Left,Control+Shift+Tab
|
||||
rofi.kb-toggle-case-sensitivity: grave,dead_grave
|
||||
rofi.kb-delete-entry: Shift+Delete
|
||||
rofi.kb-custom-1: Alt+1
|
||||
rofi.kb-custom-2: Alt+2
|
||||
rofi.kb-custom-3: Alt+3
|
||||
rofi.kb-custom-4: Alt+4
|
||||
rofi.kb-custom-5: Alt+5
|
||||
rofi.kb-custom-6: Alt+6
|
||||
rofi.kb-custom-7: Alt+7
|
||||
rofi.kb-custom-8: Alt+8
|
||||
rofi.kb-custom-9: Alt+9
|
||||
rofi.kb-row-left: Control+Page_Up
|
||||
rofi.kb-row-right: Control+Page_Down
|
||||
rofi.kb-row-up: Up,Control+p,Shift+Tab
|
||||
rofi.kb-row-down: Down,Control+n
|
||||
rofi.kb-row-tab: Tab
|
||||
rofi.kb-page-prev: Page_Up
|
||||
rofi.kb-page-next: Page_Down
|
||||
rofi.kb-row-first: Home,KP_Home
|
||||
rofi.kb-row-last: End,KP_End
|
||||
rofi.kb-row-select: Control+space
|
||||
rofi.kb-cancel: Escape
|
||||
rofi.key-combi:
|
|
@ -53,6 +53,7 @@
|
|||
[ -auto-select ]
|
||||
[ -parse-hosts ]
|
||||
[ -combi-modi *mode1,mode2* ]
|
||||
[ -normal-window ]
|
||||
[ -quiet ]
|
||||
|
||||
## DESCRIPTION
|
||||
|
@ -572,7 +573,9 @@ Select first line that matches the given string
|
|||
Add a message line below the filter entry box. Supports pango markup.
|
||||
For more information on supported markup see [here](https://developer.gnome.org/pango/stable/PangoMarkupFormat.html)
|
||||
|
||||
`-normal-window`
|
||||
|
||||
Make **rofi** reacts like a normal application window. Useful for scripts like Clerk that are basically an application.
|
||||
|
||||
### Message dialog
|
||||
|
||||
|
@ -764,4 +767,3 @@ Rasmus Steinke <rasi@xssn.at>
|
|||
Original code based on work by: Sean Pringle <sean.pringle@gmail.com>
|
||||
|
||||
For a full list of authors, check the AUTHORS file.
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
\fBrofi\fR \- A window switcher, run launcher, ssh dialog and dmenu replacement
|
||||
.
|
||||
.SH "SYNOPSIS"
|
||||
\fBrofi\fR [ \-width \fIpct_scr\fR ] [ \-lines \fIlines\fR ] [ \-columns \fIcolumns\fR ] [ \-font \fIpangofont\fR ] [ \-fg \fIcolor\fR ] [ \-fg\-urgent \fIcolor\fR ] [ \-fg\-active \fIcolor\fR ] [ \-bg\-urgent \fIcolor\fR ] [ \-bg\-active \fIcolor\fR ] [ \-bg \fIcolor\fR ] [ \-bgalt \fIcolor\fR ] [ \-hlfg \fIcolor\fR ] [ \-hlbg \fIcolor\fR ] [ \-key\-\fBmode\fR \fIcombo\fR ] [ \-terminal \fIterminal\fR ] [ \-location \fIposition\fR ] [ \-fixed\-num\-lines ] [ \-padding \fIpadding\fR ] [ \-opacity \fIopacity%\fR ] [ \-display \fIdisplay\fR ] [ \-bc \fIcolor\fR ] [ \-bw \fIwidth\fR ] [ \-dmenu [ \-p \fIprompt\fR ] [ \-sep \fIseparator\fR ] [ \-l \fIselected line\fR ] [ \-mesg ] [ \-select ] ] [ \-filter \fIfilter\fR ] [ \-ssh\-client \fIclient\fR ] [ \-ssh\-command \fIcommand\fR ] [ \-disable\-history ] [ \-levenshtein\-sort ] [ \-case\-sensitive ] [ \-show \fImode\fR ] [ \-modi \fImode1,mode2\fR ] [ \-eh \fIelement height\fR ] [ \-lazy\-filter\-limit \fIlimit\fR ] [ \-e \fImessage\fR] [ \-a \fIrow\fR ] [ \-u \fIrow\fR ] [ \-pid \fIpath\fR ] [ \-now ] [ \-rnow ] [ \-snow ] [ \-version ] [ \-help] [ \-dump\-xresources ] [ \-auto\-select ] [ \-parse\-hosts ] [ \-combi\-modi \fImode1,mode2\fR ] [ \-quiet ]
|
||||
\fBrofi\fR [ \-width \fIpct_scr\fR ] [ \-lines \fIlines\fR ] [ \-columns \fIcolumns\fR ] [ \-font \fIpangofont\fR ] [ \-fg \fIcolor\fR ] [ \-fg\-urgent \fIcolor\fR ] [ \-fg\-active \fIcolor\fR ] [ \-bg\-urgent \fIcolor\fR ] [ \-bg\-active \fIcolor\fR ] [ \-bg \fIcolor\fR ] [ \-bgalt \fIcolor\fR ] [ \-hlfg \fIcolor\fR ] [ \-hlbg \fIcolor\fR ] [ \-key\-\fBmode\fR \fIcombo\fR ] [ \-terminal \fIterminal\fR ] [ \-location \fIposition\fR ] [ \-fixed\-num\-lines ] [ \-padding \fIpadding\fR ] [ \-opacity \fIopacity%\fR ] [ \-display \fIdisplay\fR ] [ \-bc \fIcolor\fR ] [ \-bw \fIwidth\fR ] [ \-dmenu [ \-p \fIprompt\fR ] [ \-sep \fIseparator\fR ] [ \-l \fIselected line\fR ] [ \-mesg ] [ \-select ] ] [ \-filter \fIfilter\fR ] [ \-ssh\-client \fIclient\fR ] [ \-ssh\-command \fIcommand\fR ] [ \-disable\-history ] [ \-levenshtein\-sort ] [ \-case\-sensitive ] [ \-show \fImode\fR ] [ \-modi \fImode1,mode2\fR ] [ \-eh \fIelement height\fR ] [ \-lazy\-filter\-limit \fIlimit\fR ] [ \-e \fImessage\fR] [ \-a \fIrow\fR ] [ \-u \fIrow\fR ] [ \-pid \fIpath\fR ] [ \-now ] [ \-rnow ] [ \-snow ] [ \-version ] [ \-help] [ \-dump\-xresources ] [ \-auto\-select ] [ \-parse\-hosts ] [ \-combi\-modi \fImode1,mode2\fR ] [ \-normal\-window ] [ \-quiet ]
|
||||
.
|
||||
.SH "DESCRIPTION"
|
||||
\fBrofi\fR is an X11 popup window switcher, run dialog, dmenu replacement and more\. It focuses on being fast to use and have minimal distraction\. It supports keyboard and mouse navigation, type to filter, tokenized search and more\.
|
||||
|
@ -963,6 +963,12 @@ Select first line that matches the given string
|
|||
.P
|
||||
Add a message line below the filter entry box\. Supports pango markup\. For more information on supported markup see here \fIhttps://developer\.gnome\.org/pango/stable/PangoMarkupFormat\.html\fR
|
||||
.
|
||||
.P
|
||||
\fB\-normal\-window\fR
|
||||
.
|
||||
.P
|
||||
Make \fBRofi\fR reacts like a normal application window\. Useful for scripts like Clerk that are basically an application\.
|
||||
.
|
||||
.SS "Message dialog"
|
||||
\fB\-e\fR \fImessage\fR
|
||||
.
|
||||
|
|
|
@ -81,8 +81,8 @@ DefaultBinding bindings[NUM_ABE] =
|
|||
{ .id = CUSTOM_14, .name = "kb-custom-14", .keybinding = "Alt+Shift+4" },
|
||||
{ .id = CUSTOM_15, .name = "kb-custom-15", .keybinding = "Alt+Shift+5" },
|
||||
{ .id = CUSTOM_16, .name = "kb-custom-16", .keybinding = "Alt+Shift+6" },
|
||||
{ .id = CUSTOM_17, .name = "kb-custom-17", .keybinding = "Alt+Shift+7" },
|
||||
{ .id = CUSTOM_18, .name = "kb-custom-18", .keybinding = "Alt+Shift+8" },
|
||||
{ .id = CUSTOM_17, .name = "kb-custom-17", .keybinding = "Alt+Shift+7" },
|
||||
{ .id = CUSTOM_19, .name = "kb-custom-19", .keybinding = "Alt+Shift+9" },
|
||||
};
|
||||
|
||||
|
|
|
@ -195,8 +195,7 @@ static Window create_window ( Display *display )
|
|||
attr.border_pixel = color_border ( display );
|
||||
attr.background_pixel = color_background ( display );
|
||||
|
||||
Window box = XCreateWindow ( display, DefaultRootWindow ( display ),
|
||||
0, 0, 200, 100, config.menu_bw, vinfo.depth, InputOutput,
|
||||
Window box = XCreateWindow ( display, DefaultRootWindow ( display ), 0, 0, 200, 100, config.menu_bw, vinfo.depth, InputOutput,
|
||||
vinfo.visual, CWColormap | CWBorderPixel | CWBackPixel, &attr );
|
||||
XSelectInput ( display, box, KeyReleaseMask | KeyPressMask | ExposureMask | ButtonPressMask | StructureNotifyMask | FocusChangeMask );
|
||||
|
||||
|
@ -319,25 +318,21 @@ static void calculate_window_position ( MenuState *state, const workarea *mon )
|
|||
case WL_NORTH:
|
||||
state->y = mon->y;
|
||||
break;
|
||||
|
||||
case WL_NORTH_EAST:
|
||||
state->y = mon->y;
|
||||
case WL_EAST:
|
||||
state->x = mon->x + mon->w - state->w - config.menu_bw * 2;
|
||||
break;
|
||||
|
||||
case WL_EAST_SOUTH:
|
||||
state->x = mon->x + mon->w - state->w - config.menu_bw * 2;
|
||||
case WL_SOUTH:
|
||||
state->y = mon->y + mon->h - state->h - config.menu_bw * 2;
|
||||
break;
|
||||
|
||||
case WL_SOUTH_WEST:
|
||||
state->y = mon->y + mon->h - state->h - config.menu_bw * 2;
|
||||
case WL_WEST:
|
||||
state->x = mon->x;
|
||||
break;
|
||||
|
||||
case WL_CENTER:
|
||||
default:
|
||||
break;
|
||||
|
@ -1874,6 +1869,16 @@ static int main_loop_signal_handler ( char command, int quiet )
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
SwitcherMode switcher_run ( char **input, Switcher *sw )
|
||||
{
|
||||
char *prompt = g_strdup_printf ( "%s:", sw->name );
|
||||
unsigned int selected_line = UINT32_MAX;
|
||||
int mretv = menu ( sw, input, prompt, &selected_line, NULL, NULL );
|
||||
|
||||
g_free ( prompt );
|
||||
return sw->result ( mretv, input, selected_line, sw );
|
||||
}
|
||||
|
||||
/**
|
||||
* Setup signal handling.
|
||||
* Block all the signals, start a signal processor thread to handle these events.
|
||||
|
@ -2126,13 +2131,3 @@ int main ( int argc, char *argv[] )
|
|||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
SwitcherMode switcher_run ( char **input, Switcher *sw )
|
||||
{
|
||||
char *prompt = g_strdup_printf ( "%s:", sw->name );
|
||||
unsigned int selected_line = UINT32_MAX;
|
||||
int mretv = menu ( sw, input, prompt, &selected_line, NULL, NULL );
|
||||
|
||||
g_free ( prompt );
|
||||
return sw->result ( mretv, input, selected_line, sw );
|
||||
}
|
||||
|
|
|
@ -37,8 +37,7 @@
|
|||
|
||||
extern Display *display;
|
||||
|
||||
scrollbar *scrollbar_create ( Window parent, XVisualInfo *vinfo, Colormap map,
|
||||
short x, short y, short w, short h )
|
||||
scrollbar *scrollbar_create ( Window parent, XVisualInfo *vinfo, Colormap map, short x, short y, short w, short h )
|
||||
{
|
||||
scrollbar *sb = g_malloc0 ( sizeof ( scrollbar ) );
|
||||
|
||||
|
|
Loading…
Reference in a new issue