a Gambas recent files Lister (TrayIcon)

So you have written that new, must have program. Let us see it here.
BruceSteers
Posts: 887
Joined: Thursday 23rd July 2020 5:20pm

a Gambas recent files Lister (TrayIcon)

Post by BruceSteers » Friday 23rd July 2021 8:42am

Here's something i just made.
I call it GLaunch

I have put in in my startup applications so it starts with my desktop. (Note: i HAD to put a 2 second delay on MATE)

It makes a tray icon and populates a list by reading the gambas recent files save file.

It gets the icons (for the projects) and displays them in either the right click popup menu or the left click gridview Form.

Pop menu offers project can be launched/folder opened.
Left click an item and it loads the IDE with the project.

If system tray is not supported it makes a psuedo icon (small borderless window) you can move/lock

Option to set GUI mode like gb.gtk / gb.qt
Attachments
glaunch-1.1.1.tar.gz
(169.28 KiB) Downloaded 4 times
GLaunch.png
GLaunch.png (268.07 KiB) Viewed 532 times
Last edited by BruceSteers on Monday 19th September 2022 1:52pm, edited 9 times in total.

User avatar
PJBlack
Posts: 169
Joined: Tuesday 9th June 2020 10:26pm
Location: Florstadt, Hessen, Germany

Re: a Gambas recent files Lister (TrayIcon

Post by PJBlack » Friday 23rd July 2021 9:26am

my built-in mr monk is rotating right now ...
the arrangement of your desktop icons is ... "$%§&$/(&)/=(?)(TURESRXGCHJV

ok just took my psychotropic drugs ... now he is quiet :-)

again a very nice idea from you

User avatar
PJBlack
Posts: 169
Joined: Tuesday 9th June 2020 10:26pm
Location: Florstadt, Hessen, Germany

