What application have you recently discovered?

Superiority-claims by anyone should always be taken with a grain of salt or two, imho.
Be careful of those, who just want to sell you some b/s (bulls…)!

That is a lot of space used for invading your privacy, it seems. On Linux I keep using thunderbird for emails, and nothing else, as it can be configured to minimal invasion (similar to firefox with user.js profile files).

:v:

1 Like

Yeah, thunderbird and evolution are great mail clients and I’d recommend these instead.

1 Like

If it’s just the color output, you can use a (long) LS_COLORS variable for ls :

https://imgur.com/It8lJBx.png

can you elaborate on this a bit on how to use the long variable for.

You can set a color for each file format/extension in the LS_COLORS variable if needed.

Some explanations here :
https://linuxhint.com/ls_colors_bash/

You can also install the lscolors-git package and put this line :

source "~/.local/share/lscolors.sh"

in your .bashrc or .zshrc .

2 Likes

i am trapped with xonsh :frowning: on this matter, i think. already too much color, i think.

thank you though for the reply

https://aur.archlinux.org/packages/input-remapper-git

Replaces (a small subset of) Auto Hot Key, invaluable for some games.

I had tried various other things, such as writing a script with pynput and other libraries, without success in games.

4 Likes

I guess it’s nice for gaming, since it can load different profiles, I’m using it for some buttons of my trackball.

2 Likes

tldr

I found it a few days ago and it’s really useful. It gives you a short snippet of the most useful switches for a command using the tldr-pages on github. Written in python and available from the community repo.

Example: tldr pacman

Thanks to this post, I reinstalled exa. I forgot that I had used it in a previous distro.

Here is the command with options I really like

exa --tree --long -L 1 --reverse  --sort='modified' --color=always --group-directories-first | more
1 Like

Combining --tree with --L 1 makes tree somewhat pointless. :wink:

2 Likes

It gives the nice lines at least but point taken that information is the same.

1 Like

GitHub | F-Droid

7 Likes
#!/bin/bash
# Usage: ww -f "window class filter" -c "run if not found"
# Usage: ww -fa "window title filter" -c "run if not found"

POSITIONAL=()
while [[ $# -gt 0 ]]; do
	key="$1"

	case $key in
	-c | --command)
		COMMAND="$2"
		shift # past argument
		shift # past value
		;;
	-f | --filter)
		FILTERBY="$2"
		shift # past argument
		shift # past value
		;;
	-fa | --filter-alternative)
		FILTERALT="$2"
		shift # past argument
		shift # past value
		;;
	-h | --help)
		HELP="1"
		shift # past argument
		shift # past value
		;;
	*)                  # unknown option
		POSITIONAL+=("$1") # save it in an array for later
		shift              # past argument
		;;
	esac
done

set -- "${POSITIONAL[@]}" # restore positional parameters

if [ -n "$HELP" ]; then
	cat <<EOF
ww. Utility to raise or jump an applications in KDE. It interacts with KWin using KWin scripts and it is compatible with X11 and Wayland

Paramaters:

-h  --help                show this help
-f  --filter              filter by window class
-fa --filter-alternative  filter by window title (caption)
-c  --command             command to check if running and run if no process is found
EOF
	exit 0
fi

SCRIPT_TEMPLATE=$(
	cat <<EOF
function kwinactivateclient(clientClass, clientCaption) {
  var clients = workspace.clientList();
  var compareToCaption = new RegExp(clientCaption || '', 'i');
  var compareToClass = clientClass;
  var isCompareToClass = clientClass.length > 0
  for (var i=0; i<clients.length; i++) {
      var client = clients[i];
      if (isCompareToClass && client.resourceClass == compareToClass) {
          workspace.activeClient = client;
        break;
      } else if (!isCompareToClass && compareToCaption.exec(client.caption)) {
        workspace.activeClient = client;
        break;
      }
  }
}
kwinactivateclient('CLASS_NAME', 'CAPTION_NAME');
EOF
)

CURRENT_SCRIPT_NAME=$(basename "$0")

