diff --git a/.bashrc b/.bashrc index 3907e7c..a9170c7 100644 --- a/.bashrc +++ b/.bashrc @@ -141,6 +141,9 @@ PROMPT_COMMAND=__tokyo_prompt export PATH=$PATH:$HOME/containers/bin +if [ -z $DISPLAY ]; then + startx +fi + clear ofetch - diff --git a/.xinitrc b/.xinitrc index 0abb368..de1bc9b 100644 --- a/.xinitrc +++ b/.xinitrc @@ -4,6 +4,7 @@ picom & xss-lock -l slock & feh --bg-scale $HOME/Pictures/wallpapers/glados.jpg & bluetoothctl power off & +setxkbmap -layout "us,cz" -variant ",qwerty" -option "grp:alt_shift_toggle" & export DISPLAY=:0 export XAUTHORITY=/home/imp/.Xauthority diff --git a/dmenu/Makefile b/dmenu/Makefile index 458c524..f157bb1 100644 --- a/dmenu/Makefile +++ b/dmenu/Makefile @@ -28,7 +28,7 @@ clean: dist: clean mkdir -p dmenu-$(VERSION) cp LICENSE Makefile README arg.h config.def.h config.mk dmenu.1\ - drw.h util.h dmenu_path dmenu_run stest.1 $(SRC)\ + drw.h util.h dmenu_path dmenu_path_desktop dmenu_run dmenu_run_desktop stest.1 $(SRC)\ dmenu-$(VERSION) tar -cf dmenu-$(VERSION).tar dmenu-$(VERSION) gzip dmenu-$(VERSION).tar @@ -36,10 +36,12 @@ dist: clean install: all mkdir -p $(DESTDIR)$(PREFIX)/bin - cp -f dmenu dmenu_path dmenu_run stest $(DESTDIR)$(PREFIX)/bin + cp -f dmenu dmenu_path dmenu_path_desktop dmenu_run dmenu_run_desktop stest $(DESTDIR)$(PREFIX)/bin chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu_path + chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu_path_desktop chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu_run + chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu_run_desktop chmod 755 $(DESTDIR)$(PREFIX)/bin/stest mkdir -p $(DESTDIR)$(MANPREFIX)/man1 sed "s/VERSION/$(VERSION)/g" < dmenu.1 > $(DESTDIR)$(MANPREFIX)/man1/dmenu.1 @@ -50,7 +52,9 @@ install: all uninstall: rm -f $(DESTDIR)$(PREFIX)/bin/dmenu\ $(DESTDIR)$(PREFIX)/bin/dmenu_path\ + $(DESTDIR)$(PREFIX)/bin/dmenu_path_desktop\ $(DESTDIR)$(PREFIX)/bin/dmenu_run\ + $(DESTDIR)$(PREFIX)/bin/dmenu_run_desktop\ $(DESTDIR)$(PREFIX)/bin/stest\ $(DESTDIR)$(MANPREFIX)/man1/dmenu.1\ $(DESTDIR)$(MANPREFIX)/man1/stest.1 diff --git a/dmenu/dmenu_path_desktop b/dmenu/dmenu_path_desktop new file mode 100755 index 0000000..5ff74b3 --- /dev/null +++ b/dmenu/dmenu_path_desktop @@ -0,0 +1,18 @@ +#!/bin/sh + +cachedir="${XDG_CACHE_HOME:-"$HOME/.cache"}" +cache="$cachedir/dmenu_run_desktop" + +[ ! -e "$cachedir" ] && mkdir -p "$cachedir" + +dirs="" +IFS=: +for dir in "${XDG_DATA_DIRS:-"/usr/local/share:/usr/share"}"; do + dirs="${dirs}:${dir}/applications" +done; + +if stest -dqr -n "$cache" $PATH; then + stest -fl $dirs | grep -v 'mimeinfo.cache' | sed 's/\.[^./]*$//' | sort -u | tee "$cache" +else + cat "$cache" +fi diff --git a/dmenu/dmenu_run_desktop b/dmenu/dmenu_run_desktop new file mode 100755 index 0000000..40f8d3c --- /dev/null +++ b/dmenu/dmenu_run_desktop @@ -0,0 +1,13 @@ +#!/bin/sh + +{ + dmenu_path_desktop + find /var/lib/flatpak/exports/share/applications \ + "$HOME/.local/share/flatpak/exports/share/applications" \ + -maxdepth 1 -name '*.desktop' -printf '%f\n' 2>/dev/null | + sed 's/\.desktop$//' #| awk -F "." '{print $NF}' | tr '[:upper:]' '[:lower:]' +} | + sort -u | + dmenu "$@" | + xargs -r gtk-launch & + diff --git a/dmenu/patches/dmenu-desktoponly.diff b/dmenu/patches/dmenu-desktoponly.diff new file mode 100644 index 0000000..bc6698e --- /dev/null +++ b/dmenu/patches/dmenu-desktoponly.diff @@ -0,0 +1,86 @@ +From fada397413584331798a1a9b8703a10110450889 Mon Sep 17 00:00:00 2001 +From: Robert Bilski +Date: Sun, 4 Aug 2024 22:07:35 +0200 +Subject: [PATCH] Handle .desktop files + +Retrieve files from applications/ and open them using gtk-launch +--- + Makefile | 8 ++++++-- + dmenu_path_desktop | 18 ++++++++++++++++++ + dmenu_run_desktop | 2 ++ + 3 files changed, 26 insertions(+), 2 deletions(-) + create mode 100755 dmenu_path_desktop + create mode 100755 dmenu_run_desktop + +diff --git a/Makefile b/Makefile +index 458c524..f157bb1 100644 +--- a/Makefile ++++ b/Makefile +@@ -28,7 +28,7 @@ clean: + dist: clean + mkdir -p dmenu-$(VERSION) + cp LICENSE Makefile README arg.h config.def.h config.mk dmenu.1\ +- drw.h util.h dmenu_path dmenu_run stest.1 $(SRC)\ ++ drw.h util.h dmenu_path dmenu_path_desktop dmenu_run dmenu_run_desktop stest.1 $(SRC)\ + dmenu-$(VERSION) + tar -cf dmenu-$(VERSION).tar dmenu-$(VERSION) + gzip dmenu-$(VERSION).tar +@@ -36,10 +36,12 @@ dist: clean + + install: all + mkdir -p $(DESTDIR)$(PREFIX)/bin +- cp -f dmenu dmenu_path dmenu_run stest $(DESTDIR)$(PREFIX)/bin ++ cp -f dmenu dmenu_path dmenu_path_desktop dmenu_run dmenu_run_desktop stest $(DESTDIR)$(PREFIX)/bin + chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu + chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu_path ++ chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu_path_desktop + chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu_run ++ chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu_run_desktop + chmod 755 $(DESTDIR)$(PREFIX)/bin/stest + mkdir -p $(DESTDIR)$(MANPREFIX)/man1 + sed "s/VERSION/$(VERSION)/g" < dmenu.1 > $(DESTDIR)$(MANPREFIX)/man1/dmenu.1 +@@ -50,7 +52,9 @@ install: all + uninstall: + rm -f $(DESTDIR)$(PREFIX)/bin/dmenu\ + $(DESTDIR)$(PREFIX)/bin/dmenu_path\ ++ $(DESTDIR)$(PREFIX)/bin/dmenu_path_desktop\ + $(DESTDIR)$(PREFIX)/bin/dmenu_run\ ++ $(DESTDIR)$(PREFIX)/bin/dmenu_run_desktop\ + $(DESTDIR)$(PREFIX)/bin/stest\ + $(DESTDIR)$(MANPREFIX)/man1/dmenu.1\ + $(DESTDIR)$(MANPREFIX)/man1/stest.1 +diff --git a/dmenu_path_desktop b/dmenu_path_desktop +new file mode 100755 +index 0000000..5ff74b3 +--- /dev/null ++++ b/dmenu_path_desktop +@@ -0,0 +1,18 @@ ++#!/bin/sh ++ ++cachedir="${XDG_CACHE_HOME:-"$HOME/.cache"}" ++cache="$cachedir/dmenu_run_desktop" ++ ++[ ! -e "$cachedir" ] && mkdir -p "$cachedir" ++ ++dirs="" ++IFS=: ++for dir in "${XDG_DATA_DIRS:-"/usr/local/share:/usr/share"}"; do ++ dirs="${dirs}:${dir}/applications" ++done; ++ ++if stest -dqr -n "$cache" $PATH; then ++ stest -fl $dirs | grep -v 'mimeinfo.cache' | sed 's/\.[^./]*$//' | sort -u | tee "$cache" ++else ++ cat "$cache" ++fi +diff --git a/dmenu_run_desktop b/dmenu_run_desktop +new file mode 100755 +index 0000000..a90aceb +--- /dev/null ++++ b/dmenu_run_desktop +@@ -0,0 +1,2 @@ ++#!/bin/sh ++dmenu_path_desktop | dmenu "$@" | xargs gtk-launch & +-- +2.46.0 + diff --git a/dwm/config/commands.h b/dwm/config/commands.h index 3231b01..12a0957 100644 --- a/dwm/config/commands.h +++ b/dwm/config/commands.h @@ -1,13 +1,27 @@ /* commands */ - -static const char *dmenucmd[] = - { "dmenu_run", "-p", "launch an app:", - "-l", "10", "-g", "2", - "-m", dmenumon, "-fn", dmenufont, - "-nb", col_gray1, "-nf", col_gray3, - "-sb", col_main, "-sf", col_gray4, +static const char *dmenucmd[] = + { "sh", "-c", + "export XDG_DATA_DIRS=" + "\"$HOME/.local/share/flatpak/exports/share:" + "/var/lib/flatpak/exports/share:" + "${XDG_DATA_DIRS:-/usr/local/share:/usr/share}\"; " + "exec dmenu_run_desktop \"$@\"", + "dmenu_run_desktop", + "-p", "launch an app:", + "-l", "10", "-g", "2", + "-m", dmenumon, "-fn", dmenufont, + "-nb", col_gray1, "-nf", col_gray3, + "-sb", col_main, "-sf", col_gray4, NULL }; +// static const char *dmenucmd[] = +// { "dmenu_run_desktop", "-p", "launch an app:", +// "-l", "10", "-g", "2", +// "-m", dmenumon, "-fn", dmenufont, +// "-nb", col_gray1, "-nf", col_gray3, +// "-sb", col_main, "-sf", col_gray4, +// NULL }; + static const char *termcmd[] = { "st", NULL };