Re: a Gambas recent files Lister (TrayIcon

Post by PJBlack » Friday 23rd July 2021 9:37am

right click --> make launcher --> desktop or menu --> File or directory does not exist MakeIcon.MakeMe.21

MakeIcon 15
u = IIf(UseRoot, User.Name, Me.UserName())
u = User.Name
MakeIcon 36
dtf = "/home/" & u & "/Desktop/" & n & ".desktop"
dtf = "/home/" & u & "/Schreibtisch/" & n & ".desktop"

BruceSteers
Posts: 887
Joined: Thursday 23rd July 2020 5:20pm

Re: a Gambas recent files Lister (TrayIcon

Post by BruceSteers » Friday 23rd July 2021 1:35pm

Oops sorry. Its because the Form has no icon yet...
The make launcher command is looking for FMain.Icon.
Easily fixed.

Thanks Mike 😎

And that there Is what we call the desktop of a developer 😉🤣

Makeicon 15,
Why did you remove that line?
My command will use your user name even if run as root if asked to..
You broke it 😲

Re. Desktop...
Darn it why can't you Germans just speak English? 🤣🤣
I'll use the gb.desktop command instead.

Cheers again

User avatar
PJBlack
Posts: 169
Joined: Tuesday 9th June 2020 10:26pm
Location: Florstadt, Hessen, Germany

Re: a Gambas recent files Lister (TrayIcon

Post by PJBlack » Friday 23rd July 2021 6:04pm

BruceSteers wrote:
Friday 23rd July 2021 1:35pm
Thanks Mike 😎
micha or pj would be quite sufficient ... but mike is still ok
BruceSteers wrote:
Friday 23rd July 2021 1:35pm
Makeicon 15,
Why did you remove that line?
My command will use your user name even if run as root if asked to..
You broke it 😲
yeah ... thats what i can do best ... did you tried with a username longer than eight chars?
BruceSteers wrote:
Friday 23rd July 2021 1:35pm
Darn it why can't you Germans just speak English? 🤣🤣
i do speak english but it seems that xfce like german more :P 🤣

BruceSteers
Posts: 887
Joined: Thursday 23rd July 2020 5:20pm

Re: a Gambas recent files Lister (TrayIcon

Post by BruceSteers » Friday 23rd July 2021 7:48pm

PJBlack wrote:
Friday 23rd July 2021 9:37am

MakeIcon 36
dtf = "/home/" & u & "/Desktop/" & n & ".desktop"
dtf = "/home/" & u & "/Schreibtisch/" & n & ".desktop"
You (or rather "I") should use this.. (as it has the gb.desktop component)
dtf = Desktop.Path &/ n & ".desktop"
I've updated the above archive :) cheers again Micha :)

About the username with more than 8 chars..
Here is the function that gets the name.. i cannot see how a difference in number of chars will affect anything?
Public Sub UserName() As String

  Dim u As String

  Shell "w -h|awk '{print $1}'" Wait To u
  If InStr(u, "\n") Then u = Split(u, "\n")[0]  ' if more than one result get the first one.
   Return Trim(u)

End

User avatar
PJBlack
Posts: 169
Joined: Tuesday 9th June 2020 10:26pm
Location: Florstadt, Hessen, Germany

Re: a Gambas recent files Lister (TrayIcon

Post by PJBlack » Saturday 24th July 2021 5:45am

BruceSteers wrote:
Friday 23rd July 2021 7:48pm
About the username with more than 8 chars..
Here is the function that gets the name.. i cannot see how a difference in number of chars will affect anything?

User.Name = "mnaltrogge"
Me.UserName = "mnaltrog" because

Code: Select all

w -h
gives:

Code: Select all

mnaltrog tty7      07:29   11:40  36.84 s  0.99 s xfce4-session
mnaltrog pts/0     07:40    0.00 s  0.06 s  0.00 s w -h

BruceSteers
Posts: 887
Joined: Thursday 23rd July 2020 5:20pm

Re: a Gambas recent files Lister (TrayIcon)

Post by BruceSteers » Thursday 4th August 2022 12:22pm

Uploaded latest version.
Had a few updates/tweaks/fixes
(see first post)

User avatar
cogier
Site Admin
Posts: 913
Joined: Wednesday 21st September 2016 2:22pm
Location: Guernsey, Channel Islands

Re: a Gambas recent files Lister (TrayIcon)

Post by cogier » Thursday 4th August 2022 4:03pm

I like this little program. It is now installed it on my Linux Mint Cinnamon system without issue.

I noticed that the 'Show toolbar' option still says 'Show toolbar' when the toolbar is showing!

There is an unused variable $List (Line 12 fList.class)

I found the listings with '/here/there/and_down_here/somewhere/etc/' a bit overpowering, so a possible option could be added to simplify this. I have changed the following lines: -
Public Sub AddItem(m As Menu)

  Inc GridView1.Rows.Count
  If m.Picture Then GridView1[GridView1.Rows.Max, 0].Picture = m.Picture
  GridView1.Rows[GridView1.Rows.Max].Height = -1
  GridView1.Columns[0].Width = -1
  'GridView1[GridView1.Rows.Max, 1].Text = m.Text
  GridView1[GridView1.Rows.Max, 1].Text = Mid(m.Text, RInStr(m.Text, "/") + 1)
  'GridView1[GridView1.Rows.Max, 1].Alignment = Align.Right
  sDates.Add(m.Tag)

End
The result is, but it doesn't work any more, will check on this later..: -

Image

BruceSteers
Posts: 887
Joined: Thursday 23rd July 2020 5:20pm

Re: a Gambas recent files Lister (TrayIcon)

Post by BruceSteers » Thursday 4th August 2022 6:38pm

cogier wrote:
Thursday 4th August 2022 4:03pm
I like this little program. It is now installed it on my Linux Mint Cinnamon system without issue.

I noticed that the 'Show toolbar' option still says 'Show toolbar' when the toolbar is showing!

There is an unused variable $List (Line 12 fList.class)

I found the listings with '/here/there/and_down_here/somewhere/etc/' a bit overpowering, so a possible option could be added to simplify this. I have changed the following lines: -
Public Sub AddItem(m As Menu)

  Inc GridView1.Rows.Count
  If m.Picture Then GridView1[GridView1.Rows.Max, 0].Picture = m.Picture
  GridView1.Rows[GridView1.Rows.Max].Height = -1
  GridView1.Columns[0].Width = -1
  'GridView1[GridView1.Rows.Max, 1].Text = m.Text
  GridView1[GridView1.Rows.Max, 1].Text = Mid(m.Text, RInStr(m.Text, "/") + 1)
  'GridView1[GridView1.Rows.Max, 1].Alignment = Align.Right
  sDates.Add(m.Tag)

End
The result is, but it doesn't work any more, will check on this later..: -
Cheers Charlie, glad you like it.

Does the Showtoolbar checkbox show correctly? it should be a toggle menu so the text does not change just the checkbox state.

I have now added the option to use filepaths or not.

The gridview.text was checked later in the prog for operation so removing the path broke things for you.
I set the path that gets read later to the Tag property not the text so .Text can be anything now :)
Last edited by BruceSteers on Sunday 14th August 2022 10:40am, edited 1 time in total.

Post Reply