Tomas-M / xlunch

Graphical app launcher for X with minimal dependencies
http://xlunch.org
GNU General Public License v3.0
219 stars 37 forks source link

Create showcase of configurations #66

Open PMunch opened 6 years ago

PMunch commented 6 years ago

Xlunch is starting to become incredibly configurable, but for new users seeing the README page or even the web-site this might not come across all that well. I propose that we make a collection of configurations, some "normal" ones like those we already have, but also some "out-there" just to show exactly how configurable xlunch is.

Tomas-M commented 6 years ago

Great idea. We can make a directory "examples" in xlunch and put there different samples, including some nice icons, so user can try them live. And for each sample we can make a screenshot as well. The examples could cover EVERY available option, one by one, or combined, to make the user aware of them.

Furthermore we can even create apps alone with xlunch :) These are my ideas at the moment, feel free to extend:

1) Desktop icons (using --desktop) without prompt, with a shutdown/logout buttons with fixed position in some corner. This is simple example, no extra coding required.

2) File explorer, where user starts in root directory, and script does ls / and creates another configuration file, each time user clicks an entry a script is called to get list of current files in that directory and create another configuration file. So user can browse his disk. (this requires little script which creates entries)

3) menu with windowed display of fixed width/height (but without WM decorations), as a start menu, again there may be buttons for logout/shutdown

4) calculator. If we implement a way to put arbitrary text on screen to fixed position (similar like buttons, but with no click effects, only the text), we can make calculator with 9+4 buttons and a shell script which calculates the result :-)

Just ideas, I will try to implement some if I have time.

PMunch commented 6 years ago

Yeah I was thinking about adding a --label option to add text. Problem is you can't update them so you'd have to run a new instance of xlunch for each button press (or have some strange state and use recur to at least reuse the process).

I'm considering to redo the stdin interface and have a mode where you can issue commands to change labels, buttons, and entries all through stdin (currently only entries can be controlled like this).

I also have a crazy example where you get a transparent circular menu under your cursor that can control various things. And I'm thinking of trying the new highlight image option to create a convincing Windows XP style start menu (just for fun).

Tomas-M commented 6 years ago

Once we have a configuration file, xlunch can perhaps accept something like SIGUSR1 or similar signal, to re-read the config file and re-initialize some things. Maybe use different signals to reinit different things, because it is time consuming to re-render wallpaper if it didn't change, for example. Could this be perhaps used instead of the stdin at all?

PMunch commented 6 years ago

Hmm, yeah that would be possible but it would require editing the config file each time you want it to update. Not a huge problem since you can inherit from a base configuration but a bit troublesome none the less.

avently commented 5 years ago

Any news? There is one cool example of how xlunch can be customized https://github.com/saymoncoppi/xlunchr Would be great to see such examples in your repo but with default icons from a theme

Tomas-M commented 5 years ago

At the moment I am too lazy to do something with this :)

PMunch commented 5 years ago

Not entirely sure how to go about this to be honest. Copying a whole icon theme is obviously not a good idea. I think we should rather have a collection of screenshots with the configurations used to create them.

annata83 commented 5 years ago

Can I ask to add an example of how to achieve full transparency that allows to see underlying windows currently I am setting it to: backgroundcolor: 0000000 ...without luck. Could you explain how to configure multiple scenarios ( wallpaper, color etc )with transparency inside a config file

PMunch commented 5 years ago

It should be as easy as setting backgroundcolor as you do, but make sure that you have a compositor that supports transparent windows, and make sure xlunch is allowed to make such a window.

Tomas-M commented 5 years ago

I am currently not sure where to put it (maybe in xlunch directory tree) but anyway I will put it here, so it can be reused later if needed.

One example configuration is shown here (using xlunch as a sidebar):

xlunch --notitle --noprompt --width 66 --window \
--backgroundcolor 11223399 --highlightcolor 11223333 \
--iconsize 48 --columns 1 --rows 8 --iconpadding 10 --border 100 \
--dontquit --multiple --xposition 0 --yposition 0

VirtualBox_Slax 64 test_24_04_2019_00_16_19

Tomas-M commented 5 years ago

Another usage is as a menu-like window: (by the way, I fixed some bugs in the code to display this properly, already commited)

xlunch --backgroundcolor 112233aa --focuslostterminate --iconpadding 10 \
       --iconsize 48 --notitle --window --width 300 --height 300 \
       --xposition 10 --yposition -30 --noprompt \

VirtualBox_Slax 64 test_25_04_2019_13_22_22

Tomas-M commented 5 years ago

Another usage example:

xlunch --window --xposition 0 --yposition -70 --noprompt \
       --border 1 --iconpadding 10 --notitle --backgroundcolor 00000077 \
       --center --dontquit --multiple

VirtualBox_Slax 64 test_09_05_2019_22_52_10

Tomas-M commented 5 years ago

Another sample what xLunch can do - floating graphics on the desktop which appears and hides. (compositor must be running to make it transparent)

This example waits 1 second, then it shows a transparent png image with text "Start here" with arrow for 10 seconds:

(sleep 1; (echo; sleep 10; echo :quit) | xlunch --window --xposition 20 --yposition -30 \
--width 195 --height 53 --noscroll --noprompt --backgroundcolor ffffff00 \
--multiple --desktop --button "start-here.png;;0,0;run-menu.sh" & ) &

VirtualBox_Slax 64 test_27_06_2019_23_23_34