this post was submitted on 16 Sep 2023
24 points (85.3% liked)

Linux

7801 readers
136 users here now

Welcome to c/linux!

Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!

Rules:

  1. Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.

  2. Be respectful: Treat fellow community members with respect and courtesy.

  3. Quality over quantity: Share informative and thought-provoking content.

  4. No spam or self-promotion: Avoid excessive self-promotion or spamming.

  5. No NSFW adult content

  6. Follow general lemmy guidelines.

founded 1 year ago
MODERATORS
 

Hi all, I'm working on setting my terminal to display different tasks and information when I login. I have problems with attention and I frequently forget to do important things, so I really need to do this to help myself. I'm aware some of this will cause my terminal to be more slow when I first login. That's fine even if it takes an additional second to login. I have a rough mockup attached in the picture. The mockup uses the pr -Tm command to display my calendar side-by-side with my schedule and todo list, but here's where I'm at:

  1. Calendar is automated by ncal -C
  2. Weather is automated using curl wttr.in/New%20York?0
  3. Schedule is just a text file at the moment
  4. Todo is just a text file at the moment

I'm looking to also automate my schedule and todo from the command line, but I don't want to use Google-based tools or tools that connect to an external server in general. I'm looking for terminal-based tools where I can add events to my schedule with descriptions, times, and dates (support for recurring events is a bonus, but maybe not required), and then fetch my daily schedule and print it. Does anybody know a good way to handle this part? I could setup a simple database to store and interact with my schedule, but I feel like there has to already be a good tool like that available. However, my searches keeps pulling up things that aren't quite what I want...

Thanks for reading this! I appreciate any advice you have for the Linux side of things.

top 20 comments
sorted by: hot top controversial new old
[–] [email protected] 6 points 1 year ago (1 children)

Looked at this it the past but never ended up using it myself. https://taskwarrior.org/

[–] [email protected] 3 points 1 year ago

Wow that's really useful! I'm testing it out now.

[–] [email protected] 5 points 1 year ago (1 children)

Sounds like Emacs' orgmode could be useful.

[–] [email protected] 2 points 1 year ago (1 children)

Is this orgmode that has to run within Emacs, or can it display things to the terminal on login?

[–] [email protected] 1 points 1 year ago

Within emacs. The display things on login it cannot do.

[–] [email protected] 3 points 1 year ago (1 children)

Check out CalCurse, I use it for exactly this purpose. It's primarily a curses tui application but it can also print itineraries and todos to the console.

[–] [email protected] 3 points 1 year ago

I really love the interface. That's like exactly what I want, minus the TUI aspect

Can I add reminders/todo from the command line, or do I have to enter the TUI to do so?

[–] [email protected] 2 points 1 year ago (1 children)
[–] [email protected] 2 points 1 year ago

I'll check it out! Thanks!

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

Not sure if you've looked at remind (this is an older article, but still relevant). It may take a little to get into, but it does a fantastic job of organize calendar stuff. As far as teminal init, I have something like

remind -cl+1 -w`expr $(tput cols) - 10` /home/user/.reminders

So I have the current weeks events printed across the top of the terminal. Remind can also schedules pop-up reminders for upcoming events. The only awful thing about remind is it's a pain in the ass searching for it. It does have an active mailing list where you can get quick answers to just about any question, no matter how complicated or simple.

For todos, I've tried both todo.txt and taskwarrior. And a few others if I'm being honest. I've never been able to stick with a todo app, so I can't offer much advice.

Weather, I use the same as you. I have family all over the world, so I set up aliases based on their names that show me the time as well as the weather. For example:

[\ #1]  Bob
tokyo: ⛅️  +82°F
Sunday 05:24 AM
 [user@home\ :6|~]
[\ #2]  type Bob
Bob is aliased to `curl wttr.in/tokyo?format=3;TZ=Asia/Tokyo date "+%A %I:%M %p" '

I'm not much help putting it all together, but I think you are on the right track for you. There are tricks to getting multi-line outputs to be side by side, I can give you some help there if you want, but you're really like 95% there.

[–] [email protected] 3 points 1 year ago (1 children)

Okay sweet thanks for also suggesting taskwarrior. It seems easy enough to navigate. I'm also going through the man for remind now to see what format it's expecting for the .remind file. I appreciate it!

[–] [email protected] 2 points 1 year ago (1 children)

Dude, can't help you with your question, but you need to know that your gratitude in your replies to everyone made my day. Thank you.

[–] [email protected] 2 points 1 year ago

You're welcome homie ❤️ I just want to make sure I let everybody know how much I appreciate the awesome community

[–] [email protected] 2 points 1 year ago (1 children)

For calendar, I use khal, which offers a TUI (ikhal command) and a non-captive UI that can print a simple list like you might want (khal command). It supports multiple calendars, ical, recurring events, etc. Since it support ical, you can add locations, times, dates, alarms, pretty much anything you want. No database required, each event is saved into a seperate ical file (easy to import into another program, if you wanna switch someday).

I also use todoman for to-do lists, which is pretty similar to khal in terms of interface — having both a captive TUI and a non-captive UI.

I realize this doesn’t interest you, but as a side-note: Both of these use portable file-formats that can be synced with any pretty much any calendar-syncing service using vdirsyncer, which I use to sync my events and todo-lists and address book using Posteo.

[–] [email protected] 3 points 1 year ago (1 children)

Thanks for suggesting khal! I actually just stumbled across it while trying to find something that does exactly what I want. My only complaint with khal is that I want a todo list with khal as well. I have a tendency to forget important things, and it would be great if I could throw things onto a list that doesn't have times or dates, but gets displayed regardless. Do you know if that's possible with khal? For example, either above or below my schedule on the right column I'd have a todo list.

[–] [email protected] 2 points 1 year ago (1 children)

The best I can think of would be tmux/screen with khal running in a pane beside todoman; sorry. :o

[–] [email protected] 1 points 1 year ago

no problem! I appreciate it!

[–] [email protected] 2 points 11 months ago (1 children)

I would mainly suggest orgmode as it will continue to stay "just a file". It is made to be pretty interpretable by its own right, dont need to be in emacs to understand it. Emacs can run from terminal with emacs -nw. Emacs also has a vimlike complete overhaul called spacemacs.

I think there are not strictly emacs based ways to use org. Probably in vim.

[–] [email protected] 1 points 11 months ago (1 children)

Thanks for the suggestion! I use emacs, although only from the terminal via emacs-nox or emacs-snapshot-nox packages. I haven't used orgmode other than some testing related to other comments, but it's not exactly what I'm looking for. My main criterion is I want everything right in front of me when I open the terminal and start working, not in a separate program or interface.

[–] [email protected] 2 points 11 months ago

Oh, yeah I understand. Im sure you could do that. In its current form it is pretty straightforward how you do it, I wouldnt necessarily dispense with it. It is Unixlike to use multiple software.