# ensure the script file exists
function ensure_script {
	if [ ! -f SCRIPT_PATH ]; then
		if [ ! -d "$SCRIPT_FOLDER" ]; then
			mkdir -p "$SCRIPT_FOLDER"
		fi
		SCRIPT_CONTENT=${SCRIPT_TEMPLATE/CLASS_NAME/$1}
		SCRIPT_CONTENT=${SCRIPT_CONTENT/CAPTION_NAME/$2}
		#if [ "$1" == "class" ]; then
		#SCRIPT_CONTENT=${SCRIPT_CLASS_NAME/REPLACE_ME/$2}
		#else
		#SCRIPT_CONTENT=${SCRIPT_CAPTION/REPLACE_ME/$2}
		#fi
		echo "$SCRIPT_CONTENT" >"$SCRIPT_PATH"
	fi
}

if [ -z "$FILTERBY" ] && [ -z "$FILTERALT" ]; then
	echo You need to specify a window filter. Either by class -f or by title -fa
	exit 1
fi

IS_RUNNING=$(pgrep -o -a -f "$COMMAND" | grep -v "$CURRENT_SCRIPT_NAME")

if [ -n "$IS_RUNNING" ] || [ -n "$FILTERALT" ]; then

	# trying for XDG_CONFIG_HOME first
	SCRIPT_FOLDER_ROOT=$XDG_CONFIG_HOME
	if [[ -z $SCRIPT_FOLDER_ROOT ]]; then
		# fallback to the home folder
		SCRIPT_FOLDER_ROOT=$HOME
	fi

	SCRIPT_FOLDER="$SCRIPT_FOLDER_ROOT/.wwscripts/"
	SCRIPT_NAME=$(echo "$FILTERBY$FILTERALT" | md5sum | head -c 32)
	SCRIPT_PATH="$SCRIPT_FOLDER$SCRIPT_NAME"
	ensure_script "$FILTERBY" "$FILTERALT"

	SCRIPT_NAME="ww$RANDOM"
	#SCRIPT_NAME=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)

	# install the script
	ID=$(dbus-send --session --dest=org.kde.KWin --print-reply=literal /Scripting org.kde.kwin.Scripting.loadScript "string:$SCRIPT_PATH" "string:$SCRIPT_NAME" | awk '{print $2}')
	# run it - some KDEs version use Script.run others Scripting.run
	dbus-send --session --dest=org.kde.KWin --print-reply=literal "/$ID" org.kde.kwin.Scripting.run >/dev/null 2>&1
	dbus-send --session --dest=org.kde.KWin --print-reply=literal "/$ID" org.kde.kwin.Script.run >/dev/null 2>&1
	# stop it - some KDEs version use Script.run others Scripting.run
	dbus-send --session --dest=org.kde.KWin --print-reply=literal "/$ID" org.kde.kwin.Scripting.stop >/dev/null 2>&1
	dbus-send --session --dest=org.kde.KWin --print-reply=literal "/$ID" org.kde.kwin.Script.stop >/dev/null 2>&1
	# uninstall it
	dbus-send --session --dest=org.kde.KWin --print-reply=literal /Scripting org.kde.kwin.Scripting.unloadScript "string:$SCRIPT_NAME" >/dev/null 2>&1
elif [ -n "$COMMAND" ]; then
	$COMMAND &
fi

A run or raise script for KDE that works on X11 and Wayland - usage:

ror -f dolphin -c dolphin

Will switch to dolphin if running, or will switch to it, if it is running.

If you want to move data back and forth in your home network, you have many options: Sharing directories, shared file server, via the cloud, via Messenger, KDE Connect, floppy disk, mounted messenger, and, and, and. With LocalSend there is now another possibility. The application must be installed on the devices involved and they must be on the same LAN. An internet connection is not required.

found on https://gnulinux.ch/localsend (ger)

https://localsend.org/#/download

7 Likes

Isn’t KDE connect also works over local/mesh-networks?

1 Like

definitely, i only have localsend as an alternative. i just wanted to share the article

1 Like

New privacy focused android keyboard on the market.

6 Likes

not really a package for us to install but some configuration changes on top of nvim.

one of the best nvim for me so far particularly with my xonsh shell and Qtile DE

2 Likes

An oldie but goodie
Zenmap

https://nmap.org/zenmap/

5 Likes