From 9693b34379df14c30551b074948a7d4fdfdac5c8 Mon Sep 17 00:00:00 2001 From: speedie Date: Sun, 21 May 2023 14:38:43 +0000 Subject: [PATCH] update wiki --- icons/fav.svg | 10 ++++++ index.php | 2 +- pages/Configurable keybindings.md | 59 ++++++++++++++----------------- pages/Configuring spmenu.md | 5 +-- pages/Generating themes.md | 14 ++++++++ pages/Home.md | 10 +++--- pages/Patches.md | 51 ++++++++++++++++++++++++++ pages/Using spmenu on macOS.md | 2 +- 8 files changed, 113 insertions(+), 40 deletions(-) create mode 100644 icons/fav.svg create mode 100644 pages/Generating themes.md create mode 100644 pages/Patches.md diff --git a/icons/fav.svg b/icons/fav.svg new file mode 100644 index 0000000..98c15a8 --- /dev/null +++ b/icons/fav.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/index.php b/index.php index 35ef6e0..bc53070 100755 --- a/index.php +++ b/index.php @@ -80,7 +80,7 @@ function printHeader($title, $action, $bodyclass="") print "\n"; print " \n"; print " \n"; - print " \n"; + print " \n"; print " \n"; print " \n"; print " ".PAGE_TITLE."$title\n"; diff --git a/pages/Configurable keybindings.md b/pages/Configurable keybindings.md index 519e0e1..567ad8d 100644 --- a/pages/Configurable keybindings.md +++ b/pages/Configurable keybindings.md @@ -1,42 +1,36 @@ Configurable keybindings ======================== - spmenu has since version 1.0 supported configuring keybinds and mouse binds through a config file. The default config file *should* have the default keybinds already. - # List of valid modes - - -1 - - Any mode +- Any mode - 0 - - Normal mode +- Normal mode - 1 - - Insert mode - +- Insert mode # List of valid clicks - -- clickwindow - - Clicking on the spmenu window -- clickprompt - - Clicking on the prompt -- clickinput - - Clicking on the input -- clicklarrow - - Clicking on the left arrow -- clickrarrow - - Clicking on the right arrow -- clickitem - - Clicking on the item area -- clickselitem - - Clicking on an item, function here doesn't matter, it will always be selected -- clicknumber - - Clicking on the match count indicator -- clickcaps - - Clicking on the caps lock indicator -- clickmode - - Clicking on the mode indicator +- ClickWindow +- Clicking on the spmenu window +- ClickPrompt +- Clicking on the prompt +- ClickInput +- Clicking on the input +- ClickLArrow +- Clicking on the left arrow +- ClickRArrow +- Clicking on the right arrow +- ClickItem +- Clicking on the item area +- ClickSelItem +- Clicking on an item, function here doesn't matter, it will always be selected +- ClickNumber +- Clicking on the match count indicator +- ClickCaps +- Clicking on the caps lock indicator +- ClickMode +- Clicking on the mode indicator # List of valid modifiers - - Ctrl - Shift - Super @@ -87,6 +81,7 @@ These can also be combined by using '+' as a separator (ie. Ctrl+Shift) - setimgsize - setimgsize - toggleimg +- togglefullimg - defaultimg - rotateimg - flipimg @@ -113,11 +108,11 @@ These can also be combined by using '+' as a separator (ie. Ctrl+Shift) # List of valid modes - -1 - - Any mode +- Any mode - 0 - - Normal mode +- Normal mode - 1 - - Insert mode +- Insert mode # List of valid keys diff --git a/pages/Configuring spmenu.md b/pages/Configuring spmenu.md index 71d7a54..e020bdb 100755 --- a/pages/Configuring spmenu.md +++ b/pages/Configuring spmenu.md @@ -1,6 +1,7 @@ Configuring spmenu ================== - A fully complete configuration file is available in /usr/share/spmenu/spmenu.conf. This config is more or less identical to the default options. This makes it an excellent place to start because everything is already defined, you just make the changes you want. +To use this config, simply copy it to ~/.config/spmenu/spmenu.conf and restart spmenu. It should be used immediately. -To use this config, simply copy it to ~/.config/spmenu/spmenu.conf and restart spmenu. It should be used immediately. \ No newline at end of file +What may be useful to know is that keybinds in your spmenu.conf (by default) override **all** hardcoded keybindings. This is because +otherwise keybindings can conflict or be executed twice. This creates a problem, because if a new function is implemented the user must manually add it to their config or restore the default config. This is the case with the fullscreen image feature. \ No newline at end of file diff --git a/pages/Generating themes.md b/pages/Generating themes.md new file mode 100644 index 0000000..0681280 --- /dev/null +++ b/pages/Generating themes.md @@ -0,0 +1,14 @@ +Generating themes +================= + +As of 05/19/23 spmenu comes with a script called `generate-theme.sh`. As the name implies, this script generates a theme. Specifically it generates a theme from 18 different colors. + +The script is located in `scripts/make/` and is **not** installed with spmenu. This is a separate tool. If you run `scripts/make/generate-theme.sh` you will immediately get a.. admittedly not that useful listing of arguments as well as how to use it to generate a theme. + +Creating a color list is the first step. This can be any file. For this article we're going to assume the file is `./colors`. In there you want to set 18 different colors. The first 16 are going to be set in the same order you set terminal colors. For the two last colors, color #17 is the foreground color and color #18 is the background color. Note that colors may be reused. + +Now that we have a color list, we can start generating a theme. To do this, run `scripts/make/generate-theme.sh -c ./colors` where obviously colors is the color list. This will output directly to standard output, so you may want to redirect this into a file. For testing, I usually do something like `scripts/make/generate-theme.sh -c ./colors > scheme && spmenu_test -tm ./scheme`. + +It should be noted that the script doesn't provide an easy way to move around colors just yet, so it is assumed that you have a basic level of shell scripting knowledge here if you want to do that. If colors are incorrectly defined in your color list, the color will be set to #000000 as a default. Unless #000000 is part of your colorscheme, this is a good indication something is wrong. + +Now that we have a proper theme, we can use it. If you're using [spmenuify](https://git.speedie.site/spmenuify) you can simply choose 'Install' and navigate to the scheme you output. diff --git a/pages/Home.md b/pages/Home.md index d740a4d..7b6a72d 100755 --- a/pages/Home.md +++ b/pages/Home.md @@ -1,14 +1,16 @@ Welcome to the spmenu wiki! --------------------------- - ![preview image](/pages/images/preview.png) [spmenu](https://git.speedie.site/spmenu) is an X11 menu application based on [dmenu](https://tools.suckless.org/dmenu) which takes standard input, parses it, and lets the user choose an option and sends the -selected option to standard output. Options are separated by newlines. In addition to this, it also serves as a run launcher through the included -shell script `spmenu_run` which supports running binaries from $PATH but also file management and .desktop entries. +selected option to standard output. + +Options are separated by newlines. In addition to this, it also serves as a run launcher through the included shell script `spmenu_run` which supports running binaries from $PATH but also file management and .desktop entries. What are you waiting for? Check it out! -It is recommended that you start out by following [[Getting Started]]. Then, you may be interested in [[Using spmenu as a run launcher]]. \ No newline at end of file +It is recommended that you start out by following [[Getting Started]]. Then, you may be interested in [[Using spmenu as a run launcher]]. + +spmenu git repository: `https://git.speedie.site/spmenu` \ No newline at end of file diff --git a/pages/Patches.md b/pages/Patches.md new file mode 100644 index 0000000..8ffba9e --- /dev/null +++ b/pages/Patches.md @@ -0,0 +1,51 @@ +Patches +======= + +spmenu includes the functionality of several suckless patches. Some have been changed heavily and others were patched in as-is. + +- allowcolorfont + - Remove code from libdrw preventing color emojis from being drawn. +- alpha + - Transparency support +- barheight + - Allows overriding the bar height, works very differently in spmenu. +- bidi + - Implements right to left language support (such as Arabic) +- border + - Adds a border around the window +- case insensitive + - This patch was never applied, but spmenu has similar functionality for most arguments including case (in)sensitivity +- center + - Allows the window to be positioned in the center rather than top or bottom. spmenu has a very different version of this patch. +- colored caret + - This patch was never applied, but spmenu allows all colorschemes and colors to be configured individually. +- dracula + - This patch was never applied, but spmenu can have Dracula colors through [[User themes]]. +- fuzzyhighlight + - Adds in highlighting for fuzzy matching. +- fuzzymatch + - Adds in fzf like matching. +- grid + - Allows grid (column) number to be changed. +- gridnav + - Allows moving left/right +- gruvbox + - This patch was never applied but spmenu can have Gruvbox colors through [[User themes]]. +- highpriority + - Allows you to define items that match higher than others. +- incremental + - Returns input text on every keypress. +- initialtext + - Input text to start spmenu with. +- lines below prompt + - This patch was never applied but spmenu allows item indentation to be toggled. +- managed + - Allows your window manager to manage the window. +- mouse support + - Adds basic mouse features. +- navhistory + - Adds built in history and history buffer navigation +- no sort + - Adds a toggle for sorting items +- numbers + - Adds a match/item count indicator diff --git a/pages/Using spmenu on macOS.md b/pages/Using spmenu on macOS.md index e9ee27c..a63bfdb 100755 --- a/pages/Using spmenu on macOS.md +++ b/pages/Using spmenu on macOS.md @@ -1,5 +1,6 @@ Using spmenu on macOS ===================== +**NOTE: This article features information that may not apply to newer spmenu versions. An update to this article needs to be made.** spmenu (sort of) supports macOS. This is done through an X11 implementation for macOS called [XQuartz](https://www.xquartz.org/). It requires some extra effort however. @@ -12,7 +13,6 @@ Start by installing Homebrew (the package manager) on your Mac. From there run: **NOTE: The following instructions only apply to users of spmenu 1.0 and greater. Previous versions require a significant amount of work to get running.** The buildconf is just a shell script that the build script (build.sh) reads. So if we want to append any options we simply edit this file. - First we need to set `PREFIX` to `/usr/local` instead of the default `/usr`. This is because Apple as of macOS 10.15 Catalina no longer allows us to write to `/usr/bin` and `/usr/share`. This avoids any `Permission denied` errors you may get (yes, even with sudo) Now we need to set `pango=false`, `pangoxft=false`, `imlib2=false` and `openssl=false`. Currently, these features are **not supported** on macOS. [Should've installed a better operating system, bud.](https://archlinux.org)