davatorium / rofi Goto Github PK
View Code? Open in Web Editor NEWRofi: A window switcher, application launcher and dmenu replacement
Home Page: https://davatorium.github.io/rofi/
License: Other
Rofi: A window switcher, application launcher and dmenu replacement
Home Page: https://davatorium.github.io/rofi/
License: Other
config/config.c is changed on git updates. It would be nice to rename it config.def.c and allow users to put there location changes in config.c. config.c should not be tracked by git (add to .gitiignore) so it will never accidentally be changed by a git pull.
I get a segfault every time simpleswitcher exits running simpleswitcher -rnow with the following backtrace:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff715468b in malloc_consolidate () from /usr/lib/libc.so.6
#0 0x00007ffff715468b in malloc_consolidate () from /usr/lib/libc.so.6
#1 0x00007ffff71551d1 in _int_free () from /usr/lib/libc.so.6
#2 0x00007ffff7ad336b in _XFreeDisplayStructure () from /usr/lib/libX11.so.6
#3 0x00007ffff7ac1a2f in XCloseDisplay () from /usr/lib/libX11.so.6
#4 0x0000000000407427 in main (argc=2, argv=0x7fffffffe888)
at source/simpleswitcher.c:1533
Removing XCloseIM from textbox_free seems to fix the issue.
I'm not familiar with Xlib-programming but according to the manual XCloseDisplay will free all resources associated to the display.
sometimes you only wanted to run something once. for these entries it would be nice if there was a key to easily remove it from history
Hya
would like to request support for bangs, that is symbols that would launch menus/modes. for example @ in SS launcher mode would open teiler (the ss version)
also in example one could use a Internet bang to search in FF/chrome via surfraw. for example SS>@>g gmpc would launch a google search for gmpc
thx alot
Z
The can configure my terminal to st and it works fine for the normal run dialog, but it looks like it breaks ssh mode. SSH mode doesn't pass -e to the terminal emulator like the code in run dialog.
Provide a option to run in a horizontal mode, where it behaves more like dmenu. This would also require a -top and -bottom option that would either place it at the top or bottom of your screen.
Provide a option -prompt and allow the user to change the default prompt $ to whatever they want. I was using this in dmenu previously.
Provide a config.h like dmenu has for configuring default options, before the compile phase. Example below of the one that comes with dmenu. I think it's only included in their git repository right now.
/* See LICENSE file for copyright and license details. */
/* vim: expandtab
*/
/* Default settings; can be overrided by command line. */
static Bool topbar = True; /* -b option; if False, dmenu appears at bottom */
static const char *font = NULL; /* -fn option; default X11 font or font set */
static const char *prompt = NULL; /* -p option; prompt to the elft of input field */
static const char *normbgcolor = "#222222"; /* -nb option; normal background */
static const char *normfgcolor = "#bbbbbb"; /* -nf option; normal foreground */
static const char *selbgcolor = "#005577"; /* -sb option; selected background */
static const char *selfgcolor = "#eeeeee"; /* -sf option; selected foreground */
static const char *outbgcolor = "#00ffff";
static const char *outfgcolor = "#000000";
/* -l option; if nonzero, dmenu uses vertical list with given number of lines */
static unsigned int lines = 0;
I want to be able to set the terminal emulator from Xresources.
rofi.term: st
Xresources uses number values for configuration options like rofi.hmode and rofi.location. config.c uses words which are easier to remember. Either document the numbers or make it more consistent.
Hya
i think it would be cool and create a faster workflow if when there was only one completion option (IE a unique match) the app would auto switch without pressing enter.
IE if i have only 1 firefox window press f-TAB will auto switch to FF without the need for enter
There doesn't appear to be a option to set -padding in config.c.
Setting rofi.hmode: HORIZONTAL does not work in ~/.Xresources
Was trying to tweak my colors a bit tonight and noticed adjusting .menu_bg in config/config.c doesn't do anything. If I run rofi -bg "#333333" -rnow it works fine that way. Far as I can tell this only happens with .menu_bg.
When I want to use rofi to control the volume via mpc, if mpc volume 100 is in my history, I have to delete that entry in order to run mpc volume 10. It would be convenient with an option to disable history auto completion. (implying no dropdown list with historical entries, and input interpreted exactly as is)
I was surprised the to find out that PREFIX=/usr is used by default.
Please consider using /usr/local instead.
The name hmode doesn't make a not of sense unless it was a boolean value. I think wmode made more sense.
You could also change hmode to be true for horizontal mode and false for vertical.
Could it be possible to easily select the previous focused Window (in i3)?
I would like to have something to back and forth between windows. There is a features request in i3, but... it seems they don't want to implement it (for now):
http://bugs.i3wm.org/report/ticket/838
Hi,
Is it possible to implement the windows selection with mouse click ? :)
Thanks :)
It would be great if like in dmenu the user could create custom menus. I think a json blob would work great for this.
An example may be
{"prompt": "♫", "commands": { "play": "mpc play", "stop": "mpc stop", "start", "mpc start"}}
Then assuming we named it mpc.json we could run it like so. simpleswitcher -rnow -menu /path/to/mpc.json
With _NET_WM_NAME(UTF8_STRING) = "fooäbar", only "foo" is displayed in the window list.
It would be nice if I could use ctrl-j
and ctrl-k
to move up and down the list of matches instead of tab.
If you are using rofi for connect to SSH host in window title only word SSH. Is it possible to add the host name in the window title?
Now that simpleswitcher supports scrolling, pgup/pgdown support seem to be a logical thing to add. :)
With the syntax that used to launch the terminal with ssh; you can't use many terminal emulators. If you use xfce4-terminal or terminator, for example; the terminal doesn't pop up.
I looked a bit into the source and I think it has something to do with:
return execlp ( config.terminal_emulator, config.terminal_emulator, "-e", "ssh", host, NULL );
Shouldn't the host be in the same argument as the "ssh"?
I would compile it myself to try it, but I can't right now.
Support regex and tokonized matching in entry gox.
so " iceweasel tweak" will match iceweasel with tweak in title.
I would like to see the window icons in the window list, next to the class name maybe?
In hmode the border color is always black, changing the color doesn't work.
I disabled history, but that also made irrelevant hits list first. For example, when writing panel, rofi would list ControlPanel first. It would be nice if you could first show the hits that start with the letters the user has written, before sorting alphabetically. So that in this case panel would go before ControlPanel.
Another way I can think of which could solve my problem: when -disable-history, you could still sort by relevance. Sort of like letting history work behind the scenes, but not showing the history in the list.
easy to reproduce:
echo "Änglagård" | simpleswitcher -dmenu
doesnt work. no matter what font is used.
On git head as of posting this regardless of the options/mode i'm in when I start rofi the results are always blank, soon as I hit any key it exits with the following error.
zsh: floating point exception rofi -rnow
Although the source contains a man page, the installation procedure does not add it by default.
I have tried simpleswitcher -mnow
, which does nothing (no popup).
I have also noticed that simpleswitcher -foobar
does the same (nothing), it binds the default shortcuts.
Alt-F5 / Mod1-F5 (the default for mark mode) is not bound.
make
and make install
state that I3 mode is enabled
.
I have tried using simpleswitcher on awesome, but it does not change to the target desktop (if it's different from the current one). This works with the original version.
I have seen that there's some special/different code in the original simpleswitcher (https://github.com/seanpringle/simpleswitcher) for this:
https://github.com/seanpringle/simpleswitcher/blob/master/simpleswitcher.c#L909
The original version also has the desktop/workspace/tag in front of the list entries, which I consider to be useful.
What is the state of your fork?
Have you considered to join forces with @seanpringle?
rofi has some pretext before each of it's command modes.
run
ssh
I would rather see
run:
ssh:
:
Could we have a option to where adding some text like a : to the end be configurable, or just add the colon in?
Also maybe change > to window:
right now simpleswitcher expects a file for JSON input which makes dynamic scripts impossible. Allowing input via stdin/as an argument would solve this.
Would be cool is simple switcher could also have a smart matching to also include all other windows properties (vix Xprop). so for example running a urxvt term with a role of (ssh) would accept both urxvt and ssh to switch to it
thx!
Z
It would be nice to use only Alt+Tab
(without pressing Enter) to change the focus.
The proposed method would change the focus when Alt
is not longer pressed. Once the menu is displayed, Alt+Tab
can be used to go to the item in the menu (observe that actually only Tab
is pressed again since Alt
is continuously pressed). And Alt+Shift+Tab
for the previous item. In order to cancel, ESC
can be used (while pressing Alt
). This is the default behavior in kde, for example.
I believe it is faster and uses less hand movements.
The website is currently hard to remember.
As we talked on IRC as well ;-)
allow rofi to show a small image (png/jpg) alongside entries
Z
We talked about this on IRC.
Idea: make rofi being able to select multiple lines and run their connected commands.
When changing .wmode = VERTICAL to .wmode HORIZONTAL it still launches in vertical mode.
The windows are listed but when I select them, nothing happens... Any ideas on how to make this work with simpleswitcher (if even possible)?
SS makes i3 crash when selecting i3bar for output LVDS1
(or whatever your screen is).
I'm guessing this entry is the switcher itself, and the fix would be to filter it out of the list, but I don't have time to try and take care of it.
$ autoreconf --install
configure.ac:15: installing './compile'
configure.ac:9: installing './install-sh'
configure.ac:9: installing './missing'
automake: warnings are treated as errors
Makefile.am:57: warning: '%'-style pattern rules are a GNU make extension
Makefile.am: installing './depcomp'
autoreconf: automake failed with exit status: 1
It looks like automake
doesn't like the '%'-style pattern rules
in Makefile.am:57
:
%.html: %.md
$(md_verbose) markdown $< > $@
I have this idea to make switching faster by a bit (every ms counts :))
suppose we could mark/tag windows based on title/role/class etc..
then in the switcher part we could just switch to tagged windows by going Ss>Tag
IE i would have FF, chrome, gmpc, terminal X4, ssh etc open
and would tag FF as 'f'' and ssh as 's'
then just SS>f or SS >f TAB and voilla your in Firefox
thx!
Z
Keypad enter does not work.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.