Add qimgv

This commit is contained in:
ItsDrike 2024-06-23 11:25:52 +02:00
parent 5ebc43b05a
commit d144a479bc
Signed by: ItsDrike
GPG key ID: FA2745890B7048C0
6 changed files with 116 additions and 3 deletions

View file

@ -6,5 +6,6 @@ _: {
./qbittorrent.nix ./qbittorrent.nix
./mpv.nix ./mpv.nix
./obs.nix ./obs.nix
./qimgv.nix
]; ];
} }

View file

@ -29,6 +29,7 @@ in {
hideAllPanels=true hideAllPanels=true
showMenuBar=false showMenuBar=false
showRecentFiles=false showRecentFiles=false
useLogFile=true
[Crop] [Crop]
AspectRatioHorizontal=0 AspectRatioHorizontal=0
@ -62,7 +63,7 @@ in {
overwriteDialog-answer=16384 overwriteDialog-answer=16384
saveEditDialog=false saveEditDialog=false
saveEditDialog-answer=16384 saveEditDialog-answer=16384
saveTabsDialog=true saveTabsDialog=false
saveTabsDialog-answer=16384 saveTabsDialog-answer=16384
[DkExplorer] [DkExplorer]

View file

@ -0,0 +1,99 @@
{
lib,
pkgs,
osConfig,
...
}: let
inherit (lib) mkIf;
cfg = osConfig.myOptions.home-manager.programs.applications.qimgv;
in {
config = mkIf cfg.enable {
home.packages = with pkgs; [
qimgv
];
xdg.configFile = {
"qimgv/qimgv.conf".text = ''
[General]
JPEGSaveQuality=95
absoluteZoomStep=false
autoResizeLimit=90
autoResizeWindow=false
backgroundOpacity=1
blurBackground=false
confirmDelete=true
confirmTrash=false
cursorAutohiding=true
defaultCropAction=0
defaultFitMode=0
defaultViewMode=0
drawTransparencyGrid=false
enableSmoothScroll=true
expandImage=false
expandLimit=2
firstRun=false
focusPointIn1to1Mode=1
folderEndAction=0
imageScrolling=1
infoBarFullscreen=true
infoBarWindowed=false
jxlAnimation=false
keepFitMode=false
lastVerMajor=1
lastVerMicro=2
lastVerMinor=0
loopSlideshow=false
mpvBinary=/nix/store/sz3h6s8p2r22v76m0yr6fn3m663sms7r-mpv-with-scripts-0.37.0/bin/mpv
openInFullscreen=false
panelEnabled=true
panelFullscreenOnly=true
panelPosition=top
panelPreviewsSize=140
playVideoSounds=false
scalingFilter=1
showSaveOverlay=true
slideshowInterval=3000
smoothAnimatedImages=true
smoothUpscaling=true
sortingMode=0
squareThumbnails=false
thumbPanelStyle=1
thumbnailCache=true
thumbnailerThreads=4
unloadThumbs=true
useOpenGL=false
usePreloader=true
useSystemColorScheme=false
videoPlayback=true
windowTitleExtendedInfo=true
zoomIndicatorMode=0
zoomStep=0.20000000298023224
[Controls]
shortcuts="zoomIn=+", "frameStepBack=,", "zoomOut=-", "frameStep=.", "fitWindow=1", "fitWidth=2", "fitNormal=3", "exit=Alt+X", "folderView=Backspace", "crop=C", "copyFileClipboard=Ctrl+C", "showInDirectory=Ctrl+D", "zoomOut=Ctrl+Down", "rotateLeft=Ctrl+L", "seekVideoBackward=Ctrl+Left", "open=Ctrl+O", "print=Ctrl+P", "exit=Ctrl+Q", "rotateRight=Ctrl+R", "seekVideoForward=Ctrl+Right", "save=Ctrl+S", "copyPathClipboard=Ctrl+Shift+C", "saveAs=Ctrl+Shift+S", "zoomIn=Ctrl+Up", "pasteFile=Ctrl+V", "zoomOutCursor=Ctrl+WheelDown", "zoomInCursor=Ctrl+WheelUp", "discardEdits=Ctrl+Z", "toggleShuffle=Ctrl+`", "s:trash with trash-cli=Del", "scrollDown=Down", "jumpToLast=End", "folderView=Enter", "closeFullScreenOrExit=Esc", "toggleFullscreen=F", "toggleFullscreen=F11", "renameFile=F2", "reloadImage=F5", "flipH=H", "jumpToFirst=Home", "toggleImageInfo=I", "toggleFullscreen=LMB_DoubleClick", "prevImage=Left", "moveFile=M", "contextMenu=Menu", "openSettings=P", "resize=R", "contextMenu=RMB", "nextImage=Right", "removeFile=Shift+Del", "toggleFullscreenInfoBar=Shift+F", "prevDirectory=Shift+Left", "nextDirectory=Shift+Right", "toggleFitMode=Space", "scrollUp=Up", "flipV=V", "nextImage=WheelDown", "prevImage=WheelUp", "prevImage=XButton1", "nextImage=XButton2", "toggleSlideshow=`"
[Scripts]
script\1\name=trash with trash-cli
script\1\value=@Variant(\0\0\0\x7f\0\0\0\aScript\0\0\0\0 \0t\0r\0\x61\0s\0h\0-\0p\0u\0t\0 \0%\0\x66\0i\0l\0\x65\0%\x1)
script\size=1
'';
"qimgv/theme.conf".text = ''
[Colors]
accent=#8c9b81
background=#1a1a1a
background_fullscreen=#1a1a1a
folderview=#242424
folderview_topbar=#383838
icons=#a4a4a4
overlay=#1a1a1a
overlay_text=#d2d2d2
scrollbar=#5a5a5a
text=#b6b6b6
widget=#252525
widget_border=#2c2c2c
'';
};
};
}

View file

@ -1,5 +1,10 @@
# Manage $XDG_CONFIG_HOME/mimeapps.list # Manage $XDG_CONFIG_HOME/mimeapps.list
{ {
osConfig,
...
}: let
cfg = osConfig.myOptions.home-manager.programs;
in {
xdg.mimeApps = let xdg.mimeApps = let
browser = "firefox.desktop"; browser = "firefox.desktop";
textEditor = browser; # nvim doesn't work properly with xdg-open, just use the browser textEditor = browser; # nvim doesn't work properly with xdg-open, just use the browser
@ -7,7 +12,12 @@
pdfViewer = browser; # TODO: consider zathura (org.pwmt.zathura.desktop.desktop) pdfViewer = browser; # TODO: consider zathura (org.pwmt.zathura.desktop.desktop)
fileManager = "pcmanfm-qt.desktop"; # TODO: change fileManager = "pcmanfm-qt.desktop"; # TODO: change
archiveManager = "org.kde.ark.desktop"; archiveManager = "org.kde.ark.desktop";
imageViewer = "org.nomacs.ImageLounge.desktop"; imageViewer =
if cfg.applications.qimgv.enable
then "qimgv.desktop"
else if cfg.applications.nomacs.enable
then "org.nomacs.ImageLounge.desktop"
else browser;
videoPlayer = "mpv.desktop"; videoPlayer = "mpv.desktop";
audioPlayer = "mpv.desktop"; audioPlayer = "mpv.desktop";

View file

@ -174,7 +174,8 @@
autoStart = true; autoStart = true;
}; };
mpv.enable = true; mpv.enable = true;
nomacs.enable = true; nomacs.enable = true; # TODO: probably disable
qimgv.enable = true;
qbittorrent.enable = true; qbittorrent.enable = true;
obs.enable = true; obs.enable = true;
}; };

View file

@ -34,6 +34,7 @@ in
autoStart = mkEnableOption "Auto-Start for Vesktop"; autoStart = mkEnableOption "Auto-Start for Vesktop";
}; };
nomacs.enable = mkEnableOption "Nomacs (Qt-based image viewer)"; nomacs.enable = mkEnableOption "Nomacs (Qt-based image viewer)";
qimgv.enable = mkEnableOption "QImgV (Qt-based image viewer with video support)";
qbittorrent.enable = mkEnableOption "Qbittorrent (Free software BitTorrent client)"; qbittorrent.enable = mkEnableOption "Qbittorrent (Free software BitTorrent client)";
obs.enable = mkEnableOption "OBS (Free and oepn source software for video recording and live streaming)"; obs.enable = mkEnableOption "OBS (Free and oepn source software for video recording and live streaming)";
mpv.enable = mkEnableOption "MPV (General-purpose media player)"; mpv.enable = mkEnableOption "MPV (General-purpose media player)";