From 5a41da5881a11ba3fdc3890c342aa3b7eb53e0cf Mon Sep 17 00:00:00 2001 From: Mohammad Reza Karimi Date: Tue, 16 Dec 2025 13:27:11 -0500 Subject: add initial version (incomplete) --- wayland-basics/dot-config/kanshi/config | 21 +++++++++ wayland-basics/dot-config/kanshi/reload.sh | 6 +++ wayland-basics/dot-config/mako/config | 38 ++++++++++++++++ wayland-basics/dot-config/mimeapps.list | 53 ++++++++++++++++++++++ wayland-basics/dot-config/mpv/mpv.conf | 1 + .../dot-config/systemd/user/kanshi.service | 15 ++++++ .../dot-config/systemd/user/swaybg.service | 15 ++++++ .../dot-config/systemd/user/swayosd-server.service | 14 ++++++ .../systemd/user/wl-clip-persist.service | 14 ++++++ wayland-basics/dot-config/zathura/zathurarc | 22 +++++++++ .../dot-local/share/applications/browser.desktop | 1 + .../dot-local/share/applications/file.desktop | 4 ++ .../dot-local/share/applications/img.desktop | 1 + .../dot-local/share/applications/imv.desktop | 7 +++ .../dot-local/share/applications/mail.desktop | 4 ++ .../dot-local/share/applications/mimeinfo.cache | 28 ++++++++++++ .../dot-local/share/applications/mpv.desktop | 10 ++++ .../dot-local/share/applications/nvim.desktop | 12 +++++ .../dot-local/share/applications/pdf.desktop | 4 ++ .../dot-local/share/applications/text.desktop | 1 + .../dot-local/share/applications/video.desktop | 1 + 21 files changed, 272 insertions(+) create mode 100644 wayland-basics/dot-config/kanshi/config create mode 100755 wayland-basics/dot-config/kanshi/reload.sh create mode 100644 wayland-basics/dot-config/mako/config create mode 100644 wayland-basics/dot-config/mimeapps.list create mode 100644 wayland-basics/dot-config/mpv/mpv.conf create mode 100644 wayland-basics/dot-config/systemd/user/kanshi.service create mode 100644 wayland-basics/dot-config/systemd/user/swaybg.service create mode 100644 wayland-basics/dot-config/systemd/user/swayosd-server.service create mode 100644 wayland-basics/dot-config/systemd/user/wl-clip-persist.service create mode 100644 wayland-basics/dot-config/zathura/zathurarc create mode 120000 wayland-basics/dot-local/share/applications/browser.desktop create mode 100755 wayland-basics/dot-local/share/applications/file.desktop create mode 120000 wayland-basics/dot-local/share/applications/img.desktop create mode 100755 wayland-basics/dot-local/share/applications/imv.desktop create mode 100755 wayland-basics/dot-local/share/applications/mail.desktop create mode 100644 wayland-basics/dot-local/share/applications/mimeinfo.cache create mode 100755 wayland-basics/dot-local/share/applications/mpv.desktop create mode 100755 wayland-basics/dot-local/share/applications/nvim.desktop create mode 100755 wayland-basics/dot-local/share/applications/pdf.desktop create mode 120000 wayland-basics/dot-local/share/applications/text.desktop create mode 120000 wayland-basics/dot-local/share/applications/video.desktop (limited to 'wayland-basics') diff --git a/wayland-basics/dot-config/kanshi/config b/wayland-basics/dot-config/kanshi/config new file mode 100644 index 0000000..8ca67a1 --- /dev/null +++ b/wayland-basics/dot-config/kanshi/config @@ -0,0 +1,21 @@ +# vim: ft=scfg + +output eDP-1 alias $laptop +output "Dell Inc. DELL P2723D FNHTH14" alias $workmon +output "Lenovo Group Limited M15 V30ANMLM" alias $lenmon + +profile work { + output $laptop disable + output $workmon mode 2560x1440 position 0,0 + exec ~/.config/kanshi/reload.sh +} + +profile home_double { + output $lenmon mode 1920x1080@60 position 0,0 + output $laptop enable mode 2880x1800@120 position 1920,0 scale 2 +} + +profile home { + output $laptop enable mode 2880x1800@120 position 0,0 scale 2 + exec ~/.config/kanshi/reload.sh +} diff --git a/wayland-basics/dot-config/kanshi/reload.sh b/wayland-basics/dot-config/kanshi/reload.sh new file mode 100755 index 0000000..ce74a3f --- /dev/null +++ b/wayland-basics/dot-config/kanshi/reload.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +if [ -n "$HYPRLAND_INSTANCE_SIGNATURE" ]; then + hyprctl reload + hyprctl dispatch workspace 1 +fi diff --git a/wayland-basics/dot-config/mako/config b/wayland-basics/dot-config/mako/config new file mode 100644 index 0000000..9339e49 --- /dev/null +++ b/wayland-basics/dot-config/mako/config @@ -0,0 +1,38 @@ +# vim: ft=dosini + +text-color=#bbbbbb +border-color=#005577 +background-color=#222222 +padding=10 +border-size=2 +max-icon-size=32 +outer-margin=20 + +font=monospace 11 + +width=420 +height=110 +anchor=top-right +default-timeout=5000 +max-history=10 +icon-path=/usr/share/icons/Adwaita + +[actionable=true] +on-button-right=exec makoctl menu -n "${id}" wmenu + +[app-name=Spotify] +invisible=1 + +[mode=do-not-disturb] +invisible=true + +[mode=do-not-disturb app-name=notify-send] +invisible=false + +[app-name=NeoMutt] +default-timeout=20000 +on-notify=exec mpv /usr/share/sounds/freedesktop/stereo/message.oga +# on-button-left=exec setsid app2unit-term -e neomutt_wrapper + +[urgency=critical] +default-timeout=0 diff --git a/wayland-basics/dot-config/mimeapps.list b/wayland-basics/dot-config/mimeapps.list new file mode 100644 index 0000000..f1a1568 --- /dev/null +++ b/wayland-basics/dot-config/mimeapps.list @@ -0,0 +1,53 @@ +[Default Applications] +x-scheme-handler/mailto=mail.desktop; +message/rfc822=mail.desktop; +x-scheme-handler/mid=mail.desktop; + +text/x-shellscript=text.desktop; +text/plain=text.desktop; +text/x-tex=text.desktop; +text/x-bibtex=text.desktop; + +application/postscript=pdf.desktop; +application/pdf=pdf.desktop; + +image/png=img.desktop; +image/jpeg=img.desktop; +image/gif=img.desktop; +image/heif=img.desktop; +image/svg+xml=img.desktop; +image/svg=img.desktop; + +video/x-matroska=video.desktop; +video/mp4=video.desktop; +video/webm=video.desktop; +video/mp4=video.desktop; +video/x-msvideo=video.desktop; +video/x-matroska=video.desktop; +video/x-flv=video.desktop; +video/x-ms-wmv=video.desktop; +video/mpeg=video.desktop; +video/ogg=video.desktop; +video/webm=video.desktop; +video/quicktime=video.desktop; +video/3gpp=video.desktop; +video/3gpp2=video.desktop; +video/x-ms-asf=video.desktop; +video/x-ogm+ogg=video.desktop; +video/x-theora+ogg=video.desktop; +application/ogg=video.desktop; + +inode/directory=file.desktop; + +x-scheme-handler/http=browser.desktop; +x-scheme-handler/https=browser.desktop; +x-scheme-handler/chrome=browser.desktop; +text/html=browser.desktop; +application/x-extension-htm=browser.desktop; +application/x-extension-html=browser.desktop; +application/x-extension-shtml=browser.desktop; +application/xhtml+xml=browser.desktop; +application/x-extension-xhtml=browser.desktop; +application/x-extension-xht=browser.desktop; +x-scheme-handler/about=browser.desktop; +x-scheme-handler/unknown=browser.desktop; diff --git a/wayland-basics/dot-config/mpv/mpv.conf b/wayland-basics/dot-config/mpv/mpv.conf new file mode 100644 index 0000000..ebfb505 --- /dev/null +++ b/wayland-basics/dot-config/mpv/mpv.conf @@ -0,0 +1 @@ +vo=gpu diff --git a/wayland-basics/dot-config/systemd/user/kanshi.service b/wayland-basics/dot-config/systemd/user/kanshi.service new file mode 100644 index 0000000..dd6227c --- /dev/null +++ b/wayland-basics/dot-config/systemd/user/kanshi.service @@ -0,0 +1,15 @@ +[Unit] +PartOf=graphical-session.target +Description=Kanshi Wayland output manager +After=graphical-session.target +Requisite=graphical-session.target + +[Service] +Type=exec +ExecStart=/usr/bin/kanshi +ExecReload=kill -SIGHUP $MAINPID +Restart=on-failure +Slice=background-graphical.slice + +[Install] +WantedBy=graphical-session.target diff --git a/wayland-basics/dot-config/systemd/user/swaybg.service b/wayland-basics/dot-config/systemd/user/swaybg.service new file mode 100644 index 0000000..719900d --- /dev/null +++ b/wayland-basics/dot-config/systemd/user/swaybg.service @@ -0,0 +1,15 @@ +[Unit] +PartOf=graphical-session.target +Description=Swaybg wallpaper utility +After=graphical-session.target +Requisite=graphical-session.target + +[Service] +Type=exec +# ExecStart=/usr/bin/swaybg -m fill -i /home/moreka/Pictures/ethereal.jpg +ExecStart=/usr/bin/swaybg -c '#002B36' +Restart=on-failure +Slice=background-graphical.slice + +[Install] +WantedBy=graphical-session.target diff --git a/wayland-basics/dot-config/systemd/user/swayosd-server.service b/wayland-basics/dot-config/systemd/user/swayosd-server.service new file mode 100644 index 0000000..21934eb --- /dev/null +++ b/wayland-basics/dot-config/systemd/user/swayosd-server.service @@ -0,0 +1,14 @@ +[Unit] +PartOf=graphical-session.target +Description=SwayOSD server +After=graphical-session.target +Requisite=graphical-session.target + +[Service] +Type=exec +ExecStart=/usr/bin/swayosd-server +Restart=on-failure +Slice=background-graphical.slice + +[Install] +WantedBy=graphical-session.target diff --git a/wayland-basics/dot-config/systemd/user/wl-clip-persist.service b/wayland-basics/dot-config/systemd/user/wl-clip-persist.service new file mode 100644 index 0000000..f0f55a6 --- /dev/null +++ b/wayland-basics/dot-config/systemd/user/wl-clip-persist.service @@ -0,0 +1,14 @@ +[Unit] +PartOf=graphical-session.target +Description=Clipboard history manager for wayland +After=graphical-session.target +Requisite=graphical-session.target + +[Service] +Type=exec +ExecStart=/usr/bin/wl-clip-persist --clipboard regular --disable-timestamps +Restart=on-failure +Slice=background-graphical.slice + +[Install] +WantedBy=graphical-session.target diff --git a/wayland-basics/dot-config/zathura/zathurarc b/wayland-basics/dot-config/zathura/zathurarc new file mode 100644 index 0000000..8322b0e --- /dev/null +++ b/wayland-basics/dot-config/zathura/zathurarc @@ -0,0 +1,22 @@ +set statusbar-h-padding 0 +set statusbar-v-padding 0 +set selection-clipboard clipboard +set database sqlite +set synctex true +# set synctex-editor-command "nvim -v --not-a-term -T dumb -c \"VimtexInverseSearch %{line}:%{column} '%{input}'\"" +set font "monospace 9" + +map u scroll half-up +map d scroll half-down +map D toggle_page_mode +map r reload +map R rotate +map K zoom in +map J zoom out +map i recolor +map p print +map g goto top + +set render-loading true + +# vim: ft=zathurarc diff --git a/wayland-basics/dot-local/share/applications/browser.desktop b/wayland-basics/dot-local/share/applications/browser.desktop new file mode 120000 index 0000000..38ab478 --- /dev/null +++ b/wayland-basics/dot-local/share/applications/browser.desktop @@ -0,0 +1 @@ +/usr/share/applications/org.qutebrowser.qutebrowser.desktop \ No newline at end of file diff --git a/wayland-basics/dot-local/share/applications/file.desktop b/wayland-basics/dot-local/share/applications/file.desktop new file mode 100755 index 0000000..a7e84c3 --- /dev/null +++ b/wayland-basics/dot-local/share/applications/file.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Type=Application +Name=File Manager +Exec=alacritty -e lf %u diff --git a/wayland-basics/dot-local/share/applications/img.desktop b/wayland-basics/dot-local/share/applications/img.desktop new file mode 120000 index 0000000..6dacb85 --- /dev/null +++ b/wayland-basics/dot-local/share/applications/img.desktop @@ -0,0 +1 @@ +imv.desktop \ No newline at end of file diff --git a/wayland-basics/dot-local/share/applications/imv.desktop b/wayland-basics/dot-local/share/applications/imv.desktop new file mode 100755 index 0000000..d41f33d --- /dev/null +++ b/wayland-basics/dot-local/share/applications/imv.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=IMV Image viewer +Icon=imv +Exec=/usr/bin/imv %f +Terminal=false +Categories=Graphics;Viewer; diff --git a/wayland-basics/dot-local/share/applications/mail.desktop b/wayland-basics/dot-local/share/applications/mail.desktop new file mode 100755 index 0000000..f36fa88 --- /dev/null +++ b/wayland-basics/dot-local/share/applications/mail.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Type=Application +Name=Mail +Exec=alacritty -e neomutt %u diff --git a/wayland-basics/dot-local/share/applications/mimeinfo.cache b/wayland-basics/dot-local/share/applications/mimeinfo.cache new file mode 100644 index 0000000..4c6a9fa --- /dev/null +++ b/wayland-basics/dot-local/share/applications/mimeinfo.cache @@ -0,0 +1,28 @@ +[MIME Cache] +application/rdf+xml=browser.desktop; +application/x-shellscript=nvim.desktop;text.desktop; +application/xhtml+xml=browser.desktop; +application/xml=browser.desktop; +image/gif=browser.desktop; +image/jpeg=browser.desktop; +image/png=browser.desktop; +image/webp=browser.desktop; +text/english=nvim.desktop;text.desktop; +text/html=browser.desktop; +text/plain=nvim.desktop;text.desktop; +text/x-c=nvim.desktop;text.desktop; +text/x-c++=nvim.desktop;text.desktop; +text/x-c++hdr=nvim.desktop;text.desktop; +text/x-c++src=nvim.desktop;text.desktop; +text/x-chdr=nvim.desktop;text.desktop; +text/x-csrc=nvim.desktop;text.desktop; +text/x-java=nvim.desktop;text.desktop; +text/x-makefile=nvim.desktop;text.desktop; +text/x-moc=nvim.desktop;text.desktop; +text/x-pascal=nvim.desktop;text.desktop; +text/x-tcl=nvim.desktop;text.desktop; +text/x-tex=nvim.desktop;text.desktop; +text/xml=browser.desktop; +x-scheme-handler/http=browser.desktop; +x-scheme-handler/https=browser.desktop; +x-scheme-handler/qute=browser.desktop; diff --git a/wayland-basics/dot-local/share/applications/mpv.desktop b/wayland-basics/dot-local/share/applications/mpv.desktop new file mode 100755 index 0000000..282ae48 --- /dev/null +++ b/wayland-basics/dot-local/share/applications/mpv.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Type=Application +Name=MPV Media Player +Icon=mpv +TryExec=/usr/bin/mpv +Exec=/usr/bin/mpv --player-operation-mode=pseudo-gui -- %U +Terminal=false +Categories=AudioVideo;Audio;Video;Player;TV; +StartupWMClass=mpv +Keywords=mpv;media;player;video;audio;tv; diff --git a/wayland-basics/dot-local/share/applications/nvim.desktop b/wayland-basics/dot-local/share/applications/nvim.desktop new file mode 100755 index 0000000..27fadab --- /dev/null +++ b/wayland-basics/dot-local/share/applications/nvim.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Neovim +GenericName=Text Editor +Comment=Edit text files +Exec=sh -c "alacritty --class=nvim --title=nvim -- nvim %F" +Terminal=false +Type=Application +Keywords=Text;editor; +Icon=nvim +Categories=Utility;TextEditor; +StartupNotify=false +MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; diff --git a/wayland-basics/dot-local/share/applications/pdf.desktop b/wayland-basics/dot-local/share/applications/pdf.desktop new file mode 100755 index 0000000..8c38677 --- /dev/null +++ b/wayland-basics/dot-local/share/applications/pdf.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Type=Application +Name=PDF reader +Exec=/usr/bin/zathura %u diff --git a/wayland-basics/dot-local/share/applications/text.desktop b/wayland-basics/dot-local/share/applications/text.desktop new file mode 120000 index 0000000..15e1f2a --- /dev/null +++ b/wayland-basics/dot-local/share/applications/text.desktop @@ -0,0 +1 @@ +nvim.desktop \ No newline at end of file diff --git a/wayland-basics/dot-local/share/applications/video.desktop b/wayland-basics/dot-local/share/applications/video.desktop new file mode 120000 index 0000000..0da0c22 --- /dev/null +++ b/wayland-basics/dot-local/share/applications/video.desktop @@ -0,0 +1 @@ +mpv.desktop \ No newline at end of file -- cgit v1.2.3-71-gdd5e