diff --git a/build/libifm.php b/build/libifm.php index 9be5952..ffe6b20 100644 --- a/build/libifm.php +++ b/build/libifm.php @@ -1652,8 +1652,14 @@ function IFM( params ) { onClick: function( data ) { if( data.clicked.link.toLowerCase().substr(0,4) == "http" ) self.copyToClipboard( data.clicked.link ); - else - self.copyToClipboard( self.pathCombine( window.location.origin, data.clicked.link ) ); + else { + var pathname = window.location.pathname.replace( /^\/*/g, '' ).split( '/' ); + pathname.pop(); + var link = self.pathCombine( window.location.origin, data.clicked.link ) + if( pathname.length > 0 ) + link = self.pathCombine( window.location.origin, pathname.join( '/' ), data.clicked.link ) + self.copyToClipboard( link ); + } }, iconClass: "icon icon-link-ext", isShown: function( data ) { return !!( !data.selected.length && data.clicked.name != ".." ); } diff --git a/ifm.php b/ifm.php index 961e557..0718d80 100644 --- a/ifm.php +++ b/ifm.php @@ -1652,8 +1652,14 @@ function IFM( params ) { onClick: function( data ) { if( data.clicked.link.toLowerCase().substr(0,4) == "http" ) self.copyToClipboard( data.clicked.link ); - else - self.copyToClipboard( self.pathCombine( window.location.origin, data.clicked.link ) ); + else { + var pathname = window.location.pathname.replace( /^\/*/g, '' ).split( '/' ); + pathname.pop(); + var link = self.pathCombine( window.location.origin, data.clicked.link ) + if( pathname.length > 0 ) + link = self.pathCombine( window.location.origin, pathname.join( '/' ), data.clicked.link ) + self.copyToClipboard( link ); + } }, iconClass: "icon icon-link-ext", isShown: function( data ) { return !!( !data.selected.length && data.clicked.name != ".." ); }